21/7/6 读书笔记

目录

  • 21/7/6 读书笔记
  • 数据挖掘导论 组合方法
  • 装袋
  • 提升
  • 随机森林
  • 数据挖掘导论 不平衡类问题
  • 数据挖掘导论 多类问题

数据挖掘导论 组合方法

组合方法是一种聚集多个单分类器来提高预测准确率的方法。其基本思想在于利用训练数据构造一组基分类器,然后根据基分类器的结果进行投票表决

从预测概率上讲,在基分类器相互独立时,组合方法最大程度降低了预测失误的发生可能。因此我们主要讨论的就是如何降低基分类器之间的相关性,和如何更好地拟合训练数据。。

首先,我们认为组合模型的预测误差可以看作偏倚+方差。偏倚是指系统误差,即模型自身结构导致的实际结果和预测结果中的非随机性偏差;方差是指受到训练数据的不确定性影响(比如噪声、比例成分变化)而导致的不同训练数据下模型预测结果之间的随机偏差

接下来介绍三种经典的组合方法:装袋(bagging)、提升(boosting)、随机森林(RF)

装袋

装袋,又称自助聚集(boot strap bagging)。其描述一种利用均匀概率分布从数据集中重复取样(有放回的)。每个取样后的自助样本集的大小和原样本集一致,其中可能具有重复的原样本集中对象,也可能缺失某些对象。装袋降低基分类器的方差来降低预测误差,因此对于不稳定的、受数据质量影响较大的模型效果显著,而反之则没啥效果,甚至可能适得其反。

装袋降低了基分类器的方差,其原理在于进一步提高了训练数据的随机性,降低了噪声对模型的影响,降低了数据对模型效果的影响,使得效果更依赖于模型自身导致的偏倚

提升

提升,是一个训练数据迭代的过程。每次迭代的训练集用来训练一个基分类器,然后所有基分类器表决进行分类(注意在提升的情况下,各个基分类器由于数据的迭代次数不同,准确率也不同,故投票可以按准确率各有权重)。迭代的过程重点在于提高难以分类的样本在下一次迭代选取的训练集中的概率。当上一次迭代训练出的模型错误分类了某个样本,那么该样本对应权值上升,使其在下一次选取时更可能被选中。提升的主要算法点在于如何更新训练的权值如何设计投票表决规则

描述一下AdaBoost算法:

\(\boldsymbol{w}=\{w_j=1/N|j=1,2,...,N\}\)。平均地初始化各个样本的权值

令k表示提升的轮数

FOR i=1 TO k DO {

对样本集\(\boldsymbol{w}\)装袋,产生训练集\(D_i\),利用其训练出基分类器\(C_i\),对所有\(D_i\)中样本进行分类

计算加权误差(\(\delta(B)\)表示布尔函数,B为真则为1,否则为0):


\[\varepsilon _i=\frac{1}{N}\left[\sum_j w_j\delta(C_i(\boldsymbol x_j)\neq y_i)\right] \]


如果加权误差大于\(0.5\),就重新平均化所有权值并回到装袋步骤

模型的重要性\(\alpha_i=\frac{1}{2}\ln \left(\frac{1-\varepsilon_i}{\varepsilon_i}\right)\)

按照下式更新权值(其中\(Z_j\)是用于保证\(\sum_{i=1}^k w_i^{j+1}=1\))


\[w_i^{j+1}=\frac{w_i^{j}}{Z_j}\times\begin{cases}e^{-\alpha_j} \ if \ C_j(\boldsymbol x_i)=y_i\\e^{\alpha_j} \ if \ C_j(\boldsymbol x_i)\neq y_i\\ \end{cases} \]


}

最终分类函数\(C^*(x)=\underset{y}argmax\sum_{j=1}^T\alpha_j\delta(C_j(x)=y)\)

随机森林

随机森林,是专门用于决策树分类器设计的一种组合方法。其使用从原数据集抽象出的某个随机集合(其随机性对应的随机向量符合某个固定的概率分布)训练每个基分类器(称为基决策树)。最后组合所有树的分类结果投票得出最终分类结果。已从理论上证明了,随机森林的泛化误差上界收敛于:

\[泛化误差\leq \frac{\bar\rho(1-s^2)}{s^2} \]

其中\(\bar\rho\)是树之间的平均相关系数\(s\)对应了树的强度,其描述了基决策树的平均性能。

对于如何从训练集中抽取出随机集合,有几种方式:

  • 随机选择\(F\)个输入特征来对当前树的节点进行分裂,而不考虑所有特征(Forest-RI)
  • 随机选择\(L\)个输入的随机线性组合来作为新特征,选取\(F\)个这样的新特征来进行分裂(适用于原训练集特征数量较小而导致上一种方法随机性差的情况)(Forest-RC)

随机森林的准确率可以和AdaBoost媲美,同时运算速度更快,且对于噪声更为鲁棒

