文章目錄
- 算法推導
線性回歸解決連續值的回歸預測;而邏輯回歸解決離散值的分類預測;
算法推導
邏輯回歸可以看作是兩部分,以0、1分類問題說明;
-
線性回歸部分
- 對于一個樣本 x i x_i xi?,有n個特征 x i ( 1 ) x_i^{(1)} xi(1)?、 x i ( 2 ) x_i^{(2)} xi(2)?… x i ( n ) x_i^{(n)} xi(n)?,每個特征有對應的權重 θ ( j ) \theta_{(j)} θ(j)?,則該樣本所有特征的線性加權求和為: h θ ( x i ) = ∑ j n θ j x i ( j ) + θ 0 x i ( 0 ) = > θ T x i ; 其中 x i ( 0 ) = 1 h_{\theta}(x_i) =\sum_j^n\theta_jx_i^{(j)} + \theta_0x_i^{(0)}=>\theta^Tx_i ; 其中x_i^{(0)}=1 hθ?(xi?)=j∑n?θj?xi(j)?+θ0?xi(0)?=>θTxi?;其中xi(0)?=1
θ 為權重列向量, x i 為第 i 個樣本的列向量 \theta為權重列向量,x_i為第i個樣本的列向量 θ為權重列向量,xi?為第i個樣本的列向量
- 對于一個樣本 x i x_i xi?,有n個特征 x i ( 1 ) x_i^{(1)} xi(1)?、 x i ( 2 ) x_i^{(2)} xi(2)?… x i ( n ) x_i^{(n)} xi(n)?,每個特征有對應的權重 θ ( j ) \theta_{(j)} θ(j)?,則該樣本所有特征的線性加權求和為: h θ ( x i ) = ∑ j n θ j x i ( j ) + θ 0 x i ( 0 ) = > θ T x i ; 其中 x i ( 0 ) = 1 h_{\theta}(x_i) =\sum_j^n\theta_jx_i^{(j)} + \theta_0x_i^{(0)}=>\theta^Tx_i ; 其中x_i^{(0)}=1 hθ?(xi?)=j∑n?θj?xi(j)?+θ0?xi(0)?=>θTxi?;其中xi(0)?=1
-
邏輯函數部分
- 回歸擬合的值 h θ ( x i ) h_{\theta}(x_i) hθ?(xi?) 是一個連續值,需要轉為 [ 0 , 1 ] [0, 1] [0,1]之間的概率;
- 邏輯函數 f ( x ) = 1 1 + e ? x f(x) = \frac {1} {1+e^{-x}} f(x)=1+e?x1? 將 h θ ( x i ) h_{\theta}(x_i) hθ?(xi?) 連續值經過該邏輯函數映射到0-1之間
-
由以上兩部分,可以得到邏輯回歸的預測函數: y p r e d ( x i ) = 1 1 + e ? θ T x i y_{pred}(x_i) = \frac {1} {1+e^{-\theta^Tx_i}} ypred?(xi?)=1+e?θTxi?1? 這里的預測值在 0 ? 1 0-1 0?1之間,可以表示樣本 x i x_i xi?屬于某類別的概率;
-
概率的似然函數 f = ∏ i = 1 m y p r e d y t r u e ( 1 ? y p r e d ) ( 1 ? y t r u e ) f = \prod_{i=1}^my_{pred}^{y_{true}}(1-y_{pred})^{(1-y_{true})} f=i=1∏m?ypredytrue??(1?ypred?)(1?ytrue?) 盡量讓屬于某類的概率最大,即極大似然估計求解;兩邊取對數,并乘以-1,得到損失函數: L = ? ∑ i = 1 m ( y t r u e l o g ( y p r e d ) + ( 1 ? y t r u e ) l o g ( 1 ? y p r e d ) ) L = -\sum_{i=1}^m(y_{true}log(y_{pred}) + (1-y_{true})log(1-y_{pred})) L=?i=1∑m?(ytrue?log(ypred?)+(1?ytrue?)log(1?ypred?))求該損失函數的最小值。
-
梯度下降法,優化損失函數,得到權重更新公式: θ j = θ j ? α ∑ i = 1 m ( y p r e d ( x i ) ? y t r u e ( x i ) ) x i j \theta_j = \theta_j - \alpha\sum_{i=1}^m(y_{pred}(x_i) - y_{true}(x_i))x_i^{j} θj?=θj??αi=1∑m?(ypred?(xi?)?ytrue?(xi?))xij?