牛顿方法原理
给定一个函数 f(θ) ,为了求解 f(θ)=0 时 θ 的值,可以用迭代方法逼近真实值
- 给定初始化值 θ0 ,使得 f(θ0)=0
- 求解 f(θ1)=0 时 θ 的值,根据导数的定义有: θ1=θ0−f(θ0)f′(θ0)
重复以上步骤可以得到: θt+1=θt−f(θt)f′(θt) ,为了最大化对数似然函数 ψ(θ) ,令 ψ′(θ)=f ,可以得到参数的迭公式 θt+1=θt−ψ′(θt)ψ′′(θt)=H−1▽θψ ,其中 H 是
Hessian 矩阵, Hij=∂2ψ∂θiθj=⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∂2ψ∂θ1θ1∂2ψ∂θ1θ2⋯∂2ψ∂θ1θn∂2ψ∂θ2θ1∂2ψ∂θ2θ2⋯∂2ψ∂θ2θn⋮∂2ψ∂θmθ1∂2ψ∂θmθ2⋯∂2ψ∂θmθn⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟牛顿法求逻辑回归
p(y=1∣x;θ)=hθ(x) , p(y=0∣x;θ)=1−hθ(x) ,那么有: p(y∣x;θ)=hθ(x)y(1−hθ(x)1−y)
对数似然函数: ψ(θ)=logL(θ)=log∏mi=1p(yi∣xi;θ)
=log∏mi=1hθ(xi)yi(1−hθ(xi)1−yi)
=∑mi=1(yiloghθ(xi)+(1−yi)(loghθ(xi))
损失函数定义为:
J(θ)=−1mψ(θ)=−1m∑mi=1(yiloghθ(xi)+(1−yi)(loghθ(xi))
似然函数最大化等价于损失函数最小化,参数更新公式为:
θ=θ−f(θ)f′(θ)=θ−H−1▽θψ ,等价于:
θj=θj−H−1∂ψ∂θj
∂ψ∂θj=−1m∑mi=1(hθ(xi)−yi)xij
Hij=∂ψ∂θi∂θj=∂−1m∑mi=1(hθ(xi)−yi)xij∂θi=−1m∑mt=1xtj∂hθ(xt)∂θi
=−1m∑mt=1xtj∂hθ(xt)∂θTxt∂θTxt∂θi
=−1m∑mt=1xtjhθ(xt)(1−hθ(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−ϕ)1−yexp(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) ,高斯分布就等同于伯努利分布,此时有 η=μ广义线性模型
- 假设 y∣x;θ 服从指数分布族 Exp family(η)
- 假设 对于给定x,目标函数 h(x)=E(T(y)∣x)
- 假设 {η=θTxηi=θTixη∈Rη∈Rn
- 当 y∈{0,1} 时,即 y 服从伯努利分布,广义线性模型变成了逻辑回归模型
- 当
y∈R 时,且 y 服从高斯分布,广义线性模型变成了线性回归模型 - 当
y 服从不同分布时,广义线性模型会转换成不同模型
多项式分布与 softmax 回归
- y∈{1,2,⋯,k},θ=(θ1,θ2,⋯,θk)
- p(y=i)=ϕi,ϕk=1−(θ1+θ2+⋯+θk−1)
- 令 T(1)=(1,0,⋯,0)T , T(2)=(0,1,⋯,0)T , T(i)=(0,⋯,1,⋯,0)T , T(k−1)=(0,0,⋯,0,1)T , T(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)k−1kϕ1−∑k−1j=1T(y)jk
=b(y)exp(ηTT(y)−a(η)
其中 a(η)=−log(ϕk),b(y)=1 , (logϕ1ϕk,logϕ2ϕk,⋯,logϕk−1ϕk)T
可以得到 ϕi=eηi1+∑k−1j=1eηj,(ηj=θTix)
根据目标函数的定义,可以得到:
hθ(x)====ET(y)∣x;θE⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜I(y=1)∣x;θI(y=2)∣x;θ⋮I(y=k−1)∣x;θ⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ϕ1ϕ2⋮ϕk−1⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜eθT1x1+∑k−1j=1eθTjxeθT2x1+∑k−1j=1eθTjx⋮eθTk−1x1+∑k−1j=1eθTjx⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟具体的推导过程请看这篇文章http://blog.csdn.net/acdreamers/article/details/44663305
http://ufldl.stanford.edu/wiki/index.php/Softmax回归