机器学习(5)之牛顿算法
2014-09-14 22:58 追风的蓝宝 阅读(1435) 评论(0) 编辑 收藏 举报机器学习(5)之牛顿算法
1. 牛顿迭代算法简介
设r是
的根,选取
作为r的初始近似值,过点
的切线L,L的方程为
,求出L与x轴交点的横坐标
,
的切线,并求该切线与x轴交点的横坐标
,称
次近似值,上式称为牛顿迭代公式。
用牛顿迭代法解非线性方程,是把非线性方程
线性化的一种近似方法。把
在点
的某邻域内展开成泰勒级数
,取其线性部分(即泰勒展开的前两项),并令其等于0,即
,以此作为非线性方程
的近似方程,若
,则其解为
, 这样,得到牛顿迭代法的一个迭代关系式
。
![](http://d.hiphotos.baidu.com/baike/s%3D59/sign=5082ab3058afa40f38c6ced4aa6459d9/eaf81a4c510fd9f9f458496b272dd42a2834a460.jpg)
![](http://g.hiphotos.baidu.com/baike/s%3D15/sign=802826810d2442a7aa0ef9a0d04342de/6a63f6246b600c33993dc2ca184c510fd9f9a16f.jpg)
![](http://b.hiphotos.baidu.com/baike/s%3D71/sign=f2cbaa33a38b87d65442a91e0608b5bb/ac345982b2b7d0a24d231c9fc9ef76094a369acd.jpg)
做曲线
![](http://h.hiphotos.baidu.com/baike/s%3D59/sign=a638fa186259252da7171d0d359bf9a9/810a19d8bc3eb1354c3bafb9a41ea8d3fd1f4437.jpg)
![](http://a.hiphotos.baidu.com/baike/s%3D180/sign=bb2a367e530fd9f9a4175161152cd42b/00e93901213fb80e2b3e78d534d12f2eb83894c0.jpg)
![](http://d.hiphotos.baidu.com/baike/s%3D113/sign=4759ab76e9f81a4c2232e8c8e42b6029/adaf2edda3cc7cd9c67a2ddb3b01213fb80e9158.jpg)
称x
1
为r的一次近似值。
过点
![](http://g.hiphotos.baidu.com/baike/s%3D71/sign=43308263f1deb48fff69a3dff11f38a8/c995d143ad4bd113cd3aaf3058afa40f4bfb0538.jpg)
做曲线
![](http://h.hiphotos.baidu.com/baike/s%3D59/sign=a638fa186259252da7171d0d359bf9a9/810a19d8bc3eb1354c3bafb9a41ea8d3fd1f4437.jpg)
![](http://c.hiphotos.baidu.com/baike/s%3D113/sign=265ea26696eef01f49141cc4d3ff99e0/71cf3bc79f3df8dc43d19493cf11728b461028c7.jpg)
![](http://g.hiphotos.baidu.com/baike/s%3D15/sign=4e7e68110bf79052eb1f433b0df3edbc/5d6034a85edf8db1a5c967660b23dd54574e74c8.jpg)
为r的二次近似值。重复以上过程,得r的近似值序列,其中,
![](http://a.hiphotos.baidu.com/baike/s%3D129/sign=763132a7087b020808c93be35bd9f25f/6a63f6246b600c339f73c4ca184c510fd9f9a1ad.jpg)
称为r的
![](http://g.hiphotos.baidu.com/baike/s%3D33/sign=670fbe609a22720e7fcee4f97acbeb58/5d6034a85edf8db1a5eb67660b23dd54574e74ee.jpg)
![](http://d.hiphotos.baidu.com/baike/s%3D59/sign=5082ab3058afa40f38c6ced4aa6459d9/eaf81a4c510fd9f9f458496b272dd42a2834a460.jpg)
![](http://h.hiphotos.baidu.com/baike/s%3D32/sign=a646f8186259252da7171b06359bf9a2/bd3eb13533fa828bd9a187e1ff1f4134970a5a35.jpg)
![](http://g.hiphotos.baidu.com/baike/s%3D15/sign=802826810d2442a7aa0ef9a0d04342de/6a63f6246b600c33993dc2ca184c510fd9f9a16f.jpg)
![](http://d.hiphotos.baidu.com/baike/s%3D559/sign=b957953d49fbfbedd859367a41f1f78e/8601a18b87d6277f7dd7363a2a381f30e824fcef.jpg)
![](http://a.hiphotos.baidu.com/baike/s%3D181/sign=a24d511560d0f703e2b291d439fb5148/37d3d539b6003af312d9db62372ac65c1038b654.jpg)
![](http://d.hiphotos.baidu.com/baike/s%3D59/sign=5082ab3058afa40f38c6ced4aa6459d9/eaf81a4c510fd9f9f458496b272dd42a2834a460.jpg)
![](http://g.hiphotos.baidu.com/baike/s%3D71/sign=8134fa0f72cf3bc7ec00cfedd1006a1d/060828381f30e9245ea49a334e086e061d95f7b4.jpg)
![](http://d.hiphotos.baidu.com/baike/s%3D113/sign=4759ab76e9f81a4c2232e8c8e42b6029/adaf2edda3cc7cd9c67a2ddb3b01213fb80e9158.jpg)
![](http://a.hiphotos.baidu.com/baike/s%3D129/sign=763132a7087b020808c93be35bd9f25f/6a63f6246b600c339f73c4ca184c510fd9f9a1ad.jpg)
牛顿方法应用于机器学习:
1. 使用这个方法需要f满足一定条件,适用于Logistic回归和广义线性模型
2. 一般初始化为0
2. 在Logistic的应用
在Logistic回归中,我们要使得对数最大似然值最大,即求为0时的Θ,根据上述推论,更新规则如下:
牛顿方法的收敛速度:二次收敛
每次迭代使解的有效数字的数目加倍:假设当前误差是0.01,一次迭代后,误差为0.001,再一次迭代,误差为0.0000001。该性质当解距离最优质的足够近才会发现。
3. 牛顿方法的一般化
Θ是一个向量而不是一个数字,一般化的公式为:
是目标函数的梯度,H为Hessian矩阵,规模是n*n,n为特征的数量,它的每个元素表示一个二阶导数:
上述公式的意义就是,用一个一阶导数的向量乘以一个二阶导数矩阵的逆
优点:若特征数和样本数合理,牛顿方法的迭代次数比梯度上升要少得多
缺点:每次迭代都要重新计算Hessian矩阵,如果特征很多,则H矩阵计算代价很大
转载请注明地址http://www.cnblogs.com/rcfeng/