① 學IT的,寫了一個電影推薦系統,但是為什麼評分預測值大於五
全文以「預測電影評分」例子展開
r(i,j)=0則表明user_j沒有對movie_i 沒有評分,
推薦系統要做的就是通過預測user_j對這些movie {i|r(i,j)=0}的評分來給user_j 推薦其可能會喜歡的電影<預測評分較高的movie>
=======================================二、基於內容的推薦=======================================
對每個movie_i引入特徵x(i)=(x1, x2),這種特徵可能表明user對movie類型的偏好:浪漫or動作等
對於每個user引入一個參數theta,然後對評分矩陣的每列(對應一個user)做線性回歸,數據是{ (x(i), y(i,j)) |r(i,j)=1,for some j all i}
像機器學習一樣,x(i)添加個1變數x(i)=(1, x1, x2)
那麼對於未評分的movie_t,我們可以使用線性回歸訓練的參數theta與對應特徵x(t)做內積來得到其預測評分
對每個用戶都訓練一個參數theta_j,優化模型如下:
優化演算法:注意正則項是不約束x(i)=(1, x1, x2)中1對應的參數theta的第一項theta0,所以k=0與k=1,2分別對待
=======================================三、協同過濾=======================================
現在換個角度:如果知道theta for all user j,如何來預測x(i) = (x1, x2) all i
仍然可以使用線性回歸,為訓練每個x(i),需要評分矩陣的第i行數據{ (x(i), y(i,j)) |r(i,j)=1,for some i all j}
theta_j = (0, theta1, theta2) ;theta1=5說明user_j喜歡romance類movie, theta2=5說明user_j喜歡action類movie,只能有一個等於5哦,
我覺得也可以是:theta_j = (0, 4, 1) ;喜歡romance 4 action 1.
對應的優化:
協同過濾:交替優化theta與x
=========================================四、協同過濾演算法=======================================
優化:
優化:注意去掉了theta和x的添加項
=========================================五、實現細節補充=======================================
實現細節:
如果有user沒有對任何電影評分或者所有評分的電影都是0分,那麼所學習到的參數是零向量,
則預測都是0值,這是不合理的。通過 將評分矩陣減去其行均值再進行線性回歸來「避免」這種情況
=========================================六、一點思考==========================================
協同過濾那塊,同時優化theta、x,這樣得到的theta、x還有特定的意義<比如:x是否還表徵對影視類型的喜愛與否>沒有?
回歸中,在x數據上不添加1-feature是不是因為後來引入的平均值化;如果不是,那會對結果有什麼影響?
用x-feature來表徵一個movie,x-feature的各分量的可解釋性;應該會有一部分user應為演員的緣故有一些"偏愛"。
這里,講的"基於內容的推薦"與"協同過濾"跟以前對這兩個詞的認識/所指內容不同,查清楚、搞明白。
這周還會再更一篇關於此節課的演算法實現,會對上述部分問題做出回答。
② 如何將基於hadoop的電影推薦系統的推薦結果用網頁面顯示出來
一般主要為: 演算法思想 基本構架 運行流程 任務力度
③ 模擬一個基於朋友圈的電影推薦系統。 設定目前微信總用戶有1000人,每個人均有自己的朋友圈,每個人
你這種要花大勞動力的不是100財富值能解決的。還是去相關的僱傭網站上發布需求吧。價格估計不低。
④ 電影推薦系統中電影類型怎麼弄
建軍大業
9.4分加入收藏
主演:劉燁朱亞文黃志忠王景春
導演:劉偉強
類型:動作戰爭其它
時長:127分鍾
年代:2017
地區:內地
語言:漢語普通話
簡介