【论文阅读笔记】基于分类器预测置信度的集成选择| Ensemble Selection based on Classifier Prediction Confidence

基于分类器预测置信度的集成选择 | Ensemble Selection based on Classifier Prediction Confidence

[摘要]

集成选择是集成学习中研究最多的课题之一,因为选择基分类器的子集可能优于整个集成系统。近年来,引入了许多集成选择方法。然而,其中许多方法都缺乏灵活性:要么为所有测试样本预先选择一个固定的分类器子集(静态方法),要么分类器的选择取决于定义能力区域技术的性能(动态方法)。本文提出了一种综合考虑分类时各基分类器置信度(confidence)和集成中基分类器整体可信度(credibility)的集成选择方法。换句话说,如果一个基分类器的预测置信度高于它的可信度阈值,则选择一个基分类器对一个测试样本进行预测。基分类器的可信度阈值是通过最小化整个训练观测的经验0 1损失来找到的。通过这种方式,我们的方法集成了集成选择的静态和动态两种形式。与其他集成方法相比,通过在62个数据集上的实验表明,该方法取得了更好的性能。

[引言]

集成学习引入的原因:
集成学习已被广泛研究,是机器学习领域最活跃的研究课题之一。这种学习自然产生于这样一个事实,即没有一种学习算法能够在所有数据集上都表现良好。在机器学习中,每个分类器使用自己的方法来逼近特征向量和类标签之间的未知关系f。由于从不同来源收集的数据可能存在很大差异,学习算法可能只能对某些数据集提供良好的假设。通过在单一框架中组合多个分类器(如集成学习),我们可以使学习多样化,并比使用单个分类器实现更好的预测。

集成学习方法提出是为解决单个学习器在不同数据上的分类效果不同的问题,借助集成的方式实现分类效果的全局最优。集成学习中的学习器可以以两种方法学习产生:1)异构的(在相同训练集上训练不同算法);2)同构的(在多个不同训练集上训练单个算法)。在此基础上,以一定的结合方式得出最后的预测结果。

本文的思路:
本文的思路借鉴于专家委员会的运作方式。在现实生活中,某些议题需要专家委员会做出决定,但不同的专家对相同问题有不同的知识背景和专业水平。当我们知道一位专家在某一特定领域非常博学时(可信度高),我们会相信这位专家的建议,即便他对当前的建议不是完全有信心(置信度相对低)。另一方面,当某个专家的知识相对不够丰富时(可信度低),我们只会在他非常确定的情况下(置信度高)才会考虑其目前的建议。

上述思想被应用于选择基分类器作为集成来进行预测。在这项工作中,作者通过对经验的0-1损失最小化,将基分类器进行关联,从而确定基分类器领域知识的专业级别。然后,基于一个基分类器在测试样本上的软分类输出,通过计算每个基分类器输出的熵值来量化当前分类的置信度。值得注意的是,预测中的高熵代表低置信度,因此熵可以作为置信度度量。接着将熵与基分类器的阈值进行比较,以确定基分类器的输出是否应该包含在最终的聚合中。

本文的贡献:
1)提出了一种基于集成系统整体领域专业知识及其对当前预测的置信度来选择基分类器的方法。这使得我们能够集成静态和动态的集成选择方法。
2)通过最小化训练集上的0-1经验损失来寻找每个基分类器的单个阈值,并利用人工蜂群优化算法得到最优解。
3)在多个数据集上的实验表明,该方法与几种著名的基准算法相比具有一定的优势。

