来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件。
在前面的学习中,我们知道逻辑回归问题可以转换为求解似然函数的极大值:
argmaxθi=1∏np(yi∣xi;θ)再通过一系列的转换,最终得到逻辑回归的损失函数:
loss=i=1∑n[−yi(θTxi)+ln(1+eθTxi)]为了让损失函数最小,然后使用了梯度下降算法对参数 θ 不断迭代,最终得出参数 θ。
它的梯度如下:
∂θ∂loss=i=1∑n(π(xi)−yi)xi其中,
π(x)=p(y=1∣x)=1+eθTxeθTx最后得出梯度下降的迭代公式如下:
θj:=θj+ηi=1∑n(y(i)−π(x(i)))xj(i)梯度下降还可以进一步衍生出随机梯度下降法,都可以很好的求解逻辑回归问题,这一节将介绍一种新的方法,牛顿法(Newton method),它可以利用曲线本身的信息,比梯度下降法更容易收敛,迭代次数更少。
牛顿法解一元函数极值#
牛顿法解多元函数极值#
牛顿法解逻辑回归#
牛顿法迭代公式为:
θ:=θ−loss′′(θ)loss′(θ)其中,loss′(θ) 为损失函数关于 θ 的一阶导数:
loss′(θ)=∂θ∂loss=i=1∑n(π(xi)−yi)xiloss′′(θ) 为损失函数关于 θ 的二阶导数:
loss′′(θ)=∂θ∂θT∂2loss=i=1∑nxixiTπ(xi)(1−π(xi))https://blog.csdn.net/baimafujinji/article/details/51179381