【概率】互信息、和其他特征选择方法的比较

2023-12-28 12:04:37

互信息

互信息(MI)是信息论中的一个概念,衡量一个随机变量包含关于另一个随机变量的信息量。换句话说,它量化了两个变量之间的统计依赖关系。如果两个变量是独立的,它们的互信息为零;如果不是,则互信息将大于零。

在机器学习(ML)的背景下,互信息对于特征选择特别有用,特征选择是为给定模型识别信息量最大的特征的过程。通过评估特征与目标变量之间的互信息,可以根据特征的重要性对其进行排序。与目标变量互信息较高的特征被认为更重要,因为它们共享了更多关于目标的信息,可能对预测目标更有用。

互信息的另一个好处是,它可以捕捉变量之间的任何类型的关系,而不仅仅是线性关联(相关性就是这样)。这使得它成为在复杂数据集上进行特征选择的强大工具,在这些数据集上变量之间的关系可能并不直接。

此外,互信息在ML中用于以下任务:

  • 聚类:在无监督学习中,互信息可以帮助评估聚类的质量,衡量一个聚类中的点被另一个聚类中的点共享了多少信息。
  • 依赖关系建模:它可以用于对图形模型中变量之间的依赖关系建模,例如贝叶斯网络。
  • 表示学习:在深度学习中,互信息可用于学习数据的表示,以捕获分类或回归等任务的显著特征。

互信息是机器学习中的一个通用工具,既可以进行探索性数据分析,也可以提高模型性能。


定义

利用两个离散随机变量 X X X Y Y Y的联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)以及它们各自的边缘概率分布 P ( X ) P(X) P(X) P ( Y ) P(Y) P(Y)计算它们之间的互信息(MI)。MI的公式如下:

M I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y P ( x , y ) log ? ( P ( x , y ) P ( x ) P ( y ) ) MI(X;Y) = \sum_{x \in X} \sum_{y \in Y} P(x,y) \log \left(\frac{P(x,y)}{P(x)P(y)}\right) MI(X;Y)=xX?yY?P(x,y)log(P(x)P(y)P(x,y)?)

其中:

  • P ( x , y ) P(x,y) P(x,y) X X X Y Y Y同时出现的概率。
  • P ( x ) P(x) P(x) X X X自身发生的概率。
  • P ( y ) P(y) P(y) Y Y Y自身发生的概率。
    -如果我们以比特来测量MI,则对数通常以2为底。

简单的例子

考虑一个简单的例子,其中有两个随机变量 X X X Y Y Y,它们的联合概率分布如下:

y =0y =1
x =01/20
x =101/2

在这里, X X X Y Y Y完全相关: X = 0 X=0 X=0 Y = 0 Y=0 Y=0, X = 1 X=1 X=1 Y = 1 Y=1 Y=1

现在,让我们计算边际概率:

  • P ( X = 0 ) = P ( X = 0 , Y = 0 ) + P ( X = 0 , Y = 1 ) = 1 / 2 + 0 = 1 / 2 P(X=0) = P(X=0, Y=0) + P(X=0, Y=1) = 1/2 + 0 = 1/2 P(X=0)=P(X=0,Y=0)+P(X=0,Y=1)=1/2+0=1/2
  • P ( X = 1 ) = P ( X = 1 , Y = 0 ) + P ( X = 1 , Y = 1 ) = 0 + 1 / 2 = 1 / 2 P(X=1) = P(X=1, Y=0) + P(X=1, Y=1) = 0 + 1/2 = 1/2 P(X=1)=P(X=1,Y=0)+P(X=1,Y=1)=0+1/2=1/2
  • P ( Y = 0 ) = P ( X = 0 , Y = 0 ) + P ( X = 1 , Y = 0 ) = 1 / 2 + 0 = 1 / 2 P(Y=0) = P(X=0, Y=0) + P(X=1, Y=0) = 1/2 + 0 = 1/2 P(Y=0)=P(X=0,Y=0)+P(X=1,Y=0)=1/2+0=1/2
  • P ( Y = 1 ) = P ( X = 0 , Y = 1 ) + P ( X = 1 , Y = 1 ) = 0 + 1 / 2 = 1 / 2 P(Y=1) = P(X=0, Y=1) + P(X=1, Y=1) = 0 + 1/2 = 1/2 P(Y=1)=P(X=0,Y=1)+P(X=1,Y=1)=0+1/2=1/2

