激活函数、条件熵和最大熵在机器学习的应用

文章目录

摘要

本周学习内容探讨了神经网络中激活函数的选择及其对梯度消失问题的影响。通过使用 ReLU 函数替代 Sigmoid 函数来改善梯度消失问题的优化方法,同时分析了 Sigmoid、Softmax 激活函数在不同分类场景中的适用性。了解了条件熵和最大熵的定义,及其在概率分布建模中的重要性,结合特征函数与傅里叶变换揭示了最大熵原理如何支持概率分布估计。同时,最大熵、极大似然估计与交叉熵三者在神经网络模型中均可用于参数调整。

Abstract

This week's learning explores the selection of activation functions in neural networks and their impact on the gradient disappearance problem. By using ReLU function instead of Sigmoid function to improve the optimization method of gradient disappearance problem, the applicability of Sigmoid and Softmax activation function in different classification scenarios is analyzed. We understand the definition of conditional entropy and maximum entropy and their importance in probability distribution modeling. Combining characteristic function and Fourier transform, we reveal how maximum entropy principle supports probability distribution estimation. At the same time, maximum entropy, maximum likelihood estimation and cross entropy can be used for parameter adjustment in the neural network model.

sigmoid 和 softmax

对于上周学习的梯度下降法,有一个很大的缺点是计算量非常的庞大。下面进一步优化和改进梯度下降法,其中一个方法就是把隐藏层的感知机的激活函数换掉,从原来的sigmoid换成ReLu函数。

对于sigmoid函数的图像如下:

在上面的绿色框框中的梯度变化非常小,然后再通过反向传播,传播到前面几层会造成梯度消失问题,但对于ReLu激活函数就不会出现此类问题,其ReLu的激活函数如下图:

对于小于0部分,是一条直线其梯度不变,能避免梯度消失的问题,但对于ReLu函数其最大值可以无穷大,但在训练神经网络的损失函数时,使用最大似然估计或者交叉熵都是使用到的概率,在0~1之间。因此,有一种解决方案就是,前面使用ReLu激活函数,后面最后一层使用sigmoid函数。但是对于多分类问题,其sigmoid函数就不再适用了,因为sigmoid函数只能解决一种分类问题,因此需要引入softmax函数。但使用哪个函数具体问题也需要具体分析。

当一个网络只有一个感知机的时候如下图

当网络有多个感知机时对应如下图

y中的每一列代表人工标记的一个标签,如,猫、狗...其中,ai是概率,必然大于等于0,同时无论结果分类是否正确,其必然都有一个确定的分类。

其中ai是通过z计算得到的,同时保证满足上述条件,为使投射结果为0~正无穷大,使用对数的方式以及归一化对激活函数进行处理。

上图中,归一化的过程也就是求softmax的过程。

回顾交叉熵并重新定义损失函数

sigmoid和softmax的关系

通过上图公式可以看出,sigmoid是只有一种分类情况下的softmax.

思考:上面sigmoid函数中有t1和t2两个参数(p1和p2两个概率),如果是针对两个感知机的情况应该如何处理呢?

上图左边是针对一个感知机的情况(在计算概率的时候,只有当t1发生改变时p1和p2才发生改变),其损失函数可以理解为是猫的标签和不是猫的标签的交叉熵求和。右图是针对两个感知机的情况(在右图中,t1和t2对概率都有影响),其损失函数可以理解为是猫的标签和是狗的标签的交叉熵求和。

条件熵

假设有如下两个事件

求系统的熵必须把单一的熵都考虑进来,实质也就是求期望的过程,最后可以得到条件熵的公式如下:
H ( Y ∣ X ) = − ∑ x , y P ( x ) P ( y ∣ x ) l o g P ( y ∣ x ) = E ( H ( Y ∣ X = x ( k ) ) ) ( 1 ) \begin{aligned} &H(Y|X) =-\sum_{x,y}P(x)P(y|x)logP(y|x) =E\left(H\left(Y|X=x^{(k)}\right)\right)\end{aligned} (1) H(Y∣X)=−x,y∑P(x)P(y∣x)logP(y∣x)=E(H(Y∣X=x(k)))(1)

最大熵

当分布式均匀分布时(等概分布),其熵最大,也就是不确定也越大。

运用正态分布的例子(只需要确定期望和方差就可以描述要一个正态分布),希望能通过一写参数来确定任何一个概率分布描述出来。

对于上述公式描述一个正态分布只有要知道一阶矩和二阶矩,通过这个思路可以得出任何一个分布都可以通过来表现阶矩向量

