损失函数、代价(成本)函数、目标函数

一、损失函数,代价函数,目标函数定义
首先给出结论:

损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

目标函数(Object Function)定义为:最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)。

关于目标函数和代价函数的区别还有一种通俗的区别:

目标函数是最大化或者最小化,而代价函数是最小化

二、为什么需要代价函数

为了训练逻辑回归模型的参数w参数b,我们,需要一个代价函数,通过训练代价函数来得到参数w和参数b。先看一下逻辑回归的输出函数: 

为了让模型通过学习调整参数,你需要给予一个m样本的训练集,这会让你在训练集上找到参数w和参数b来得到你的输出。

对训练集的预测值,我们将它写成y^,我们更希望它会接近于训练集中的值y,为了对上面的公式更详细的介绍,我们需要说明上面的定义是对一个训练样本来说的,这种形式也使用于每个训练样本,我们使用这些带有圆括号的上标来区分索引和样本,训练样本 i 所对应的预测值是,是用训练样本的然后通过sigmoid函数来得到,也可以把z定义为,我们将使用这个符号(i)注解,上标(i)来指明数据表示x或者y或者z或者其他数据的第i个训练样本,这就是上标(i)的含义。

 

三、损失函数

损失函数又叫做误差函数,用来衡量算法的运行情况,

我们通过这个L称为的损失函数,来衡量预测输出值和实际值有多接近。一般我们用预测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我们在逻辑回归模型中会定义另外一个损失函数。

我们在逻辑回归中用到的损失函数是:

 为什么要用这个函数作为逻辑损失函数?当我们使用平方误差作为损失函数的时候,你会想要让这个误差尽可能地小,对于这个逻辑回归损失函数,我们也想让它尽可能地小,为了更好地理解这个损失函数怎么起作用,我们举两个例子:

 

 在这门课中有很多的函数效果和现在这个类似,就是如果y等于1,我们就尽可能让y^变大,如果y等于0,我们就尽可能让y^变小。 损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对m个样本的损失函数求和然后除以m:

 

 损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的w和b,来让代价函数J的总代价降到最低。 根据我们对逻辑回归算法的推导及对单个样本的损失函数的推导和针对算法所选用参数的总代价函数的推导,结果表明逻辑回归可以看做是一个非常小的神经网络,

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习,残差函数损失函数目标函数代价函数都是用于描述模型预测值与真实值之间的差异的函数,但它们的含义和使用场景略有不同。 - 残差函数:在监督学习,我们通常会给定一个数据集,其包含了输入和输出的对应关系。此时,我们可以使用一个模型对输入进行预测,并将预测结果与真实输出之间的差异定义为残差。残差函数通常表示为: $ r_i = y_i - f(x_i) $ 其,$y_i$表示真实输出值,$f(x_i)$表示输入$x_i$对应的模型预测值,$r_i$表示输入$x_i$对应的残差。残差函数通常用于拟合模型。 - 损失函数损失函数也称为代价函数或误差函数,是衡量模型预测值与真实值之间差异的函数。常见的损失函数包括均方误差(MSE)、交叉熵(Cross Entropy)等。损失函数通常表示为: $ L(\theta) = \frac{1}{m} \sum_{i=1}^{m} l(f(x_i, \theta), y_i) $ 其,$\theta$表示模型的参数,$m$表示样本数量,$y_i$表示真实输出值,$f(x_i,\theta)$表示输入$x_i$对应的模型预测值,$l(\cdot)$表示基础损失函数损失函数通常用于训练模型,即通过最小化损失函数来寻找最优的模型参数。 - 目标函数目标函数也称为优化目标函数,是在优化模型时需要最小化的函数目标函数一般包含模型的损失函数和正则项。目标函数通常表示为: $ J(\theta) = L(\theta) + \lambda R(\theta) $ 其,$\theta$表示模型的参数,$L(\theta)$表示模型的损失函数,$R(\theta)$表示正则项,$\lambda$表示正则化参数。目标函数通常用于选择最优的模型参数,以达到最小化损失函数的目的。 - 代价函数代价函数也称为成本函数,常用于描述整个训练集的误差。代价函数通常表示为: $ J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y_i - f(x_i, \theta))^2 $ 其,$\theta$表示模型的参数,$m$表示样本数量,$y_i$表示真实输出值,$f(x_i,\theta)$表示输入$x_i$对应的模型预测值,$J(\theta)$表示代价函数代价函数通常用于衡量整个模型在训练集上的误差,以确定是否需要调整模型的参数来改善模型的性能。 总之,残差函数损失函数目标函数代价函数都是机器学习用于描述模型预测值与真实值之间的差异的函数,但它们的含义和使用场景是不同的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值