机器学习笔记(2)线性回归模型和损失函数

/*本课程笔记依托于Machine Learning——Andrew Ng(Stanford University)*/

其实这里所说的模型只是模型的一种表示方法,也可以说模型的写法

大概就是这个样子,重点还是放在下面的代价函数(Cost Function),有几种说法,一种叫损失函数,一种叫代价函数,我个人比较习惯用代价函数

首先何为代价函数

我们可以用代价函数来验证假设函数(hypothesis function)是否如预期,也就是说检验假设函数是否合理

所以现在就要考虑如何说明假设函数是合理的,这是一个很显而易见的问题,当假设函数十分接近真实值时可以说假设函数是合理的

因此假设为假设函数(在本例中当然你得假设函数可以更加复杂),y(x)为真实函数,则假设函数可以简单的表示为,这里之所以采用平方的形式,是因为采用最小二乘法的缘故

但是这并不是个单纯的函数问题,因为在讨论代价函数时与之比较的实际值是一组训练集,训练集不能做到函数那样有无穷个点(上面的模型也提到了这一点),所以假设我们的训练集有m个样本,代价函数就变成了 ,也可以理解成假设函数的误差。但是通常情况下我们考虑这个式子的1/2m,因为要减少平均误差,因此式子就变成了,这就是代价函数。而我们建立代价函数的目的就在于通过使代价函数最小来找到合适的,从而拟合出一条直线(对于不同的假设函数可能拟合出不同的曲线)

Andrew Ng如是说

其中假设函数与真实值之间的差距被称为建模误差(modeling error),也就是下图的蓝色线

既然我们已经构建出了代价函数,那另一个很重要的问题就是如何使用代价函数来估算

这就是我们的代价函数,前面已经提到了代价函数的作用,因此我们要使代价函数取到最小来获得最合适的

为了便于理解,下面将假设函数简化为

上图给出了一个测试集(包含三个样本),右上的图表示不同的θ1取值时J(θ1)的值(因为我们的假设函数已经精简了),我们只需要找出代价函数中的最小值所对应的θ1,可以采用诸如导数,图像观察等多种方法,只要找到代价函数的最小值对应的θ1就是所求θ1,当假设函数具有超过两个参数时,可能会出现三维甚至更高维度的图像,这个时候需要使用其他办法来找到合适的θ,下图就展示了超过一个参数时生成的图像

右上方的图用等高线图的方法说明了如何简化带有两个参数的代价函数的图像,基于等高线图会有下一个无约束优化算法——梯度下降算法,在下一篇笔记中详细记录一下梯度下降算法

About the author

NOBUG.IN

Add comment

By NOBUG.IN

Your sidebar area is currently empty. Hurry up and add some widgets.