吴恩达机器学习之牛顿方法

来源:互联网 发布:淘宝设置公益宝贝 编辑:程序博客网 时间:2024/05/21 22:50

牛顿方法原理

给定一个函数f(θ),为了求解f(θ)=0θ的值,可以用迭代方法逼近真实值

  1. 给定初始化值θ0,使得f(θ0)=0
  2. 求解f(θ1)=0θ的值,根据导数的定义有:θ1=θ0f(θ0)f(θ0)

重复以上步骤可以得到:θt+1=θtf(θt)f(θt),为了最大化对数似然函数ψ(θ),令ψ(θ)=f,可以得到参数的迭公式θt+1=θtψ(θt)ψ(θt)=H1θψ,其中HHessian矩阵,Hij=2ψθiθj=2ψθ1θ12ψθ1θ22ψθ1θn2ψθ2θ12ψθ2θ22ψθ2θn2ψθmθ12ψθmθ22ψθmθn

牛顿法求逻辑回归

p(y=1x;θ)=hθ(x)p(y=0x;θ)=1hθ(x),那么有:p(yx;θ)=hθ(x)y(1hθ(x)1y)
对数似然函数:ψ(θ)=logL(θ)=logmi=1p(yixi;θ)
          =logmi=1hθ(xi)yi(1hθ(xi)1yi)
          =mi=1(yiloghθ(xi)+(1yi)(loghθ(xi))
损失函数定义为:
J(θ)=1mψ(θ)=1mmi=1(yiloghθ(xi)+(1yi)(loghθ(xi))
似然函数最大化等价于损失函数最小化,参数更新公式为:
θ=θf(θ)f(θ)=θH1θψ,等价于:
θj=θjH1ψθj
ψθj=1mmi=1(hθ(xi)yi)xij
Hij=ψθiθj=1mmi=1(hθ(xi)yi)xijθi=1mmt=1xtjhθ(xt)θi
  =1mmt=1xtjhθ(xt)θTxtθTxtθi
  =1mmt=1xtjhθ(xt)(1hθ(xt))xti

指数分布

p(yη)=b(y)exp(ηTT(y)a(η)) ,其中η是自然参数,T(y)是充分统计量,一般取T(y)=y
a,b,T取不同值时,指数分布可以转化为各种分布

伯努利分布

p(y=1;ϕ)=ϕ,可知 p(y;ϕ) ===ϕy(1ϕ)1yexp(ylogϕ+(1ϕ)log(1ϕ)) exp(yϕ1ϕ+log(1ϕ))
a(η)=log(1ϕ),b(y)=1,T(y)=y,指数分布就等同于伯努利分布,此时有η=logϕ1ϕ

高斯分布(假设σ=1)

p(y;η)=12πexp((yμ)22)=12πexp(y22)exp(μyμ22)
a(η)=μ22,b(y)=12πexp(μ22),高斯分布就等同于伯努利分布,此时有η=μ

广义线性模型

  1. 假设yx;θ服从指数分布族Exp family(η)
  2. 假设 对于给定x,目标函数h(x)=E(T(y)x)
  3. 假设{η=θTxηi=θTixηRηRn
  1. y{0,1}时,即y服从伯努利分布,广义线性模型变成了逻辑回归模型
  2. yR时,且y服从高斯分布,广义线性模型变成了线性回归模型
  3. y服从不同分布时,广义线性模型会转换成不同模型

多项式分布与softmax回归

  1. y{1,2,,k}θ=(θ1,θ2,,θk)
  2. p(y=i)=ϕi,ϕk=1(θ1+θ2++θk1)
  3. T(1)=(1,0,,0)TT(2)=(0,1,,0)TT(i)=(0,,1,,0)TT(k1)=(0,0,,0,1)TT(k)=(0,0,,0)T,那么有T(y)i=I(y=i)T(y)i表示T(y)的第i个元素

p(y)=ϕI(y=1)1ϕI(y=2)2ϕI(y=k)k=ϕT(y)11ϕT(y)22ϕT(y)k1kϕ1k1j=1T(y)jk
   =b(y)exp(ηTT(y)a(η)
其中a(η)=log(ϕk),b(y)=1(logϕ1ϕk,logϕ2ϕk,,logϕk1ϕk)T
可以得到ϕi=eηi1+k1j=1eηj,(ηj=θTix)
根据目标函数的定义,可以得到:
hθ(x)====ET(y)x;θEI(y=1)x;θI(y=2)x;θI(y=k1)x;θϕ1ϕ2ϕk1eθT1x1+k1j=1eθTjxeθT2x1+k1j=1eθTjxeθTk1x1+k1j=1eθTjx

具体的推导过程请看这篇文章http://blog.csdn.net/acdreamers/article/details/44663305
http://ufldl.stanford.edu/wiki/index.php/Softmax回归