天天看點

LogisticRegression(邏輯回歸,對率回歸)損失函數推導

昨天面試遇到的問題,今天整理出來。主要是損失函數的推倒。

http://blog.wangcaimeng.top/2019/03/05/LogisticRegression-邏輯回歸)損失函數推導/

  • 預測函數

    y ^ = H ( x ) = 1 1 + e − ( ω T x + b ) \widehat{y} = H(x) = \frac{1}{1+e^{-(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b)}} y

    ​=H(x)=1+e−(ωTx+b)1​

  • 兩邊取對數,變形:

    l n 1 − y ^ y ^ = − ( ω T x + b ) ln\frac{1-\widehat{y}}{\widehat{y}} = -(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b) lny

    ​1−y

    ​​=−(ωTx+b)

  • 将 1 − y ^ 1-\widehat{y} 1−y

    ​看作 y = 1 y=1 y=1的機率, y ^ \widehat{y} y

    ​看作 y = 0 y=0 y=0的機率,即:

    l n p ( y = 1 ∣ x ) p ( y = 0 ∣ x ) = − ( ω T x + b ) ln\frac{p(y=1\mid \boldsymbol{x})}{p(y=0\mid \boldsymbol{x})} = -(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b) lnp(y=0∣x)p(y=1∣x)​=−(ωTx+b)

    p ( y = 1 ∣ x ) = e − ( ω T x + b ) 1 + e − ( ω T x + b ) = 1 − H ( x ) p(y=1\mid \boldsymbol{x}) = \frac{e^{-(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b)}}{1+e^{-(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b)}} = 1-H(x) p(y=1∣x)=1+e−(ωTx+b)e−(ωTx+b)​=1−H(x)

    p ( y = 0 ∣ x ) = 1 1 + e − ( ω T x + b ) = H ( x ) p(y=0\mid \boldsymbol{x}) = \frac{1}{1+e^{-(\boldsymbol{\mathbf{}\omega }^{T}\boldsymbol{x}+b)}}=H(x) p(y=0∣x)=1+e−(ωTx+b)1​=H(x)

  • 下面通過最大似然估計求解參數 ω , b \boldsymbol{\mathbf{}\omega },b ω,b,即最大化 p ( y ∣ X , ω , b ) p( y\mid X,\boldsymbol{\mathbf{}\omega},b) p(y∣X,ω,b),這裡X表示全部樣本,假設總樣本數為m,則有:

    p ( y ∣ X , ω , b ) = ∏ i = 1 m p ( y i ∣ x i , ω , b ) p( y\mid X,\boldsymbol{\mathbf{}\omega},b) = \prod_{i=1}^{m}p(y_{i}\mid x_{i},\boldsymbol{\mathbf{}\omega},b) p(y∣X,ω,b)=i=1∏m​p(yi​∣xi​,ω,b)

  • 對數似然函數為:

    l ( ω , b ) = ∑ i = 1 m l n ( p ( y i ∣ x i , ω , b ) ) = ∑ i = 1 m ( ( 1 − y i ) l n ( p ( y i = 0 ∣ x i , ω , b ) + y i l n ( p ( y i = 1 ∣ x i , ω , b ) ) = ∑ i = 1 m ( ( 1 − y i ) l n ( H ( x i ) ) + y i l n ( 1 − H ( x i ) ) ) l(\boldsymbol{\mathbf{}\omega},b) = \sum_{i=1}^{m}ln(p(y_{i}\mid x_{i},\boldsymbol{\mathbf{}\omega},b))\\ = \sum_{i=1}^{m}((1-y_{i})ln(p(y_{i}=0\mid x_{i},\boldsymbol{\mathbf{}\omega},b)+y_{i}ln(p(y_{i}=1\mid x_{i},\boldsymbol{\mathbf{}\omega},b))\\ =\sum_{i=1}^{m}((1-y_{i})ln(H(x_{i}))+y_{i}ln(1-H(x_{i}))) l(ω,b)=i=1∑m​ln(p(yi​∣xi​,ω,b))=i=1∑m​((1−yi​)ln(p(yi​=0∣xi​,ω,b)+yi​ln(p(yi​=1∣xi​,ω,b))=i=1∑m​((1−yi​)ln(H(xi​))+yi​ln(1−H(xi​)))

    *最大化 l ( ω , b ) l(\boldsymbol{\mathbf{}\omega},b) l(ω,b)即最小化 − l ( ω , b ) -l(\boldsymbol{\mathbf{}\omega},b) −l(ω,b),是一個凸優化問題,使用梯度下降法或牛頓法求解即可。

繼續閱讀