您好,欢迎访问三七文档
第二章------单变量线性回归(LinearRegressionwithonevariable)关键词单变量:输入变量只有一个,即模型只有一个变量线性:模型是一个线性函数回归:模型的输出是一系列连续的值1.模型表示(ModelRepresentation)之前的房屋交易问题为例,假使我们回归问题的训练集(TrainingSet)如下表所示:我们将要用来描述这个回归问题的标记如下:m:训练集中实例的数量;x:特征/输入变量;y:目标变量/输出变量;(x,y):训练集中的实例;(x(i),y(i)):第i个观察实例;h:学习算法的解决方案或函数,也称为假设(hypothesis)。因而,要解决房价预测问题,我们实际上是要将训练集“喂”给我们的学习算法,进而学得到一个假设h,然后将我们要预测的房屋的尺寸作为输入变量输入给h,预测出该房屋交易价格作为输出变量输出为结果。对于我们的房价预测问题它只含有一个特征/输入变量,且输出的变量是一个连续的值,这样的问题叫作单变量线性回归问题,其模型表示方式为:hθ(x)=θ0+θ1x。2.代价函数(CostFunction)单变量线性回归的模型是hθ(x)=θ0+θ1x,x代表输入变量,因此要确定该模型的关键是确定参数θ0,θ1的值。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,参数可以为任何值,我们需要做的就是从中选出最适合的参数,使模型的准确率达到最优。将变量x的一个值输入到参数已经确定的模型中,模型会输出一个值。模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modelingerror)。上图中,ⅹ代表一个样本点,直线代表所选择的模型。建模误差越小,代表我们的模型越准确。通常用代价函数(costfunction)来衡量建模误差的大小,代价函数有很多种,这里用的是我们的目标便是选择出可以使得代价函数能够最小的模型参数。当存在两个参数θ0,θ1时,costfunction是一个三维函数,这种样子的图像叫bowl-shapefunction可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点,该点对应的θ0,θ1就是最适合我们模型的参数。3.代价函数的直观理解(CostFunction-Intuition)为了直观的理解代价函数,这里先将模型简化为只含有一个参数θ1的表示方式:h(x)=θ1x,代价函数也会因此得简化为有图中的J(θ1)。代价函数用来衡量建模误差大小,目标是求出使代价函数最小的参数。如下图所示,θ1如果确定,直线hθ(x)是关于x的函数;而确定好训练的数据后,代价函数J(θ1)是关于θ1的函数,对于不同的θ1,代价函数的值也不同。对于单参数的代价函数,其图像是一个开口向上的抛物线函数(二次函数),当θ1取其对称轴所对应的θ1时,代价函数取得最小值。当存在两个参数θ0,θ1时,costfunction是一个三维函数,这种样子的图像叫bowl-shapefunction可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点,该点对应的θ0,θ1就是最适合我们模型的参数。将上图中的costfunction向下投影,即可在二维上用不同颜色的等高线表示其代价函数。同一个等高线上,θ0,θ1的值虽然不同,但其对应的代价函数的值相同。如下右图所示,给定一个(θ0,θ1),可得出一个左图中对应的模型函数。这里让(θ0,θ1)取(800,-0.15),可以看到直线和样本点的拟合程度很不好,需要进一步调整参数。二维的等高线图中,越靠近中心,代价函数的值越小。这里让(θ0,θ1)取(360,0),直线的拟合程度有所改善,但需要继续调整参数。我们的目的是最小化代价函数,二维的等高线图中,中心点对应的代价函数的值最小。即最后一幅图,让(θ0,θ1)取(450,0.12)的情况。训练出来的模型不能满足每一个样本点,即不能使每一个样本点都在直线上,但最后训练出来的模型的误差已经达到了最小。4.梯度下降(GradientDescent)梯度下降是一个求函数最小值的算法,我们可以使用梯度下降算法来求代价函数J(θ0,θ1)的最小值。梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到得到一个局部最小值(localminimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(globalminimum),选择不同的初始参数组合,可能会找到不同的局部最小值。批量梯度下降(batchgradientdescent)算法的公式为:其中,gradient即J在该点的切线斜率,在该点的斜率方向即为下降程度最大的方向。下图所示分别为slope(gradient)为正和负的情况,都可以使函数值越来越小。其中α是学习率(learningrate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。α太小:学习很慢α太大:容易过学习如果学习率α太小,会导致θ0,θ1的变化速度很慢,而且很如意陷入局部极小。如果α太大,则会使θ0,θ1摇摆不定,得不到最小值。本图表示:无需逐渐减小α,就可以使下降幅度逐渐减小(因为梯度逐渐减小),而且对于单变量线性回归函数的代价函数来说,其图像是一个碗装型结构,因此无论初始参数取多少,总是可以用梯度下降的方法找到全局最小值,但对于其他模型的代价函数来说,用梯度下降的方法很有可能得到局部最小值。在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。5.梯度下降的直观理解(GradientDescentIntuition)左边为梯度下降算法,右边,,为线性回归模型可以将梯度下降函数化简:当对θ1求偏导时,会多出一个x(i),x(i)是θ1的系数。化简后的梯度下降算法如下
本文标题:Stanford机器学习---第二讲LinearRegressionwithonevariable
链接地址:https://www.777doc.com/doc-2860713 .html