现在可以计算互信息了:

M I ( X ; Y ) = ∑ x ∈ { 0 , 1 } ∑ y ∈ { 0 , 1 } P ( x , y ) log ? ( P ( x , y ) P ( x ) P ( y ) ) MI(X;Y) = \sum_{x \in \{0,1\}} \sum_{y \in \{0,1\}} P(x,y) \log \left(\frac{P(x,y)}{P(x)P(y)}\right) MI(X;Y)=x{0,1}?y{0,1}?P(x,y)log(P(x)P(y)P(x,y)?)
M I ( X ; Y ) = 1 2 log ? ( 1 2 1 2 1 2 ) + 0 log ? ( 0 1 2 1 2 ) + 0 log ? ( 0 1 2 1 2 ) + 1 2 log ? ( 1 2 1 2 1 2 ) MI(X;Y) = \frac{1}{2} \log \left(\frac{\frac{1}{2}}{\frac{1}{2}\frac{1}{2}}\right) + 0 \log \left(\frac{0}{\frac{1}{2}\frac{1}{2}}\right) + 0 \log \left(\frac{0}{\frac{1}{2}\frac{1}{2}}\right) + \frac{1}{2} \log \left(\frac{\frac{1}{2}}{\frac{1}{2}\frac{1}{2}}\right) MI(X;Y)=21?log(21?21?21??)+0log(21?21?0?)+0log(21?21?0?)+21?log(21?21?21??)
M I ( X ; Y ) = 1 2 log ? ( 2 ) + 1 2 log ? ( 2 ) MI(X;Y) = \frac{1}{2} \log (2) + \frac{1}{2} \log (2) MI(X;Y)=21?log(2)+21?log(2)
M I ( X ; Y ) = 1 2 + 1 2 MI(X;Y) = \frac{1}{2} + \frac{1}{2} MI(X;Y)=21?+21?
M I ( X ; Y ) = 1 ?bit MI(X;Y) = 1 \text{ bit} MI(X;Y)=1?bit

涉及 0 log ? ( 0 ) 0 \log(0) 0log(0)的词条定义为0,这与限制对齐:

lim ? p → 0 + p log ? ( p ) = 0 \lim_{p \to 0+} p \log(p) = 0 p0+lim?plog(p)=0

在这个简单的示例中, X X X Y Y Y之间的互信息为1位,这是有意义的,因为知道一个变量的值可以为我们提供关于另一个变量的完整信息。


互信息的界

互信息(MI)上界和下界:

下限:互信息的最
小值为0。当两个变量是完全独立的,并且知道一个变量的值不能提供关于另一个变量的信息时,就会出现这种情况。

  • 上界:互信息的上界不太直接,因为它取决于个体变量的熵。两个变量之间MI的最大值是它们的个体熵的最小值(H(X))和(H(Y))。换句话说,(MI(X;Y) \leq \min(H(X), H(Y)))。当一个变量是另一个变量的确定性函数时,就会出现这种情况,这意味着知道一个变量就可以获得关于另一个变量的完整信息。

与其他特征选择方法的比较

