【机器学习】代价函数

来源:互联网 发布:js对象深度遍历 编辑:程序博客网 时间:2024/06/01 07:19

代价函数(Cost Function/Squared Error Function)


为什么要求代价函数?
当我们做线性回归时,不可避免的会产生一些误差,当我们预测出来的结果和真实的结果的直线越贴和就代表代价函数最小。
Hypothesis(假设):这里写图片描述

对于这个公式的代价函数就是:
Cost Function(Squared Error Function):这里写图片描述
hθ(xi)就是我们对一条记录的预测值,y(i)就是一条记录的真实值,m为一共多少条记录。
其实就是对Hypothesis的最小值求解:min(J(θ0,θ1))

简单推导,我们让θ0=0
当θ1=1:
这时候Hypothesis和J(θ0,θ1)完美拟合
这时候Hypothesis和J(θ0,θ1)完美拟合,而我们的J(θ1)就是J(1):
这里写图片描述

同理可以得到当θ1=0.5时:
这里写图片描述
图中红色的叉的位置是完美拟合的位置,黑色直线是θ1=0.5时的线的位置,红色的直线是当X等于不同的值时,Y的代价函数,由图可见当我们的X不断增大时,代价函数的值也会越来越大。
这个时候我们的Hypothesis,J(0.5)就是:
这里写图片描述
而我们当当θ1=0时:
这里写图片描述
(这里的线其实是与X轴重叠,因为黑色不明显,所以我换了个颜色)

得到我们的Hypothesis,J(0)就是:
这里写图片描述

同理可得J(1.5)=0.58,J(2)=2.3。
由以上结果可以得到一系列的有关于J(θ1)的点:
这里写图片描述
经过上面的5个点的值可以得到类似于图中的一条曲线,从图中可以看出J(1)是最拟合的点,也就是整个曲线的波谷,反向可以证明其实对于代价函数公式来讲,就是在求(h(xi)-y(i))的最小值。

这也就对于开始的问题作了一个解答,为什么要求代价函数?

根据视频的个人理解,不知道可以解释清楚这个问题不。