基于错分代价的HingeBoost算法在高维数据判别分析中的应用*

2015-01-27 10:31李海龙
中国卫生统计 2015年3期
关键词:代价组学向量

郭 冰 李海龙 侯 艳 李 康

哈尔滨医科大学卫生统计学教研室(150081)

基于错分代价的HingeBoost算法在高维数据判别分析中的应用*

郭 冰 李海龙 侯 艳 李 康△

哈尔滨医科大学卫生统计学教研室(150081)

目的 探讨基于错分代价的HingeBoost算法在二分类高维数据中分类判别的效果。方法 通过模拟试验和实际代谢组学数据分析,对HingeBoost算法、AdaBoost算法、支持向量机、随机森林四种方法进行比较,并用ROC曲线下面积、灵敏度、特异度和错误率评价。结果 模拟试验和真实代谢组数据分析显示,HingeBoost算法内部参数错分代价能影响分类结果的判别,在线性结构、同时存在大量噪声变量时分类效果优于其他三种算法。结论 HingeBoost算法将错分代价引入模型,达到减少假阳性错误或假阴性错误的目的,同时有很强的抗噪声能力,适用于高维代谢组学数据分析,值得进一步研究。

HingeBoost 高维组学 分类判别 不等错分代价

针对高维组学数据,目前常用的分析方法有随机森林、支持向量机、偏最小二乘法等机器学习方法。这些方法有一个共同特点是,在建模时将两类错分代价视为相同,而在实际中并不如此,如在筛检试验中,假阴性错误的代价高于假阳性错误,而在诊断试验中则相反。如何在考虑错分代价时,建立合适的分类模型,是一个值得研究的问题。HingeBoost算法是一种新的算法,这种方法能够在建模之前设定各类别的错分代价,将其纳入模型,并在考虑了错分代价情况下优化ROC曲线下面积(AUC)。HingeBoost算法沿用了Boosting的迭代思想,将支持向量机中的hinge损失函数引用到迭代过程中,通过拟合函数梯度下降以优化AUC值,可看作是Boosting算法和支持向量机的结合。本文在介绍HingeBoost算法的原理基础上,通过模拟试验和实例分析,比较HingeBoost算法与其他常用分析方法对代谢组学数据的判别效果。

HingeBoost算法原理

1.hinge损失函数

损失函数,或称代价函数,是在统计学、决策理论及机器学习中,将一个或多个变量的值直接映射到代表与之相关代价的实数上的函数。如0-1型损失函数,其策略是极小化误分的样本数,当样本分类正确时,损失函数的值定义为0;当样本分类错误时,损失函数的值定义为1。在构造模型时,按照损失函数梯度下降方向来逐步建立模型,最终得到使损失函数值达到最小的模型参数,即可得到最优模型。

由于0-1型损失函数不是分离超平面参数的连续可导函数,不易于直接优化求解和实际运用,因此常用高阶可微的损失函数来替代0-1型损失函数,称为代理损失函数,如hinge损失、指数损失、最小二乘损失。hinge损失函数形式如下:

Lh(y,f(X))=max(0,1-yf(x))

(1)

其中y表示真实标签,f(X)表示预测函数,max()函数表示返回最大值。

HingeBoost算法采用加权hinge损失函数,即在hinge损失函数基础上,给予类别间的错分代价,即

(2)

α表示假阳性错误的代价,1-α表示假阴性错误的代价,α∈(0,1)。代价敏感hinge损失函数的形式如下:

L(y,f,α)=l(y)Lh(y,f)

(3)

2.HingeBoost算法

HingeBoost算法思想是进行多次迭代,每次迭代的基础学习器沿损失函数梯度下降方向进行拟合,梯度下降方向则是根据上一次迭代的基础学习器对训练集判别后计算得出,从而在每次迭代中都能使待优化的目标函数沿损失函数梯度下降方向逐渐优化。HingeBoost算法具体过程如下:

(2) 在第m次迭代中:

① 将残差Ui,m定义为损失函数的梯度下降方向,

(4)

② 以残差Um为应变量,以X为自变量拟合基础学习器g(Um,X(1)),

