神经网络和深度学习(6)-- 损失函数、代价函数和目标函数

神经网络和深度学习 专栏收录该内容
17 篇文章 0 订阅
神经网络和深度学习
上一篇主目录 下一篇

前言
这下函数是算法好坏的评价标准之一。
所讨论的事件是数据实例的估计值和真值之间的差异的一些函数。简而言之,就是用来评估预测值相对于真实值的损失情况。在某种参数的取值情况下,使得某代价函数的取值最小,这些参数也就是我们进行神经网络训练的目标。
以下关于损失函数和代价函数等的函数形式只是个例,并不唯一。


1.损失函数,代价函数,目标函数

函数名称定义
损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均
目标函数(Object Function)最终需要优化的函数。等于经验风险+结构风险(也就是Cost Function + 正则化项)
  • 关于目标函数和代价函数的区别还有一种通俗的区别:
    目标函数是最大化或者最小化,而代价函数是最小化

2. 损失函数

损失函数又叫做误差函数,用来衡量算法的运行情况,Loss function:L(yhat,y).
我们通过这个 L称为的损失函数,来衡量预测输出值和实际值有多接近。一般我们用预 测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为 当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部 最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我 们在逻辑回归模型中会定义另外一个损失函数。 我们在逻辑回归中用到的损失函数是:
在这里插入图片描述
其中,
在这里插入图片描述
为什么要用这个函数作为逻辑损失函数?当我们使用平方误差作为损失函数的时候,你 会想要让这个误差尽可能地小,对于这个逻辑回归损失函数,我们也想让它尽可能地小,为 了更好地理解这个损失函数怎么起作用,我们举两个例子:
在这里插入图片描述

  • 从以上中我们知道,
    1)如果 y等于 1,为了使L变小,我们就通过调整参数(w,b等)尽可能让yhat变大,那么预测值yhat就越接近于真实值y;
    2)如果 y等于 0,为了使L变小,我们就通过调整参数(w,b等)尽可能让yhat变小,那么预测值yhat就越接近于真实值y

损失函数是在单个训练样本中定义的,它 衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我 们需要定义一个算法的代价函数,算法的代价函数是对 ݉ 个样本的损失函数求和然后除以 ݉m,具体见代价函数部分。

3. 代价函数

3.1 为什么需要代价函数

当我们确定了模型h,后面做的所有事情就是训练模型的参数w和b。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变参数,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数。综上,代价函数评估算法的好坏,帮助我们得到最佳的模型参数。
注意:代价函数衡量的是算法在全部训练样本上的表现如何

3.2 代价函数的形式

我们知道,损失函数衡量的是算法在单个训练样本中表现,而代价函数衡量算法在全部训练样本上的表现。损失函数的形式在前面已经说明,相应的可以得到代价函数的形式:

在这里插入图片描述
损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻 辑回归模型时候,我们需要找到合适的 w和 ܾb,来让代价函数 J的总代价降到最低。
如何进行训练以找到合适的 w和 ܾb呢?这需要用到梯度下降算法,详情参见:《神经网络和深度学习(7)-- 梯度下降算法》

4. 目标函数

目标函数是最大化或者最小化,而代价函数是最小化
简单地说,目标函数中考虑的项不仅仅是包括了代价函数,还会考虑其他因素的影响,例如某目标函数的形式为:
在这里插入图片描述
在上式中,L是代价函数,属于经验风险;此外还有结构风险,定义的函数为J(f).
经验风险是基于训练使用的数据集的,可能会导致过度拟合的现象,这时我们就需要考虑结果上的风险,于是定义了一个叫做J(f)的函数来对所得到的函数的结构进行风险评估。目标函数就是综合考虑了以上的不同因素而得到的函数。进一步说,代价函数只是基于训练的数据集而进行的评估,而目标函数考虑了代价函数和代价函数模型结构而进行综合的评估。

以上均基于个人理解,如果不正确的地方欢迎指教,您可以通过邮箱或下方评论等方式与我取得联系,不胜感激。


神经网络和深度学习系列笔记: 传送门

  • 3
    点赞
  • 0
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

函数逼近(Function Approximation )是函数论中的一个重要组成部分,其在数值计算中的作用是十分重要的。运用神经网络进行函数逼近,为函数逼近的发展提供了一条新的思路。 用神经网络函数的逼近有许多优点: 首先,它提供了一个标准的逼近结构及逼近工具,这个工具可以随着隐层个数改变来达到任意精度; 其次,有标准的学习算法用以确定逼近函数的参数,并且这一过程是拟人的,即很好地模拟了人的学习过程;最后,能处理的数据对象十分广泛:适用于大规模的,高度非线性的,不完备的数据处理。 本文以几种典型神经网络为例(BP神经网络Function Approximation 、RBF神经网络www.BoliLib.com Approximation 、正交多项式基函数神经网络、样条基函数神经网络),对基于神经网络函数逼近方法进行了研究。神经网络函数逼近能力受神经元个数、学习率、学习次数和训练目标等因素的影响,因此,在研究过程中,充分运用神经网络的非线性逼近能力,首先对几种用于函数逼近的神经网络的结构及算法进行研究;再针对几种常用函数曲线,如正弦函数、指数函数、对数函数、三角函数等,分别用典型神经网络进行逼近,并对逼近效果进行比较,得到用于函数逼近的神经网络选取规律。所得结论经过实际仿真测试,证明了其有效性。 本文的研究结果对函数逼近的研究具有借鉴意义。
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:马嘣嘣 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值