互信息与其他特征选择方法在以下几个方面有所不同:

  • 与皮尔逊相关:皮尔逊相关度量两个连续变量之间的线性关系,并在-1和1之间有界。它不能很好地捕捉非线性关系。另一方面,互信息可以捕获任何类型的依赖关系,无论是线性的还是非线性的,而且不仅限于连续变量——它也可以用于分类变量。

  • 与其他相关度量:Spearman的秩相关和Kendall的tau是可以捕获单调关系的非参数度量,但像Pearson的一样,它们仍然局限于特定类型的关系,不像相互信息那样普遍。

  • 与方差分析:方差分析(ANOVA)测试组间均值的差异,通常在处理分类输入和连续输出时使用。虽然它可以表明分类变量对连续变量的影响是否具有统计显著性,但它不能量化变量之间共享的信息量。

  • 对卡方检验:卡方检验用于确定两个分类变量之间是否存在显著关联。它不提供变量共享多少信息的量化,而是提供变量之间是否存在关联。

  • 与决策树中的信息增益:这实际上是一个与相互信息相关的概念。在决策树的上下文中,“信息增益”用于分割节点,并基于数据集在属性上被分割后熵的减少(或纯度的增加)。它可以被看作是类和属性之间的相互信息。

  • 与包装方法(例如,向前选择,向后消除):这些方法直接基于它们对给定预测模型的有用性来评估变量的子集。它们是计算密集型的,因为它们需要将模型拟合到不同的特征子集。互信息通常比包装方法计算成本更低,因为它独立于模型评估特征的重要性。

  • 与嵌入式方法(例如LASSO, Ridge回归):这些方法通过在损失函数中添加惩罚项来执行特征选择,作为模型训练过程的一部分。然而,互信息并不与特定的模型绑定,而是用作预处理步骤。

互信息是一种灵活而强大的特征选择工具,因为它不假设变量之间关系的函数形式。它可以帮助选择那些可能被其他只检测特定类型关系的方法遗漏的特征。然而,互信息可能比一些简单的相关度量需要更多的计算量,特别是对于大型数据集和许多特征。


和 Pearson 相关性的关系

皮尔逊相关系数(Pearson correlation coefficient)和互信息(Mutual Information, MI)都是变量之间关联的度量,但它们具有不同的性质和敏感性,这使得MI在某些情况下更普遍适用。以下是为什么在某些情况下,人工智能可以被视为比皮尔逊“更好”或更有信息量的原因:

  1. 关系类型:
  • 皮尔逊相关性测量两个连续变量之间的线性关系的强度和方向。
  • MI测量两个变量之间的一般依赖关系,而不管这种关系是线性的、非线性的、单调的还是非单调的。
  1. 变量类型:
  • 皮尔逊仅限于连续变量。
  • MI可以与连续,离散和分类变量一起使用,而无需进行任何转换。
  1. 鲁棒性:
  • 皮尔逊可能受到异常值的影响,因为它依赖于变量的平均值和标准差。
  • MI基于概率分布,通常对异常值更稳健。
  1. 信息内容
  • 皮尔逊仅表示变量以线性方式共同变化的程度。
  • MI量化变量之间共享信息的程度——了解一个变量可以减少对另一个变量的不确定性。
  1. 的敏感性:
  • 如果关系不是线性的,Pearson可能会低估关系的强度,这可能会误导特征选择。
  • MI捕获所有依赖关系,确保任何类型的系统关系都有助于功能相关性。

为了说明其中的区别,假设有两个变量X和Y,使 Y = X 2 Y = X^2 Y=X2。如果要计算这些变量的Pearson相关系数,如果X同时包含对称分布的正值和负值,则该系数可能接近于零,这表明没有线性关系。然而,两者之间存在着明确的关系:Y是由x完全决定的。互信息可以正确地识别这种确定性关系。

当处理连续变量之间的线性关系时,Pearson相关性是一个有用的度量,而MI提供了一个更全面的变量之间关系度量。这使得MI成为机器学习中更通用的特征选择工具,其中变量之间的关系可能不是线性的,或者可能涉及不同类型的数据。

文章来源:https://blog.csdn.net/qq_18846849/article/details/135244680
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。