|
最小二乘法
最小二乘法是通过最小化误差的平方和,使得拟合对象无限接近目标对象
相比于绝对值的方法,平方和的方法可以得到更短的距离,使得拟合函数更接近于目标函数
一个简单的例子,有一组数据(1,6),(3,5),(5,7),(6,12),找出一条直线y=ax+b与这几个点最为匹配。
首先我们求一下各点到这条直线的距离的和
得 [6-(a+b)]^2 + [5-(3a+b)]^2 + [7-(5a+b)]^2 +[12-(6a+b)]^2
然后我们为了求这个式子的最小值,我们要对a与b求偏导数并令偏导数=0
得15a+4b=15 71a+15b=128
最终可求a与b的值得到直线方程
总的流程来说就是先求各点到要求的方程距离之和,然后对所有的未知数做偏导并且令偏导数等于0,然后利用方程组的求解求出所有未知数,就可以求出最终的最佳拟合函数。
梯度下降法
梯度下降法是沿梯度下降的方向求解函数极小值,迭代公式为
其中代表梯度负方向,代表梯度搜索步长,步长的确定一般和实际问题有关。
一个简单的例子,求函数的极小值,假设我们的起点为(2,4)
我们先求梯度,梯度的算法就是求该未知数的偏导,这里就对x求导得到梯度为
第二步我们沿与梯度相反的方向移动,移动距离为,其中为步长,太大可能会波动,太小可能会收敛过慢,这里我们取步长为0.1,那么我们第一次移动到的点为2-0.1*4,x的值变为了1.6,可以看到x向极小值点在移动
第三步重复第二步的工作,第二次的迭代移动到的点为1.6-0.1*3.2=1.28,继续重复,直到两次迭代中x的移动特别小,比如0.00001,我们这时候就认为x已经收敛到了局部的最小值
最后输出x,得到结果
我们常用的两种梯度算法为随机梯度下降法和批量梯度下降法,随机梯度下降法指每次迭代只用一个样本对参数进行更新,优点是速度快,缺点是只用了一个样本不能代表全体样本的一个总趋势,可能只会收敛到局部最优。而批量梯度下降法一次迭代进行了所有样本的计算,能准确的朝着极值前进,迭代次数也会少,但由于一次迭代用了所有样本,速度会慢很多。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-4-25 22:05
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社