随着社会的进步和互联网技术的快速发展, 人们获取信息的手段和规模都有了极大的改善, 随之而来的问题是如何利用这些数据.机器学习作为数据挖掘和模式识别的重要手段之一, 越来越引起人们的关注.例如, 遗传算法、决策树、贝叶斯网络、支持向量机等方法被广泛地应用到人脸识别检测系统、计算机视觉和网络安全检测等多个领域中[1-2], 并取得了众多成果.虽然机器学习获取了更多数据, 但是也面临着3大难题: 1)新型领域不断涌现, 如何准确地标识这些数据是一件费时费力的事情; 2)出于数据安全等原因, 无法获取完成分类器学习所需要的足够多的数据; 3)数据的类别不平衡性日趋严重.
传统机器学习假设训练数据与测试数据服从相同的分布, 但很多实际情况下的应用并不满足此假设, 如训练数据过期、训练模型过期、标记训练样本成本过高等问题的出现, 大大影响了数据分析的效能; 另外, 在能够采集到新的不同分布下标记清楚的数据情况下, 完全丢弃这些过期但相关的数据是很浪费的, 因为新采集到的数据往往在数量上是不充足的.迁移学习就是为了更好地利用这类数据而提出的新的研究方向[3], 它放松了对训练数据和测试数据同分布的要求, 充分利用原有的、相关的实例或者已训练的模型, 帮助对新实例的学习, 使得对新实例的学习更快速有效[4-5].例如:学会了识别梨子, 可以帮助识别苹果; 学会了识别自行车, 可以帮助识别摩托车.在迁移学习中, 新实例数据所在的领域称为目标领域, 而相关历史数据所在的领域称为源领域.目前, 在国内外迁移学习领域已经出现了众多成果, 较有代表性的有Quanz等[6]提出的一种基于特征空间的大间隔直推式迁移学习方法(LMPROJ), 该方法通过寻求一个特征变换使得源领域数据和目标领域数据之间的分布距离最小化来实现跨领域学习; 许敏等[7]提出了一种基于SVM[8]的迁移支持向量机TL-SVM, 该算法在训练目标领域模型时参考了源领域分类面参数这一知识, 从而使用目标域少量已标签数据和大量相关领域的旧数据来为目标域构建一个高质量的分类模型.
上述两种迁移方法都没有考虑数据的类别不平衡问题, 而类别不平衡问题在实际生活中很常见, 如质量检测、网络攻击识别和医疗诊断等问题, 其中的少数类样本的识别更具意义, 往往是人们关心和研究的重点.目前解决此问题较为流行的方法是通过欠采样或过采样技术来调整正负类样本的比例, 如:文献[9]采用过采样技术为两类样本设置不同权重来提高少数类样本的分类精度; 文献[10]先定位样本点的分布, 然后抽取不同类别的代表点实现类别间数据的平衡; 文献[11]提出了过采样和欠采样的结合方法来处理不平衡数据的分类问题.但是这些算法会带来新的问题, 即改变样本的原始分布结构, 比如采取精确复制少数类样本的策略容易造成分类器的过拟合, 而采取欠抽样多类样本的策略容易丢失部分样本的分布信息.另外, 由于代价敏感学习[12]关注错分样本的代价, 其相关算法也常用来解决不平衡数据的分类问题.但这些方法均有一个前提, 即训练样本的数量必须是充足的.面对训练数据不足且存在类别不平衡的场景下的分类问题, 上述方法均不能取得理想的效果.
针对这一问题, 本文以孪生支持向量机(Twin support vector machines, TwinSVM)[13]为基础模型, 融入知识嵌入的思想, 提出基于迁移学习理论的知识嵌入孪生支持向量机(Knowledge embedded transfer twin support vector machine, KE-T-TwinSVM).选择TwinSVM为研究模型的原因是其对不同类别样本分别构造分类超平面, 从原理上具备了良好的解决不平衡问题的能力.基于TwinSVM的这一特点, 所提KE-T-TwinSVM在处理类别不平衡数据时亦对两类训练样本分别构造分类超平面, 使得每一个分类超平面与其中一类样本点尽可能近, 同时远离另一类样本点; 此外, KE-T-TwinSVM基于迁移学习理论的知识嵌入思想能够利用源领域数据来协同训练, 缓解了目标领域数据不足的问题, 从而使得分类器的分类性能更为准确.
1 SVM与TwinSVM考虑线性可分的分类问题.设训练集为T={(x1, y1), …, (xl, yl)}∈(X×Y)l, 其中yi∈Y={1, -1}, i=1, 2, …, l.传统的二分类SVM[8]的优化目标函数如下所示:
(1) |
其中: C为正则化参数, ξi为松弛变量.
由式(1)可以看出, 只有采集了足够量的已标记样本作为训练集, 上述传统支持向量机的分类精度才会达到满意的效果, 并且训练集和测试集数据应该是相同分布的.
在处理不平衡数据的分类问题时, SVM往往倾向于追求多数类样本的高识别率来达到整体样本分类误差的最小化.在这种情况下, 分类面不可避免地会向少数类样本发生偏移, 少数类样本的识别就存在较高的误判率.
由Jayadeva等[13]提出的TwinSVM与SVM最大的不同是, TwinSVM将二分类问题转换为两个支持向量机的凸规划问题.另外, 如果一类样本的数量远远大于另外一类样本的数量, TwinSVM还可以分别对这两类的错分样本设置不同的惩罚系数.已有大量的研究工作表明, TwinSVM处理少数类精度的不均衡问题具有优势.如Ganesh等[14]和Arjunan等[15]将其应用于生物医学中, 在对于EMG表面肌电图细分之后产生的不平衡数据集之上使用TwinSVM进行动作判断, 其预测精度明显高于其他一些流行算法.另外, TwinSVM在语音识别方面的应用也取得了不错的效果[16].下面简单介绍TwinSVM的基本思想.
假定属于两类的数据分别用矩阵A+和B-表示, A+∈Rm1×d, B-∈Rm2×d, 其中m1和m2分别为正类和负类样本个数.定义矩阵A、B和v1、v2、e1、e2四个向量[13]如下:
(2) |
其中: e1=(1, …, 1)T∈Rm1, e2=(1, …, 1)T∈Rm2.则相比于SVM, TwinSVM包含两个非平行分类超平面:
(3) |
在求解时, TwinSVM需要分别求解如下TSVM1和TSVM2两个凸规划的优化问题:
(4) |
(5) |
其中: c1和c2为非负参数, ξ1和ξ2为对应维数的松弛向量.对于待测样本x, 决策函数为
TwinSVM不具备迁移学习的能力, 在训练数据不足的情况下, 该方法的分类效果并不理想.
2 知识嵌入的孪生支持向量机为了解决训练数据不足且存在类别不平衡数据的分类问题, 在第1节传统TwinSVM的基础上, 本文提出了基于迁移学习理论的知识嵌入孪生支持向量机(Knowledge embedded transfer twin support vector machine, KE-T-TwinSVM). KE-T-TwinSVM的工作原理和参数学习示意图如图 1所示.第1步, KE-T-TwinSVM为了在目标领域数据不足或缺失的情况下进行分类器的训练, 必须得到来自相关领域(即源领域)知识的辅助, 为此首先使用TwinSVM对源领域数据进行训练, 将得到的分类面参数作为知识传递给新的分类器.第2步, 使用目标领域数据和源领域知识, 构造新的适用于目标领域知识嵌入的迁移孪生支持向量机KE-T-TwinSVM.
从图 1所示的KE-T-TwinSVM构造原理图可以看出, 在目标领域训练数据不足以训练出可靠的分类模型的情况下, 借鉴从与目标领域相近的源领域训练得到知识是一种简单有效的方法.这里令
(6) |
其中: At'和Bt'为目标领域的正类和负类数据, (w1t, b1t)和(w2t, b2t)分别为目标领域正负两类数据的分类面参数, As'和Bs'为源领域的正类和负类数据, (w1s, b1s)和(w2s, b2s)分别为源领域正负两类数据的分类面参数.针对正负分类面, 分别构造知识嵌入的迁移学习项|v1t-v1s|和|v1t-v1s|, 其含义是使得目标领域的正负类分类面与源领域中的正负类分类面尽可能接近.基于知识嵌入的迁移学习项提出如下KE-T-TwinSVM目标函数表达式:
(7) |
(8) |
其中: D和H为非负参数, 用以调节迁移项在目标函数中所占比重; η和ζ为迁移项的松弛向量, η∈Rm1+1, ζ∈Rm2+1.式(7)对应的拉格朗日优化问题如下:
(9) |
根据Karush-Kuhn-Tucker(KKT)[17]条件
(10) |
由式(10)可得
(11) |
将式(11)代入(9), 得
(12) |
式(12)的对偶式表示如下:
(13) |
使用同样的办法可以得到式(8)的对偶式如下:
(14) |
(15) |
对应新样本x, 计算下式:
(16) |
若式(16)为真, 则x属于正类, 否则属于负类.
根据上述描述, 可得线性KE-T-TwinSVM的算法流程如下.
算法1 算法1线性KE-T-TwinSVM算法流程.
输入:源领域数据As'和Bs', 目标领域数据At'和Bt';
输出:目标领域的数据类标签.
Step 1:源领域知识获取阶段.
Step 1.1:使用式(6)得到As和Bs, 设置参数c1、c2、D和H;
Step 1.2:利用TwinSVM得到源领域数据的分类模型;
Step 1.3:求解得到源领域分类面参数v1s和v2s.
Step 2:目标领域迁移学习阶段.
Step 2.1:使用式(6)得到At和Bt, 设置参数c1、c2、D和H;
Step 2.2:求解式(11)、(13)~(15);
Step 2.3:根据式(16)输出待测样本x的类别.
2.2 核化KE-T-TwinSVM本节讨论核化的KE-T-TwinSVM算法.非线性情况下KE-T-TwinSVM的分类超平面变为如下形式:
(17) |
其中: K是核函数, 且K{xi, xj}=(Φ(xi), Φ(xj)), Φ(·)是低维特征空间到高维特征空间的非线性映射; Ct和Cs分别是目标领域和源领域的训练数据集, Ct=(At'T, Bt'T}T, Cs=(As'T, Bs'T}T.
核化KE-T-TwinSVM的拉格朗日优化问题可以表示为
(18) |
(19) |
式(18)的拉格朗日优化表达式为
(20) |
其中α, β, γ, λ, σ为拉格朗日乘子.同样, 根据如下Karush-Kuhn-Tucker(KKT)[17]条件:
(21) |
令
(22) |
(23) |
(24) |
得到式(18)的对偶式如下:
(25) |
使用同样的办法可以得到式(19)的对偶式如下:
(26) |
(27) |
对应新样本x, 计算下式:
(28) |
若式(28)为真, 则x属于正类, 否则属于负类.
根据上面的描述, 可得线性KE-T-TwinSVM的算法流程如下
算法2 核化KE-T-TwinSVM算法流程.
输入:源领域样本As'和Bs', 目标领域样本At'和Bt';
输出:目标领域的数据类标签.
Step 1:源领域知识获取阶段.
Step 1.1:使用式(6)得到As和Bs, 设置参数c1、c2、D和H;
Step 1.2:利用TwinSVM得到源领域数据的分类模型;
Step 1.3:求解得到源领域分类面参数v1s和v2s.
Step 2:目标领域迁移学习阶段.
Step 2.1:使用式(6)得到At和Bt, 设置参数c1、c2、D和H;
Step 2.2:求解式(24)~(27);
Step 2.3:根据式(28)输出待测样本x的类别.
3 实验研究 3.1 实验设置为了验证本文方法的性能, 本节将在各种类型的迁移数据集上对KE-T-TwinSVM算法进行分析与验证.有关实验数据的详细描述分别于3.2节、3.3节和3.4节给出.与KE-T-TwinSVM进行比较的算法包括SVM和适用于类别不平衡数据的4种典型的分类算法: TwinSVM、CS-SVM[18]、BalanceCascade[19]和Adac2[20].为了考察所提KE-T-TwinSVM算法的迁移学习性能, 实验选取了TL-SVM[7]和LMPROJ[6]进行对比.在本文实验部分, 各算法最优参数的设置采取5重交叉验证法选取, 参数的详细设置如表 1所示.所有算法在Matlab2010b环境下实现, SVM算法由LIBSVM软件实现.
为了更好地评价本文方法与其他方法在各种数据集上的性能, 特别是为了更好地呈现出不同程度的非平衡性对算法性能产生的影响, 本文采用基于目标域数据的接受者操作特性曲线下面积(Area under curve, AUC)[21]评价准则来评价算法的分类性能. AUC值在0.5~1之间, 在比较多个分类器时, AUC大的算法则预示其具有比较好的分类性能.
3.2 Newsgroups文本数据集20 Newsgroups数据集包含7个大类20个小类共18 774个文本数据, 从中抽取4个大类共12个小类来设计学习任务, 其中每2个大类可分别被选为正类和负类, 各子类分属不同的领域.抽取的数据集信息见表 2, 各学习任务的领域说明及实验结果见表 3.其中, 邻域表示为[子类号, 占子类样本总量百分比].
由表 3所示的实验结果可以看出:
1) 作为传统的机器学习方法, SVM在迁移数据集上分类效果不佳, 当数据集类别不平衡时, 其分类效果也是最差的, 这说明传统分类方法已经不适合新领域的模式识别问题.
2) TwinSVM、CS-SVM、BalanceCascade和Adac2在类别不平衡数据集上具有一定的优势, 这是因为TwinSVM对正负类分别构造不同的分类面, CS-SVM为不同类别的错分样本设置不同的惩罚系数, Adc2算法为不同类别的样本设置不同的代价参数, 而BalanceCascade通过欠采样技术来调整两类样本比例.然而, 也应注意到, 这4个算法在目标领域和源领域数据分布不同时分类性能较差, 说明目标域数据不充足的分类场景下, 非迁移学习算法已经不再适用.
3) TL-SVM、LMPROJ和KE-T-TwinSVM均是迁移学习方法, 在20 Newsgroups上的表现普遍好于非迁移方法.但是在数据集出现不平衡情况下, TL-SVM和LMPROJ的AUC值下降很快, 原因在于TL-SVM和LMPROJ算法没有考虑到样本容量的差异性和样本分布的不平衡性, 这两个算法构建的分类面易向少数类样本发生偏移, 虽然在多数类样本的识别上准确率较高, 但对少数类样本的识别率较低.本文方法在20 Newsgroups上表现出了良好的适应性能, 均优于其他两种方法, 说明本文所提KE-T-TwinSVM算法能够较好地适用于训练数据不足且存在类别不平衡场景下的分类问题.
3.3 UCI数据集本部分选取8个UCI数据集来考察所提KE-T-TwinSVM的性能, 数据集的基本信息如表 4所示.在构造学习任务时, 分别从数据集中取出互不相同的不同比例的数据构成源领域和目标领域, 为了使两者的分布不同, 在目标领域数据中加入数据均值3 %大小的随机噪声.各个数据集上不同算法的分类性能如表 5所示.其中, 邻域表示为[正/负类, 占训练集的百分比].
根据各算法在UCI数据集上的实验结果可得如下结论:
1) 传统的SVM在分类过程中没有考虑不同样本的类别不平衡性, 也无法将源领域的知识有效地迁移至目标领域来帮助学习, 因此在8种真实数据集上的分类性能均低于其余几种方法.
2) TwinSVM、CS-SVM、BalanceCascade和Adac2在非不平衡情况下分类性能与SVM相当, 在数据集出现类别不平衡的情况下取得了比SVM更好的性能, 但面对迁移分类问题时没有将源领域的知识有效地迁移至目标领域来帮助学习, 因此分类效果不理想.
3) 本文方法KE-T-TwinSVM对两类训练样本分别构造不同的分类超平面, 使得每一个分类超平面与其中一类样本点尽可能近, 而远离另一类样本点, 在处理非不平衡数据分类问题时分类性能优于TL-SVM和LMPROJ; 同时, KE-T-TwinSVM能够利用源领域数据来协同目标领域数据训练, 缓解了目标领域数据不足的问题, 在处理不平衡数据分类问题时获得了较好的分类效果, 几乎在所有数据集上都处于领先地位.
3.4 统计分析为了使得对比更具有统计意义, 本文采用了统计学方法Friedman检验和Host事后检验[22]. Friedman检验是利用秩实现对多个总体分布是否存在显著差异的非参数检验方法, 首先按照各个算法在不同迁移数据集上的平均精度排序; 其次在各个数据集上计算每个算法精度与平均精度之间的差异; 再次按降序对所有差异进行排序; 最后可得每个算法的排名.以这种方式可得Friedman图形化检验结果, 其中实现最低平均值的算法, 即升序排名第1的算法是最好的.实验中将表 3和表 5中的分类AUC值分成2组, 一组是原始迁移数据集对应的分类AUC值, 另一组是构造的不平衡迁移数据集对应的分类AUC值.这2组AUC值对应的Friedman秩如图 2和图 3所示.从图 2和图 3可以看出, 本文提出的KE-T-TwinSVM的分类性能无论在原始迁移数据集还是在不平衡迁移数据集上均优于实验中的7种对比算法.
原始迁移数据集和不平衡迁移数据集对应的分类AUC值对应的Host检验结果如表 6和表 7所示. Host事后检验可以知道各算法性能之间的差异是否是显著的.若根据Host事后检验所得APV(Adjusted p-value)值小于显著性水平0.05, 则说明本文的方法有着显著的优势, 反之则无法说明有显著优势.从表 6可以看出, 在原始迁移数据集上, 即数据不平衡情况不明显的数据集上, 相比于SVM、TwinSVM、BalanceCascade、Adac2、CS-SVM和TL-SVM, 本文提出的KE-T-TwinSVM的分类性能具有显著优势.从表 7也可以看出, 本文算法在不平衡数据集上与7种对比算法相比均具有显著优势.这一统计结果再次验证了所提方法的有效性, 其不仅适用于平衡数据集的迁移场景, 也适用于不平衡数据集的迁移场景.
本文通过将迁移学习理念融入孪生支持向量机, 提出了一种新的知识嵌入的迁移孪生支持向量机, 即KE-T-TwinSVM分类器. KE-T-TwinSVM能够将从源领域中学到的知识应用到目标领域的分类器训练中, 保证了在目标领域缺失或不足的情况下, 分类器依然可以取得较好的效果. KE-T-TwinSVM也能够针对不同类别的样本分别构建不同的分类面, 通过调节不同的参数, 较好地解决类别不平衡数据的分类问题.多个真实数据集的仿真实验表明了本文算法的分类性能较之传统方法有相当的优势.应当指出, 本文算法仍有不足, 例如对KE-T-TwinSVM能否有效解决大样本等问题没有进行深入探讨.当数据容量极大时, 从二次规划求解角度而言, KE-T-TwinSVM仍面临进一步提高实用性的挑战, 这将作为近期的研究重点.
[1] |
Zafeiriou S F, Tefas A, Pitas I. Minimum class variance support vector machines[J]. IEEE Trans on Image Processing, 2007, 16(10): 2551-2564. DOI:10.1109/TIP.2007.904408 |
[2] |
张喆, 韩德强, 杨艺. 基于证据马尔可夫随机场模型的图像分割[J]. 控制与决策, 2017, 32(9): 1607-1613. (Zhang Z, Han D Q, Yang Y. Image segmentation based on evidential Markov random field model[J]. Control and Decision, 2017, 32(9): 1607-1613.) |
[3] |
Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Trans on Knowledge and Data Engineering, 2010, 22(10): 1345-1359. DOI:10.1109/TKDE.2009.191 |
[4] |
Wu Q Y, Wu H R, Zhou X M, et al. Online transfer learning with multiple homogeneous or heterogeneous sources[J]. IEEE Trans on Knowledge and Data Engineering, 2017, 29(7): 1494-1507. DOI:10.1109/TKDE.2017.2685597 |
[5] |
Pan S J, Tsang I W, Kwok J T, et al. Domain adaptation via transfer component analysis[J]. IEEE Trans on Neural Networks, 2011, 22(2): 199-210. |
[6] |
Quanz B, Huan J. Large margin transductive transfer learning[C]. Proc of the 18th ACM Conf on Information and Knowledge Management. New York: ACM press, 2009: 1327-1336. https://www.researchgate.net/publication/221613506_Large_margin_transductive_transfer_learning
|
[7] |
许敏, 王士同, 顾鑫. TL-SVM:一种迁移学习新算法[J]. 控制与决策, 2014, 29(1): 141-146. (Xu M, Wang S T, Gu X. TL-SVM: A transfer learning algorithm[J]. Control and Decision, 2014, 29(1): 141-146.) |
[8] |
Vapnik V. Statistical learning theory[M]. New York: John Wiley and Sons, 1998: 339-350.
|
[9] |
Ramentol E, Caballero Y, Bello R, et al. SMOTE-RSB: A hybrid preprocessing approach based on oversampling and undersampling for high imbalanced data-Sets using SMOTE and rough sets theory[J]. Knowledge and Information Systems, 2012, 33(2): 245-265. |
[10] |
López V, Fernández A, Jesus M, et al. A hierarchical genetic fuzzy system based on genetic programming for addressing classification with highly imbalanced and borderline datasets[J]. Knowledge Based Systems, 2013(38): 85-104. |
[11] |
Chawla N V, Bowyer K W, Hall L O. SMOTE: Synthetic minority over-sampling technique[J]. J of Artificial Intelligence Research, 2002, 16(1): 321-357. |
[12] |
Tang Y, Zhang Y Q, Chawla N V. SVMs modeling for highly imbalanced classification[J]. IEEE Trans on Systems, Man, and Cybernetics, Part B: Cybernetics, 2009, 39(1): 280-288. |
[13] |
Jayadeva K R, Suresh C. Twin support vector machines for pattern classification[J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2007, 29(5): 905-910. DOI:10.1109/TPAMI.2007.1068 |
[14] |
Ganesh R N, Dinesh K K, Jayadeva. Twin SVM for gesture classification using the surface electromyogram[J]. IEEE Trans on Information Technology in Biomedicine, 2010, 14(2): 301-308. DOI:10.1109/TITB.2009.2037752 |
[15] |
Arjunan S P, Kumar D K, Naik G R. A machine learning based method for classification of fractal features of forearms EMG using Twin Support Vector Machines[C]. 2010 Annual Int Conf on Engineering in Medicine and Biology Society(EMBC). Buenos Aires: IEEE, 2010: 4821-4824. https://www.ncbi.nlm.nih.gov/pubmed/21097298
|
[16] |
Liu M, Xie Y, Yao Z, et al. A new hybrid GMM/SVM for speaker verification[C]. The 18th Int Conf on Pattern Recognition. Hong Kong: IEEE, 2006: 314-317. https://www.researchgate.net/publication/224649614_A_New_Hybrid_GMMSVM_for_Speaker_Verification
|
[17] |
Scholkopf B, Herbrich R, Smola A J. A generalized representer theorem[C]. Proc of Conf on Learning Theory. Amsterdam: Springer, 2001: 416-426. https://link.springer.com/chapter/10.1007/3-540-44581-1_27
|
[18] |
Shirazi H M, Vasconcelos N, Iranmehr A. Cost-sensitive support vector machines[J]. J of Machine Learning Research, 2012, 6(5): 387-389. |
[19] |
Liu X Y, Wu J, Zhou Z H. Exploratory undersampling for class imbalance learning[J]. IEEE Trans on Systems, Man, and Cybernetics, Part B: Cybernetics, 2009, 39(2): 539-550. DOI:10.1109/TSMCB.2008.2007853 |
[20] |
Sun Y, Kamel M, Wong A, et al. Cost-sensitive boosting for classification of imbalanced data[J]. Pattern Recognition, 2007, 40(12): 3358-3378. DOI:10.1016/j.patcog.2007.04.009 |
[21] |
Galar M, Fernández A, Barrenechea E, et al. Ordering-based pruning for improving the performance of ensembles of classifiers in the framework of imbalanced datasets[J]. Information Sciences, 2016, 354(2): 178-196. |
[22] |
Jiang Y Z, Deng Z H, Chung F L, et al. Recognition of epileptic EEG signals using a novel multiview TSK fuzzy system[J]. IEEE Trans on Fuzzy Systems, 2017, 25(1): 3-20. DOI:10.1109/TFUZZ.2016.2637405 |