为说明上述思路的正确性,数学家们定义了一个特征函数(任何一个概率分布都可以通过一个特征函数对应起来)

对密度函数f(x)求傅里叶变换

傅里叶变换的结果函数和特征函数共轭关系,也再次说明了可以找到一种方法,将一个概率分布和特征函数能做一一对应。

我们的目标是在未知概率分布的具体函数表达式,只知道一些样本数据时,还想让两个概率分布一样,应该怎么解决这个问题。

现在找到了一种思路

只需要P和Q的期望相同,也就表明了两个概率分布是相同的。

对于结构性数据而言,我们可以通过经验概率来描述一个分布:

在神经网络中,我们可以参照上述的计算

上述的目标就是求在已知特征序列属于哪类类别的概率

通过贝叶斯公式可以去近似p(y|x)

对于怎么去近似分布问题:假设有如下事件

对于一个事件的二项伯努利分布其求期望在给定特征函数X也就是求概率。扩张到多个事件m个,同样也设置同样的"特征函数",求正态分布的概率分布中求一阶矩二阶矩三阶矩的过程可以简化成只用求一阶矩。

上述Xm设置的好处就是把原来很多维空间情况最后都投射到一维上。

我们的目标还是求P(y|x)的最大值,也就是保证H(Y|X)最大。

保证经验概率 P ~ \tilde{P} P~和目标的概率P是相等的,同时还要满足对于所有分类结果的求和条件概率值为1.

上述求解需要用到拉格朗日乘数法求解。

对p,和 λ \lambda λ分别求偏导为0,可以得到以下结果:

为使上述公式更加具象化,假设x是输入的一张图片

上面的推理过程也印证了求最大熵和softmax的关系,e的引入是通过求熵逆的过程。

在以往的过程中,我们在确定参数一般都是用极大似然估计的方法或者交叉熵的方法。通过上面的学习,现在得到了一种新的方法,即使用最大熵的方法。它们的关系如何?

上图表明了机器学习的过程,在人脑模型中,通过人为寻找特征构建特征函数,使用拉格朗日乘数法来求解条件概率,然而在神经网络中隐藏层可以自动寻找特征(学习的过程),而输出层则使用最大熵原则来确定p(y|x).

在调整参数,有三种等价的方法:极大似然估计、交叉熵、最大熵。

总结

本周分析了不同激活函数对网络学习效果的影响,通过 ReLU 函数解决梯度消失的问题,并结合 Sigmoid 和 Softmax 函数,讨论了激活函数的选取对模型训练的影响。在分类问题中,ReLU 激活函数在前几层使用,而最后一层则使用 Sigmoid 或 Softmax 以适应不同类别数量的要求。为了进一步提升模型的稳定性与有效性,文中引入条件熵、最大熵等理论,并从数学角度解释了熵在描述分布均匀性中的作用。最大熵原理在未知概率分布的情况下,通过匹配一阶和二阶矩来估计概率分布,确保不确定性最大,从而获得较优模型。最终,结合拉格朗日乘数法推导出最大熵与 Softmax 激活函数的关系,进一步指出最大熵原理在神经网络中的广泛应用。

相关推荐
Uzuki3 小时前
AI可解释性 II | Saliency Maps-based 归因方法(Attribution)论文导读(持续更新)
深度学习·机器学习·可解释性
蹦蹦跳跳真可爱5894 小时前
Python----机器学习(KNN:使用数学方法实现KNN)
人工智能·python·机器学习
云和数据.ChenGuang8 小时前
机器学习之回归算法
人工智能·机器学习·回归
代码骑士8 小时前
聚类(Clustering)基础知识2
机器学习·数据挖掘·聚类
深蓝学院9 小时前
闭环SOTA!北航DiffAD:基于扩散模型实现端到端自动驾驶「多任务闭环统一」
人工智能·机器学习·自动驾驶
仙人掌_lz9 小时前
机器学习ML极简指南
人工智能·python·算法·机器学习·面试·强化学习
zy_destiny11 小时前
【工业场景】用YOLOv12实现饮料类别识别
人工智能·python·深度学习·yolo·机器学习·计算机视觉·目标跟踪
Blossom.11817 小时前
量子计算与经典计算的融合与未来
人工智能·深度学习·机器学习·计算机视觉·量子计算
硅谷秋水17 小时前
MoLe-VLA:通过混合层实现的动态跳层视觉-语言-动作模型实现高效机器人操作
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人