1.简介
在线性回归中我们有一个像这样的训练集,m代表了训练样本的数量,比如m=47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式
接下来我们会引入一些术语我们现在要做的便是为我们的模型选择合适的参数 θ0 和 θ1,在房价问题这个例子中便是直线的斜率和在y 轴上的截距。
我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的 值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数最小
我们绘制一个等高线图,三个坐标分别为θ0和θ1 和J(θ0, θ1):
可以看出在三维空间中存在一个使得J(θ0,θ1)最小的点。
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。
我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。
还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数是解决回归问题最常用的手段了。
2.直观理解
让我们通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。
我们的目的是要让这个代价函数的值最小,先看左图,展示了一个代价函数的具体计算的例子,当θ1固定时,代价函数是一个关于x的方程,我们可以根据具体的数值算出代价函数的值
右图展示了等高线图截面,是一个代价函数关于θ1的方程我们的目的是要最小化这个代价函数所以我们就找个能让代价函数最小的θ1,如图为1
当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数J取最小值 的参数θ0和θ1来。
我们也不希望编个程序把这些点画出来,然后人工的方法来读出这些点的数值,这很明显不是一个好办法。我们会遇到更复杂、更高维度、更多参数的情况,而这些情况是很难画出图的,因此更无法将其可视化。
我们真正需要的是编写程序来找出这些最小化代价函 数的θ0 和θ1 的值,在下一篇,我们将介绍一种算法,能够自动地找出能使代价函数J 最小化的参数θ0 和θ1 的值。