今天我开启了一个新的专栏-机器学习,我是一边学习吴恩达老师的课程,一边整理相应的笔记,如果有什么不正确的地方希望大家指正。
接下来我们回到正题,学习什么是代价函数,以及它是怎么推出来的。
代价函数也被称为平方误差函数,有时也被称为平方误差代价函数,如下这样一个复杂的式子:
代价函数就是帮我们找到与数据拟合程度最高的直线。
那么代价函数是如何推导出来的呢?
在线性回归的问题中一般会有一个训练集和假设函数。
Training Set(训练集):
左栏代表房屋的面积,右栏代表房屋的价格
Hypothesis(假设函数):
这里的假设函数就是这样一个一次的函数,在机器学习中被称为模型。函数hθx被称为预测函数,也就是我们输入x时的对房屋价格的一个预测。假设函数中的θ0和θ1被称为模型参数(Parameters),很明显,如果我们选择不同的参数会得到不同的假设函数。
于是我们会产生一个新的疑问,就是如何能得到这两个模型参数呢?
我们一般会通过训练集来得到这两个模型参数θ0和θ1,然后我们就能得到不带参数的假设函数。要求是:假设函数要尽量的和训练集中的数据点很好的拟合。如下图这样。
那么如何才能更好的拟合呢?
我们要选择在输入x时能使函数的预测值与真实值是最接近的两个模型参数。此时,我们要解决的是让预测值和真实值之差最小,于是问题就演变成了求最小化的问题。
这是关于θ0和θ1的最小化的式子,也被称为代价函数,我们希望这个式子极其小,也就是尽量减小假设输出和真实值之差。
式子中的m代表样本容量,这个式子是对所有的训练样本的预测值和真实值差的平方进行求和,即i=1到i=m。其中代表是第i个样本的预测值,而代表是第i个样本的真实值。
为了让表达式的数学意义变得更容易理解一点,我们实际上考虑的是这个数的1/m,因此我们要尝试尽量减少我们的平均误差,通常是这个数的一半,即1/2m。
这个公式就是我们的代价函数,我们想要做的就是对函数求一个最小值
代价函数(误差平方代价函数)对于大多数的问题,特别是回归问题,都是一个比较合理选择。还有其他的代价函数也能很好的发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。在后续的章节中,我们还会谈论其他的代价函数