集成选择( Ensemble Selection,ES ) ( 也称选择性集成或集成剪枝 )的目的是寻找一个比使用整个集成更好的基分类器的合适子集。在ES中,通过静态或动态的方法可以得到单个基分类器或分类器集合( EoC )。静态方法在训练阶段只选择一个基分类器子集,并使用它预测所有看不见的样本。因此,这限制了甄选程序的灵活性。同时,动态方法只选择一个分类器( 动态分类器选择 ( DCS )或一个EoC ( 动态集合选择 ( DES ),在与每个未知样本关联的特定区域内具有最大能力。这种方法的一个问题是对定义能力区域的技术性能的依赖( RoC ) 。

引入:
Assume that we have a committee of K experts { K k } each of whom gives an answer to a problem. Classically, the answers from all experts are received and combined to obtain the final decision.
However, some of the answers do not have high enough confidence and should be excluded from the final committee decision. Here we assume that each answer has its own confidence and that we prefer highly confident answers to those with low confidence before making the final decision. Moreover, we also assume that each of the experts has its own level of domain expertise (credibility) as they come with different background. Our approach takes account of each expert’s credibility threshold and selects an expert’s answer for aggregation if and only if its confidence is higher than the credibility threshold.

假设我们有一个由K位专家组成的委员会,每个专家都会给出一个问题的答案。传统上,所有专家的答案都会被接收并组合起来,以获得最终决定。然而,一些答案的可信度不够高,应该排除在委员会的最终决定之外。在这里,我们假设每个答案都有自己的自信,在做出最终决定之前,我们更喜欢高自信的答案,而不是低自信的答案。此外,我们还假设每个专家都有自己的领域专业知识水平(可信度),因为他们有不同的背景。我们的方法考虑了每个专家的可信度阈值,当且仅当其可信度高于可信度阈值时,才选择专家的答案进行聚合。

[模型介绍]

在这里插入图片描述
首先,委员会的专家给出了他们的答案。 计算每个专家答案的置信度,然后与相关的可信度阈值 α k \alpha_k αk 进行比较。 我们根据专家的置信度与其可信度阈值之间的比较来确定最终汇总中包含哪些答案。

这里有个问题:如何衡量专家(每个基分类器)的置信度和可信度?

X \mathcal{X} X 代表特征空间, Y \mathcal{Y} Y 代表类标签,训练集为 D = { x i , y i ^ } , 其 中 i = 1 , . . . , N ; x i ∈ X , y i ∈ Y , ∣ Y ∣ = M \mathcal{D} = \{\mathbf{x}_i,\hat{y_i}\},其中 i=1,...,N;\mathbf{x}_i \in \mathcal{X},y_i \in \mathcal{Y}, \vert \mathcal{Y}\vert = M D={ xi,yi^},i=1,...,N;xiX,yiY,Y=M. 基分类器集 H = { h k } , k = 1 , . . . , K H = \{h_k\},k = 1,...,K H={ hk},k=1,...,K.

1) 置信度
对于每一个样本 x i x_i xi,通过分类器输出一个软标签,即 h k : P k ( y m ∣ x i ) ∈ [ 0 , 1 ] h_k : \mathbf{P}_k(y_m \vert \mathbf{x}_i) \in [0,1] hk:Pk(ymxi)[0,1] and ∑ m = 1 M P k ( y m ∣ x i ) = 1 \sum_{m=1}^M \mathbf{P}_k(y_m \vert \mathbf{x}_i)=1 m=1MPk(ymxi)=1 条件下 x i \mathbf{x}_i xi 赋值为标签 y m y_m ym 的概率.

P.S.什么是硬标签,什么是软标签?
在这里插入图片描述
简单概括:硬标签就是实际的标签数值或者具体的类别,而软标签是一个比例,还可以表示不同类别之间的关系

因此,对于任意样本 x i \mathbf{x}_i xi K K K 个基分类器的输出表示为:
L ( x i ) = [ P 1 ( y 1 ∣ x i ) . . . P 1 ( y m ∣ x i ) . . . P K ( y 1 ∣ x i ) . . . P K ( y m ∣ x i ) ] L(\mathbf{x}_i) =\left[ \begin{matrix}\mathbf{P}_1(y_1 \vert \mathbf{x}_i)...&\mathbf{P}_1(y_m \vert \mathbf{x}_i)& ...&\mathbf{P}_K(y_1 \vert \mathbf{x}_i)...&\mathbf{P}_K(y_m \vert \mathbf{x}_i) \end{matrix}\right] L(xi)=[P1(y1xi)...P1(ymxi)...PK(y1xi)...PK(ymxi)]

H H H 在训练集上的输出可表示为:
L = [ P 1 ( y 1 ∣ x i ) ⋯ P 1 ( y m ∣ x i ) ⋯ P K ( y 1 ∣ x i ) ⋯ P K ( y m ∣ x i ) ⋮ ⋱ ⋮ P 1 ( y 1 ∣ x N ) ⋯ P 1 ( y m ∣ x N ) ⋯ P K ( y 1 ∣ x N ) ⋯ P K ( y m ∣ x N ) ] L=\left[ \begin{matrix} \mathbf{P}_1(y_1 \vert \mathbf{x}_i)\cdots&\mathbf{P}_1(y_m \vert \mathbf{x}_i)& \cdots&\mathbf{P}_K(y_1 \vert \mathbf{x}_i)\cdots&\mathbf{P}_K(y_m \vert \mathbf{x}_i) \\ \vdots& &\ddots & &\vdots\\ \mathbf{P}_1(y_1 \vert \mathbf{x}_N)\cdots&\mathbf{P}_1(y_m \vert \mathbf{x}_N)& \cdots&\mathbf{P}_K(y_1 \vert \mathbf{x}_N)\cdots&\mathbf{P}_K(y_m \vert \mathbf{x}_N) \\ \end{matrix} \right] L=P1(y1xi)P1(y1xN)P1(ymxi)P1(ymxN)PK(y1xi)PK(y1xN)PK(ymxi)PK(ymxN)

每个分类器的分类结果体现了该分类器的置信度。当某一个类的分类器输出比其他类的分类器输出高得多时,如:对于一个标签为 { − 1 , + 1 } \{-1,+1\} { 1,+1} 的二分类问题有 P K ( + 1 ∣ x i ) = 0 \mathbf{P}_K(+1 \vert \mathbf{x}_i) = 0 PK(+1xi)=0 and P K ( − 1 ∣ x i ) = 1 \mathbf{P}_K(-1 \vert \mathbf{x}_i) = 1 PK(1xi)=1 可以直接区分为是某一类。而当存在 P K ( + 1 ∣ x i ) = 0.51 \mathbf{P}_K(+1 \vert \mathbf{x}_i) = 0.51 PK(+1xi)=0.51 and P K ( − 1 ∣ x i ) = 0.49 \mathbf{P}_K(-1 \vert \mathbf{x}_i) = 0.49 PK(1xi)=0.49 的情况时,就很难区分到底该分为哪一类。因此,为了更好的衡量置信度,本文引入了熵值 E k ( x i ) E_k(\mathbf{x}_i) Ek(xi)。熵值越低,置信度越高。将每个基分类器都与一个可信度阈值相关联,如果一个分类器对预测的可信度高于其可信度阈值时,那么它就被包括在所选的 EoC(基分类器集合)中。最终聚合的就只包括了具有高可信度的基分类器的预测。

主要的熵计算方式有:Shannon entropy E S k ( x i ) ES_k(\mathbf{x}_i) ESk(xi),Min entropy E M k ( x i ) EM_k(\mathbf{x}_i) EMk(xi),Collision entropy E C k ( x i ) EC_k(\mathbf{x}_i) ECk(xi).

E S k ( x i ) = − ∑ m = 1 M P k ( Y m ∣ x i ) log ⁡ { Y m ∣ x i } ES_k(\mathbf{x}_i) = -\sum_{m=1}^MP_k(\mathcal{Y}_m \vert \mathbf{x}_i) \log \{\mathcal{Y}_m \vert \mathbf{x}_i\} ESk(xi)=m=1MPk(Ymxi)log{ Ymxi}

E M k ( x i ) = min ⁡ m { − log ⁡ { P k ( Y m ∣ x i ) } } EM_k(\mathbf{x}_i) = \min _m\{-\log \{\mathbf{P}_k(\mathcal{Y}_m \vert \mathbf{x}_i)\}\} EMk(xi)=mmin{ log{ Pk(Ymxi)}}

E C k ( x i ) = − log ⁡ { ∑ m = 1 M { P k ( Y m ∣ x i ) } 2 } EC_k(\mathbf{x}_i) = - \log \{ \sum_{m=1}^M \{\mathbf{P}_k(\mathcal{Y}_m \vert \mathbf{x}_i)\}^2 \} ECk(xi)=log{ m=1M{ Pk(Ymxi)}2}

2) 可信度
分类器的可信度阈值反应了分类器在被纳入Eoc以预测 x i \mathbf{x}_i xi 之前的知识能力。
因此,本文将分类器的可信度阈值定义为我们在对其预测失去信心之前愿意接受的最大不确定性。令 α k ∈ [ 0 , log ⁡ ( M ) ] \alpha_k \in [0,\log(M) ] αk[0,log(M)] 是分类器 h k h_k hk 的可信度阈值,以下为基分类器的选择标准:
y = { E k ( x i ) < α k , ( 1 ) E k ( x i ) ≥ α k , ( 2 ) y= \begin{cases} \mathbf{E}_k(\mathbf{x}_i) < \alpha_k ,(1) \\ \mathbf{E}_k(\mathbf{x}_i) \geq \alpha_k ,(2) \end{cases} y={ Ek(xi)<αk,(1)Ek(xi)αk,(2)
满足(1)的基分类器 h k h_k hk 就被纳入EoC中
满足 (2)的基分类器 h k h_k hk 不被EoC中

本文通过计算整个训练观察中集合的经验 0-1 损失来表示每个基分类器的可信阈值.在样本 x i x_i xi α = { α k , k = 1 , . . . , K } \alpha = \{\alpha_k,k=1,...,K\} α={ αk,k=1,...,K} 的0-1 损失表示为:
l ( x i , α ) = I I [ Y i ^ ≠ m a x Y m ; m = 1 , . . . , M ∑ k = 1 K I I [ E k ( x i ) < α k ] P k ( Y m ∣ x i ) ] l(\mathbf{x}_i,\alpha) = II \left[ \hat{\mathcal{Y}_i} \neq \mathbf{max}_{\mathcal{Y}m};m=1,...,M\sum_{k=1}^K II[\mathbf{E}_k(\mathbf{x}_i)<\alpha_k]\mathbf{P}_k(\mathcal{\mathcal{Y}_m\vert \mathbf{x}_i})\right] l(xi,α)=II[Yi^=maxYm;m=1,...,Mk=1KII[Ek(xi)<αk]Pk(Ymxi)]

其中, I I [ . ] II[.] II[.] 表示指示函数,如果参数为真,则返回1,否则返回0.

整个训练集的0-1损失为:
{ min ⁡ L 0 − 1 ( α ) = 1 N ∑ i = 1 N l ( x i , α ) s u b j e c t   t o   α k ∈ [ 0 , log ⁡ ( M ) ]   k = 1 , … , K \begin{cases} \min \mathcal{L}_{0-1}(\alpha)=\frac{1}{N}\sum_{i=1}^Nl(\mathbf{x}_i,\alpha) \\ subject~to~ \alpha_k \in [0,\log(M)] ~k=1,\dots,K \end{cases} { minL01(α)=N1i=1Nl(xi,α)subject to αk[0,log(M)] k=1,,K

[算法]

该方法应用于异构集合系统中,在给定的训练集上通过训练K种不同的学习算法获得EoC(Ensemble of Classifiers),并通过组合算法对所有的基学习器的预测进行预测,然后获得最终预测结果。基础学习算法有:LDA、Navie Bayes、KNN(k=5)。训练伪代码如下:
在这里插入图片描述
本文寻找最优较优的 L 0 − 1 L_{0-1} L01 值是使用的ABC算法(人工蜂群优化算法)。

ABC算法简介:分worker bee,onlooker bee和scout三种蜜蜂类型。worker bee和onlooker bee的数目与种群数相等。worker bee利用蜜源并把fitness分享给onlooker bee。onlooker bee试图寻找更优质蜜源,若超出寻找周期则放弃。onlooker bee寻找失败则变为scout以侦察新蜜源。maxT为100,nPop为50,max C 设置为round (0.6 ×K ×nPop )

软标签输出算法:
在这里插入图片描述
在分类阶段,基分类器 h k h_k hk 在未标记样本 x u \mathbf{x}^u xu 的输出是基于 { P k ( Y m ∣ x u ) } \{\mathbf{P}_k ( \mathcal{Y}_m \vert\mathbf{x}^u )\} { Pk(Ymxu)} 的软标签。 然后计算熵 E k ( x u ) \mathbf{E}_k ( \mathbf{x}^u ) Ek(xu)。 基于基分类器的选择标准 ,判断是否应将 h k h_k hk 包含在EoC集成中。 所有选定的基分类器都被添加到 EoC S \mathcal{S} S 中 以预测 x u \mathbf{x}^u xu 的标签。聚合规则基于 S \mathcal{S} S 中分类器的输出以提供最终预测 Y ^ \hat{\mathcal{Y}} Y^。 请注意,如果没有分类器满足步骤 5 中的选择标准,则执行算法 2 中步骤 7 的例外,其中使用整个集成。

猜你喜欢

转载自blog.csdn.net/Naruto_8/article/details/123573333
今日推荐