当前位置: 首页 > 科技观察

了解熵:从决策树到神经网络的机器学习中的黄金标准

时间:2023-03-13 13:20:00 科技观察

TL;DR:熵是系统中混乱的度量。因为它比其他更严格的指标(如准确性甚至均方误差)更具动态性,所以使用熵来优化从决策树到深度神经网络的算法已被证明可以提高速度和性能。它在机器学习中无处不在:从决策树的构建到深度神经网络的训练,熵是机器学习中的一个基本指标。熵起源于物理学——它是系统中无序或不可预测性的量度。例如,考虑一个盒子中的两种气体:开始时,系统的熵很低,因为这两种气体是完全可分离的。然而,过了一会儿,气体混合在一起,系统的熵增加。有人说,在一个孤立的系统中,熵永远不会减少,没有外力,混沌也不会减少。例如,考虑抛硬币-如果硬币被抛四次,事件[tail,head,head,tail]发生。如果你(或机器学习算法)想要预测下一次掷硬币,你可以确定地预测结果——系统包含高熵。另一方面,事件为[反面、反面、反面、反面]的加权硬币的熵极低,根据目前的信息,我们几乎可以肯定地说下一个结果将是反面。大多数适用于数据科学的情况都介于天文意义上的高熵和极低熵之间。高熵意味着低信息增益,低熵意味着高信息增益。信息获取可以被认为是系统中的纯度:系统中可用的纯知识量。决策树在其构造中使用熵:为了尽可能高效地将一系列条件输入引导到正确的结果,具有较低熵(较高信息增益)的特征拆分(条件)被放置在树的较高位置。为了说明低熵和高熵条件的概念,请考虑假设的类特征,类别用颜色(红色或蓝色)标记,分裂用垂直虚线标记。决策树计算特征的熵并进行排列,使得模型的总熵最小(信息增益比较大)。从数学上讲,这意味着将最低熵条件放在顶部,这样可以帮助降低其下方分裂节点的熵。决策树训练中使用的信息增益和相对熵定义为两个概率质量分布p(x)和q(x)之间的“距离”。也称为Kullback-Leibler(KL)散度或地球移动距离,用于训练对抗网络以评估生成的图像与原始数据集中的图像相比的性能。神经网络最喜欢的损失函数之一是交叉熵。无论是分类、稀疏还是二元交叉熵,该指标都是高性能神经网络的默认损失函数之一。它还可以用于优化几乎所有的分类算法,例如逻辑回归。与熵的其他应用(例如联合熵和条件熵)一样,交叉熵是严格定义的几种熵之一,适用于独特的应用。与Kullback-Lieberdivergence(KLD)一样,交叉熵也处理两个分布p和q之间的关系,分别表示真实分布p和近似分布q。但是,KLD衡量两个分布之间的相对熵,而交叉熵衡量两个分布之间的“总熵”。该度量定义为使用模型分布q对来自分布源p的数据进行编码所需的平均位数。如果我们考虑目标分布p和近似值q,我们希望使用q而不是p来减少表示事件所需的位数。另一方面,相对熵(KLD)测量表示分布q中p的事件所需的额外位数。交叉熵似乎是一种衡量模型性能的复杂方法,但有几个优点:错误的结果缺乏稳健性。它们是非常粗略的性能指标(至少在训练期间)。交叉熵衡量信息内容,因此比简单强调所有复选框的指标更具动态性和可靠性。预测和目标被视为分布,而不是等待回答的问题列表。它与概率的性质密切相关,尤其适用于sigmoid和SoftMax激活(即使它们仅用于最后一个神经元),有助于减少梯度消失问题。逻辑回归可以看作是二元交叉熵的一种形式。尽管熵并不总是最好的损失函数(尤其是在目标函数p尚未明确定义的情况下),但熵通常表现为性能提升,这说明熵无处不在。通过熵在机器学习中的运用,其核心成分(不确定性和概率)可以用交叉熵、相对熵和信息增益等思想很好地表示。熵对于处理未知数非常具体,这在模型构建中非常需要。当模型对熵进行优化时,它们能够以增强的知识和目的感在不可预测的平原上徘徊。