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