zoukankan      html  css  js  c++  java
  • 第三周:逻辑回归代价函数求导过程

    第三周课程中,逻辑回归代价函数的求导过程没有具体展开,在此推导并记录:

    逻辑回归的代价函数可以统一写成如下一个等式:

    $J( heta ) = -frac{1}{m}left[sum_{i=1}^{m}y^{(i)}log(h_ heta (x^{(i)}))+(1-y^{(i)})log(1-h_ heta (x^{(i)})) ight]$

    其中:$h_ heta (x^{(i)}) = frac{1}{1+e^{- heta^mathrm {T} x}}$

    为了避免求导过程太冗长复杂,我们做一些显示的简化:

    $J( heta ) = -frac{1}{m}left[sum_{i=1}^{m}K( heta) ight]$

    其中:$K( heta) = y^{(i)}log(h_ heta (x^{(i)}))+(1-y^{(i)})log(1-h_ heta (x^{(i)}))$

    $h_ heta (x^{(i)}) = frac{1}{1+e^{- heta^mathrm {T} x}}$

    OK,下面开始我们的推导过程:如果要求$J( heta)$对某一个参数$ heta$的偏导数,则:

    (1)根据求导公式,可以先把常数项$-frac{1}{m}sum_{i=1}^{m}$提取出来,这样就只需要对求和符号内部的表达式求导,即:

    $J( heta ){}' = -frac{1}{m}left[sum_{i=1}^{m}K( heta){}' ight]$

    $K( heta){}' = left(ylog(h_ heta (x))+(1-y)log(1-h_ heta (x)) ight ){}'$(为方便显示,先把右上角表示第i个样本的上标去掉) 

    (2)根据对数复合求导公式,$log(x){}' = frac{1}{x}x{}'$,对$K( heta)$继续求导可得:

    $K( heta){}' = yfrac{1}{h_ heta (x)}h_ heta (x){}'+(1-y)frac{1}{1-h_ heta (x)}(1-h_ heta (x)){}'$

    (3)根据幂函数复合求导公式,$(y^{x}){}' = xy^{x-1}x{}'$,及以e为底的指数求导公式,对$h_ heta(x)$继续求导可得:

    $h_ heta (x){}' = left( frac{1}{1+e^{- heta^mathrm {T} x}} ight){}'=-frac{(1+e^{- heta^mathrm {T} x}){}'}{(1+e^{- heta^mathrm {T} x})^{2}} = frac{e^{- heta^mathrm {T}x}( heta^mathrm {T} x){}'}{(1+e^{- heta^mathrm {T} x})^{2}} = left(frac{1}{1+e^{- heta^mathrm{T}x}}(1-frac{1}{1+e^{- heta^mathrm{T}x}}) ight)( heta^mathrm{T}x){}' = h_ heta(x)(1-h_ heta(x))( heta^mathrm{T}x){}'$

    同理,$(1-h_ heta (x)){}'= -frac{e^{- heta^mathrm {T}x}( heta^mathrm {T} x){}'}{(1+e^{- heta^mathrm {T} x})^{2}} = -h_ heta(x)(1-h_ heta(x))( heta^mathrm{T}x){}'$

    (4)把步骤3的结果带入步骤2,化简后可得:

     $K( heta){}' = (y-h_ heta(x))( heta^mathrm{T}x){}'$

    再把上面结果带入步骤1,化简后可得:

     $J( heta){}' = frac{1}{m}left[sum_{i=1}^{m}(h_ heta(x)-y)( heta^mathrm{T}x){}' ight]$

    最后$( heta^mathrm{T}x){}'$,对第j个$ heta$求偏导,结果即$X_{j}$(j表示样本中第几项),得到最终结果:

     $frac{partial J( heta)}{partial heta_{j}} = frac{1}{m}left[sum_{i=1}^{m}(h_ heta(x^{(i)})-y^{(i)})x_{j}^{(i)} ight]$

  • 相关阅读:
    利用数据库复制技术 实现MSSQL数据同步更新
    育子两篇你会教育自已的小孩吗
    hdu 1046 Gridland (找规律题)
    hdu 1022 Train Problem I (栈的操作,还水了半天)
    hdu 4022 Bombing (强大的map一对多的映射)
    POJ 1702 Eva's Balance (数论,平衡三进制)
    hdu 3951 Coin Game (博弈)
    hdu 1058 Humble Numbers (DP初步)
    hdu 2084 数塔 (DP初步)
    hdu 1056 HangOver (打表水题)
  • 原文地址:https://www.cnblogs.com/zhongmiaozhimen/p/6155093.html
Copyright © 2011-2022 走看看