這裡隻推導邏輯回歸的損失公式。
假設函數
h θ ( x ) = 1 1 + e − θ T x (假設函數) h_\theta(x) = \frac{1}{1+e^{-\theta^Tx}} \tag{假設函數} hθ(x)=1+e−θTx1(假設函數)
用于二分類
KaTeX parse error: Undefined control sequence: \mbox at position 41: …\theta( x), & \̲m̲b̲o̲x̲{if }y=1 \\ (1-…
總結:如果我們取對數和負值,可以代表對應的成本函數。和似然函數相反的方向。(log隻是利于計算)。
KaTeX parse error: Undefined control sequence: \mbox at position 56: …theta( x)), & \̲m̲b̲o̲x̲{if }y=1 \\ -lo…
統一公式
我們找到聯合機率公式:
p ( y ∣ x , θ ) = h θ ( x ) y ⋅ ( 1 − h θ ( x ) ) 1 − y , (統一機率) p(y|x,\theta) = h_\theta( x)^{y} \cdot (1-h_\theta(x))^{1-y}, \tag{統一機率} p(y∣x,θ)=hθ(x)y⋅(1−hθ(x))1−y,(統一機率)
最大似然
最大似然就是最大化的所有樣本的機率公式:
L ( θ ) = ∏ i = 1 m p ( y i ∣ x i , θ ) (最大似然) L(\theta) = \prod_{i=1}^{m}p(y_i|x_i,\theta)\tag{最大似然} L(θ)=i=1∏mp(yi∣xi,θ)(最大似然)
對數-最大似然
對數最大似然就是最大化的所有樣本的機率公式:
L ( θ ) = ∑ i = 1 m l o g p ( y i ∣ x i , θ ) = ∑ i = 1 m [ y i l o g ( h θ ( x i ) ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] L(\theta) = \sum_{i=1}^{m}log p(y_i|x_i,\theta)= \sum_{i=1}^{m}[ {y_i} log(h_\theta( x_i))+{(1-y_i)}log(1-h_\theta( x_i))] L(θ)=i=1∑mlogp(yi∣xi,θ)=i=1∑m[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
我們的目标是最大化似然函數。 如果轉化為損失函數,那就是最小化。
損失函數J(loss function)
J = − 1 m L ( θ ) = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J = -\frac{1}{m} L(\theta) \\ = -\frac{1}{m}\sum_{i=1}^{m}[{y_i} log h_\theta( x_i)+{(1-y_i)}log(1-h_\theta( x_i))] J=−m1L(θ)=−m1i=1∑m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
##參數疊代公式
θ j : = θ j − α ∗ ∑ i = 1 m ( h ( x ( i ) − y ( i ) ) ( x j ( i ) ) \theta_j:=\theta_j - \alpha*\sum_{i=1}^{m} (h(x^{(i)}-y^{(i)})(x_j^{(i)}) θj:=θj−α∗i=1∑m(h(x(i)−y(i))(xj(i))
解釋:
- 參數第j個分量的更新,和每個樣例都有關系。
- 如果m取全部,則是用所有資料來更新分量j
- m=1則是用一個執行個體來更新參數,也就是随機梯度下降。
- 更新的量,與速率、目前執行個體的j分量、誤內插補點(假設-目前)共同決定。
總結
一般的學習模型的三個重要步驟:
- 尋找h函數(即預測函數);比如邏輯回歸的 f(w,b);線性之後多了一個激活。
- 構造J函數(損失函數);不同的損失函數,代表了不同的優化方向。比如:邏輯回歸如果用最小方差來作為評價函數,則容易導緻局部最優。
-
想辦法使得J函數最小并求得回歸參數(θ);各種數值優化方法,随機梯度下降;牛頓法等。
簡稱:找目标、定方向、執行解決。
參考
https://blog.csdn.net/iterate7/article/details/76709492