1.幾個說明:
n.u=the number of users
n.m = the number of movies
r(i,j)=1 if user j has rated movie i
y(i,j)=rating given by user j to movie i
1.題目如下:
我們的任務就是,對於使用者j,研究乙個三維列向量θ(j),並**使用者j給電影i打的分數是(θ(j))tx(i)
2.如何獲得上述θ(j)?這需要引入乙個新的變數m(j):使用者j評價過的電影總數,計算公式如下:
這裡要注意,正則化項的分母也是2m
3.第2點是對單個使用者進行求值,下面的第二條公式是用來對使用者整體求θ的:
4.梯度下降更新θ值
1.給定θ,求x:
正則項需要的是平方項。這樣相當於是求電影的特徵向量(注意,這裡所說的特徵向量和高代中的特徵向量不是一回事,這裡的特徵向量僅僅是該電影系列特徵值組成的向量而已)
2.實際應用中,我們可以用16-2的方法算出θ,然後再根據求出來的θ用本小節的方法求出新的x(i),接著用這個x去更新θ,如此迴圈往復,即可得到一組較為理想的θ和x
1.把16-2和16-3結合起來的演算法如下:
這樣,就不需要在兩個引數和兩條式子之間來回折騰了,應用上面這條式子,可以讓θ和x同時最小化
2.協同過濾演算法:
1)把x(1),x(2),…,x(nm),θ(1),θ(2),…,θ(nu)初始化為乙個小的隨機數
2)用梯度下降法則最小化代價函式:
3)給定乙個新使用者以及他的θ引數向量,然後**其對電影i的評分。這裡的θ向量是和第2點所求出來的θ體系相對應的
1.怎麼判斷電影i和電影j是不是相關的?
看||x(i)-x(j)||是不是足夠小,即兩個特徵向量是不是足夠小就可以了。從而就能通過使用者給電影a打了高分,我們就可以找到另外一些特徵向量和x(a)相距較近的電影推薦給使用者
2.如何得到所有使用者對所有電影的評分?矩陣相乘即可:
(x(1),x(2),…,x(m))t(θ(1),θ(2),…,x(nu))
1.給定這樣乙個場景,我們有4位顧客對5部電影的評分資料,像這樣:
現在有第五位顧客,但是這位顧客沒有任何的評分資料, 這樣,根據下面這條式子算出來的θ將是0向量,這樣,用θtx算出來的分數也只能是全0:
2.對於第1點所描述的情況,我們就可以先求出每一部電影的均分,然後用得分矩陣減去均分,得到新的得分矩陣,再用這個新得分矩陣去訓練得到我們的θ,然後再用θtx+μ得到該新使用者對某部電影的可能得分。這樣,就不至於出現全評為0分的情況了.
吳恩達ML課程筆記(Chapter13)
k 聚類的數量 c i 樣本點x i 被分到的聚類的索引值 k 第k個聚類中心的位置 1.聚類演算法 把無標記 non label 的資料分成一簇一簇的演算法 2.k means演算法 我的另一篇部落格 3.k means演算法也可以分類那些資料比較集中的資料集,比如像這樣 4.這裡需要注意一點,大...
ML 學習筆記 吳恩達
吳恩達ml logistic介紹代價函式的時候,有點迷糊。見下圖 因為這它定義了乙個叫cost 的函式,我就突然把這個函式與之前線性回歸 linear regression 的cost 函式搞混了,然後引發了我的疑惑。首先我們在做線性回歸 是要先確定 函式h hypthesis 然後將整個資料集代入...
吳恩達深度學習課程筆記
一直以為機器學習的重點在於設計精巧 神秘的演算法來模擬人類解決問題。學了這門課程才明白如何根據實際問題優化 調整模型更為重要。事實上,機器學習所使用的核心演算法幾十年來都沒變過。什麼是機器學習呢?以二類分類監督學習為例,假設我們已經有了一堆訓練資料,每個訓練樣本可以看作n維空間裡的乙個點,那麼機器學...