交叉熵

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

来源:维基百科
简介

在信息论中,基于相同事件测度的两个概率分布和的交叉熵是指,当基于一个“非自然”(相对于“真实”分布而言)的概率分布进行编码时,在事件集合中唯一标识一个事件所需要的平均比特数(bit)。

符合分布P 的某一事件x 出现,传达这条信息所需的最少信息长度为自信息,表达为:

从分布P 中随机抽选一个事件,传达这条信息所需的最优平均信息长度为香农熵,表达为:

用分布P 的最佳信息传递方式来传达分布Q 中随机抽选的一个事件,所需的平均信息长度为交叉熵,表达为:

[描述来源:如何理解KL散度的不对称性|机器之心]

交叉熵是机器学习领域最常用的损失函数之一,一般写作如下形式:

P(y_i|z^(l-1))=\hat(y_i^(L+1))y_i (1-\hat(y_i^(L+1))^(1-y_i)logP(y_i|z^(l-1))=log(\hat(y_i^(L+1))y_i (1-\hat(y_i^(L+1))^(1-y_i)) =(y_i)log(\hat(y_i^(L+1)) + (1-y_i)log(1-\hat(y_t^(L+1))

为了最小化代价函数,

logP(y_i|z^(l-1))=-log((\hat(y_i^(L+1))^(y_i)(1-\hat(y_i^(L+1))^(1-y_i))

在i 个训练样本的情况下,代价函数可以写为:

L(\hat(y_i^(L+1)),y_i)=-\frac{1}{t}\sum_t^(i=t)((y_i)log(\hat(y_i^(L+1)))+(1-y_i)log(1-\hat(y_i^(L+1)))

[描述来源:徒手实现CNN:综述论文详解卷积网络的数学本质|机器之心]

发展历史

在1948年,克劳德·艾尔伍德·香农将热力学的熵,引入到信息论,因此它又被称为香农熵。正如他在文章中所叙述的那样,数据通信系统的基本模型由三个要素组成,即数据来源,通信通道和接收器,并且“通信的根本问题“的目的是让接收器能够根据通过信道接收到的信号来识别源产生的数据。

交叉熵的使用则是受用于估计复杂随机网络中罕见事件概率的自适应算法的启发,其涉及方差最小化,从1997年起,Reuven Y.Rubinstein 在他的研究中很快就意识到,一个简单的交叉熵修正不仅可以用来估计稀有事件的概率,还可以用来解决困难的组合优化问题(COP)。这是通过将“确定性”优化问题转化为相关的“随机”优化问题来完成的。Reuven Y.Rubinstein 还通过几个应用证明了CE方法的强大功能,作为解决NP难问题的通用实用工具。

随后,交叉熵方法已成功应用于动态模型中稀有事件概率的估计,特别是涉及轻,重尾(light/heavy-tailed)输入分布的排队模型。目前,交叉熵方法能应用范围包括但不限于:缓冲区分配、静态模拟模型、电信系统的排队模型、神经计算、控制和导航、DNA序列比对、调度、车辆路线、强化学习、项目管理、重尾分布、网络可靠性分析、可修复系统。

年份

事件

相关论文/Reference

1948

克劳德·艾尔伍德·香农将热力学的熵,引入到信息论

Shannon, C. E. (1948).A Mathematical Theory of Communication.Bell system technical journal.

1999

Reuven Y.Rubinstein提出交叉熵

Rubinstein, R. Y. (1999). The simulated entropy method for combinatorial and continuous optimization. Methodology and Computing in Applied Probability, 2, 127–190.

2003

交叉熵方法成功应用于动态模型中稀有事件概率的估计,特别是涉及轻,重尾输入分布的排队模型

Kroese, D. and Rubinstein, R. (2003). The Transform Likelihood Ratio Method for Rare Event Simulation with Heavy Tails. Queueing Systems. 46(3-4): 317–351.

2004

Ishai Menache,Shie Mannor,Nahum Shimkin将交叉熵用于强化学习强化学习

Menache, I., Mannor, S., and Shimkin, N. (2004). Basis Function Adaption in Temporal Difference Reinforcement Learning. Annals of Operations Research. Submitted.

发展分析

瓶颈

传统交叉熵方法可以高效地处理大部分的简单优化问题,并且具有极快的收敛速度。但是当目标函数较复杂或约束函数数目较多时,由于交叉熵方法的收敛速度过快,所以比较容易陷入局部最优,计算性能不足;且如果初期的优化方向错误,则方法可能无法收敛。不过目前有一些研究专注于改进传统交叉熵方法。

未来发展方向

如上文所述,有研究试图对传统交叉熵方法进行改进,以达到更高的计算精度和更强的全局搜索能力。目前有一些深度学习领域的研究集中于令神经网络自己学习损失函数,但目前,损失函数的选择仍然是训练中非常重要的一部分。

Contributor: Yuanyuan Li

相关人物
简介
相关人物