数据挖掘导论 不平衡类问题

有的情况下,类的分布非常不平衡,但我们需要对稀有类进行正确分类(比如从肿瘤分析得出恶性肿瘤和良性肿瘤)。单单靠准确率的概念很难去描述其对于稀有类的分类能力,因为大部分的样本都被正确分类到一般类。

我们首先学习除准确率以外的一些新的可选度量:

对于二元分类问题,我们将稀有类描述为正类,一般类为负类,计样本数分别为\(f_{xx}\):

预测为正

预测为负

实际为正

真正(TP)

假负(FN)

实际为负

假正(FP)

真负(TN)

其中,真正占总正样本的比例称为真正率或灵敏度(sensitivity)或召回率(recall),真负占总负样本的比例称为真负率或特指度(specifity),真正占预测为正的样本的比例称为精度(precision)。其中,精度和召回率构成一个针对正类的分类算法的主要评价指标,其合并为另一个度量\(F_1度量\):

\[F_1=\frac{2\times recall\times precision}{recall+precision} \]

其代表recall和precision的调和均值,较高的\(F1\)保证了模型同时具有较高的精度和召回率。

接受者操作特征曲线(receiver operating characteriestic, ROC)曲线,是描述模型真正率(TPR)和假正率(FPR)的一种图形化的方法。其表现为一个以假正率FPR为x轴,真正率TPR为y轴的二维曲线图。其中曲线越靠近左上角,说明TPR相对高、FPR相对小,因此模型的分类能力越强。ROC曲线能够有效对比不同模型的相对性能,其曲线下方的面积被称为AUC,性能越高的模型对应曲线的AUC越大。其中左下到右上的对角线表示了一个随机猜测模型的性能。

随机猜测模型:不考虑属性集合,而是仅考虑常数\(p\),期望随机猜测模型能够正确分类p个正类的同时错误分类p个负类,因此TPR和FPR始终一致。

为了绘制ROC图,分类器需要支持为每个输入样本输出一系列连续的值,其描述了该样本从最不可能(低)到最有可能(高)属于正类的程度。我们需要:

  1. 对所有输入的检验样本依据分类器输出的这个连续值递增排序
  2. 取输出值最低的样本记录,把被选者和其他输出值更高的样本记录指定为正类。计算TPR和FPR。
  3. 继续选择下一个输出值更高一级的记录,把被选中把被选者和其他输出值更高的样本记录指定为正类,其他指定为负类,计算TPR和FPR。重复知道所有记录都被选择。
  4. 按照数据画出ROC图

代价敏感学习,是将真正、假正、假负、真负各自的代价引入模型的学习过程中,利用预设的代价来导致模型决策边界向我们所需要的方向偏移。代价信息可以用在决定如何选择更好的属性、是否剪枝等模型学习过程中,相当于对于决策阈值的科学预设

基于抽样的方法描述了通过不充分抽样一般类过分抽样稀有类来使得样本集中正负样本比例改变。这种方法能够避免因为稀有类少而导致相关决策规则被淹没,但是也容易在噪声数据下发生过拟合现象,因为噪声和稀有类一样稀少,也会被过分抽样从而增大了其对决策边界的影响。

数据挖掘导论 多类问题

我们之前都是以二分类问题为背景,而为了拓展到多分类问题(对\(\boldsymbol Y=\{y_1,y_2,...,y_k\}\))可以使用这两种办法:

  • 1-r方法:对每个\(y_i\in \boldsymbol{Y}\),建立一个二分类器,使其将样本分类到“属于\(y_i\)”(正类)和“不属于\(y_i\)”(负类)。这样的n个分类器利用组合方式投票表决。如果是正类就将\(y_i\)加一票,如果是负类就将\(y_i\)以外的所有其他类加一票。
  • 1-1方法:对每对类标签对\((y_i,y_j)\),建立一个二分类器,并将训练集中不属于这类标签对中任意一者的数据删除利用剩下的数据进行训练。这样的分类器一共有\(\frac{k(k-1)}{2}\)个,也采用组合方法进行投票表决。

但是这两种方法对于对于错误的分类器预测过于敏感,可能导致投票平局或错误结果。我们采用纠错输出编码(error-correcting output coding, ECOC)的方式为二分类问题引入更高的鲁棒性:

我们将每个类对应一个n位二进制字符串,将每个类对应字符串描述为“行”,每个分类器描述为“列”,即让每个分类器对这个二进制位进行二分类,而最后将所有分类器结果组合成一个二进制字符串,然后利用最小海明距离判据决定最终结果

海明距离:二进制字符串中1的个数的差

在该问题中,设计海明码时我们不仅需要让行之间的海明距离相对大,还应该让列之间的距离也尽量大,从而使得二元分类器之间具有良好的独立性(这保证了组合方法的有效性)。