機器學習經典演算法原始碼分析系列 邏輯回歸

2022-01-20 05:18:48 字數 1441 閱讀 3958

1.邏輯回歸(logistic regression)又常被成為「邏輯斯蒂回歸」,實質上是乙個二元分類問題。

邏輯回歸代價函式:

代價函式導數:

matlab實現:

採用matlab中自帶的無約束最小化函式fminunc來代替梯度下降法(避免學習率的選擇)。

fminunc高階函式的使用參考:

自定義函式與fminunc函式之間的呼叫關係:

對於二維線性或者非線性問題,我們可以通過畫出決策邊界來視覺化資料集,從而更直觀判斷模型的準確度。

對於可以用簡單線性劃分的資料集,不需要進行模型複雜度和正則化處理,應用起來往往很簡單。

2.非線性決策邊界問題:

對於邊界複雜問題,簡單的線性邊界劃分無法實現,需要增加特徵變數的階數來實現非線性劃分。這樣就會導致模型的複雜度增加,如何權衡模型的準確度和複雜度?——正則化處理。

1)非線性模型複雜度的選擇:下面的**只針對二維特徵變數,單一特徵變數的最高端數可以自行試湊。

2)正則化引數的選擇:

過小:對模型複雜度懲罰不夠,過擬合

過大:模型太過簡單,訓練準確率下降,欠擬合

正則化處理後的代價函式:

代價函式導數:

正則化**:

ps: 應用邏輯回歸模型也可以進行多類分類,處理方法是多次重複進行二分類,每次選擇乙個正向類,其餘各類都視作負向類。

個人筆記:

原始碼分析:

密碼:2ra2

機器學習經典演算法原始碼分析系列 線性回歸

一 單變數線性回歸 1.資料集視覺化 2.求解模型引數 對於線性回歸模型,有兩種方法可以求解模型引數。1 梯度下降法 將代價函式代入展開 matlab 實現 2 正規方程 matlab 實現 關於正規方程的推導 3 梯度下降法和正規方程比較 由控制台輸出模型引數和回歸直線可知,兩者得到的結果很相近,...

Redis原始碼分析系列

redis目前熱門nosql記憶體資料庫,量不是很大,本系列是本人閱讀redis原始碼時記錄的筆記,由於時間倉促和水平有限,文中難免會有錯誤之處,歡迎讀者指出,共同學習進步,本文使用的redis版本是2.8.19。redis之hash資料結構 redis之intset資料結構 redis之skipl...

jQuery原始碼分析系列

斷斷續續地看jquery原始碼,第一次萌生看jq原始碼的念頭,當時還是版本1.7.2,由於工作中沒有用到jq的機會,連 有幾種用法都還不知道,就開始啃原始碼,痛苦自然是少不了的,於是不久就放棄扔一邊了。等到工作中終於就機會用jq了 撒花 又萌生了啃jq原始碼的念頭,此時jq版本已經是2.0了。鑑於瀏...