notation:本系列在Andrew Ng在 CS229 上的讲义进行学习的基础上,进行总结,以进行较为系统的ML学习。
1. LMS algorithm
本章节,主要是以一个实例进行讲解的,其主要探究住房价格与住房的区域面积以及其他因素之间的关系。由于是监督学习,在给定一定训练集的基础上,对训练数据进行模型拟合,根据拟合的结果,对之后的测试数据进行预测。
文中用如下表达式对模型进行估计:
(1)而接下来的问题就是如何求解上述多元一次方程中的未知量了。这也就涉及了本段的题目LMS,即最小均方算法(least mean squares)。求解上述的未知量,实质上就是使将来的预测输出与实际的相符,也就是来说,就是使训练过程中的label和输出label最为相近(当然必不可少的假设是,训练集较好的反映了实际情况),公式化就是是下式最小化。
(2)而对于如何使均方最小,本文运用了梯度下降方法,逐步迭代进行求解(当然还有更为方便简洁的方法,后文介绍)。
梯度下降方法具体来讲就是以负梯度作为搜索方向,即令 ,是一种自然的选择。
梯度下降算法:
给定初始点重复进行
1.2.直线搜索。通过精确或回溯直线搜索方法确定步长t
3.修改,
直到 满足停止规则
而在本文中,作者首先尝试了batch gradient descent 算法:
(3)进而,
(4)如果将(4)式进行参数逐个优化的话,总的batch gradient descent如下:
Repeat until convergence{
(for every j)
}
关于梯度下降除了此处提及的batch方法(也就是对于每一个,要再整合训练集上进行优化,从1到m),还有stochastic方法,即随机梯度下降,它与batch不同的是对于每一个,是在一个训练样本上进行优化的,当所有优化完成后,采用下一样本。两种梯度下降方法相比而言,后者的速度更快一下,但是存在在最小值处附近震荡的问题,而当我们采用随着迭代次数增加,步长减小时,此问题可得以解决。
上述便是LMS算法的提出已经进行求解的方法。在此处,梯度法要进行迭代,而是否存在直接求得最小值的算法呢,当然存在(此处为凸问题)。
2.The normal equations
此处是将上述的若干训练样本都统一的一个矩阵中,对矩阵关于系数求导,并另导数为零,进而得出最小值。如下:
(5)
(6)
(7)
令 得,进而
(8)
其中(7)式可参考矩阵求导公式,或详见文章推导。由于只有一个未知量,故而此处求偏导可求得全局最优解,较上述的梯度下降方法简便。
3.Probabilistic interpretation
第三节主要是对LMS算法的提出提供概率上的说明,本质上LMS的方法可以在最大似然概率找到根源。具体见下面的公式:
将原来的模型公式写做带有误差的形式:
(9)其中误差项可能来自非模型作用或者随机噪声,我们假设误差是独立同分布,且符合高斯分布(均值为0,方差为),那么
(10)按照最大似然概率的概念,参数未知,但是样本皆服从此分布,当对应的总概率值最大(似然最大)时,参数为相应的实际参数。那么,
(12)
对上式求log对数,再求导可得,
(13)
当最大时,相应的, (与无关,当不知时,可获得同样的结果)应为最小,正符合LMS算法的核心。
但是衡量LMS自然性的应不止这一种,如果采用其他方法进行衡量可能获得不同的结果,故而在某些情况下,LMS算法并不一定是最好的。
4.Local Weighted linear Regression
LWR算法是在原有最小化目标式基础上加上一个权重项:
(14)
加上此权重项的意义在于,为了降低特征选择的危险性,即将差异性大的特征得到的损耗函数值降低,将差异性小的特征得到的损耗函数升高。