邏輯回歸的代價(jià)函數(shù)(Logistic Regression Cost Function) 在上一篇文章中,我們講了邏輯回歸模型,這里,我們講邏輯回歸的代價(jià)函數(shù)(也翻譯作成本函數(shù))。這一篇有很多公式,做好準(zhǔn)備,睜大眼睛!代價(jià)函數(shù)很重要! 為什么需要代價(jià)函數(shù):為了訓(xùn)練邏輯回歸模型的參數(shù) w和參數(shù)b我們,需要一個(gè)代價(jià)函數(shù),通過(guò)訓(xùn)練代價(jià)函數(shù)來(lái)得到參數(shù)w和參數(shù)b 。先看一下邏輯回歸的輸出函數(shù): 為了讓模型通過(guò)學(xué)習(xí)調(diào)整參數(shù),你需要給予一個(gè)m樣本的訓(xùn)練集,這會(huì)讓你在訓(xùn)練集上找到參數(shù)w和參數(shù)b,來(lái)得到你的輸出。 對(duì)訓(xùn)練集的預(yù)測(cè)值,我們將它寫(xiě)成y^,我們更希望它會(huì)接近于訓(xùn)練集中的y值,為了對(duì)上面的公式更詳細(xì)的介紹,我們需要說(shuō)明上面的定義是對(duì)一個(gè)訓(xùn)練樣本來(lái)說(shuō)的,這種形式也使用于每個(gè)訓(xùn)練樣本,我們使用這些帶有圓括號(hào)的上標(biāo)來(lái)區(qū)分索引和樣本,訓(xùn)練樣本 所對(duì)應(yīng)的預(yù)測(cè)值是 y(i),是用訓(xùn)練樣本的 (w^T) (x^(i))+b 然后通過(guò)sigmoid函數(shù)來(lái)得到,也可以把z定義為 ,我們將使用這個(gè)符號(hào)(i) 注解,上標(biāo)(i) 指明數(shù)據(jù)表示x或者y 或者z或者其他數(shù)據(jù)的第i個(gè)訓(xùn)練樣本,這就是上標(biāo)(i) 的含義。 損失函數(shù):損失函數(shù)又叫做誤差函數(shù),用來(lái)衡量算法的運(yùn)行情況(后續(xù)的網(wǎng)絡(luò)判定與評(píng)估性能就是要找到一個(gè)合適的loss,Loss function: 我們通過(guò)這個(gè) L 稱(chēng)為的損失函數(shù),來(lái)衡量預(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è)?span style="-webkit-tap-highlight-color: transparent;box-sizing: border-box;font-weight: 700;">邏輯回歸中用到的損失函數(shù)是: 為什么要用這個(gè)函數(shù)作為邏輯損失函數(shù)? 當(dāng)我們使用平方誤差作為損失函數(shù)的時(shí)候,你會(huì)想要讓這個(gè)誤差盡可能地小,對(duì)于這個(gè)邏輯回歸損失函數(shù),我們也想讓它盡可能地小,為了更好地理解這個(gè)損失函數(shù)怎么起作用,我們舉兩個(gè)例子(y^代表預(yù)測(cè)值): 當(dāng)y = 1時(shí)損失函數(shù)L = -log(y^),如果想要損失函數(shù)L盡可能得小,那么y^就要盡可能大,因?yàn)閟igmoid函數(shù)取值 [0,1],所以 y^會(huì)無(wú)限接近于1。當(dāng)y = 0 時(shí)損失函數(shù)L = -log(1 - y^) ,如果想要損失函數(shù)L盡可能得小,那么y^ 就要盡可能小,因?yàn)閟igmoid函數(shù)取值 ,所以y^會(huì)無(wú)限接近于0。在這門(mén)課中有很多的函數(shù)效果和現(xiàn)在這個(gè)類(lèi)似,就是如果y等于1,我們就盡可能讓y^變大,如果y 等于0,我們就盡可能讓y^變小。 損失函數(shù)是在單個(gè)訓(xùn)練樣本中定義的,它衡量的是算法在單個(gè)訓(xùn)練樣本中表現(xiàn)如何,為了衡量算法在全部訓(xùn)練樣本上的表現(xiàn)如何,我們需要定義一個(gè)算法的代價(jià)函數(shù)(代價(jià)函數(shù)用J表達(dá)),算法的代價(jià)函數(shù)是對(duì)m個(gè)樣本的損失函數(shù)求和然后除以 m(因?yàn)橐祷?/strong>: 損失函數(shù)只適用于像這樣的單個(gè)訓(xùn)練樣本,而代價(jià)函數(shù)是參數(shù)的總代價(jià),所以 在訓(xùn)練邏輯回歸模型時(shí)候,我們需要找到合適的w和b ,來(lái)讓代價(jià)函數(shù) J 的總代價(jià)降到最低。 根據(jù)我們對(duì)邏輯回歸算法的推導(dǎo)及對(duì)單個(gè)樣本的損失函數(shù)的推導(dǎo)和針對(duì)算法所選用參數(shù)的總代價(jià)函數(shù)的推導(dǎo),結(jié)果表明邏輯回歸可以看做是一個(gè)非常小的神經(jīng)網(wǎng)絡(luò),在下一篇文章中,我們會(huì)看到神經(jīng)網(wǎng)絡(luò)會(huì)做什么。 |
|
來(lái)自: AIWords > 《吳恩達(dá)講深度學(xué)習(xí)》