(5)

③ 更新预测函数:

(6)

其中,v表示给定的学习率(即收缩参数),0

3.基础学习器

HingeBoost算法可以与多种基础学习器结合,如线性最小二乘、P样条函数、决策树等,因此算法可以灵活地对不同类型数据结构建模,本文采用基于线性最小二乘的基础学习器,即

(7)

4.调整参数

在建立HingeBoost模型时,应选择恰当的迭代次数,使模型充分拟合数据,同时防止过拟合,为此可以用交叉验证方法找到使hinge损失最小的迭代次数,即

(8)

式中,M0是一个预先设定好足够大的迭代次数。

模拟试验

本部分模拟试验旨在考察错分代价(α值)对模型预测结果的影响,以及在多种模拟数据条件下HingeBoost算法与AdaBoost算法、支持向量机(SVM)、随机森林(RF)进行比较。

(1)模拟数据

设定10个服从正态分布的差异变量,方差为1,两类间真实区分度用ROC曲线下面积AUC表示,分为0.95和0.85两种情况,样本量为100,即两类各50例。为了接近代谢组学数据结构,噪声变量来自于真实的代谢组学数据,产生方法是将包含动脉粥样硬化患者和健康对照者的代谢组学数据打乱标签后,再从中随机抽取500、1000、2000个变量,作为干扰变量。另外,产生100例模拟数据,并随机抽取100例打乱标签的实际数据,合并在一起作为测试数据。上述过程重复100次。

(2)试验结果

表1、表2给出了在α取值为0.2、0.5、0.8三种情况下,HingeBoost算法建模预测效果。由结果看出,随着α由0.2增大到0.8,灵敏度(Se)升高,特异度(Sp)降低,AUC和错误率(Error)在三种条件下稍有波动,但变化不明显。

对上述模拟数据,分别用四种算法对它们进行建模学习和预测分类,其中HingeBoost选择α=0.5时的模型。每一次分类后,各算法得出ROC曲线下面积AUC值,其值越接近1表示分类效果越好。四种算法建模预测的AUC结果见图1和图2。

由结果看出,不同区分度(θ)和不同噪声数目情况下,HingeBoost算法对测试数据分类的AUC值更接近真实区分度,说明在设定的模拟条件下,其分类效果优于其他三种算法。同时看出,随着噪声变量数目增加,四种算法的分类效果均下降,其中支持向量机下降最快,在噪声变量与差异变量数目相差比较大的情况,HingeBoost算法抗噪声能力明显优于其他算法。

实例分析

为研究HingeBoost算法对实际代谢组学数据的预测分类效果,选取同一批次检测的正离子和负离子两种模式下卵巢癌(恶性肿瘤)患者和卵巢囊肿(良性肿瘤)患者的血浆代谢组学数据进行分析。该数据共包含298例样本,其中卵巢癌患者140例,卵巢囊肿患者158例。正离子模式数据经数据预处理后含2106个分析变量,负离子模式数据经数据预处理后含1827个分析变量。

利用无放回的随机抽样方法,将样本分为训练集和测试集两部分,其中从每组中各抽取80例样本构成训练集,余下138例样本作为测试集。设定种子数后,按此方法重复100次,随机组成100个训练集和测试集,用HingeBoost算法(α=0.5、α=0.2和α=0.8)、AdaBoost算法、支持向量机和随机森林四种方法对训练集建立模型,并对测试集进行分类,再根据这100次的平均结果评价模型预测效果。

根据真实标签与各模型对测试集中每个样本的分类概率或得分,可以计算出相应的ROC曲线下面积(AUC);根据真实标签与测试集的分类结果比较得出每个模型预测的灵敏度(Se)、特异度(Sp)和错误率(Error)。正离子、负离子模式数据分析结果见表3、表4,四种模型预测效果的平均AUC值比较见图3、图4。

