日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逻辑回归(logistic regression)的本质——极大似然估计

發布時間:2024/7/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑回归(logistic regression)的本质——极大似然估计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1 前言
  • 2 什么是邏輯回歸
  • 3 邏輯回歸的代價函數
  • 4 利用梯度下降法求參數
  • 5 結束語
  • 6 參考文獻

1 前言

邏輯回歸是分類當中極為常用的手段,因此,掌握其內在原理是非常必要的。我會爭取在本文中盡可能簡明地展現邏輯回歸(logistic regression)的整個推導過程。

2 什么是邏輯回歸

邏輯回歸在某些書中也被稱為對數幾率回歸,明明被叫做回歸,卻用在了分類問題上,我個人認為這是因為邏輯回歸用了和回歸類似的方法來解決了分類問題。

假設有一個二分類問題,輸出為y∈{0,1}y \in \{0, 1\}y{0,1},而線性回歸模型產生的預測值為z=wTx+bz = w^Tx + bz=wTx+b是實數值,我們希望有一個理想的階躍函數來幫我們實現zzz值到0/10/10/1值的轉化。

?(z)={0ifz<00.5ifz=01ifz>0\phi (z) = \left\{ \begin{aligned} 0 \quad if \ z < 0 \\ 0.5 \quad if \ z=0 \\ 1 \quad if \ z>0 \end{aligned} \right. ?(z)=??????0if?z<00.5if?z=01if?z>0?

然而該函數不連續,我們希望有一個單調可微的函數來供我們使用,于是便找到了SigmoidfunctionSigmoid \ functionSigmoid?function來替代。

?(z)=11+e?z\phi (z) = \dfrac{1}{1 + e^{-z}}?(z)=1+e?z1?

兩者的圖像如下圖所示(圖片出自文獻2)

圖1:sigmoid & step function

有了SigmoidfuctionSigmoid \ fuctionSigmoid?fuction之后,由于其取值在[0,1][0,1][0,1],我們就可以將其視為類111的后驗概率估計p(y=1∣x)p(y = 1|x)p(y=1x)。說白了,就是如果有了一個測試點xxx,那么就可以用SigmoidfuctionSigmoid \ fuctionSigmoid?fuction算出來的結果來當做該點xxx屬于類別111的概率大小。

于是,非常自然地,我們把SigmoidfuctionSigmoid \ fuctionSigmoid?fuction計算得到的值大于等于0.50.50.5的歸為類別111,小于0.50.50.5的歸為類別000

y^={1if?(z)≥0.50otherwise\hat{y} = \left\{ \begin{aligned} 1 \quad if \ \phi (z) \geq 0.5 \\ 0 \quad \quad \ otherwise \end{aligned} \right. y^?={1if??(z)0.50?otherwise?

同時邏輯回歸與自適應線性網絡非常相似,兩者的區別在于邏輯回歸的激活函數是SigmoidfunctionSigmoid \ functionSigmoid?function而自適應線性網絡的激活函數是y=xy = xy=x,兩者的網絡結構如下圖所示(圖片出自文獻1)。

圖2:自適應線性網絡

圖3:邏輯回歸網絡

3 邏輯回歸的代價函數

好了,所要用的幾個函數我們都有了,接下來要做的就是根據給定的訓練集,把參數www給求出來了。要找參數www,首先就是得把代價函數(cost function)給定義出來,也就是目標函數。

我們第一個想到的自然是模仿線性回歸的做法,利用誤差平方和來當代價函數。

J(w)=∑i12(?(z(i))?y(i))2J(w) = \sum_{i} \dfrac{1}{2} (\phi(z^{(i)}) - y^{(i)})^2J(w)=i?21?(?(z(i))?y(i))2

其中,z(i)=wTx(i)+bz^{(i)} = w^Tx^{(i)} + bz(i)=wTx(i)+biii表示第iii個樣本點,y(i)y^{(i)}y(i)表示第iii個樣本的真實值,?(z(i))\phi(z^{(i)})?(z(i))表示第iii個樣本的預測值。

這時,如果我們將?(z(i))=11+e?z(i)\phi (z^{(i)}) = \dfrac{1}{1 + e^{-z^{(i)}}}?(z(i))=1+e?z(i)1?代入的話,會發現這是一個非凸函數,這就意味著代價函數有著許多的局部最小值,這不利于我們的求解。

圖4:凸函數和非凸函數

那么我們不妨來換一個思路解決這個問題。前面,我們提到了?(z)\phi(z)?(z)可以視為類111的后驗估計,所以我們有

p(y=1∣x;w)=?(wTx+b)=?(z)p(y=1|x;w) = \phi(w^Tx + b)=\phi(z)p(y=1x;w)=?(wTx+b)=?(z)

p(y=0∣x;w)=1??(z)p(y=0|x;w) = 1 - \phi(z)p(y=0x;w)=1??(z)

其中,p(y=1∣x;w)p(y=1|x;w)p(y=1x;w)表示給定www,那么xxxy=1y=1y=1的概率大小。

上面兩式可以寫成一般形式

p(y∣x;w)=?(z)y(1??(z))(1?y)p(y|x;w)=\phi(z)^{y}(1 - \phi(z))^{(1-y)}p(yx;w)=?(z)y(1??(z))(1?y)

接下來我們就要用極大似然估計來根據給定的訓練集估計出參數www

L(w)=∏i=1np(y(i)∣x(i);w)=∏i=1n(?(z(i)))y(i)(1??(z(i)))1?y(i)L(w)=\prod_{i=1}^{n}p(y^{(i)}|x^{(i)};w)=\prod_{i=1}^{n}(\phi(z^{(i)}))^{y^{(i)}}(1-\phi(z^{(i)}))^{1-y^{(i)}}L(w)=i=1n?p(y(i)x(i);w)=i=1n?(?(z(i)))y(i)(1??(z(i)))1?y(i)

為了簡化運算,我們對上面這個等式的兩邊都取一個對數

l(w)=lnL(w)=∑i=1ny(i)ln(?(z(i)))+(1?y(i))ln(1??(z(i)))l(w)=lnL(w)=\sum_{i = 1}^n y^{(i)}ln(\phi(z^{(i)})) + (1 - y^{(i)})ln(1-\phi(z^{(i)}))l(w)=lnL(w)=i=1n?y(i)ln(?(z(i)))+(1?y(i))ln(1??(z(i)))

我們現在要求的是使得l(w)l(w)l(w)最大的www。沒錯,我們的代價函數出現了,我們在l(w)l(w)l(w)前面加個負號不就變成就最小了嗎?不就變成我們代價函數了嗎?

J(w)=?l(w)=?∑i=1ny(i)ln(?(z(i)))+(1?y(i))ln(1??(z(i)))J(w)=-l(w)=-\sum_{i = 1}^n y^{(i)}ln(\phi(z^{(i)})) + (1 - y^{(i)})ln(1-\phi(z^{(i)}))J(w)=?l(w)=?i=1n?y(i)ln(?(z(i)))+(1?y(i))ln(1??(z(i)))

為了更好地理解這個代價函數,我們不妨拿一個例子的來看看

J(?(z),y;w)=?yln(?(z))?(1?y)ln(1??(z))J(\phi(z),y;w)=-yln(\phi(z))-(1-y)ln(1-\phi(z))J(?(z),y;w)=?yln(?(z))?(1?y)ln(1??(z))

也就是說

J(?(z),y;w)={?ln(?(z))ify=1?ln(1??(z))ify=0J(\phi(z),y;w)=\begin{cases} -ln(\phi(z)) & if \ y=1 \\ -ln(1-\phi(z)) & if \ y=0 \end{cases}J(?(z),y;w)={?ln(?(z))?ln(1??(z))?if?y=1if?y=0?

我們來看看這是一個怎么樣的函數

圖5:代價函數

從圖中不難看出,如果樣本的值是111的話,估計值?(z)\phi(z)?(z)越接近111付出的代價就越小,反之越大;同理,如果樣本的值是000的話,估計值?(z)\phi(z)?(z)越接近000付出的代價就越小,反之越大。

4 利用梯度下降法求參數

在開始梯度下降之前,要這里插一句,sigmoidfunctionsigmoid \ functionsigmoid?function有一個很好的性質就是

?′(z)=?(z)(1??(z))\phi'(z) = \phi(z)(1 - \phi(z))?(z)=?(z)(1??(z))

下面會用到這個性質。

還有,我們要明確一點,梯度的負方向就是代價函數下降最快的方向。什么?為什么?好,我來說明一下。借助于泰特展開,我們有

f(x+δ)?f(x)≈f′(x)?δf(x + \delta) - f(x) \approx f'(x) \cdot \deltaf(x+δ)?f(x)f(x)?δ

其中,f′(x)f'(x)f(x)δ\deltaδ為向量,那么這兩者的內積就等于

f′(x)?δ=∣∣f′(x)∣∣?∣∣δ∣∣?cosθf'(x) \cdot \delta = ||f'(x)|| \cdot ||\delta|| \cdot cos \thetaf(x)?δ=f(x)?δ?cosθ

θ=π\theta=\piθ=π時,也就是δ\deltaδf′(x)f'(x)f(x)的負方向上時,取得最小值,也就是下降的最快的方向了~

okay?好,坐穩了,我們要開始下降了。

w:=w+Δw,Δw=?η?J(w)w := w + \Delta w, \ \Delta w=-\eta \nabla J(w)w:=w+Δw,?Δw=?η?J(w)

沒錯,就是這么下降。沒反應過來?那我再寫詳細一些

wj:=wj+Δwj,Δwj=?η?J(w)?wjw_j := w_j + \Delta w_j,\ \Delta w_j = -\eta \dfrac{\partial J(w)}{\partial w_j} wj?:=wj?+Δwj?,?Δwj?=?η?wj??J(w)?

其中,wjw_jwj?表示第jjj個特征的權重;η\etaη為學習率,用來控制步長。

重點來了。

?J(w)wj=?∑i=1n(y(i)1?(z(i))?(1?y(i))11??(z(i)))??(z(i))?wj=?∑i=1n(y(i)1?(z(i))?(1?y(i))11??(z(i)))?(z(i))(1??(z(i)))?z(i)?wj=?∑i=1n(y(i)(1??(z(i)))?(1?y(i))?(z(i)))xj(i)=?∑i=1n(y(i)??(z(i)))xj(i)\begin{aligned} & \dfrac{\partial J(w)}{w_j} = -\sum_{i=1}^n (y^{(i)}\dfrac{1}{\phi(z^{(i)})}-(1 - y^{(i)})\dfrac{1}{1-\phi(z^{(i)})})\dfrac{\partial \phi(z^{(i)})}{\partial w_j} \\ & =-\sum_{i=1}^n (y^{(i)}\dfrac{1}{\phi(z^{(i)})}-(1 - y^{(i)})\dfrac{1}{1-\phi(z^{(i)})})\phi(z^{(i)})(1-\phi(z^{(i)}))\dfrac{\partial z^{(i)}}{\partial w_j} \\ & =-\sum_{i=1}^n (y^{(i)}(1-\phi(z^{(i)}))-(1-y^{(i)})\phi(z^{(i)}))x_j^{(i)} \\ & =-\sum_{i=1}^n (y^{(i)}-\phi(z^{(i)}))x_j^{(i)} \end{aligned} ?wj??J(w)?=?i=1n?(y(i)?(z(i))1??(1?y(i))1??(z(i))1?)?wj???(z(i))?=?i=1n?(y(i)?(z(i))1??(1?y(i))1??(z(i))1?)?(z(i))(1??(z(i)))?wj??z(i)?=?i=1n?(y(i)(1??(z(i)))?(1?y(i))?(z(i)))xj(i)?=?i=1n?(y(i)??(z(i)))xj(i)??

所以,在使用梯度下降法更新權重時,只要根據下式即可

wj:=wj+η∑i=1n(y(i)??(z(i)))xj(i)w_j :=w_j+\eta \sum_{i=1}^n (y^{(i)}-\phi(z^{(i)}))x_j^{(i)}wj?:=wj?+ηi=1n?(y(i)??(z(i)))xj(i)?

此式與線性回歸時更新權重用的式子極為相似,也許這也是邏輯回歸要在后面加上回歸兩個字的原因吧。

當然,在樣本量極大的時候,每次更新權重會非常耗費時間,這時可以采用隨機梯度下降法,這時每次迭代時需要將樣本重新打亂,然后用下式不斷更新權重。

wj:=wj+η(y(i)??(z(i)))xj(i),foriinrange(n)w_j := w_j + \eta (y^{(i)}-\phi(z^{(i)}))x_j^{(i)}, for \ i \ in \ range(n) wj?:=wj?+η(y(i)??(z(i)))xj(i)?,for?i?in?range(n)

也就是去掉了求和,而是針對每個樣本點都進行更新。

5 結束語

以上就是我參考了基本書中的說法之后對邏輯回歸整個推到過程的梳理,也不知道講清楚沒有。
如有不足,還請指正~

6 參考文獻

[1] Raschka S. Python Machine Learning[M]. Packt Publishing, 2015.
[2] 周志華. 機器學習 : = Machine learning[M]. 清華大學出版社, 2016.

總結

以上是生活随笔為你收集整理的逻辑回归(logistic regression)的本质——极大似然估计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品高潮呻吟久久aⅴ码 | 青青草国产在线观看 | 国产av无码专区亚洲av毛片搜 | 国产a久久| 日韩三级中文字幕 | 99精品久久久久久中文字幕 | 国产三级在线观看完整版 | 91精东传媒理伦片在线观看 | 丁香五香天堂网 | 久久久久亚洲av无码专区 | www.一区二区三区四区 | 欧美成人激情视频 | 婷婷色在线| 欧洲女女同videos | 中国av一区 | 横恋母在线观看 | 无码精品视频一区二区三区 | 欧美色性视频 | 亚洲码欧美码一区二区三区 | 欧美三p| 天堂在线资源8 | 亚洲不卡电影 | 日韩久久久 | 女同性做爰三级 | 涩涩久久 | 国产精品久久av无码一区二区 | av免| 免费毛片在线播放 | 日本视频免费 | 国产美女精品人人做人人爽 | 91成年人视频 | 9l视频自拍九色9l视频 | 日本不卡一区二区三区视频 | 91在线免费看 | 久久精品欧美视频 | 久久久久久久久久福利 | 手机在线看片日韩 | 污污的网站在线观看 | 国产成人99久久亚洲综合精品 | 国产一级啪啪 | 亚洲黄色免费看 | 亚洲一区二区中文 | 深田咏美在线x99av | 免费国产一区二区三区 | 人日人视频 | 国产激情视频在线播放 | 粉嫩av懂色av蜜臀av分享 | 国产一区二区免费在线 | 成人精品影院 | 99热亚洲精品 | 永久免费国产 | 成年人黄色 | 国产人妻人伦精品1国产盗摄 | 91热爆在线 | 国产肉体xxxx裸体784大胆 | 国产99久久久欧美黑人 | 日本一区二区视频 | 成人免费自拍视频 | 日本一级黄色大片 | 亚洲一二三区av | 久久国产a | 亚洲欧美日韩在线 | 国产精品久久久久久三级 | 国产四区 | 国产欧美日韩在线视频 | 一区不卡av | 四季av在线一区二区三区 | 二区在线视频 | 国产欧美精品aaaaaa片 | 调教在线观看 | 一女被多男玩喷潮视频 | 欧美日皮视频 | 色九九视频 | 成年人黄色一级片 | 精品国产一二 | 国产成人三级一区二区在线观看一 | 久久国产高清 | 就爱啪啪网| 99在线精品视频 | 青青操在线观看视频 | 人人妻人人澡人人爽久久av | 久久久久人妻精品一区二区三区 | 尤物视频在线播放 | 免费在线视频你懂的 | 91成人在线视频 | 带aaa级的网名 | 欧美日韩国产一区二区 | 免费av动漫 | 久久澡| 黄色av网站在线 | 国产一级大片 | 国内精品国产三级国产aⅴ久 | 91麻豆国产福利精品 | 久久精品牌麻豆国产大山 | 亚洲色图国产精品 | 黄色片怎么看 | 中文字幕国产日韩 | 免费成人电影在线观看 | 天天操天天射天天舔 |