
牛頓法解機器學習中的Logistic回歸
這仍然是近期系列文章中的一篇。在這一個系列中,我打算把機器學習中的Logistic回歸從原理到應用詳細串起來。最初我們介紹了在Python中利用Scikit-Learn來建立Logistic回歸分類器的方法
Python機器學習之Logistic回歸
此后,我們對上述文章進行了更深一層的探討,介紹了利用Logistic回歸在自然語言處理中的應用(對微博進行Sentiment Analysis)
自然語言處理實戰之微博情感偏向分析
從應用角度介紹了Logistic回歸之后,我們又從源頭介紹了Logistic回歸的數學原理
機器學習之詳解Logistic回歸
在這篇文章的最后,我們得到了一個似然函數為
然后我們的目標是求出使這一似然函數值最大的參數估計,于是對函數取對數,再求一階偏導數得到
從這個偏導數出發,在實際中有很多方法可以解決前面的似然函數最大化參數估計問題,而我們這里要介紹的就是其中非常重要的一種,即牛頓法和擬牛頓法。
牛頓迭代法解方程的簡單回顧
現代計算中涉及大量的工程計算問題,這些計算問題往往很少采用我們通常在求解計算題甚至是考試時所采用的方法,因為計算機最擅長的無非就是“重復執行大量的簡單任務”,所以數值計算方面的迭代法在計算機時代便有了很大的作用。例如我們之前介紹過的利用“Jacobi迭代法與Gauss-Seidel迭代法”求解方程組的方法。另外一個例子則是利用牛頓迭代法近似求解方程的方法。牛頓迭代又稱為牛頓-拉夫遜(拉弗森)方法(Newton-Raphson method)。如果讀者對這部分內容感興趣,可以詳細參閱
牛頓迭代法與一道經典編程問題
我們在此做簡要回顧。有時候某些方程的求根公式可能很復雜(甚至有些方程可能沒有求根公式),導致求解困難。這時便可利用牛頓法進行迭代求解。
假設我們要求解方程f(x)=0的根,首先隨便找一個初始值x0,如果x0不是解,做一個經過(x0,f(x0)) 這個點的切線,與x軸的交點為x1。同樣的道理,如果x1不是解,做一個經過(x1,f(x1))這個點的切線,與x軸的交點為x2。 以此類推。以這樣的方式得到的xi會無限趨近于 f(x)=0 的解。
判斷xi是否是f(x)=0的解有兩種方法:一是直接計算f(xi)的值判斷是否為0,二是判斷前后兩個解xi和xi?1是否無限接近。經過(xi,f(xi))這個點的切線方程為(注意這也是一元函數的一階泰勒展式)
其中,f′(x)為f(x)的導數。令切線方程等于 0,即可求出
于是乎我們就得到了一個迭代公式,而且它必然在 f(x?)=0處收斂,其中x?就是方程的根,由此便可對方程進行迭代求根。
牛頓法在最優化問題中的應用
假設當前任務是優化一個目標函數 f,也就是求該函數的極大值或極小值問題,可以轉化為求解函數 f 的導數 f′=0 的問題,這樣求可以把優化問題看成方程 f′=0 求解問題。剩下的問題就和前面提到的牛頓迭代法求解很相似了。
這次為了求解方程 f′=0 的根,把原函數 f(x) 的做泰勒展開,展開到二階形式(注意之前是一階):
當且僅當 Δx 無線趨近于0時,(可以舍得后面的無窮小項)使得等式成立。此時上式等價與:
注意因為Δx 無線趨近于0,前面的的常數 1/2 將不再起作用,可以將其一并忽略,即
求解
得出迭代公式
在之前的文章中我們也提到最優化問題除了用牛頓法來解之外,還可以用梯度下降法來解。但是通常來說,牛頓法可以利用到曲線本身的信息,比梯度下降法更容易收斂,即迭代更少次數。
再次聯系到我們之前給出的一篇文章“Hessian矩陣與多元函數極值”,對于一個多維向量 X, 以及在點 X0 的鄰域內有連續二階偏導數的多元函數 f(X) ,可以寫出該函數在點 X0 處的(二階)泰勒展開式
其中,o(∥X?X0∥2) 是高階無窮小表示的皮亞諾余項。而 Hf(X0) 是一個Hessian矩陣。依據之前的思路,忽略掉無窮小項,寫出迭代公式即為
由此,高維情況依然可以用牛頓迭代求解,但是問題是Hessian矩陣引入的復雜性,使得牛頓迭代求解的難度大大增加。所以人們又提出了所謂的擬牛頓法(Quasi-Newton method),不再直接計算Hessian矩陣,而是每一步的時候使用梯度向量更新Hessian矩陣的近似。這一點我們后續還會再討論。
牛頓迭代法求解Logistic回歸
現在回歸到最開始的那個問題上。我們已經求出了Logistic回歸的似然函數的一階偏導數
由于lnL(w)是一個多元函數,變量是 w=w0,w1,?,wn ,所以根據多元函數求極值問題的規則,易知極值點處的導數一定均為零,所以一共需要列出n+1個方程,聯立解出所有的參數。下面列出方程組如下
當然,在具體解方程組之前需要用Hessian矩陣來判斷極值的存在性。求Hessian矩陣就得先求二階偏導,即
顯然可以用Hessian矩陣來表示以上多元函數的二階偏導數,于是有
所以得到Hessian矩陣H=XTAX,可以看出矩陣A是負定的。線性代數的知識告訴我們,如果A是負定的,那么Hessian矩陣H也是負定的。也就是說多元函數存在局部極大值,這剛好符合我們的要求的最大似然估計相吻合。于是我們確信可以用牛頓迭代法來繼續求解最優化問題。
對于多元函數求解零點,同樣可以用牛頓迭代法,對于當前討論的Logistic回歸,可以得到如下迭代式
其中H是Hessian矩陣,U的表達式如下
由于Hessian矩陣H是對稱負定的,將矩陣A提取一個負號出來,得到
然后Hessian矩陣H變為H′=XTA′X,這樣H′就是對稱正定的了。那么現在牛頓迭代公式變為
現在我們需要考慮如何快速地算得(H′)?1U,即解方程組(H′)?1X=U,通常的做法是直接用高斯消元法求解,但是這種方法的效率一遍比較低。而當前我們可以利用的一個有利條件是H′是對稱正定的,所以可以用Cholesky矩陣分解法來解。Cholesky分解原理可以參考線性代數方面的書籍,此處不再贅述。
到這里,牛頓迭代法求解Logistic回歸的原理已經介紹完了,但正如前面所提過的,在這個過程中因為要對Hessian矩陣求逆,計算量還是很大。而在后續的文章里我們會再來詳細探討擬牛頓法原理及應用,它是針對牛頓法的弱點進行了改進,更具實踐應用價值。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24