Abstract
提出了一种新的模式分类方法,通过正则化分类器学习来最大化分类响应与真实类别标签之间的互信息。我们认为,使用学习的分类器,应该通过尽可能多地了解其分类响应来减少数据样本真实类标签的不确定性。通过分类响应与真实分类标签之间的互信息来衡量减少的不确定性。为此,在学习线性分类器时,我们提出在最小化分类误差和降低分类器复杂度的同时,最大化分类响应与训练样本真实类标签之间的互信息。利用熵估计对互信息进行建模,构造目标函数,并采用梯度下降迭代算法对目标函数进行优化。对两个现实世界模式分类问题的实验表明,最大互信息正则化方法取得了显著的改进效果。
1 Introduction
模式分类问题是为给定的数据样本分配一个离散类标签的问题,该数据样本由其特征向量表示。该问题通常由两个不同的组成部分组成——特征提取和分类。特征提取是指从数据样本中提取有效且具有判别性的特征向量的过程,以便不同类别的样本可以容易地分开。这个过程通常高度与领域相关。例如,对于人脸识别问题,应使用一些图像处理技术提取视觉特征;而对于从蛋白质序列预测结合锌位点的问题,应使用一些生物知识提取生物学特征。在本文中,特征提取方面受到中提出的一种层次贝叶斯推断算法的高度启发。在创建的这种新方法推动了地面真实特征提取领域的发展,并为该过程提供了更优化的方法。另一方面,与特征提取不同,分类是一个更普遍的问题。我们通常设计一个类标签预测函数作为分类器。为了学习分类器函数的参数,我们通常试图最小化训练集中的训练样本的分类错误,并同时减少分类器的复杂性。例如,最流行的分类器是支持向量机(SVM),它通过最小化合页损失减少分类错误,并同时最小化分类器参数的ℓ2范数以降低复杂性。
互信息被定义为两组变量之间共享的信息。它被用作模式分类问题中特征提取的准则。然而在分类器学习问题中,它未被直接探讨过。实际上,互信息与Kullback-Leibler散度有很强的关系,并且有许多使用KL散度进行分类器的研究。Moreno等人提出了一种基于Kullback-Leibler散度的支持向量分类的新型核函数,而Liu和Shum提出了通过最大化Adaboost分类器的Kullback-Leibler散度来学习最具区分性的特征。然而,这两种方法都没有使用基于KL散度的准则来学习线性分类器的参数。为了弥补这个差距,首次尝试使用互信息作为分类器学习的准则。提出通过最大化分类响应变量 f f f 与真实类别标签变量 y y y 之间的互信息 I ( f ; y ) I(f; y) I(f;y) 来学习分类器。分类响应变量 f f f 是分类器参数和数据样本的函数。
观点是互信息定义为 f f f 和 y y y 之间共享的信息量。
从信息论的角度来看,如果两个变量不是相互独立的,并且已知一个变量,通常会减少对另一个变量的不确定性。互信息用于衡量在这种情况下减少的不确定性量。为了说明互信息如何用于衡量分类准确性,考虑了两种极端情况:
- 如果数据样本的分类响应变量 f f f 是随机给定的,并且与其真实类别标签 y y y 是独立的,那么知道 f f f 不会提供任何关于 y y y 的信息,反之亦然,它们之间的互信息可能为零,即 I ( f ; y ) = 0 I(f; y) = 0 I(f;y)=0。
- 如果给定 f f f,使得 y y y 和 f f f 完全相同,那么知道 f f f 可以帮助准确确定 y y y 的值,并减少所有关于 y y y 的不确定性。这是分类的理想情况,知道 f f f 可以减少所有关于 y y y 的不确定性。在这种情况下,互信息被定义为仅包含在 f f f 或 y y y 中的不确定性,它由 f f f 或 y y y 的熵来衡量,分别用 H ( f ) H(f) H(f) 或 H ( y ) H(y) H(y) 表示,其中 H ( ⋅ ) H(·) H(⋅) 是变量的熵。由于 f f f 和 y y y 是相同的,可以得到 I ( f ; y ) = H ( f ) = H ( y ) I(f; y) = H(f) = H(y) I(f;y)=H(f)=H(y)。
希望分类响应变量 f f f 能够尽可能准确地预测真实类别标签 y y y,并且知道 f f f 能够尽可能减少对 y y y 的不确定性。因此提出了一种基于分类器参数的互信息正则化项,用于学习分类器参数。通过将互信息正则化项、分类错误项和分类器复杂度项结合起来,构建了一个目标函数。通过使用梯度下降方法在迭代算法中优化目标函数,来学习分类器参数。
第2节介绍了提出的分类器学习方法。实验结果在第3节中呈现。第4节对本文进行了总结。
2 Proposed Method
2.1 Problem Formulation
假设有一个训练集,表示为 X = { x i } i = 1 n X = \{\mathbf{x}_i\}_{i=1}^n X={xi}i=1n,其中 i = 1 → n i = 1 \rightarrow n i=1→n,其中 x i ∈ R d x_i ∈ \mathbb{R}^d xi∈Rd 是第 i i i 个训练样本的 d d d 维特征向量, n n n 是训练样本的数量。训练样本的类标签集合表示为 Y = { y i } i = 1 n Y = \{y_i\}_{i=1}^n Y={yi}i=1n,其中 y i ∈ { + 1 , − 1 } y_i ∈ \{+1, -1\} yi∈{+1,−1} 是第 i i i 个样本的类标签。为了学习一个分类器来预测给定样本的类标签和特征向量 x \mathbf{x} x,设计了一个线性函数作为分类器:
g ( x ; w ) = s i g n ( f ) = s i g n ( w ⊤ x ) g(\mathbf{x}; \mathbf{w}) = sign(f) = sign(\mathbf{w}^⊤\mathbf{x}) g(x;w)=sign(f)=sign(w⊤x)
其中 w \mathbf{w} w 是分类器参数向量, f = w ⊤ x f = \mathbf{w}^⊤\mathbf{x} f=w⊤x 是给定分类器参数 w \mathbf{w} w 下特征向量 x \mathbf{x} x 的分类响应, s i g n ( ⋅ ) sign(·) sign(⋅) 是符号函数,将分类响应转化为最终的二元分类结果。将训练样本的响应集合表示为 F = { f i } i = 1 n F = \{f_i\}_{i=1}^n F={fi}i=1n。
Classification Loss Minimization
为了学习最优的分类参数 w \mathbf{w} w,希望使用学习后的 w \mathbf{w} w 得到的数据样本 x \mathbf{x} x 的分类响应f能够尽可能准确地预测其真实类别标签 f f f。为了测量预测误差,使用损失函数来比较分类响应与其对应的真实类别标签。给定分类器参数 w \mathbf{w} w,第 i i i 个训练样本 x i \mathbf{x}_i xi 的损失函数,其中分类响应为 f i = w ⊤ x i f_i = \mathbf{w}^⊤\mathbf{x}_i fi=w⊤xi,真实类别标签为 y i y_i yi,表示为 L ( f i , y i ; w ) L(f_i, y_i; \mathbf{w}) L(fi,yi;w)。
Classifier Complexity Reduction
为了减少分类器的复杂性,防止过拟合问题,还通过一个 ℓ2 范数项对分类器的参数进行正则化。
m
i
n
w
1
2
∣
∣
w
∣
∣
2
2
min_\mathbf{w}\frac12||\mathbf{w}||^2_2
minw21∣∣w∣∣22
Mutual Information Maximization
通过最大化分类响应变量 f ∈ F f ∈ F f∈F 和真实类别标签变量 y ∈ Y y ∈ Y y∈Y 之间的互信息 I ( f ; y ) I(f; y) I(f;y) 来学习分类器。变量 f ∈ F f ∈ F f∈F 和 y ∈ Y y ∈ Y y∈Y 之间的互信息定义为:
I ( f ; y ) = H ( f ) − H ( f ∣ y ) I(f; y)=H(f)-H(f|y) I(f;y)=H(f)−H(f∣y)
其中 H ( f ) H(f) H(f) 是 f f f 的边缘熵,用于衡量对 f f f 的不确定性, H ( f ∣ y ) H(f|y) H(f∣y) 是在 y y y 给定的条件下 f f f 的条件熵,用作当给定 y y y 时 f f f 的不确定性的度量。为了将互信息作为学习分类器参数的正则,首先需要估计 H ( f ) H(f) H(f) 和 H ( f ∣ y ) H(f|y) H(f∣y)。
对于 H ( f ) H(f) H(f) 使用训练样本来估计,根据熵的定义,有:
H ( f ) = − ∫ n p ( f ) l o g p ( f ) d f ≈ − ∑ i = 1 n p ( f i ) l o g p ( f i ) H(f) = −∫_np(f)logp(f)df ≈ −∑^n_{i=1}p(f_i)log p(f_i) H(f)=−∫np(f)logp(f)df≈−∑i=1np(fi)logp(fi)
其中 p ( f ) p(f) p(f) 是 f f f 的概率密度。可以看出, f f f 的熵是 − l o g p ( f ) −logp(f) −logp(f) 的期望值。