【python 机器学习】熵的介绍

文章目录

      • 熵的介绍
        • 1. **熵的基本概念**
        • 2. **熵的计算**
      • 3. **熵的含义**
        • 4. **熵在决策树中的应用**
        • 5. **总结**


熵的介绍

在机器学习中,是一个非常重要的概念,尤其是在决策树(如ID3、CART等算法)中。熵帮助我们量化数据的不确定性,它告诉我们数据有多“混乱”或“混杂”。在这篇文章中,我们将用简单的语言介绍熵的概念,并解释它是如何帮助机器学习算法进行决策的。


1. 熵的基本概念

首先,熵最初是由物理学家克劳修斯提出的,后来被引入到信息论中。用来衡量一个系统的不确定性混乱程度。如果熵值较大,说明数据非常不确定,信息量也大;如果熵值较小,说明数据更有规律,信息量较少。

在机器学习中,熵的概念帮助我们理解数据的纯度。熵越大,意味着数据中的样本类别越“混乱”;熵越小,意味着数据中的样本类别越“纯净”。


2. 熵的计算

熵的计算公式如下:

[
H(S) = - \sum_{i=1}^{m} p_i \cdot \log_2(p_i)
]

  • (H(S)):表示样本集合 (S) 的熵。
  • (p_i):表示每个类别 (i) 出现的概率。
  • (m):表示类别的数量。

解释

  • (p_i) 是类别 (i) 出现的概率。举个例子,如果在100个样本中,50个是猫,50个是狗,那么 (p_{\text{猫}} = 0.5) 和 (p_{\text{狗}} = 0.5)。
  • 对于每个类别的概率 (p_i),我们取其对数(log2),并乘上 (p_i),最后将这些值加起来。

3. 熵的含义

  • 熵越高:数据的混乱程度越高,说明数据的类别分布更不均匀,模型不容易做出决策。
  • 熵越低:数据的混乱程度越低,说明数据的类别分布较为均匀,模型更容易做出决策。

举个简单的例子:

  • 如果我们有100个样本,所有样本都是,那么熵就会是0,因为我们没有任何不确定性,模型可以非常确定地知道这100个样本都是猫。
  • 如果我们有100个样本,50个是猫,50个是狗,熵会很高,因为模型无法确定当前样本属于哪个类别。

4. 熵在决策树中的应用

在决策树中,熵用来选择最佳的特征来划分数据。我们希望选择一个能够使数据变得更加“纯净”的特征。具体来说,决策树通过计算每个特征划分前后的熵,来评估这个特征的“好坏”。

举个例子
假设我们正在做一个分类问题,目标是预测水果是“苹果”还是“香蕉”。我们有两个特征可以用来划分数据:颜色重量

  1. 颜色:有些样本是红色的(苹果),有些是黄色的(香蕉)。
  2. 重量:有些样本重,有些样本轻。

我们会计算两个特征(颜色和重量)对应的熵。哪个特征的熵较低,就意味着它能更好地帮助我们将样本划分为“苹果”或“香蕉”,因此它就是我们选择的划分特征。


5. 总结
  • 衡量了数据的不确定性或混乱程度。熵越大,说明数据越混乱;熵越小,说明数据越纯净。
  • 在机器学习中,尤其是决策树算法中,熵用来评估数据的纯度。通过选择具有较低熵的特征来划分数据,决策树能够更好地分类数据。

通过理解和应用熵,我们可以帮助模型做出更好的决策,提升模型的性能。在很多机器学习算法中,熵都是一个重要的工具,尤其是在分类问题上。


附加知识

  • 在一些决策树算法中,熵计算的结果通常用来计算信息增益。信息增益就是在选择某个特征进行划分后,数据集的熵减少了多少。选择信息增益最大的特征进行划分,帮助我们更好地进行数据分类。

你可能感兴趣的:(杂谈,机器学习,python,人工智能,python3.11,算法,目标检测,深度学习)