tensorflow中同时两个损失函数_Tensorflow中的损失函数

本文详细介绍了深度学习中常见的损失函数,包括均方误差和交叉熵。在分类问题中,交叉熵通常优于欧氏距离,因为它能更好地指导模型训练。文章还探讨了不同距离公式,如欧氏距离、曼哈顿距离、切比雪夫距离等,并强调了损失函数在模型优化中的重要性。
摘要由CSDN通过智能技术生成

3. Tensorflow中的损失函数

3.1 简介

损失函数(loss function、cost function)是神经网络搭建之后需要首先考虑的。因为在训练网络,即反向传播过程中,需要有一个监督信号去更新参数。最常用的损失函数有交叉熵(cross_entropy)和均方误差(MSE,mean squared error)。

3.2 loss函数均方误差(MSE,mean squared error)

在逻辑回归问题中,我们更多的用到MSE。因为在回归问题中的返回值,通常是单个值,并非向量。具体公式如下:

其中

是目标值,

是预测值。

由此衍生了一些其他loss公式。

如均方根误差(RMSE)

平均误差(MAE :Mean Absolute Error)

标准差(SD :standard Deviation)

交叉熵(cross_entropy)

交叉熵在很多时候用于分类问题。

交叉熵是信息论中的概念,首先从信息熵开始说起

熵表示单个事件所有信息量的期望,公式如下

然后引入到相对熵(KL散度),如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。

在深度学习中,P往往用来表示样本的真实分布,比如[1,0,0]表示当前样本属于第一类。Q用来表示模型所预测的分布,比如[0.7,0.2,0.1]。

直观的理解就是如果用P来描述样本,那么就非常完美。而用Q来描述样本,虽然可以大致描述,但是不是那么的完美,信息量不足,需要额外的一些“信息增量”才能达到和P一样完美的描述。如果我们的Q通过反复训练,也能完美的描述样本,那么就不再需要额外的“信息增量”,Q等价于P。

公式如下:

交叉熵是信息熵和相对熵的和。

由相对熵的公式展开可得:

注意正负号。可得交叉熵公式如下:

等式左边就表示交叉熵,综上所述由此信息熵=交叉熵-相对熵。

在深度学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即,由于KL散度中的前一部分不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用交叉熵做loss,评估模型。

3.2 距离公式

由上面两个常用的loss函数可以知道,loss函数的目的旨在度量两个分布之间的差异,或者可以说为了得到想要的model,必须最小化两个分布之间的距离,在这里距离就是一个关键词。因此下面我们退讨论一下经典的度量距离的公式,有时根据实际情况,可以用作loss函数,也许会有意想不到的效果。欧氏距离(Euclidean Distance)

欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。

假设两个n维向量分别是

。那么欧氏距离公式如下:

曼哈顿距离(Manhattan Distance)

从名字就可以猜出这种距离的计算方法了。想象你在曼哈顿要从一个十字路口开车到另外一个十字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越大楼。实际驾驶距离就是这个“曼哈顿距离”。而这也是曼哈顿距离名称的来源, 曼哈顿距离也称为城市街区距离(City Block distance)。

假设两个n维向量分别是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值