吴恩达机器学习笔记57-基于内容的推荐系统(Content Based Recommendations)
假使我們是一個(gè)電影供應(yīng)商,我們有 5 部電影和 4 個(gè)用戶,我們要求用戶為電影打分。
前三部電影是愛情片,后兩部則是動(dòng)作片,我們可以看出Alice 和Bob 似乎更傾向與愛
情片, 而 Carol 和 Dave 似乎更傾向與動(dòng)作片。并且沒有一個(gè)用戶給所有的電影都打過分。
我們希望構(gòu)建一個(gè)算法來預(yù)測(cè)他們每個(gè)人可能會(huì)給他們沒看過的電影打多少分,并以此作為
推薦的依據(jù)。
下面引入一些標(biāo)記:
?? 代表用戶的數(shù)量
?? 代表電影的數(shù)量
?(?, ?) 如果用戶 ? 給電影 ? 評(píng)過分則 ?(?, ?) = 1
?(?,?) 代表用戶 ? 給電影 ? 的評(píng)分
??代表用戶 ? 評(píng)過分的電影的總數(shù)
在一個(gè)基于內(nèi)容的推薦系統(tǒng)算法中,我們假設(shè)對(duì)于我們希望推薦的東西有一些數(shù)據(jù),這
些數(shù)據(jù)是有關(guān)這些東西的特征。假設(shè)每部電影都有兩個(gè)特征,如?1代表電影的浪漫程度,?2代表電影的動(dòng)作程度。
則每部電影都有一個(gè)特征向量,如?(1)是第一部電影的特征向量為[0.9,0]。
下面我們要基于這些特征來構(gòu)建一個(gè)推薦系統(tǒng)算法。 假設(shè)我們采用線性回歸模型,我
們可以針對(duì)每一個(gè)用戶都訓(xùn)練一個(gè)線性回歸模型,如?(1)是第一個(gè)用戶的模型的參數(shù)。 于
是,我們有:
?(?)用戶 ? 的參數(shù)向量
?(?)電影 ? 的特征向量
對(duì)于用戶 ? 和電影 ?,我們預(yù)測(cè)評(píng)分為:(?(?))??(?)
代價(jià)函數(shù):
針對(duì)用戶 ?,該線性回歸模型的代價(jià)為預(yù)測(cè)誤差的平方和,加上正則化項(xiàng):
其中 ?: ?(?, ?)表示我們只計(jì)算那些用戶 ? 評(píng)過分的電影。在一般的線性回歸模型中,誤
差項(xiàng)和正則項(xiàng)應(yīng)該都是乘以1/2?,在這里我們將?去掉。并且我們不對(duì)方差項(xiàng)?0進(jìn)行正則
化處理。
上面的代價(jià)函數(shù)只是針對(duì)一個(gè)用戶的,為了學(xué)習(xí)所有用戶,我們將所有用戶的代價(jià)函數(shù)
求和:
如果我們要用梯度下降法來求解最優(yōu)解,我們計(jì)算代價(jià)函數(shù)的偏導(dǎo)數(shù)后得到梯度下降的
更新公式為:
轉(zhuǎn)載于:https://www.cnblogs.com/sl0309/p/10545250.html
總結(jié)
以上是生活随笔為你收集整理的吴恩达机器学习笔记57-基于内容的推荐系统(Content Based Recommendations)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux计算机基础
- 下一篇: 项目二任务1和2