【机器学习】对于代价函数的理解及其 w,b 参数的求解

系列文章目录

第四章 Python 机器学习入门之代价函数



前言

前面我们学习了什么是代价函数,知道了代价函数的数学定义,
下面我们可以用一个例子来说明代价函数实际上是如何来计算的,也就是如何使用代价函数为我们的模型找到最佳的参数。


一、如何使用代价函数为模型找到最佳的参数

如果我们想用一条直线拟合训练数据,我们有f(x) = w*x + b 这个模型,模型的参数是 w 和 b ,我们需要为这些参数选择值,

为了找到最合适的w 和 b ,以便于直线更好的拟合训练数据,我们需要一个代价函数 j ,代价函数的作用就是衡量模型的预测值与y 的真实值之间的差异。

我们的目的就是找到合适的 w 和 b 使得有关 w 和 b 的 j 代价函数的值尽可能的小,

goal 就是我们希望最小化 j 作为w 和 b 的函数,为了更好的可视化 代价函数 j  ,我们可以简化线性回归模型,如图右边所示。

将b 赋值为 0 ,那么模型只与w这一个参数parameters了,J 现在就是 w 的函数了。目标goal也变得不同,因为我们只有一个参数w 了,使用这个简化模型,目标是找到w 的值,使有关w 的j 函数值最小化。

1. 简化模型

使用这个简化模型,我们来看看w 为不同的值时,代价函数是如何变化的。

我们先来看看模型f(x) 与代价函数j(w) 之间的关系  

对于f(x),当w 是固定值时,f(x) 只是x 的一个函数,y 的估计值取决于输入x 的值,

对于j(w) ,代价函数j 是 w 的函数,其中w 决定了 f(x) 定义的直线的斜率, 由j 定义的代价取决于遥感参数 w ,

当w = 1 时,如图左边直线所示,通过公式计算可知代价函数 j = 0,


当w = 0.5 时,如图左边直线所示,通过公式计算可知代价函数 j ≈ 0.58 , 

以此类推,参数w 的每个值对应于图中左边上不同的直线拟合f(x),我们可以根据w取不同的值,计算出多个代价函数,从而绘制出 代价函数j 的图形,

那么,我们该如何去选择函数f 的 w 值,并很好的拟合数据呢?
一般,我们会选择一个使得代价函数 j(w) 尽可能小的 w 的值,如上图,就选择w = 1 , 取得了j(w) 的最小值。
j 是衡量平方误差有多大的代价函数,因此选择最小化这些平方的 w ,是他们尽可能的小,也就是使得代价函数减小,这将为我们提供一个好的模型。

以上就是在线性回归中如何使用代价函数来找到最小值代价函数j 的 w 值,
这里我们使用的是简化的模型,正常情况下,我们有参数w 和 b ,而不仅仅是w, 所以我们就需要找到最小值代价函数j 的 w 值和 b 值

这里,我们学习了f 和 j 的两者之间的关系,当我们改变w 或 改变 w 和b 时,我们最终会得到不同的直线,当这条直线穿过数据时,代价函数j 就会很小

线性回归的目标是找到参数w 或参数 w 和b ,从而使得代价函数j 取得最小可能值。
 

2.正常模型

我们现在只是学习了使用简化的模型来计算代价函数,下面我们来看看可视化使用w和b 的线性回归的代价函数是什么样的。

可视化代价函数 visualizing the cost function

上面,我们学习了w 的代价函数j , 现在我们来看看w , b 的代价函数 j 的可视化,这可以让我们更好的了解代价函数在做什么。

前面我们的学习有madel f(x), 参数w,b ,代价函数 j , 以及线性回归的目标objective,即在参数w 和b 上最小化w 和b 的代价函数j,也就是代价函数的最小值。

之前我们将b 赋值为0 来简化可视化,得到的是二维的可视化,现在我们直接来求代价函数,可视化后是一个三维的。

首先来看看f(x) 和代价函数 j 之间的关系 

图左边是一套房子的大小和价格的训练集,w和 b 的值时我们赋予的

当w = 0.06,b = 50 时,f(x) 只与x 有关,可以看见这不是一个好的模型,它一直在低估房价,比较好的模型应该是一条穿过大多数点的线

当给w 和 b 赋不同的值时,代价函数j 怎么变化呢?
之前我们使b = 0 ,得到的代价函数图形是一个U 形状,是一个二维的图,如图右边

现在我们有w 和b 两个变量,得到的代价函数的图就是个三维的,

图的轴标记为 w 和 b ,当我们改变模型的这两个参数时,我们就会得到w 和 b 的代价函数 j 的不同值。
图的表面任意一点都表示一个代价函数的值。

看这代价函数的剖面图和等高线图,
图中右边的图,每一条线都是等高线,在等高线上,虽然w 和 b 不同,但是代价函数j 都是相同的,同心椭圆的最低部,就是代价函数j 的最小值。

可视化的例子 visualization examples 

当w = -0.15, b = 800 时,可以看见y 值的预测值与实际目标值相差很多,看图可知,这条线并不合适,w 和 b 的选择不太适合训练。


当 w = 0.13 , b = 71 时,图13 这一点表示代价函数非常接近小椭圆的中心,并不完全是最小的,但是 w 和 b 的值很接近,

我们可以得到 x 的 f(x)的线,
拟合直线对应于j 图中更接近这个代价函数的最小可能代价的点

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓亮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值