2.18 Logistic 损失函数的解释-深度学习-Stanford吴恩达教授
| 2.17 Jupyter/iPython 筆記本的快速指南 | 回到目錄 | 2.19 總結習題 |
Logistic 損失函數的解釋 ( Explanation of Logistic Regression Cost Function (Optional))
在前面的視頻中,我們已經分析了邏輯回歸的損失函數表達式,在這節選修視頻中,我將給出一個簡潔的證明來說明邏輯回歸的損失函數為什么是這種形式。
回想一下,在邏輯回歸中,需要預測的結果 y^\hat{y}y^? ,可以表示為 y^=σ(wTx+b)\hat{y}=\sigma(w^Tx+b)y^?=σ(wTx+b) , σ\sigmaσ 是我們熟悉的 SSS 型函數 σ(z)=σ(wTx+b)=11+e?z\sigma(z)=\sigma(w^Tx+b)=\frac{1}{1+e^{-z}}σ(z)=σ(wTx+b)=1+e?z1? 。我們約定 y^=p(y=1∣x)\hat{y}=p(y=1|x)y^?=p(y=1∣x) ,即算法的輸出 y^\hat{y}y^? 是給定訓練樣本 xxx 條件下 yyy 等于1的概率。換句話說,如果 y=1y=1y=1 ,在給定訓練樣本 xxx 條件下 y=y^y=\hat{y}y=y^? ;反過來說,如果 y=0y=0y=0 ,在給定訓練樣本 xxx 條件下 yyy 等于1減去 y^(y=1?y^)\hat{y}(y=1-\hat{y})y^?(y=1?y^?) ,因此,如果 y^\hat{y}y^? 代表 y=1y=1y=1 的概率,那么 1?y^1-\hat{y}1?y^? 就是 y=0y=0y=0 的概率。接下來,我們就來分析這兩個條件概率公式。
這兩個條件概率公式定義形式為 p(y∣x)p(y|x)p(y∣x) 并且代表了 y=0y=0y=0 或者 y=1y=1y=1 這兩種情況,我們可以將這兩個公式合并成一個公式。需要指出的是我們討論的是二分類問題的損失函數,因此, yyy 的取值只能是0或者1。上述的兩個條件概率公式可以合并成如下公式:
p(y∣x)=y^y(1?y^)1?yp(y|x)=\hat{y}^y(1-\hat{y})^{1-y}p(y∣x)=y^?y(1?y^?)1?y
接下來我會解釋為什么可以合并成這種形式的表達式: (1?y^)(1-\hat{y})(1?y^?) 的 (1?y)(1-y)(1?y) 次方這行表達式包含了上面的兩個條件概率公式,我來解釋一下為什么。
第一種情況,假設 y=1y=1y=1 ,由于 y=1y=1y=1 ,那么 (y^)y=y^(\hat{y})^y=\hat{y}(y^?)y=y^? ,因為 y^\hat{y}y^? 的1次方等于 y^\hat{y}y^? , 1?(1?y^)(1?y)1-(1-\hat{y})^{(1-y)}1?(1?y^?)(1?y) 的指數項 (1?y)(1-y)(1?y) 等于0,由于任何數的0次方都是1, y^\hat{y}y^? 乘以1等于 y^\hat{y}y^? 。因此當 y=1y=1y=1 時 p(y∣x)=y^p(y|x)=\hat{y}p(y∣x)=y^? (圖中綠色部分)。
第二種情況,當 y=0y=0y=0 時 p(y∣x)p(y|x)p(y∣x) 等于多少呢? 假設 y=0y=0y=0 , y^\hat{y}y^? 的 yyy 次方就是 y^\hat{y}y^? 的0次方,任何數的0次方都等于1,因此 p(y∣x)=1?(1?y^)1?yp(y|x)=1*(1-\hat{y})^{1-y}p(y∣x)=1?(1?y^?)1?y ,前面假設 y=0y=0y=0 因此 (1?y)(1-y)(1?y) 就等于1,因此 p(y∣x)=1?(1?y^)p(y|x)=1*(1-\hat{y})p(y∣x)=1?(1?y^?) 。因此在這里當 y=0y=0y=0 時, p(y∣x)=1?y^p(y|x)=1-\hat{y}p(y∣x)=1?y^? 。這就是這個公式(第二個公式,圖中紫色字體部分)的結果。
因此,剛才的推導表明 p(y∣x)=y^(y)(1?y^)(1?y)p(y|x)=\hat{y}^{(y)}(1-\hat{y})^{(1-y)}p(y∣x)=y^?(y)(1?y^?)(1?y) ,就是 p(y∣x)p(y|x)p(y∣x) 的完整定義。由于 log?\loglog 函數是嚴格單調遞增的函數,最大化 log?(p(y∣x))\log(p(y|x))log(p(y∣x)) 等價于最大化 p(y∣x)p(y|x)p(y∣x) 并且地計算 p(y∣x)p(y|x)p(y∣x) 的 log?\loglog 對數,就是計算 log?(y^(y)(1?y^)(1?y))\log(\hat{y}^{(y)}(1-\hat{y})^{(1-y)})log(y^?(y)(1?y^?)(1?y)) (其實就是將 p(y∣x)p(y|x)p(y∣x) 代入),通過對數函數化簡為:
ylog?y^+(1?y)log?(1?y^)y\log\hat{y}+(1-y)\log(1-\hat{y})ylogy^?+(1?y)log(1?y^?)
而這就是我們前面提到的損失函數的負數 (?L(y^,y))(-L(\hat{y},y))(?L(y^?,y)) ,前面有一個負號的原因是當你訓練學習算法時需要算法輸出值的概率是最大的(以最大的概率預測這個值),然而在邏輯回歸中我們需要最小化損失函數,因此最小化損失函數與最大化條件概率的對數 log?(p(y∣x))\log(p(y|x))log(p(y∣x)) 關聯起來了,因此這就是單個訓練樣本的損失函數表達式。
在 mmm 個訓練樣本的整個訓練集中又該如何表示呢,讓我們一起來探討一下。
讓我們一起來探討一下,整個訓練集中標簽的概率,更正式地來寫一下。假設所有的訓練樣本服從同一分布且相互獨立,也即獨立同分布的,所有這些樣本的聯合概率就是每個樣本概率的乘積:
P(labelsintrainingset)=∏i=1mP(y(i)∣x(x))。P(labels\ in\ training\ set)=\prod_{i=1}^mP(y^{(i)}|x^{(x)})。P(labels?in?training?set)=i=1∏m?P(y(i)∣x(x))。
如果你想做最大似然估計,需要尋找一組參數,使得給定樣本的觀測值概率最大,但令這個概率最大化等價于令其對數最大化,在等式兩邊取對數:
P(labelsintrainingset)=log?∏i=1mP(y(i)∣x(x))=∑i=1mlog?P(y(i)∣x(i))=∑i=1m?L(y^(i),y(i))P(labels\ in\ training\ set)=\log\prod_{i=1}^mP(y^{(i)}|x^{(x)})=\sum_{i=1}^m\log P(y^{(i)}|x^{(i)})=\sum_{i=1}^m-L(\hat{y}^{(i)},y^{(i)})P(labels?in?training?set)=logi=1∏m?P(y(i)∣x(x))=i=1∑m?logP(y(i)∣x(i))=i=1∑m??L(y^?(i),y(i))
在統計學里面,有一個方法叫做最大似然估計,即求出一組參數,使這個式子取最大值,也就是說,使得這個式子取最大值, ∑i=1m?L(y^(i),y(i))\sum_{i=1}^m-L(\hat{y}^{(i)},y^{(i)})∑i=1m??L(y^?(i),y(i)) ,可以將負號移到求和符號的外面, ?∑i=1mL(y^(i),y(i))-\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})?∑i=1m?L(y^?(i),y(i)) ,這樣我們就推導出了前面給出的logistic回歸的成本函數 J(w,b)=∑i=1mL(y^(i),y(i))J(w,b)=\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=∑i=1m?L(y^?(i),y(i)) 。
由于訓練模型時,目標是讓成本函數最小化,所以我們不是直接用最大似然概率,要去掉這里的負號,最后為了方便,可以對成本函數進行適當的縮放,我們就在前面加一個額外的常數因子 1m\frac1mm1? ,即:
J(w,b)=1m∑i=1mL(y^(i),y(i))。J(w,b)=\frac1m\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})。J(w,b)=m1?i=1∑m?L(y^?(i),y(i))。
總結一下,為了最小化成本函數 J(w,b)J(w,b)J(w,b) ,我們從logistic回歸模型的最大似然估計的角度出發,假設訓練集中的樣本都是獨立同分布的條件下。盡管這節課是選修性質的,但還是感謝觀看本節視頻。我希望通過本節課您能更好地明白邏輯回歸的損失函數,為什么是那種形式,明白了損失函數的原理,希望您能繼續完成課后的練習,前面課程的練習以及本周的測驗,在課后的小測驗和編程練習中,祝您好運。
課程PPT
| 2.17 Jupyter/iPython 筆記本的快速指南 | 回到目錄 | 2.19 總結習題 |
總結
以上是生活随笔為你收集整理的2.18 Logistic 损失函数的解释-深度学习-Stanford吴恩达教授的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.17 Jupyter/ipython
- 下一篇: 2.19 总结-深度学习-Stanfor