天天看點

【機器學習】實戰邏輯回歸模型

今天大概看了一下還沒做的ps1,裡面第一個道題的資料集正好可以拿來做一次邏輯回歸的實戰,正好學到現在還沒正兒八經寫過代碼,是以打算拿這個練練手,具體資料集我建立了一個GitHub賬号給大家分享,裡面也有詳細的代碼和一些思路:

https://github.com/cyr429/Machine-Learning-master/tree/master/ML-others/LogisticRegression01

這裡說一下要用到的知識都是來自這次的lecture,請先熟知基本知識再進行下面的實戰:

https://blog.csdn.net/cyr429/article/details/102458430

在邏輯回歸中注意他推導式子的時候給定的假設是y的取值為0或1,但是資料集裡是-1或1,1是正樣本,-1是負樣本,解決辦法是再推導一次或者轉換資料集,我比較懶選了後者,畢竟一句clip就行了。

(其實前者也不麻煩,這個時候有 

【機器學習】實戰邏輯回歸模型

,然後再求出對數似然函數再求導就好了)

為了保證theta0項的存在我使用hstack往x資料的左邊加了一列1,這樣就滿足了:

【機器學習】實戰邏輯回歸模型

(因為x0=1)

我們要用到的式子主要是:

【機器學習】實戰邏輯回歸模型

和SGD更新規則:

【機器學習】實戰邏輯回歸模型

其實可供選擇的更新規則不止SGD一種,對于SGD,BGD和牛頓法的選擇請移步:

https://blog.csdn.net/cyr429/article/details/103090851

原理就這麼多,具體代碼等請移步GitHub: 

https://github.com/cyr429/Machine-Learning-master/tree/master/ML-others/LogisticRegression01

繼續閱讀