吴老师机器学习公开课完结,本篇博客是基于自己的理解对整个课程内容进行回顾并梳理,由于博主实力有限,可能会有一些理解不到位或者有误的地方,希望大家能指出,理性讨论与交流。
综合来看,整个课程可以分成一下四个大块,本篇博客也将按照以下四个模块来谈一些自己的理解。
- 监督学习;
- 无监督学习;
- 特殊主题;
- 实际建立机器学习系统的一些建议。
首先来看,机器学习系统整体可以分为监督学习和无监督学习两个部分,主要在于数据集的不同,下面分别进行说明:
一.监督学习
监督学习在于其处理的数据集,每一个数据X有一个对应的标签Y,Y可能是一些具体的数据,比如经典的房价预测,Y表示房价,也可能表示简单的0、1、2、...N,即分类问题,Y的值表示当前数据点属于哪一个类别,通过现有的(X,Y)数据集来进行模型训练,进而达到分类、预测等目的。
监督学习在课程中具体来说有一下四种:
1). 线性回归(Linear Regression)
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。我认为,回归的本质就是根据现有的数据集,来寻找一个较好的拟合模型,即能对当前的数据集中X和Y的关系进行拟合。之所以说是“较好的拟合模型”,是因为有时候为了过分的追求完美的数据拟合曲线,可能会造成过拟合等情况的出现,从而导致选择的拟合曲线固然能对当前的数据集进行可以说是完美的拟合,但是却不能对其他的数据进行较好的预测,也就是“过拟合”的问题,这在后面会谈到。因此,在进行拟合训练模型时,我们应该注意适度,而不是一味的去追求对当前数据进行完美拟合。下面谈一下线性回归中的一些概念理解和一些步骤的实施。
首先时预测函数的建立,即Hypothesis function(在后面以表示)。根据前面对线性回归的解释(利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法),在这里我们假设一参数Θ,根据对每一个数据中X进行特征提取(比如说预测房价,对房价可能产生影响的地段、房间面积、绿化...等情况)来进行Θ的假设,建立向量Θ=[,,...],而根据特征提取,我们又有一关于数据集的特征向量X=[,,...],因此我们假设有Θ*=Y',即根据对每一个特征分配不同的比值可以计算出最后的结果,因此Θ在这里又可以称之为权重,它表示每一个特征X在计算最终的结果Y时所占的比例。即应该有=Θ*=Y'。
随后就是代价函数的建议。我们已经建立了预测函数,通过对X的特征分配不同的权重已经计算出了一个结果,我们称为预测值,由于Θ是我们随意假设的,预测的结果Y'和实际的数据Y之间肯定是存在差距的,即有误差的存在,因此在这里我们定义一误差函数来表示预测值与实际值之间的误差,根据我们前面的分析,要对数据进行一个较好的拟合,也就是要使预测值与实际值尽可能的相等,即使误差J(Θ)尽可能的小,因此我们要根据现有的数据集来寻找一合适的“权重”向量Θ使J(Θ)取得最小值。
求取最下值的方法有最小二乘法和梯度下降法,在这里主要说梯度下降法,这也是在后面会多次提到的一个方法。从数学的角度来说,梯度的方向是函数增长最快的方向,那么反过来就有梯度的反方向就是函数下降的最快的方向,基于此,如果想求解一个函数的最小值,就可以依据梯度下降法的思想来计算。应用到上面的代价函数中,要求解代价函数的最小值,可以从初始的=[,,...]开始,基于学习率>0构建一个迭代的过程,,其中,