对代价函数的理解

1、什么是代价函数?
  • 定义代价函数的目的是用于找到找到最优解的目的函数。
  • “代价”就是预测值和实际值之间的差距,反映在图像中就是(两点之间的距离),对于多个样本来说,就是差距之和。
2、如何区分代价函数、损失函数和目标函数?
  • 代价函数(Cost Function) 定义在整个训练集上的,是所有样本误差的平均值,也就是损失函数的平均。
  • 损失函数(Loss Function) 定义在单个样本上的,算的是一个样本的误差。
  • 目标函数(Object Function) 定义为是最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function+正则化项)。
3、代价函数作用原理

对于回归的问题,我们需要使用代价函数来求出最优解,最长使用的就是平方误差代价函数。
       举个栗子:(图片来自Andrew Ng Machine Learning公开课视频)
在这里插入图片描述
在上面的假设函数中,一共有θ0 和 θ1 两个参数,当参数发生变化时,假设函数也会随之变化。如下图,参数不同,图像不同。
在这里插入图片描述
在我们需要解决的回归问题中,数据一般都是以点的形式来给到我们,我们如果想要解决这个问题,就需要拟合一条直线,找到最优的θ0 和 θ1来使这条直线能够代表所有的数据。在这里插入图片描述
那问题来了,我们怎么样才能找到最优的解呢?
       此时,就需要使用代价函数来求解了,拿平方误差代价函数来举例。
       从最简单的单一函数来看,假设函数为在这里插入图片描述
平方误差代价函数的主要思想:将实际数据给出的值与我们拟合出的线的对应值做差,求出我们拟合出的直线与实际的差距。
在这里插入图片描述
为了使这个值不受个别极端数据的影响而产生巨大的波动,采用类似方差再取二分之一的方式来减少个别数据的影响。这样,就产生了代价函数:
在这里插入图片描述
而最优解即代价函数的最小值。

       根据以上公式多次计算可得到代价函数的图像:
在这里插入图片描述
根据图像可以看出,代价函数的确有最小值,即横坐标为1的时候,值最小。
       上面的栗子,只含有一个参数 θ1,如果有更多的参数,就会更加复杂,两个参数的时候就已经是三维图像了。如下图:在这里插入图片描述
       高度即为代价函数的值,从图中可以看出,他仍存在着最小值,而到达更多参数的时候,就无法可视化了,但是原理都是相似的。
       因此,对于回归问题,我们就可以归结为得到代价函数的最小值在这里插入图片描述
看到这,你是不是对代价函数也有一个简单而更深刻的了解了呢?让我们共同进步。

### 代价函数与损失函数的关系及区别 #### 定义区分 损失函数(Loss Function)用于衡量单个样本的真实值 \( y \) 和模型预测值 \( h(x) \) 的差异程度。其核心作用是对单一数据点上的误差进行量化[^2]。 而代价函数(Cost Function),通常是在整个训练集上定义的一个全局指标,表示的是所有样本的平均损失或者总损失。它反映了模型在整个数据分布中的表现优劣,并作为优化过程的目标被最小化[^1]。 #### 数学表达形式对比 对于线性回归而言,假设我们有 m 个训练样例,则对应的损失函数可能是简单的平方差: \[ L(y, h(x)) = (y - h(x))^2 \] 相应的代价函数会考虑全部的数据集合,比如采用均方误差的形式来计算整体的表现: ```python def cost_function_mse(predictions, actuals): mse = ((predictions - actuals)**2).mean() return mse ``` 上述代码展示了如何基于一组预测值和实际值计算均方误差(MSE)。 在更复杂的场景下,例如逻辑回归中使用的交叉熵作为代价函数时,其公式如下所示: \[ J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}[y^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)}))] \] 这里 J 表达的就是综合多个样本之后形成的总体评估标准——即代价函数。 #### 联系分析 两者紧密相连,在很多情况下它们甚至可以互换使用。实际上,大多数时候提到“loss function”,如果上下文中未特别强调针对个体还是群体的话,默认指代的就是cost function的概念范围内的东西[^3]。 然而严格意义上讲,只有当讨论具体到每一个单独实例层面的时候才应该称之为 loss function;一旦上升至批次乃至全体训练集中考量时就应当称为 cost function 或 objective function了。 另外值得注意的一点是,在构建最终的目标函数过程中,除了基本的损失部分外还可能加入额外约束条件如正则化项(regularization term),这使得完整的优化目标不仅仅局限于原始意义上的成本度量而是扩展到了更加广泛的范畴内。 ### 总结 综上所述,虽然损失函数和代价函数存在一定的相似之处并经常共同出现于各种算法设计之中,但从概念界定上看二者各自侧重不同方面且适用场合有所差异。理解这些细微却重要的差别有助于更好地掌握机器学习理论基础以及实践应用技巧[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值