2.3 Logistic 回归损失函数-深度学习-Stanford吴恩达教授
| 2.2 Logistic 回歸 | 回到目錄 | 2.4 梯度下降法 |
Logistic 回歸損失函數(shù) (Logistic Regression Cost Function)
在上個(gè)視頻中,我們講了邏輯回歸模型,這個(gè)視頻里,我們講邏輯回歸的代價(jià)函數(shù)(也翻譯作成本函數(shù))。
為什么需要代價(jià)函數(shù):
為了訓(xùn)練邏輯回歸模型的參數(shù) www 和參數(shù) bbb ,我們需要一個(gè)代價(jià)函數(shù),通過訓(xùn)練代價(jià)函數(shù)來得到參數(shù) www 和參數(shù) bbb。先看一下邏輯回歸的輸出函數(shù):
為了讓模型通過學(xué)習(xí)調(diào)整參數(shù),你需要給予一個(gè) mmm 樣本的訓(xùn)練集,這會(huì)讓你在訓(xùn)練集上找到參數(shù) www 和參數(shù) bbb,來得到你的輸出。
對(duì)訓(xùn)練集的預(yù)測(cè)值,我們將它寫成 y^\hat{y}y^?,我們更希望它會(huì)接近于訓(xùn)練集中的 yyy 值,為了對(duì)上面的公式更詳細(xì)的介紹,我們需要說明上面的定義是對(duì)一個(gè)訓(xùn)練樣本來說的,這種形式也使用于每個(gè)訓(xùn)練樣本,我們使用這些帶有圓括號(hào)的上標(biāo)來區(qū)分索引和樣本,訓(xùn)練樣本 iii 所對(duì)應(yīng)的預(yù)測(cè)值是 y(i)y^{(i)}y(i),是用訓(xùn)練樣本的 wTx(i)+bw^Tx^{(i)}+bwTx(i)+b 然后通過sigmoid函數(shù)來得到,也可以把 zzz 定義為 z(i)=wTx(i)+bz^{(i)}=w^Tx^{(i)}+bz(i)=wTx(i)+b,我們將使用這個(gè)符號(hào) (i)(i)(i) 注解,上標(biāo) (i)(i)(i) 來指明數(shù)據(jù)表示 xxx 或者 yyy 或者 zzz 或者其他數(shù)據(jù)的第 iii 個(gè)訓(xùn)練樣本,這就是上標(biāo) (i)(i)(i) 的含義。
損失函數(shù):
損失函數(shù)又叫做誤差函數(shù),用來衡量算法的運(yùn)行情況,Loss function: L(y^,y)L(\hat{y},y)L(y^?,y).
我們通過這個(gè)稱為 LLL 的損失函數(shù),來衡量預(yù)測(cè)輸出值和實(shí)際值有多接近。一般我們用預(yù)測(cè)值和實(shí)際值的平方差或者它們平方差的一半,但是通常在邏輯回歸中我們不這么做,因?yàn)楫?dāng)我們?cè)趯W(xué)習(xí)邏輯回歸參數(shù)的時(shí)候,會(huì)發(fā)現(xiàn)我們的優(yōu)化目標(biāo)不是凸優(yōu)化,只能找到多個(gè)局部最優(yōu)值,梯度下降法很可能找不到全局最優(yōu)值,雖然平方差是一個(gè)不錯(cuò)的損失函數(shù),但是我們?cè)谶壿嫽貧w模型中會(huì)定義另外一個(gè)損失函數(shù)。
我們?cè)谶壿嫽貧w中用到的損失函數(shù)是:
L(y^,y)=?ylog?(y^)?(1?y)log?(1?y^)L(\hat{y},y)=-y\log(\hat{y})-(1-y)\log(1-\hat{y})L(y^?,y)=?ylog(y^?)?(1?y)log(1?y^?)
為什么要用這個(gè)函數(shù)作為邏輯損失函數(shù)?當(dāng)我們使用平方誤差作為損失函數(shù)的時(shí)候,你會(huì)想要讓這個(gè)誤差盡可能地小,對(duì)于這個(gè)邏輯回歸損失函數(shù),我們也想讓它盡可能地小,為了更好地理解這個(gè)損失函數(shù)怎么起作用,我們舉兩個(gè)例子:
當(dāng) y=1y=1y=1 時(shí)損失函數(shù) L=?log?(y^)L=-\log(\hat{y})L=?log(y^?),如果想要損失函數(shù) LLL 盡可能得小,那么 y^\hat{y}y^? 就要盡可能大,因?yàn)?strong>sigmoid函數(shù)取值 [0,1][0,1][0,1],所以 y^\hat{y}y^? 會(huì)無限接近于1。
當(dāng) y=0y=0y=0 時(shí)損失函數(shù) L=?log?(1?y^)L=-\log(1-\hat{y})L=?log(1?y^?),如果想要損失函數(shù) LLL 盡可能得小,那么 y^\hat{y}y^? 就要盡可能小,因?yàn)?strong>sigmoid函數(shù)取值 [0,1][0,1][0,1],所以 y^\hat{y}y^? 會(huì)無限接近于0。
在這門課中有很多的函數(shù)效果和現(xiàn)在這個(gè)類似,就是如果 yyy 等于1,我們就盡可能讓 y^\hat{y}y^? 變大,如果等 yyy 于0,我們就盡可能讓 y^\hat{y}y^? 變小。 損失函數(shù)是在單個(gè)訓(xùn)練樣本中定義的,它衡量的是算法在單個(gè)訓(xùn)練樣本中表現(xiàn)如何,為了衡量算法在全部訓(xùn)練樣本上的表現(xiàn)如何,我們需要定義一個(gè)算法的代價(jià)函數(shù),算法的代價(jià)函數(shù)是對(duì) mmm 個(gè)樣本的損失函數(shù)求和然后除以 mmm :
J(w,b)=1m∑i=1mL(y^(i),y(i))=1m∑i=1m(?y(i)log?y^(i)?(1?y(i))log?(1?y^(i)))J(w,b)=\frac1m\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})=\frac1m\sum_{i=1}^m(-y^{(i)}\log\hat{y}^{(i)}-(1-y^{(i)})\log(1-\hat{y}^{(i)}))J(w,b)=m1?i=1∑m?L(y^?(i),y(i))=m1?i=1∑m?(?y(i)logy^?(i)?(1?y(i))log(1?y^?(i)))
損失函數(shù)只適用于像這樣的單個(gè)訓(xùn)練樣本,而代價(jià)函數(shù)是參數(shù)的總代價(jià),所以在訓(xùn)練邏輯回歸模型時(shí)候,我們需要找到合適的 www 和 bbb ,來讓代價(jià)函數(shù) JJJ 的總代價(jià)降到最低。 根據(jù)我們對(duì)邏輯回歸算法的推導(dǎo)及對(duì)單個(gè)樣本的損失函數(shù)的推導(dǎo)和針對(duì)算法所選用參數(shù)的總代價(jià)函數(shù)的推導(dǎo),結(jié)果表明邏輯回歸可以看做是一個(gè)非常小的神經(jīng)網(wǎng)絡(luò),在下一個(gè)視頻中,我們會(huì)看到神經(jīng)網(wǎng)絡(luò)會(huì)做什么。
課程PPT
| 2.2 Logistic 回歸 | 回到目錄 | 2.4 梯度下降法 |
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的2.3 Logistic 回归损失函数-深度学习-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2.2 Logistic 回归-深度学习
- 下一篇: 2.4 梯度下降法-深度学习-Stanf