【機器學習】邏輯迴歸過程推導
目錄:
一、LR的基本原理。
二、LR的具體過程,包括:選取預測函式,求解Cost函式和J(θ),梯度下降法求J(θ)的最小值。
三、對《機器學習實戰》中給出的實現程式碼進行了分析,對閱讀該書LR部分遇到的疑惑進行了解釋。比如:一般都是用梯度下降法求損失函式的最小值,為何這裡用梯度上升法呢?書中說用梯度上升法,為何程式碼實現時沒見到求梯度的程式碼呢?
一、LR的基本原理
Logistic Regression和Linear Regression的原理是相似的,按照我自己的理解,可以簡單的描述為:
(1)找一個合適的預測函式,一般表示為h函式,該函式就是我們需要找的分類函式,它用來預測輸入資料的判斷結果。這個過程非常關鍵,需要對資料有一定的瞭解或分析,知道或者猜測預測函式的“大概”形式,比如是線性函式還是非線性函式。
(2)構造一個Cost函式(損失函式),該函式表示預測的輸出(h)與訓練資料類別(y)之間的偏差,可以是二者之間的差(h-y)或者是其他的形式。綜合考慮所有訓練資料的“損失”,將Cost求和或者求平均,記為J(θ)函式,表示所有訓練資料預測值與實際類別的偏差。
(3)顯然,J(θ)函式的值越小表示預測函式越準確(即h函式越準確),所以這一步需要做的是找到J(θ)函式的最小值。找函式的最小值有不同的方法,Logistic Regression實現時用的是梯度下降法(Gradient Descent)。
二、LR的具體過程
(1)構造預測函式
Logistic Regression雖然名字裡帶“迴歸”,但它實際上是一種分類方法,用於兩分類問題(即輸出只有兩種)。首先,需要先找到一個預測函式(h),顯然,該函式的輸出必須是兩個值(分別代表兩個類別),所以利用了Logistic函式(或稱為Sigmoid函式),函式形式為:
對應的函式影象是一個取值在0和1之間的S型曲線。
接下來需要確定資料劃分的邊界型別,對於圖2和圖3中的兩種資料分佈,顯然圖2需要一個線性的邊界,而圖3需要一個非線性的邊界。接下來我們只討論線性邊界的情況。
圖二
圖三
對於線性邊界的情況,邊界形式如下:
構造預測函式為:
hθ(x)函式的值有特殊的含義,它表示結果取1的概率,因此對於輸入x分類結果為類別1和類別0的概率分別為:
(2)構造cost函式
Andrew Ng在課程中直接給出了Cost函式及J(θ)函式如式(5)和(6),但是並沒有給出具體的解釋,只是說明了這個函式來衡量h函式預測的好壞是合理的。
實際上這裡的Cost函式和J(θ)函式是基於最大似然估計推導得到的。下面詳細說明推導的過程。(4)式綜合起來可以寫成:
取似然函式為:
對數似然函式為:
最大似然估計就是要求得使l(θ)取最大值時的θ,其實這裡可以使用梯度上升法求解,求得的θ就是要求的最佳引數。但是,在Andrew Ng的課程中將J(θ)取為(6)式,即:
因為乘了一個負的係數-1/m,所以J(θ)取最小值時的θ為要求的最佳引數。
(3)梯度下降法求J(θ)的最小值
求J(θ)的最小值可以使用梯度下降法,根據梯度下降法可得θ的更新過程:
式中為α學習步長,下面來求偏導:
上式求解過程中用到如下的公式:
因此,(11)式的更新過程可以寫成:
因為式中α本來為一常量,所以1/m一般將省略,所以最終的θ更新過程為:
另外,求得l(θ)取最大值時的θ也是一樣的,用梯度上升法求(9)式的最大值,可得:
觀察上式發現跟(14)是一樣的,所以,採用梯度上升發和梯度下降法是完全一樣的,這也是《機器學習實戰》中採用梯度上升法的原因。
本文轉自 Logistic迴歸總結 作者:洞庭之子 沒有找到原文連結。
相關文章
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- 機器學習之邏輯迴歸機器學習邏輯迴歸
- 機器學習整理(邏輯迴歸)機器學習邏輯迴歸
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 數學推導+純Python實現機器學習演算法:邏輯迴歸Python機器學習演算法邏輯迴歸
- 人工智慧-機器學習-邏輯迴歸人工智慧機器學習邏輯迴歸
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- 機器學習之邏輯迴歸:計算機率機器學習邏輯迴歸計算機
- 機器學習之邏輯迴歸:計算概率機器學習邏輯迴歸
- 機器學習之邏輯迴歸:模型訓練機器學習邏輯迴歸模型
- 機器學習之使用Python完成邏輯迴歸機器學習Python邏輯迴歸
- 【6%】100小時機器學習——邏輯迴歸機器學習邏輯迴歸
- 機器學習筆記-多類邏輯迴歸機器學習筆記邏輯迴歸
- 從零開始學機器學習——邏輯迴歸機器學習邏輯迴歸
- 邏輯迴歸(Logistic Regression)原理及推導邏輯迴歸
- 機器學習入門 - 快速掌握邏輯迴歸模型機器學習邏輯迴歸模型
- 手擼機器學習演算法 - 邏輯迴歸機器學習演算法邏輯迴歸
- 機器學習演算法--邏輯迴歸原理介紹機器學習演算法邏輯迴歸
- [DataAnalysis]機器學習演算法——線性模型(邏輯迴歸+LDA)機器學習演算法模型邏輯迴歸LDA
- 從零開始學習邏輯迴歸邏輯迴歸
- 機器學習-邏輯迴歸:從技術原理到案例實戰機器學習邏輯迴歸
- 100天搞定機器學習|Day17-18 神奇的邏輯迴歸機器學習邏輯迴歸
- 邏輯迴歸邏輯迴歸
- 機器學習簡介之基礎理論- 線性迴歸、邏輯迴歸、神經網路機器學習邏輯迴歸神經網路
- 把ChatGPT調教成機器學習專家,以邏輯迴歸模型的學習為例ChatGPT機器學習邏輯迴歸模型
- 【機器學習】求解邏輯迴歸引數(三種方法程式碼實現)機器學習邏輯迴歸
- 機器學習入門學習筆記:(2.1)線性迴歸理論推導機器學習筆記
- Python邏輯迴歸Python邏輯迴歸
- 邏輯迴歸模型邏輯迴歸模型
- 數學推導+Python實現機器學習演算法:線性迴歸Python機器學習演算法
- 線性迴歸與邏輯迴歸邏輯迴歸
- 機器學習演算法(一): 基於邏輯迴歸的分類預測機器學習演算法邏輯迴歸
- 機器學習——提升方法AdaBoost演算法,推導過程機器學習演算法
- 機器學習-樹迴歸機器學習
- 學習筆記——機器學習演算法(一): 基於邏輯迴歸的分類預測筆記機器學習演算法邏輯迴歸
- 吳恩達機器學習課程05——Logistic迴歸吳恩達機器學習
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 機器學習導圖系列(3):過程機器學習