每天十分钟机器学习之六:代价函数的直观理解之一

本节继续讲述代价函数,并通过实例来直观理解代价函数。

吴恩达老师的讲义里提到我们想要找一条直线hθ(x)来拟合我们的数据,为了让这条直线和我们的数据拟合的非常好,我们引入了损失函数,损失函数就是我们的优化目标,当损失函数最小的时候,此时θ0和θ1构成的模型就是最好的直线了。

为了让大家更加清晰地了解到代价函数。我们将对代价函数可视化,看一下代价函数究竟做了什么,它是如何帮助我们找到最好地一条直线来拟合我们地数据。

为了将代价函数可视化,我们将使用一个简化地假设函数hθ(x)=θ1x(令θ0=0,类似y=kx这样一个函数),我们的任务是最小化我们地损失函数:

按照上面的分析,假设函数是一个关于θ1的函数,而θ1控制着这条直线hθ(x)的斜率。现在为了更好的理解它们,我们要将它们给画出来:

比如说我们现在的训练样本如上所示:它包含三个点:(1,1)(2,2)和(3,3),如果我选择θ1=1,那么我们此时假设函数就是下面的这条直线:

那么当θ1=1的时候,此时的代价函数是多少呢?

我们发现此时的代价函数(θ1=1)的值为0

下面我们继续,如果θ1=0.5的时候呢?

此时的损失函数值为:

我们再来试一下θ1=0,它会是一条水平的直线:

此时它的损失函数值为:

如果我们在试一下其它的θ1的取值,我们还会得到对应的J(θ1),如果我们试了很多的θ1,那么此时我们可以得到的损失函数J关于θ1的图像为:

现在我们有了损失函数的图像了,那此时你还记得我们的优化目标吗?

针对上面的问题而言,我们希望找到一个θ1的值,能够使得J(θ1)最小,我们看上面的损失函数的图像,我们可以看出让J(θ1)最小的值是θ1=1。然后我们可以知道θ1=1时我们的假设函数就对应着最佳的通过数据点的拟合直线,如下所示:

本节中为了便于理解,我们将θ0=0,其实就算θ0不是0,上面的结论也依然成立,下节课程吴恩达老师会带上θ0来给我们讲解这个问题。

祝您的机器学习之旅愉快!

本文参考资料:

(1)斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义;

(2)头条号/幻风的AI之路

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181102G1I0QT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券