机器学习第一周(代价函数的工作原理)

代价函数的工作原理

线性模型
在线性回归模型中,我们希望得到一条拟合数据集的直线,所以我们构造了上图所示的假设函数 h θ ( x ) h_\theta(x) hθ(x),其中包含两个参数 θ 0 和 θ 1 \theta_0和\theta_1 θ0θ1,随着所选择参数的不同,我们会得到不同的直线。

J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)是我们的代价函数;        θ 0 , θ 1 m i n i m i z e \large_{\;\;\;\theta_0,\theta_1}^{minimize} θ0,θ1minimize J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)是优化目标。

1. 简化的代价函数

为了更好的使代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)可视化,我们首先使用一个简化的代价函数来进行分析
简化的代价函数
代价函数与之前类似,只不过现在 h θ ( x ) = θ 1 x h_\theta(x)=\theta_1x hθ(x)=θ1x,即我们令参数 θ 0 = 0 \theta_0=0 θ0=0,相当于我们只选择了经过原点的假设函数,使用简化的代价函数可以帮助我们更好地理解代价函数的概念。
函数图像
上图左边是我们绘制的假设函数 h θ ( x ) = θ 1 x h_\theta(x)=\theta_1x hθ(x)=θ1x的图像,很显然,在参数 θ 1 \theta_1 θ1确定的条件下, h θ ( x ) h_\theta(x) hθ(x)是关于 x x x的函数,其中叉叉表示我们的数据集,它们分别是 ( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) (1,1),(2,2),(3,3) (1,1),(2,2),(3,3),可知样本数量 m = 3 m=3 m=3

右边是我们绘制的简化后的代价函数 J ( θ 1 ) J(\theta_1) J(θ1),根据代价函数的表达式 J ( θ 1 ) = J(\theta_1)= J(θ1)=   1 2 m \,\Large1\over {2m} 2m1 ∑ i = 1 m \large\sum_{i=1}^m i=1m ( h θ ( x i ) − y i ) 2 (h_\theta(x^i)-y^i)^2 (hθ(xi)yi)2,可知 J ( θ 1 ) J(\theta_1) J(θ1)是关于参数 θ 1 \theta_1 θ1的函数。

对于参数 θ 1 \theta_1 θ1不同的取值,我们都可以在左边绘制出假设函数对应的直线,再根据代价函数的计算公式,我们就可以在右边的图像中绘制出代价函数对应的点,最终在 θ 1 \theta_1 θ1不同的取值下,我们可以绘制出代价函数 J ( θ 1 ) J(\theta_1) J(θ1)对应的图像,可知当 J ( θ 1 ) J(\theta_1) J(θ1)只有一个参数时,其对应的是一个平面上的二维图像。

我们学习算法的优化目标是通过选择 θ 1 \theta_1 θ1不同的取值,获得最小的代价函数 J ( θ 1 ) J(\theta_1) J(θ1),这就是线性回归的目标函数            θ 1 m i n i m i z e \large_{\;\;\;\;\;\theta_1}^{minimize} θ1minimize J ( θ 1 ) J(\theta_1) J(θ1)

2. 原始的代价函数

函数图像
上图左边是我们绘制的假设函数 h θ ( x ) = θ 0 + θ 1 x h_\theta(x)=\theta_0+\theta_1x hθ(x)=θ0+θ1x的图像,很显然, h θ ( x ) h_\theta(x) hθ(x)是关于 x x x的函数,当我们取 θ 0 = 50 ,    θ 1 = 0.06 \theta_0=50,\;\theta_1=0.06 θ0=50,θ1=0.06时,得到的假设函数为 h θ ( x ) = 50 + 0.06 x h_\theta(x)=50+0.06x hθ(x)=50+0.06x,其对应的直线如图所示。

右边是原始的代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1),根据代价函数的表达式 J ( θ 0 , θ 1 ) = J(\theta_0,\theta_1)= J(θ0,θ1)=   1 2 m \,\Large1\over {2m} 2m1 ∑ i = 1 m \large\sum_{i=1}^m i=1m ( h θ ( x i ) − y i ) 2 (h_\theta(x^i)-y^i)^2 (hθ(xi)yi)2,可知 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)是关于参数 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的函数。

对于参数 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1不同的取值,我们都可以在左边绘制出假设函数对应的直线,再根据代价函数的计算公式,我们就可以计算出代价函数对应的值,最终在 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1不同的取值下,我们就可以绘制出代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)对应的图像
代价函数图像
可知当代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)有两个参数时,其对应的是空间内的三维图像。

当我们取不同的 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1时, J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)的值就是曲面上 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1)这一点对应的高度。

为了更好地展示代价函数 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1),我们使用等高线图来表示 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1) θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1之间对应的关系。
图像
右边等高线图中的每一个椭圆都代表了 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)相等时的一系列 θ 0 , θ 1 \theta_0,\theta_1 θ0,θ1的不同取值,很显然,当椭圆越大时,说明取到这个 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)值的 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1)越多,所以 J ( θ 0 , θ 1 ) J(\theta_0,\theta_1) J(θ0,θ1)的最小值在等高线图中应该是最小的等高线,即只会有一组 ( θ 0 , θ 1 ) (\theta_0,\theta_1) (θ0,θ1)满足优化目标,在图像中就对应着一个点。

通过上述的例子,我们可以发现,当代价函数 J ( θ ) J(\theta) J(θ)中的参数越多时,其对应的函数图像维度也就越高,我们就无法通过手动的方式来解决,我们真正想要的是一种高效的算法,可以通过软件实现的算法,来自动找寻代价函数 J ( θ ) J(\theta) J(θ)的最小值其对应的参数 θ \theta θ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PL_涵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值