曲线ROC下的面积(简称AUC)是机器学习中一种重要的性能评价准则[1-5],广泛应用于类别不平衡学习、代价敏感学习、信息检索等诸多学习任务。例如,在邮件协调过滤或人脸识别中,某些类别的数据显著多于其他类别,而类别不平衡性比例[6]可能为106之多。对AUC的研究可以追溯至20世纪70年代的雷达信号探测分析,之后AUC被用于心理学、医学检测以及机器学习。直观而言,AUC用于衡量一种学习算法将训练数据中正类数据排在负类数据之前的概率。
由于AUC的广泛实际应用,出现了很多优化AUC学习方法,如支持向量机方法[7-8]、集成学习boosting算法[9-10],以及梯度下降算法[11]。这些方法需要存储整个训练数据集,算法在运行时需要扫描数据多遍,因此难以解决大规模学习任务。在理论方面,AGARWAL和ROTH[12]给出了优化AUC可学习性的充分条件和必要条件,而GAO和ZHOU[13]则根据稳定性给出了可学习性的充要条件。
针对大规模AUC优化学习,ZHAO等[14]于2011年提出优化AUC的在线学习算法,该方法借助于辅助存储器,随机采取正样本与负样本。而辅助存储器的大小与数据规模密切相关,因此很难应用于大规模数据或不断增加的数据。为此,GAO等[3]于2013年提出优化AUC的单遍学习方法,该算法仅需遍历数据一次,通过存储一阶与二阶统计量优化AUC学习。
在实际应用中,存储与计算二阶统计量依旧需要较高的存储与计算开销。因此,本文提出了一种新的优化AUC两遍学习算法TPAUC (two-pass AUC optimization)。该算法遍历数据两遍:第一遍统计正负样本均值,第二遍通过随机梯度方法进行优化AUC学习。新算法只需计算与存储一阶统计量,而不需要存储二阶统计量,从而有效地提高效率,最后本文通过实验验证了该算法的有效性。
1 TPAUC学习方法设示例空间
${{S}} = \{ ({x_1},{y_1}),({x_2},{y_2}), \cdots ,({x_n},{y_n})\} $ |
其中每个训练样本是根据分布
$\sum\limits_{i \ne j} {\frac{{I[f({x_i}) > f({x_j})] + \displaystyle\frac{1}{2}I[f({x_i}) = f({x_j})]}}{{{T_{{{{S}}^ + }}}{T_{{{{S}}^ - }}}}}} $ | (1) |
式中:
直接优化AUC往往等价于NP难问题,从而导致计算不可行。在实际应用中,一种可行的方法是对优化表达式(1)进行一种替代损失函数:
$L(f,S) = \sum\limits_{i \ne j} {\frac{{l(f({x_i}) - f({x_j}))I[{y_i} > {y_j}]}}{{{T_{{{{S}}^ + }}}{T_{{{{S}}^ - }}}}}} $ | (2) |
式中
借鉴于优化AUC单遍学习算法[3],本文采用最小二乘损失函数,即在式(2)中有
$l(f({x_i}) - f({x_j})) = {(1 - f({x_i}) + f({x_j}))^2}$ |
为简洁起见,不妨假设样本总数为
$L({{w}}) = \sum\limits_{i \ne j} {\frac{{l({{w}})I[{y_i} > {y_j}]}}{{{T_{{{{S}}^ + }}}{T_{{{{S}}^ - }}}}}} $ |
式中
$\begin{array}{c}L({{w}}) = {\rm{1 + }}\displaystyle\frac{{\rm{1}}}{{{T_ + }}}{\sum\limits_{i:{y_i} = 1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } ^2}{\rm{ + }}\frac{{\rm{1}}}{{{T_ - }}}{\sum\limits_{i:{y_i} = {\rm{ - }}1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } ^2} - \\[8pt]\displaystyle\frac{{\rm{1}}}{{{T_ + }{T_ - }}}\sum\limits_{i:{y_i} = 1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } \sum\limits_{i:{y_i} = {\rm{ - }}1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } - \\[8pt]\displaystyle\frac{{\rm{2}}}{{{T_ + }}}\sum\limits_{i:{y_i} = 1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } {\rm{ + }}\frac{{\rm{2}}}{{{T_ - }}}\sum\limits_{i:{y_i} = {\rm{ - }}1} {\left\langle {{{w}},{{{x}}_i}} \right\rangle } \end{array}$ |
设正、负样例的协方差矩阵分别为
${{S}}_T^ + = \frac{{\rm{1}}}{{{T_ + }}}\sum\limits_{i:{y_i} = 1} {{{{x}}_i}{{x}}_i^{\rm T}}, \; {{S}}_T^ - = \frac{{\rm{1}}}{{{T_ - }}}\sum\limits_{i:{y_i} = - 1} {{{{x}}_i}{{x}}_i^{\rm T}} $ |
以及设正样例与负样例的均值分别为
${{c}}_T^ + = \frac{{\rm{1}}}{{{T_ + }}}\sum\limits_{i:{y_i} = 1} {{{{x}}_i}}, \; {{c}}_T^ - = \frac{{\rm{1}}}{{{T_ - }}}\sum\limits_{i:{y_i} = - 1} {{{{x}}_i}} $ |
因此表达式
$L({{w}}) = \sum\limits_t {{{{L_t}({{w}})} / T}} $ | (3) |
当
${L_t}({{w}}) = 1 + {{{{\langle {{w}},{{{x}}_t} - {{c}}_T^ + \rangle }^2}} / {{T_ + }}} + {\langle {{w}},{{c}}_T^ + - {{c}}_T^ - \rangle ^2} - 2\langle {{w}},{{c}}_T^ + - {{c}}_T^ - \rangle $ |
当
${L_t}({{w}}) = 1 + {{{{\langle {{w}},{{{x}}_t} - {{c}}_T^ - \rangle }^2}} / {{T_ - }}} + {\langle {{w}},{{c}}_T^ - - {{c}}_T^ + \rangle ^2} - 2\langle {{w}},{{c}}_T^ - - {{c}}_T^ + \rangle $ |
考虑在损失函数中加入正则项,以防止模型过拟合。本文采用随机梯度下降方法[15-19],因此
${{{w}}_t} = {{{w}}_t} - \eta \nabla {L_t}({{{w}}_{t - 1}})$ |
只需得到关于
因此,本文的思想是不需存储协方差矩阵
本文方法的基本流程可以分为两步:第1步遍历数据,统计正样本和负样本均值
本文将在标准真实数据集和高维数据集实验验证所提方法的有效性,其中8个标准数据集分别为diabetes、fourclass、german、splice、usps、letter、magic04、a9a。数据集中样本数量从768~32 561不等,样本维度的范围从8~256。所有数据集的特征都被规范到[-1, 1],多分类问题被转变为两分类问题,随机将类别划分成两类。
TPAUC算法的学习率参数
本文比较了如下5种算法:
1) OPAUC:优化AUC单遍学习算法[3]。
2) OAMseq:优化AUC的在线学习算法[14]。
3) OAMgra:优化AUC的在线学习算法[14]。
4) Online Uni-Exp:优化加权单变量指数损失函数[20]。
5) Online Uni-Squ:优化加权单变量平方损失函数[20]。
实验结果如表1所示,不难发现,本文提出的优化AUC两遍学习方法TPAUC性能与OPAUC相当,但明显优于OAMseq、OAMgra、Online Uni-Exp以及Online Uni-Squ。
本文选用8个高维稀疏数据集,分别为real-sim、rcv、rcv1v2、sector、sector.lvr、news20、ecml2012、news20.b。数据集中样本数量从9 619~456 886不等。特征维度的范围为20 985~1 355 191。实验设置与标准数据集相似,实验结果如表2所示。可以发现,TPAUC算法在高维稀疏数据上与其他算法的效果具有可比性或性能更优。
3 结束语ROC曲线下的面积(简称AUC)是机器学习中一种重要的性能评价准则,由于AUC定义于正负样本之间,传统方法需存储整个数据而不能适用于大数据。为此Gao等提出优化AUC的单遍学习算法,该算法仅需遍历数据一次,通过存储一阶与二阶统计量来进行优化AUC学习。本文致力于减少二阶统计量的计算与存储开销,提出一种新的优化AUC两遍学习算法TPAUC。新提出的算法只需计算与存储一阶统计量,而不需要存储二阶统计量,从而有效地提高效率,最后本文通过实验验证了该算法的有效性。
[1] | HSIEH F, TURNBULL B W. Nonparametric and semiparametric estimation of the receiver operating characteristic curve[J]. The annals of statistics, 1996, 24(1): 25-40. DOI:10.1214/aos/1033066197 (0) |
[2] | ELKAN C. The foundations of cost-sensitive learning[C]//Proceedings of the 17th International Joint Conference on Artificial Intelligence. Seattle, WA, 2001: 973–978. (0) |
[3] | GAO Wei, JIN Rong, ZHU Shenghuo, et al. One-pass AUC optimization[C]//Proceedings of the 30th International Conference on Machine Learning. Atlanta, GA, 2013: 906–914. (0) |
[4] | HAND D J. Measuring classifier performance: a coherent alternative to the area under the ROC curve[J]. Machine learning, 2009, 77(1): 103-123. DOI:10.1007/s10994-009-5119-5 (0) |
[5] | EGAN J P. Signal detection theory and ROC analysis, series in cognition and perception[M]. New York: Academic Press, 1975. (0) |
[6] | WU Jianxin, BRUBAKER S C, MULLIN M D, et al. Fast asymmetric learning for cascade face detection[J]. IEEE transactions on pattern analysis and machine intelligence, 2008, 30(3): 369-382. DOI:10.1109/TPAMI.2007.1181 (0) |
[7] | BREFELD U, SCHEFFER T. AUC maximizing support vector learning[C]//Proceedings of ICML 2005 Workshop on ROC Analysis in Machine Learning. Bonn, Germany, 2005. (0) |
[8] | JOACHIMS T. A support vector method for multivariate performance measures[C]//Proceedings of the 22nd International Conference on Machine Learning. Bonn, Germany, 2005: 377–384. (0) |
[9] | FREUND Y, IYER R, SCHAPIRE R, et al. An efficient boosting algorithm for combining preferences[J]. Journal of machine learning research, 2003, 4: 933-969. (0) |
[10] | RUDIN C, SCHAPIRE R E. Margin-based ranking and an equivalence between AdaBoost and RankBoost[J]. Journal of machine learning research, 2009, 10: 2193-2232. (0) |
[11] | HERSCHTAL A, RASKUTTI B. Optimising area under the ROC curve using gradient descent[C]//Proceedings of the 21st International Conference on Machine Learning. Banff, Alberta, Canada, 2004. (0) |
[12] | AGARWAL S, ROTH D. Learnability of bipartite ranking functions[C]//Proceedings of the 18th Annual Conference on Learning Theory. Bertinoro, Italy, 2005: 16–31. (0) |
[13] | GAO Wei, ZHOU Zhihua. Uniform convergence, stability and learnability for ranking problems[C]//Proceedings of the 23rd International Joint Conference on Artificial Intelligence. Beijing, China, 2013: 1337–1343. (0) |
[14] | ZHAO Peilin, HOI S C H, JIN Rong, et al. Online AUC maximization[C]//Proceedings of the 28th International Conference on Machine Learning. Bellevue, WA, 2011: 233–240. (0) |
[15] | GAO Wei, WANG Lu, JIN Rong, et al. One-pass AUC optimization[J]. Artificial intelligence, 2016, 236: 1-29. DOI:10.1016/j.artint.2016.03.003 (0) |
[16] | SHALEV-SHWARTZ S, SINGER Y, SREBRO N, et al. Pegasos: primal estimated sub-gradient solver for SVM[J]. Mathematical programming, 2011, 127(1): 3-30. DOI:10.1007/s10107-010-0420-4 (0) |
[17] | CESA-BIANCHI N, LUGOSI G. Prediction, learning, and games[M]. New York: Cambridge University Press, 2006. (0) |
[18] | HAZAN E, KALAI A, KALE S, et al. Logarithmic regret algorithms for online convex optimization[C]//Proceedings of the 19th Annual Conference on Learning Theory. Pittsburgh, PA, 2006: 499–513. (0) |
[19] | DEVROYE L, GYÖRFI L, LUGOSI G. A probabilistic theory of pattern recognition[M]. New York: Springer, 1996. (0) |
[20] | KOTŁOWSKI W, DEMBCZYŃSKI K, HÜLLERMEIER E. Bipartite ranking through minimization of univariate loss[C]//Proceedings of the 28th International Conference on Machine Learning. Bellevue, WA, 2011: 1113–1120. (0) |