今天是第二部分——单变量线性回归,即监督学习中基于单个特征输入的线性回归算法。该部分主要了解的内容是单变量线性回归算法的模型表示,损失函数以及用于求解的梯度下降方法,这实际上也展示了一个完整的监督学习过程。

1、Model Representation

       在了解模型表示之前,我们需要明确监督学习算法的工作方式。正如之前所言,学习算法就是从数据中产生模型的算法,因此我们首先需要有一个数据集即训练集,然后将训练集喂给预先设计好的算法,也就是利用训练集对算法进行监督训练,进而可以得到一个与原始数据拟合度最好的模型,也称为假设(hypothesis),最后利用这个假设函数并输入特征值便可进行预测。

吴恩达机器学习系列1——单变量线性回归-LMLPHP

以基于房子面积的房价预测问题为例,首先我们获取到了含有m条有关房子规格-价格(Size/x-Price/y)记录的数据集(如图)作为训练集,其中Size为输入特征,Price为Size对应的标签,一条记录便是一个训练实例,如第二个训练实例(x^((2)),y^((2)))=(1416,232);

吴恩达机器学习系列1——单变量线性回归-LMLPHP

然后利用这些训练实例对学习算法进行监督,不断修正模型的参数,便可得到最终的假设模型h。根据对数据集的可视化,可能适用于该房价预测问题的假设模型h的一种表达式就是h_θ (x)= θ_0+ θ_1 x,由于只含有一个特征变量,所以又称为单变量线性回归问题。

2、Cost Function

       那么,针对于假设函数h_θ (x)= θ_0+ θ_1x,我们应该如何去选择合适的参数(θ_0与θ_1的取值)使得其与问题的特征更加吻合呢?这就需要去衡量不同参数取值下,假设函数基于输入特征值所计算出来的预测值与实际值的差异程度,一般而言,我们会通过建立代价函数(Cost Function)来表示这种差异。其中,均方误差是解决回归问题时最常用的代价函数,即:

吴恩达机器学习系列1——单变量线性回归-LMLPHP

我们只需要求得使J(θ_0,θ_1 )的取值最小时的θ_0与θ_1即可,这时模型所得预测值与实际值的差异最小,J(θ_0,θ_1 )的值无限趋近于0。以θ_0,θ_1,J(θ_0,θ_1 )为坐标绘制等高线图,则可以看出在代价函数的三维空间中存在J(θ_0,θ_1 )的最小值点(如图)。

吴恩达机器学习系列1——单变量线性回归-LMLPHP

  

3、Gradient Descent

       梯度下降法是求解函数最小值的算法,其思想是先设置初始的参数值组合并计算代价函数,然后寻找使代价函数的取值减小最多的下一个参数值组合(梯度的反方向是函数值减小最快的方向),不断迭代直至符合精度要求,得到代价函数取局部极小值时的参数值组合(初始值不同结果可能不一)。

吴恩达机器学习系列1——单变量线性回归-LMLPHP梯度下降算法的公式如下:

吴恩达机器学习系列1——单变量线性回归-LMLPHP

梯度下降算法迭代的关键有两个,一是迭代的方向,即梯度的反方向-∂J(θ)/(∂θ_j ),这是使J(θ)下降最快的方向;二是学习率α,决定了下降长度的大小α过大可能导致越过最低点无法收敛,α过小可能导致迭代次数太多效率低下,可以根据迭代进行的次数合理设置。

       结合线性回归模型、代价函数与梯度下降,我们就得到了线性回归算法:

吴恩达机器学习系列1——单变量线性回归-LMLPHP

吴恩达机器学习系列1——单变量线性回归-LMLPHP

  

4、Summary

       监督学习中的线性回归问题的解决大致可以分为如下步骤,获取训练集,提出假设模型,明确代价函数,求解最优参数。其中代价函数一般使用均方误差,求解最优参数需要代价函数取值最小,决定了学习算法的预测精度,梯度下降法是求解函数最小值比较常用的方法,基于下降方向与学习率的迭代最终可得使代价函数局部最小的参数组合。

02-11 11:54