可以看出,对正离子模式代谢组学数据,HingeBoost算法(α=0.5)得出的AUC值略低于AdaBoost算法,高于随机森林和支持向量机;而在负离子模式代谢组学数据中,HingeBoost算法(α=0.5)得出的AUC值均优于其他三种算法。两个真实数据结果均显示,在将HingeBoost模型内部参数由0.5调整为0.2后,灵敏度增大、特异度减小,假阴性率降低;由0.5调整为0.8后,灵敏度减小、特异度增大,假阳性率降低。

讨 论

2.模拟试验结果表明,调整HingeBoost算法内部参数,整体判别效果(AUC)基本不改变,但可以影响α对样本的分类预测,α>0.5时侧重于提高特异度,α<0.5时侧重于提高灵敏度。实际中可以根据需要对α进行设定,如筛检试验更注重灵敏度,应该选择较小的α值;如临床诊断试验可能更注重特异度,则需要选择较大的α值。

3.模拟试验结果表明,HingeBoost建模分类的效果不亚于支持向量机、随机森林和AdaBoost算法,特别是在高维数据中建模预测的可行性,同时也显示出了这种新的算法在抗噪特性方面优于其他三种算法。

4.实例分析结果显示,HingeBoost算法应用于真实肿瘤代谢组学数据中具有良好的分类效果,总体上优于随机森林、支持向量机算法,与AdaBoost算法的结果相近。根据实际研究需要,调整HingeBoost模型内部参数α值,可以达到提高灵敏度或特异度的目的。

最后,本文模拟试验和实例分析均在R中实现,其中HingeBoost算法由bst程序包实现,AdaBoost算法由ada程序包实现,支持向量机由e1071程序包实现,随机森林由randomForest程序包实现。

[1]Wang Z.HingeBoost:ROC-based boost for classification and variable selection.Int J Biostat,2011,7(1):1-30.

[2]章光明,刘晋,贾慧珣,等.随机梯度boosting算法在代谢组学研究中的应用.中国卫生统计,2013,30(3):323-326.

[3]武振宇,贾慧珣,朱骥.Boosting算法对卵巢癌代谢组数据的应用研究.中国卫生统计,2012,29(6):786-789.

[4]孙正雅,陶卿.统计机器学习—损失函数与优化求解.中国计算机学会通讯,2009,5(8):7-14.

[5]Yi Lin.A note on margin-based loss functions in classification.Statistics & Probability Letters,2004,68(1):73-82.

[6]Hastie T,Tibshirani R,Friedman J.The elements of statistical learning.Data mining,Inference and Prediction,New York:Springer,2009:337-387.

(责任编辑:郭海强)

The Application of Cost-sensitive HingeBoost to Classification in High-Dimensional Data

Guo Bing,Li Hailong,Hou Yan,et al

(Department of Medical Statistics,Harbin Medical University(150081),Harbin)

Objective To explore the application of cost-sensitive HingeBoost approach to classification in high-dimensional data.Methods HingeBoost was compared with AdaBoost,random forest(RF),and support vector machine(SVM) by analysis of simulation data and metabolomics data,and meanwhile the area under ROC curve,sensitivity,specificity,and predicted error were used to evaluate these approaches.Results As showed in simulation and real data study,the unequal misclassification costs of HingeBoost would affect the results of classification.HingeBoost outperformed AdaBoost,RF,and SVM in the condition of linear data and a large quantity of noise variables.Conclusion HingeBoost was applicable to high-dimensional metabolomics data for its steady ability of noise-resistant and incorporating unequal misclassification costs,which could decrease false positive error or false negative error according to objective.

HingeBoost;Classification;Unequal misclassification costs;High-dimensional data

*:高等学校博士学科专项基金(2012230711004);国家自然科学基金资助(81172767)

△ 通信作者:李康,E-mail:likang@ems.hrbmu.edu.cn

猜你喜欢
代价组学向量
向量的分解
影像组学在肾上腺肿瘤中的研究进展
东莨菪碱中毒大鼠的代谢组学
聚焦“向量与三角”创新题
影像组学在核医学影像中的应用进展
基于UHPLC-Q-TOF/MS的归身和归尾补血机制的代谢组学初步研究
爱的代价
幸灾乐祸的代价
代价
向量垂直在解析几何中的应用