斯坦福機器學習筆記十

2021-07-31 17:56:07 字數 3033 閱讀 4311

這裡以電影推薦的栗子來說明什麼是推薦系統。nu

代表使用者的數量 nm

代表電影的數量

r(i,j) 如果使用者給電影評過分,則r(i,j)=1 y(

ij)代表使用者i給電影j的評分 mj

代表使用者j評過分的電影總數 θ(

j)代表使用者j的引數向量 x(

i)代表電影i的特徵向量

如圖所示,推薦系統能夠幫我們自動地填上這些缺失的數值,然後向使用者推薦新的他可能感興趣電影 。

1、基於內容的的推薦(給定 x 求 θ 或者給定 θ 求 x)

對每個使用者使用不同的線性回歸模型進行擬合,並**使用者對其餘電影的評價。對於使用者 j 和電影 i,我們**評分為: (θ

(j))

tx(i

) (1)已知電影特徵 x 求使用者的引數 θ

優化目標為:

minθ1,

…,θn

uminθ1

,…,θ

nu12

∑nuj

=1∑i

:r(i

,j)=

1((θ

(j))

tx(i

)−y(

i,j)

)2+λ

2∑nu

j=1∑

nk=1

(θ(j

)k)2

其中,i:r(i,j) 表示只計算評過分的電影。

如果用梯度下降法來求解最優解,梯度下降的迭代更新公式為:

θ(

j)0:=

θ(j)

0−α∑

i:r(

i,j)

=1((

θ(j)

)tx(

i)−y

(i,j

))x(

i)0

θ(j)

k:=θ(

j)k−

α(∑i

:r(i

,j)=

1((θ

(j))

tx(i

)−y(

i,j)

)x(i

)k+λ

⋅θ(j

)k)

(2)已知使用者的引數 θ 求電影特徵 x

優化目標為:

minx1,

…,xn

mminx1

,…,x

nm12

∑nmj

=1∑i

:r(i

,j)=

1((θ

(j))

tx(i

)−y(

i,j)

)2+λ

2∑nm

j=1∑

nk=1

(x(j

)k)2

2、協同過濾如果我們既沒有使用者的引數,也沒有電影的特徵,這兩種方法都不可行了,協同過濾演算法可以同時學習這兩者。

代價函式優化為:

j(

x(1)

,…,x

(nm)

,θ1,

…,θn

u)=1

2∑i:

r(i,

j)=1

((θ(

j))t

x(i)

−y(i

,j))

2+λ2

∑nmj

=1∑n

k=1(

x(j)

k)2+

λ2∑n

uj=1

∑nk=

1(θ(

j)k)

2

使用梯度下降的迭代更新公式為:

x(

i)k:=

x(i)

k−α(

∑i:r

(i,j

)=1(

(θ(j

))tx

(i)−

y(i,

j))θ

(i)k

+λx(

j)k)

θ(j)k

:=θ(j

)k−α

(∑i:

r(i,

j)=1

((θ(

j))t

x(i)

−y(i

,j))

x(i)

k+λθ

(j)k

)

可以通過反覆使用兩個迭代更新公式,先求最小化的 x,再求最小化的 θ ,再求最小化的 x …的方法達到乙個很不錯的值。

首先是隨機初始化,給 x(

1),…

,x(n

m),θ

1,…,

θnu 賦一些隨機小值,其次是最小化代價函式,得到最優的 x 和 θ(一般使用梯度下降法),最後根據得到的引數,**使用者j給電影i的評分( (θ

(j))

tx(i

) )。

3、均值歸一化

如果存在新使用者,沒有為任何電影評分,如何為其推薦電影呢?這裡的解決辦法是對要對每個電影的得分平均化,使每個電影的得分被歸一化到0,最後每個電影的得分為用實際得分減去平均得分。

對於新使用者,我們會認為他給每個電影的評分都是平均分,即0分。使用新得到的y矩陣來訓練演算法,最後**的評分應該為 (θ

(j))

tx(i

)+μi

斯坦福機器學習筆記五

有時候發現訓練出來的模型誤差很大,會有很多解決辦法。例如 增加更多的訓練樣本,減少特徵數目,增加特徵數目,增加多項式特徵,減小或增大正則化引數 的值 但是這些嘗試往往會浪費很多時間,所有這裡提出了一種機器學習診斷法。1 資料的分配 將資料分為三部分,訓練集 60 交叉驗證集 20 和測試集 20 利...

斯坦福機器學習筆記十二

由於大規模資料集求最優解,計算量非常大,對於這樣的問題,如果能夠將資料集分配給多台計算機,讓每台計算機處理資料集的乙個子集,然後將計算結果彙總再求和,這樣的方法叫做對映簡化。如果任何學習演算法能夠表達為,對訓練集的函式求和,那麼就能將這個任務分配給多台 計算機 或者同一臺計算機的不同cpu核心 以達...

斯坦福機器學習筆記 1

邏輯回歸與線性回歸 線性回歸主要應用於連續性的模型,邏輯回歸主要用於解決分類問題,的結果通常是非0即1。今天的課程主要 的是如何預防過擬合。主要有兩種方法 1 減少特徵數目 通過在cost function後加一些額外的term,來減少某些個別特徵的權重 2 regularization 正則化 減...