第一章 推薦系統簡介1.1 推薦系統的目的1.2 推薦系統的應用1.3 推薦系統的基本思想1.4 推薦系統的數據分析1.5 推薦系統的分類第二章 推薦系統算法簡介2.1 基於人口統計學的推薦算法2.2 基於內容的推薦算法2.3 基於協同過濾的推薦算法2.4 混合推薦算法第三章 推薦系統評測3.1 推薦系統評測簡介3.2 推薦系統實驗方法3.3 推薦系統評測指標3.4 推薦準確度評測第四章 機器學習入門--數學基礎4.1 線性代數4.1.1 什麼是矩陣4.1.2 矩陣中的基本概念4.1.3 矩陣的加法4.1.4 矩陣的乘法4.1.5 矩陣的轉置4.1.6 矩陣的運算法則4.1.7 矩陣的逆4.2 高等數學4.2.1 導數4.2.2 偏導數4.2.3 方向導數和梯度4.2.4 凸函數和凹函數4.3 機率論與數理統計4.3.1 經常使用統計變量4.3.2 常見幾率分佈4.3.3 重要機率公式第五章 機器學習入門--監督學習5.1 機器學習的概述5.1.1 機器學習是什麼5.1.2 機器學習的開端5.1.3 機器學習的定義5.1.4 機器學習的過程5.2 機器學習的分類5.3 監督學習(上)5.3.1 監督學習簡介5.3.2 監督學習應用5.3.3 監督學習三要素5.3.4 監督學習實現步驟5.3.5 監督學習過程示例5.4 監督學習(中)--模型評估策略5.4.1 訓練集和測試集5.4.2 損失函數5.4.3 經驗風險5.4.4 訓練偏差和測試偏差5.4.5 過擬合和欠擬合5.4.6 正則化5.4.7 奧卡姆剃刀5.4.8 交叉驗證5.5 監督學習(下)--分類和迴歸5.5.1 分類和迴歸5.5.2 分類問題5.5.3 迴歸問題5.5.4 模型求解算法(學習算法)算法
主要內容:網絡
信息過載app
Netflix Prize 算法大賽:2006年10月DVD零售公司Netflix宣佈了一項競賽,任何人只要發明了好過它現有電影推薦算法Cinematch 10%的新方法就能得到7位數的獎金。
網飛公司:https://www.netflix.com/
網飛公司:美國DVD租賃公司到全球視頻流媒體服務公司
潘多拉電臺:https://www.pandora.com/
聲田、聲破天:https://www.spotify.comdom
數據和模型機器學習
在爲用戶構建一個完美的個性化體驗的過程當中,擁有優質的數據和選擇合適的模型,對咱們的排序算法都十分重要。很幸運的是,在 Netflix 咱們既擁有大量相關的數據,也有不少天才的工程師可以將數據特徵轉化爲產品。如下是咱們的推薦系統中用到的數據源。
咱們有幾十億的用戶評分數據
,而且以天天幾百萬的規模在增加。
咱們以視頻熱度
爲算法基準,可是咱們能夠用來計算熱度的數據源也是很豐富的。能夠在不一樣的時間段內進行統計,例如最近一小時、一天、或者一週。能夠將用戶按照地域劃分,計算視頻在某部分用戶中的熱度值。
咱們的系統天天產生幾百萬次播放,這些播放的場景
也帶來不少特徵,例如播放時長、播放時刻、設備類型。
咱們的用戶天天將幾百萬的視頻添加到他們的播放列表
。
每一個視頻擁有不一樣的屬性信息
:演員、導演、類型、評分、評論。
視頻展示方式
:咱們知道推薦的視頻是在什麼時間、什麼位置展示給用戶的,於是能夠推斷這些因素如何影響用戶的選擇。咱們也可以觀察到用戶與系統交互的細節:滾動鼠標、懸停鼠標、點擊,以及在頁面的停留時間。
社交網絡信息
最近也成爲咱們的數據源,咱們能夠知道用戶的好友們都在看什麼視頻。
用戶天天要進行幾百萬次搜索請求
。
上述的全部數據源都來自於咱們本身的系統,固然咱們也能夠獲取外部數據,例如電影的票房、影評家的點評。
以上並不是所有,還有諸如人口統計數據、地點、語言、時間數據(temporal data,或者爲臨時數據)
等均可以用來預測用戶興趣。
介紹完數據,那選什麼模型呢?咱們發現,有這麼多種高質量的數據,單一的模型是不夠的,咱們必需要作模型選擇、模型訓練和測試。咱們用了許多種的機器學習算法
:諸如聚類這種無監督方法,還有一些有監督的分類方法。若是你對推薦領域的機器學習算法感興趣,如下是一個不完整的方法列表:
線性迴歸(Linear Regression)
邏輯斯特迴歸(Logistic Regression)
彈性網絡(Elastic Nets)
SVD(Singular Value Decomposition)
RBM(Restricted Boltzmann Machines)
馬爾科夫鏈(Markov Chains)
LDA(Latent Dirichlet Allocation)
關聯規則(Association Rules)
GBDT(Gradient Boosted Decision Trees)
隨機森林(Random Forests)
聚類方法,從最簡單的 k-means 到圖模型,例如 Affinity Propagation
矩陣分解(Matrix Factorization)函數
生活中舉例
工具
推薦系統的基本思想
利用用戶和物品的特徵信息,給用戶推薦那些具備用戶喜歡的特徵的物品。
利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品類似的物品。
利用和用戶類似的其餘用戶,給用戶推薦那些和他們興趣愛好類似的其餘用戶喜歡的物品。
知你所想,精準推送
利用用戶和物品的特徵信息,給用戶推薦那些具備用戶喜歡的特徵的物品。
物以類聚
利用用戶喜歡過的物品,給用戶推薦與他喜歡過的物品類似的物品。
人以羣分
利用和用戶類似的其餘用戶,給用戶推薦那些和他們興趣愛好類似的其餘用戶喜歡的物品。
要推薦物品或內容的元數據,例如關鍵字,分類標籤,基因描述等;
系統用戶的基本信息,例如性別,年齡,興趣標籤等;
用戶的行爲數據,能夠轉化爲對物品或者信息的偏好,根據應用自己的不一樣,可能包括用戶對物品的評分,用戶查看物品的記錄,用戶的購買記錄等。這些用戶的偏好信息能夠分爲兩類:
顯式的用戶反饋
:這類是用戶在網站上天然瀏覽或者使用網站之外,顯式的提供反饋信息,例如用戶對物品的評分,或者對物品的評論。
隱式的用戶反饋
:這類是用戶在使用網站是產生的數據,隱式的反應了用戶對物品的喜愛,例如用戶購買了某物品,用戶查看了某物品的信息等等。學習
分類方式一測試
基於內容(Content Based,CB)主要利用的是用戶評價過的物品的內容特徵吧,而 CF 方法還能夠利用其它用戶評分過的物品內容。
CF 能夠解決 CB 的一些侷限:
• 一、物品內容不徹底或者難以得到時,依然能夠經過其它用戶的反饋給出推薦。
• 二、CF 基於用戶之間對物品的評價質量,避免了 CB 僅依賴內容可能形成的對物品質量判斷的干擾。
• 三、CF 推薦不受內容限制,只要其它相似用戶給出了對不一樣物品的興趣,CF 就能夠給用戶推薦出內容差別很大的物品(但有某種內在的聯繫)。網站
協同過濾分爲兩類:基於近鄰和基於模型
實際網站的推薦系統每每都不是單純只採用了某一種推薦的機制和策略,每每是將多個方法混合在一塊兒,從而達到更好的推薦效果。
比較流行的組合方法有:
加權混合
用線性公式(linear formula)將幾種不一樣的推薦按照必定權重組合起來,具體權重的值須要在測試數據集上反覆實驗,從而達到最好的推薦效果。
切換混合
切換的混合方式,就是容許在不一樣的狀況(數據量,系統運行情況,用戶和物品的數目等)下,選擇最爲合適的推薦機制計算推薦。
分區混合
採用多種推薦機制,並將不一樣的推薦結果分不一樣的區顯示給用戶。
分層混合
採用多種推薦機制,並將一個推薦機制的結果做爲另外一個的輸入,從而綜合各個推薦機制的優缺點,獲得更加準確的推薦。
讓用戶更快更好的獲取到本身須要的內容
讓內容更快更好的推送到喜歡它的用戶手中
讓網站(平臺)更有效的保留用戶資源
離線實驗
• 經過體制系統得到用戶行爲數據,並按照必定格式生成一個標準的數據集。
• 將數據集按照必定的規則分紅訓練集和測試集。
• 在訓練集上訓練用戶興趣模型,在測試集上進行預測。
• 經過事先定義的離線指標評測算法在測試集上的預測結果。
用戶調查
用戶調查須要有一些真實用戶,讓他們在須要測試的推薦系統上完成一些任務;咱們須要記錄他們的行爲,並讓他們回答一些問題;最後進行分析。
在線實驗
AB 測試
線性代數、高等數學、機率論與數理統計
• 矩陣(Matrix)是一個按照長方形陣列排列的複數或實數的集合。
• 矩陣最先來自於方程組的係數及常數所構成的方陣,最初是用來解決線性方程求解的工具。
• 矩陣是高等數學中的常見工具,也常見用於統計分析等應用數學學科中,矩陣在物理學和計算機科學中都有應用。
• 矩陣的運算是數值分析領域的重要問題。
生活中舉例
對應於數學中
矩陣的定義
特殊矩陣
把矩陣的對應位元素相加,矩陣的形狀必須一致,即必須是同型矩陣。
一、數與矩陣相乘:數值與矩陣的每個元素相乘。
方向導數
無監督學習
無監督學習應用
監督學習圖解
機器學習完整圖解
監督學習過程示例
監督學習過程圖解
模型評估策略
常見的損失函數
精確率和召回率
精確率和召回率
迴歸問題分類
梯度降低算法
牛頓法和擬牛頓法