1.回归指的是连续性问题,线性只的是直线。
目标函数:,要使这个值最小
实际,其中根据中心极限定理,猜测
符合高斯分布。
则 ,再用极大似然法,
,再取对数
,再求导数为0,
得到,如果不可逆,则加一个扰动,
。
2.梯度下降法
前面建立的J是让J最小。由于x是个凸集,正的平方肯定是凸的,因此J是个凸函数,随机初始化,沿着梯度方向下降,不断迭代直到得到最优值(或者迭代相邻值在一定范围内)。
如果是批处理,则样本是从第一个取到第m个取到所有样本;因为有的时候样本很多,实际情况中常常是给定一个不那么多的随机样本来处理,但这种方法有可能会收敛到一定范围内来回震动;也有将若干个样本的梯度作为更新方向来做的。
3.局部加权线性回归
有的时候需要求的不是直线,而可能是二次曲线。则可以把二次曲线看成是若干条直线的组成,对小范围内的点先进行直线拟合,并对其他不在这个范围的点给一个权值,离的近的则权值可能大些,离得远的则权值可能小些。则局部加权线性回归可以这样表示: ,其中w可以为高斯核,也可以为多项式核等其他表示形式。这种为非参数学习方法。
4.Logistic回归参数估计
,
为0的时候值为0.5,大于0大于0.5,小于0小于0.5,可以分为两类
,
,这两个式子可以写成一个
再根据最大似然法求导,得到
,再用参数迭代,梯度下降得到
,与线性回归相比,形式都是一样的。
5.梯度下降的换角度,求步长
前面thea已经知道怎么求了,而步长(也叫学习率)怎么确定也是我们需要探究的问题。一般说来,如果斜率大的话,
就小些,斜率小的话,
就大些。那具体的是否可以通过一些计算来确定它呢。
这里引入和负梯度
。对于
= h(
),当
,
。
,求最优的
,使得
去求就可以了。事实上,
,而负梯度的
。因此
,要找到
,我们还需要找到一个大于0 的值,则等于0的值在0和大于0的值之间,利用二分法进行搜索就能找到等于0 的值。除了二分法,还有回溯线性搜索的方法,当
满足
时就停止。更高级的还有二次插值线性搜索,构造二次函数
,二次函数的最优值的地方是
的地方,这个方法更稳健些。
6.搜索方向优化
除了负导数的方向,牛顿还提出了 经典的牛顿下降。根据泰勒展开来的, 。其实是根据拟合的二次曲线求极小值来进行二次收敛。这样收敛的速度很快,但是也有缺点,比如是要在极小值的附近取初值才能得到较好的结果,不然可能不收敛,或者当Hessian矩阵非正定时也不行。
由于它的缺点,我们需要对它进行修正,因此提出了修正牛顿方向。利用牛顿方向和梯度方向的角度来判断。只要和负梯度方向夹角小于90度即可。
L-BFGS 用近似的矩阵代替Hessian矩阵的逆,使得它正定。