理解迭代法和优化基础

后面介绍的时候结合另一个博客的内容:http://blog.csdn.net/zouxy09/article/details/8537872         个人理解因为其实无论什么机器学习算法,最终都要求助于计算机解决,它又表现为在特定函数空间按某优化目标去搜索一个解出来。衡量指标就有误差最小还是性能指标最大吧?那你怎么求它的最小还是最大呢?求导,有拉格朗日?是没错,但他们能使用的本
摘要由CSDN通过智能技术生成

后面介绍的时候结合另一个博客的内容:

http://blog.csdn.net/zouxy09/article/details/8537872

     

    个人理解因为其实无论什么机器学习算法,最终都要求助于计算机解决,它又表现为在特定函数空间按某优化目标去搜索一个解出来衡量指标就有误差最小还是性能指标最大吧?那你怎么求它的最小还是最大呢?求导,有拉格朗日?是没错,但他们能使用的本质条件是什么?是这些误差函数或者性能函数有解析式的时候。但是世界很多信号都是非平稳的,或者很难知道其统计特性的,这时候就没法得到其准确的解析式了,那这时候怎么找最大或者最小值啊。迭代?什么是迭代?


     这里就这涉及到找最大值和最小值,梯度就是类似于在等高线的位置的垂直方向是上升或者下降最块的方向,沿着这个方向最快达到最大最小值,每一次走的距离就是步长,这里就是梯度上升和梯度下降的算法。一般最小化损失函数利用梯度下降,最大化似然概率利用梯度上升,上升的方法可以类似概率论统计理论。但是如果处理非线性的复杂问题,梯度上升,下降可以带来以下几种情况:

靠近极值点的时候迭代次数变慢

出现Z字形变化

     如果你在山脚,看到了山顶,你就不管三七二十一了,直接就往山顶那个方向不要命的冲,直到到达山顶。这个


就是牛顿迭代法

 在数学的含义中可以参见博客:http://www.cnblogs.com/houkai/p/3332520.html

总结来说就是:

要求一个f(x) = 0,首先确定一个初始的解x0,然后获得一个迭代方程,通过Xn-1推导出Xn,然后当这两个值得误差小于一定得数据的时候就可以判断为收敛

在确定收敛方程的时候,有两种思路:一个是利用一阶泰勒展开,一个是几何上的求切线的方法

 如下图,已知(x0,y0) ,我们通过对f(x0)做切线,得到切线与x轴的交点(x1,0),然后根据(x1,f(x1))继续递推得到(x2,f(x2)):

                                      

 那么对已知的(x0,y0),我们可以得到斜率:f'(x0)和点(x0,y0),那么我们可以得到直线:y-f(x0)=f'(x0)(x-x0)。再令y=0,我们可以得到:f(x)=x0-f(x0)/f'(x0)。其实我们已经得到了与泰勒级数展开相同的迭代公式。

对初值clip_image002[6]的选取要求较高。一般的,Newton迭代法只有局部收敛性,当初值

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值