损失函数 one-hot + softmax + cross-entropy 组合

分类问题和回归问题是监督学习的两大种类:

  • 分类问题的目标变量是离散的;
  • 回归问题的目标变量是连续的数值。

神经网络模型的效果及优化的目标是通过损失函数来定义的。回归问题解决的是对具体数值的预测。比如房价预测、销量预测等都是回归问题。这些问题需要预测的不是一个事先定义好的类别,而是一个任意实数。解决回顾问题的神经网络一般只有一个输出节点,这个节点的输出值就是预测值。

  • 对于回归问题,常用的损失函数是均方误差(MSE,Mean Squared Error)
  • 对于分类问题,常用的损失函数为交叉熵(CE,Cross Entropy)

交叉熵一般与one-hot和softmax在一起使用。


one-hot 编码

在分类问题中,one-hot编码是目标类别的表达方式。目标类别需要由文字标签,转换为one-hot编码的标签。one-hot向量,在目标类别的索引位置是1,在其他位置是0。类别的数量就是one-hot向量的维度。在one-hot编码中,假设类别变量之间相互独立。同时,在多分类问题中,one-hot与softmax组合使用。

import numpy as np

def prp_2_oh_array(arr):
    """
    概率矩阵转换为OH矩阵
    arr = np.array([[0.1, 0.5, 0.4], [0.2, 0.1, 0.6]])
    :param arr: 概率矩阵
    :return: OH矩阵
    """
    arr_size = arr.shape[1]  # 类别数
    arr_max = np.argmax(arr, axis=1)  # 最大值位置
    oh_arr = np.eye(arr_size)[arr_max]  # OH矩阵
    return oh_arr

softmax

softmax使得神经网络的多个输出值的总和为1,softmax的输出值就是概率分布,应用于多分类问题。softmax也属于激活函数。softmax、one-hot和cross-entropy,一般组合使用。

softmax probabilities + one-hot encoding + cross entropy
749674-bfdb8eb8faecdfc7.png
公式

cross-entropy

交叉熵(cross entropy)比较softmax输出和one-hot编码之间的距离,即模型的输出和真值。交叉熵是一个损失函数,错误值需要被优化至最小。神经网络估计输入数据在各个类别中的概率。最大的概率需要是正确的标签。

常见的损失函数:

  • MSE:Mean Squared Error,均方误差;
  • CE:Cross Entropy,交叉熵;
749674-d03aa6fba8bc6d00.png
公式

其中,y是真值,h是预测值。

softmax和交叉熵的推导,参考

749674-d66978cf866f0678.png
推导

C是交叉熵,z是wx+b,再对w求导,根据链式法则,w的导数值,就是C的导数乘以w的导数。

关于为什么分类不使用MSE作为损失函数?

(1) MSE+softmax所输出的曲线是波动的,有很多局部的极值点,即非凸优化问题(non-convex),参考

749674-ddc361e16f7e1c2b.png
优化曲线

(2) 对于正确分类的数据点,CE梯度有一项趋近0,MSE中有两项趋近于0,也就是MSE的梯度消失速度是CE的平方;参考

749674-2d4aaa88ef634c95.png
正确分类

(3) 代理损失函数(surrogate loss function),参考,准确率(accuray)是不连续的,所以需要用连续的函数来代理,而优化MSE,并不能优化模型的准确度。

749674-585b37d85006018c.png
代理损失函数

为什么回归问题使用MSE?

最小二乘是在欧氏距离为误差度量的情况下,由系数矩阵所张成的向量空间内对于观测向量的最佳逼近点。

用欧式距离作为误差度量的原因:

  1. 简单。
  2. 提供了具有很好性质的相似度的度量。
  3. 非负的;
  4. 唯一确定性。只有 x=y 的时候,d(x,y)=0;
  5. 对称的,即 d(x,y)=d(y,x);
  6. 符合三角性质。即 d(x,z)<=d(x,y)+d(y,z).
  7. 物理性质明确,在不同的表示域变换后特性不变,例如帕萨瓦尔等式。
  8. 便于计算。通常所推导得到的问题是凸问题,具有对称性,可导性。通常具有解析解,此外便于通过迭代的方式求解。
  9. 和统计和估计理论具有关联。在某些假设下,统计意义上是最优的。

MSE的缺点:

  1. 信号的保真度和该信号的空间和时间顺序无关。即,以同样的方法,改变两个待比较的信号本身的空间或时间排列,它们之间的误差不变。例如,[1 2 3], [3 4 5] 两组信号的 MSE 和 [3 2 1],[5 4 3] 的 MSE 一样。
  2. 误差信号和原信号无关。只要误差信号不变,无论原信号如何,MSE 均不变。例如,对于固定误差 [1 1 1],无论加在 [1 2 3] 产生 [2 3 4] 还是加在 [0 0 0] 产生 [1 1 1],MSE 的计算结果不变。
  3. 信号的保真度和误差的符号无关。即对于信号 [0 0 0],与之相比较的两个信号 [1 2 3] 和[-1 -2 -3] 被认为和 [0 0 0] 具有同样的差别。
  4. 信号的不同采样点对于信号的保真度具有同样的重要性。

参考1参考2参考3

猜你喜欢

转载自blog.csdn.net/weixin_33836223/article/details/87284756