吴恩达《Machine Learning》精炼笔记 11:推荐系统
作者 | Peter
編輯 |?AI有道
系列文章:
吳恩達《Machine Learning》精煉筆記 1:監督學習與非監督學習
吳恩達《Machine Learning》精煉筆記 2:梯度下降與正規方程
吳恩達《Machine Learning》精煉筆記 3:回歸問題和正則化
吳恩達《Machine Learning》精煉筆記 4:神經網絡基礎
吳恩達《Machine Learning》精煉筆記 5:神經網絡
吳恩達《Machine Learning》精煉筆記 6:關于機器學習的建議
吳恩達《Machine Learning》精煉筆記 7:支持向量機 SVM
吳恩達《Machine Learning》精煉筆記 8:聚類 KMeans 及其 Python實現
吳恩達《Machine Learning》精煉筆記 9:PCA 及其 Python 實現
吳恩達《Machine Learning》精煉筆記 10:異常檢測
本周中主要講解了推薦系統的相關知識。推薦系統應該是目前機器學習領域或者說人工智能領域最熱門的方向之一,還有NLP、CV等,主要內容包含:
推薦系統簡介
基于內容的推薦系統
協同過濾
推薦系統
推薦系統概述
常見的推薦系統有三種主要的應用常景:
個性化推薦:常以“推薦”、“猜你喜歡”、“發現”等形式出現,一般放在首頁位置
相關推薦:常以“相關推薦”、“看了還看”等形式出現,一般放在內容詳情頁
熱門推薦:基于各種數據進行計算,得到的排行榜,支持全局排行以及分類排行等,位置不限
推薦系統對用戶的核心價值,主要表現在:
幫助用戶便捷、快速地篩選出感興趣的內容
在用戶陌生的領域里面提供參考意見
滿足用戶的好奇心
推薦系統的主要工作是:
首先它基于用戶的興趣,根據用戶的歷史行為做興趣的挖掘,把物品和用戶的個性化偏好進行匹配。
然后通過推薦算法或者技術把信息進行過濾,解決用戶的過載問題。
當用戶有新的行為發生時,比如點擊或者搜索之后,能及時進一步捕捉用戶的興趣。
選擇合適的場景,個性化或者相關的、熱門的,來給用戶進行推薦。
個性化推薦系統解決的是用戶很內容的關聯關系,它是二者之間的橋梁?;谟脩舻呐d趣偏好,把用戶感興趣的物品或者視頻、資訊等推薦給用戶,給用戶帶來沉浸式的體驗。
問題形式化
推薦系統應用的十分廣泛:如果你考慮網站像亞馬遜,或網飛公司或易趣,或iTunes Genius,有很多的網站或系統試圖推薦新產品給用戶。如,亞馬遜推薦新書給你,網飛公司試圖推薦新電影給你,等等。
這些推薦系統,根據瀏覽你過去買過什么書,或過去評價過什么電影來判斷。這些系統會帶來很大一部分收入,比如為亞馬遜和像網飛這樣的公司。
因此對推薦系統性能的改善,將對這些企業的有實質性和直接的影響。
通過一個栗子來了解推薦系統
假使我們是一個電影供應商,我們有 5 部電影和 4 個用戶,我們要求用戶為電影打分
前三部是愛情片,后面兩部是動作片。Alice和Bob更傾向于愛情片,Carol和Dave更傾向于動作片。一些標記
nu用戶的數量
nm電影的數量
r(i,j)如果用戶j給電影i評過份則r(i,j)=1
y(i,j)代表的是用戶j給電影i的評分
mj表示的是用戶j評過分的電影總數
基于內容的推薦系統Content Based Recommendations
在一個基于內容的推薦系統算法中,我們假設對于我們希望推薦的東西有一些數據,這些數據是有關這些東西的特征。現在假設電影有兩個特征:
x1浪漫程度
x2動作程度
那么每部電影都有一個特征向量,如第一部電影的是[0,9 0]
針對特征來構建一個推薦系統算法。假設使用的是線性回歸模型,針對每個用戶使用該模型,θ(1)表示的是第一個用戶的模型的參數。定義如下:
θ(j)第j個用戶的參數向量
x(i)電影i的特征向量
針對電影i和用戶j,該線性回歸模型的代價為預測誤差的平方和,加上正則化項:
其中?i:r(i,j)表示我們只計算那些用戶?j?評過分的電影。在一般的線性回歸模型中,誤差項和正則項應該都是乘以1/2m,在這里我們將m去掉。并且我們不對方差項θ0進行正則化處理。
針對所有用戶的代價函數求和:
協同過濾Collaborative Filtering
上面基于內容的過濾算法是通過電影的特征,使用特征來訓練出每個用戶的參數。相反,如果使用用戶的參數,也可以學習得出電影的特征:
如果沒有用戶的參數和電影的特征,協同過濾算法便可以同時學習這兩者
對代價函數求出偏導數的結果是:
協同過濾算法的過程:
初始化x,θx,θ為很小的值
使用梯度下降算法最小化代價函數minJ(x,θ)minJ(x,θ)
訓練完算法后,預測用戶j給電影i的評分
協同過濾算法
協同過濾的優化目標:
向量化:低秩矩陣分解Vectorization_ Low Rank Matrix Factorization
協同過濾算法可以做的事情:
給出一件商品,找到與之類似的商品
當一個用戶瀏覽了一件產品,找出類似的商品推薦給他
假設5部電影,4位用戶,存放在矩陣中:
推出相應的評分
找出類似的影片
均值歸一化Mean Normalization
上圖中,假設新來個用戶Eva,他沒有對任何的電影進行評分,那我們以什么依據來給他推薦電影呢?
對上面的Y矩陣進行均值歸一化,將每個用戶對某一部電影的評分減去所有用戶對該電影評分的平均值,得到如下的矩陣:
利用新的矩陣Y來訓練算法。如果我們要用新訓練出的算法來預測評分,則需要將平均值重新加回去,模型會人為其給每部電影的評分都是該電影的平均分。
推薦閱讀
(點擊標題可跳轉閱讀)
干貨 | 公眾號歷史文章精選
我的深度學習入門路線
我的機器學習入門路線圖
重磅!
AI有道年度技術文章電子版PDF來啦!
掃描下方二維碼,添加?AI有道小助手微信,可申請入群,并獲得2020完整技術文章合集PDF(一定要備注:入群?+ 地點 + 學校/公司。例如:入群+上海+復旦。?
長按掃碼,申請入群
(添加人數較多,請耐心等待)
感謝你的分享,點贊,在看三連??
總結
以上是生活随笔為你收集整理的吴恩达《Machine Learning》精炼笔记 11:推荐系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 惩罚女人的最有效方法!
- 下一篇: 骨灰级程序员20条编程经验,赶紧收藏!!