吴老师通过房价的例子深入浅出的讲解代价函数,视频中的代价函数就是为了求最接近房价数据的函数参数。
![](https://i-blog.csdnimg.cn/blog_migrate/a253abfc851d59e3934d3db666f8c8fe.png)
代价函数有助于我们弄清楚如何把最有可能的函数与我们的数据相拟合。比如在模型训练中我们有训练集(x,y),x表示房屋的面积,y表示房屋的价格,我们要通过线性回归得到一个函数hθ(x)(被称为假设函数),以x作为自变量,y作为因变量,用函数来预测在给定的房屋面积下的价格。
参数θ0和θ1的变化会引起假设函数的变化,参数的选择决定了我们得到的直线相对于训练集的准确度,用得到的模型预测的值与训练集中值的差距称为建模误差(即下图中的蓝色线)
我们的目标是选择出使建模误差的平方和最小的参数,在回归分析中我们取代价函数为,即使J(θ0,θ1)的值最小。
假设θ0=0,求简化版的代价函数
![](https://i-blog.csdnimg.cn/blog_migrate/8e6cf4ee96dc1c3d95d439f8d49aab18.png)
我们给h(x) 函数取特定的值当 θ1=1,给定的几个结果集(1,1),(2,2),(3,3) 即h(x)=x 的时候,对应的J(θ)=0
当θ1=0.5,即h(x)=0.5x 的时候,对应的J(θ)=0.58
当θ1=0,即h(x)=x 的时候,对应的J(θ)=2.3
上面是简化版的求代价函数,如果把θ0的参数也加上J(θ0,θ1)就是一个碗装的图
把这个图用对应的等高线画出来,这是一堆椭圆,每个椭圆上对应的J(θ0,θ1) 值都是一样的,如果我们取等高线上的一个点(800,-0.15)可以对应的画出来hθ(x)的图
当θ0=360,θ1=0的时候,hθ(x)是一条水平线
我们不断的向椭圆中心取值就可以很好的获取符合给定结果集的hθ(x)函数,结果集几乎会均匀分布在hθ(x)函数周围,让这条函数的直线最佳地拟合这些数据。
简单来说,代价函数就是即通过当前模型得到的预测值和实际值之间的差。这个差是关于模型参数的函数,希望它越小越好