Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于动态平衡自适应迁移学习的流量分类方法

尚凤军 李赛赛 王颖 催云帆

尚凤军, 李赛赛, 王颖, 催云帆. 基于动态平衡自适应迁移学习的流量分类方法[J]. 电子与信息学报, 2022, 44(9): 3308-3319. doi: 10.11999/JEIT210623
引用本文: 尚凤军, 李赛赛, 王颖, 催云帆. 基于动态平衡自适应迁移学习的流量分类方法[J]. 电子与信息学报, 2022, 44(9): 3308-3319. doi: 10.11999/JEIT210623
Wang Bingzhong. UTD FORMULA FOR AN IMPEDANCE WEDGE (TM CASE)[J]. Journal of Electronics & Information Technology, 1990, 12(1): 32-37.
Citation: SHANG Fengjun, LI Saisai, WANG Ying, CUI Yunfan. Traffic Classification Method Based on Dynamic Balance Adaptive Transfer Learning[J]. Journal of Electronics & Information Technology, 2022, 44(9): 3308-3319. doi: 10.11999/JEIT210623

基于动态平衡自适应迁移学习的流量分类方法

doi: 10.11999/JEIT210623
基金项目: 国家自然科学基金(61672004)
详细信息
    作者简介:

    尚凤军:男,教授,博士生导师,主要研究方向为智能网络与通信、无线传感器网络、物联网

    李赛赛:男,硕士,研究方向为机器学习、迁移学习

    王颖:女,博士生,研究方向为深度强化学习

    通讯作者:

    尚凤军 shangfj@cqupt.edu.cn

  • 中图分类号: TP18

Traffic Classification Method Based on Dynamic Balance Adaptive Transfer Learning

Funds: The National Natural Science Foundation of China (61672004)
  • 摘要: 针对应用流量识别性能和准确率降低等问题,该文提出一种动态平衡自适应迁移学习的流量分类算法。首先将迁移学习引入到应用流量识别中,通过将源领域和目标领域的样本特征映射到高维特征空间中,使得源领域和目标领域的边缘分布与条件分布距离尽量小,提出使用概率模型来判断和计算域之间的边缘分布与条件分布的区别,利用概率模型对分类类别确认度的大小,定量来计算平衡因子μ,解决DDA中只考虑到分类错误率,没有考虑到确认度的问题。然后引入断崖式下跌策略动态确定特征主元的数量,将进行转换后的特征使用基础分类器进行训练,通过不断的迭代训练,将最终得到的分类器应用到最新的移动终端应用识别上,比传统机器学习方法的准确率平均提高了7%左右。最后针对特征维度较高的问题,引入逆向特征自删除策略,结合推土机距离(EMD),使用信息增益权重推土机相关系数,提出了针对应用流量识别的特征选择算法,解决了部分特征对模型的分类无法起到任何的帮助,仅仅导致模型的训练时间增加,甚至由于无关特征的存在导致模型的性能和准确率降低等问题,将经过选择处理的特征集作为迁移学习的训练输入数据,使得迁移算法的时间缩短大约80%。
  • 应用流量识别技术可以识别网络中与网络流量相对应的应用类型,然后识别当前占主要带宽流量的应用类型。企业或者校园的网络管理者能够根据不同的情况适时调整干预关键网络流量[1]。然而在真实的世界中,网络流量数据最突出的特点就是其随着时间快速演化,存在概念漂移的现象,并且随着不同的地域和网络环境,其协议类型的分布也不一致[2]。利用机器学习进行流量分类中,原先可以利用的有标签数据变得不再可用,与原来测试样本的分布产生语分布上的不同[3],导致这个假设通常不成立。由于迁移学习没有这些假设,可以将迁移学习用到应用识别上面来,解决这些在现实中不成立的问题。

    针对测试集中应用流量样本的分布与训练集中样本的分布不同的问题。对迁移学习中的领域自适应动态分布适应方法进行了改进,在对源领域到目标领域进行知识的迁移时,不同于以往要么假设源领域与目标领域的边缘分布不同P(xs)P(xt),要么假设源领域与目标领域的条件分布不同P(ys|xs)P(yt|xt),有的假设两者的差异同时存在,但是没有差异化对待两者之间的差异。本文通过在动态和定量适应边缘分布和条件分布的基础上添加了定量初始预估策略,加快了后续定量参数的收敛时间。TrAdaBoost是一种为了解决归纳式迁移学习问题提出的一种算法,是对AdaBoost算法的一种改进,通过实例权重定义策略实现了知识的迁移[4,5]。Pan等人[6]在主成分分析PCA的基础上提出了基于特征的域适应迁移学习算法TCA。季鼎承等人[7]同时考虑多个源领域与目标领域的相关性,进而提出了两种多源学习算法:MTrA和TTrA。MTrA算法的思想是源数据集有多个数据源,每次迭代的过程中选取并使用当前迭代与目标数据相关性最强的数据源训练弱分类器,通过迭代细化策略,进而得到强分类器[8]。其他多源迁移学习:唐诗淇等人[9]提出的迁移学习方法(Online Transfer Learning from Multiple Sources based on Local Classification accuracy, LC-MSOTL)从多个相似的领域迁移知识。张博等人[10]基于特征映射提出的迁移学习方法对多个不同领域的相关性进行学习从而实现知识的迁移。张宁等人[11]提出的K-means-CART使用K均值算法将CART数扩展实现跨领域的迁移学习。洪佳明等人[12]提出的TrSVM是对SVM进行扩展,实现了基于实例的迁移学习。Faddoul等人[13]提出的方法扩展C4.5实现迁移学习。Transitive transfer learning利用第三方学习到的相似关系完成知识的迁移[14],Distant domain TL从多个中间辅助域中选择知识等[15],可以有效地利用多个领域的知识。领域自适应研究如何利用源领域解决目标领域的问题,代表成果有cross-domain transfer[16,17],通过在再生核希尔伯特空间中学习一个领域不变核矩阵,Domain Adaptation Machine[18]等,领域自适应会假设目标领域和源领域在高维空间有相同的条件分布。在动态适应迁移学习(transfer learning with Dynamic Distribution Adaptation, DDA)[19]中,王晋东等人通过使用二分类器模型的错误率来对域之间的散度距离进行计算。但是没有考虑到对分类的确认度,并且通过获取固定数量的转换主元来进行后续的模型训练。

    为了解决应用流量源领域和目标领域分布不同的问题,本文提出了目标领域半监督平衡分布适配算法(Semi-supervised Mobile Terminal Application Distribution Adaptation, SMTADA),更加高效地对分布不同的目标领域流量进行分类。实验结果表明,SMTADA能更加高效地识别特征分布不同的目标领域应用流量。

    图1是本文使用迁移学习的模式图。通过对知识的迁移,进而来建立一个新的可以应用到目标领域的模型,这样就可以省去应用机器学习时进行人工标记的繁重工作。不同于传统的机器学习方法,迁移学习是尝试将之前已经学习到的知识迁移应用到目标任务当中。

    图 1  迁移学习模型设计

    在应用中,每条流量数据由几百个特征来刻画,这些特征可以充分地反映刻画一条流量数据,只要选取合适的学习方法就可以对流量数据的类别进行判断,但是每一条样本的特征维度很高,存在大量冗余的特征,甚至是相同的特征,这样的特征对于模型分类的贡献不大,这些没有性能贡献的特征会使得算法的时间开销和空间开销变大,甚至在多个无用特征的影响下,不同的特征会相互干扰影响,导致训练模型的性能大大降低。

    正向余量特征删除法来对剩余特征进行删除,存在一个比较大的问题,在进行删除判断时,计算出所有剩余判断特征的信息增益率权重相关系数,然后通过最小最大平均原则的策略删除增益率权重相关系数大于平均值的特征,最后留下指定数量的特征。这样就会大概率导致最后留下一些相关性低,但是信息增益也比较低的特征。

    本文提出了基于逆向信息增益特征提取和迁移学习相结合的应用流量分类方法,在特征的删除策略上,采用逆向特征自删除策略,与正向余量特征删除相比,算法复杂度会上升,计算时间也会增加,通过信息增益率权重和推土机距离(Earth Mover’s Distance, EMD)优先判断是否删除排在后面的特征,可以避免正向余量删除中所存在的问题。

    将信息增益和相关系数相结合,得到信息增益权重相关系数

    Gρ=1|ρX,Y|×Gain(D,X)=Gain(D,X)|ρX,Y|=Ent(D)Vv=1|Dv||D|Ent(Dv)E(XY)E(X)(Y)E(X2)(E(X))2E(Y2)(E(Y))2 (1)

    可以更加全面立体地反映属性的重要程度,以及属性与属性的冗余度和相关性。

    应用间的推土机Wasserstein距离[20],表示在给定度量空间上度量两个概率分布之间的距离度量函数。在最优传输距离中,指的是把概率分布q转换为p的最小传输距离,此最优传输距离也称为地球移动距离、推土机距离。

    也可以被解释为在将一种概率以一定的概率分布形状转化为另一种概率分布形状的过程中所消耗的最小能量。例如对于两个分布函数FG,假设其随机变量为UV,那么分布函数FG之间的距离为

    Wp(U,V)=(10|F1(u)G1(u)|pdu)1pp1 (2)

    与KL散度不同,Wasserstein度量是真实的概率度量。KL不是对称的,因为通常来说DKL(P||Q)DKL(Q||P),并且不满足三角不等式DKL(R||P)DKL(Q||P)+DKL(R||Q)

    推土机距离具有很多优良的性质,现在被应用到了计算机的很多领域,包括非平滑样本测试、优化拟合、混合模拟分析、图像处理、降维、生成式对抗神经网络、领域自适应以及信号处理中。但是其本身也有一定的缺点,例如计算量较大,不足够健壮等。

    Ds中,按照信息增益的值从小到大,从n~1迭代选择出特征,对特征进行判断。例如选择出了特征Xn,然后将Xn依次与Xn1X1进行计算判断,是否存在可以替代完全特征Xn的特征,如果存在就将特征Xn删除,如果不存在就保留特征属性Xn。此策略按照特征的信息增益较小的特征属性Xn开始判断,优先删除自信息较小的属性,尽量保留自信息较大的特征属性。

    在判断是否存在可以完全替代特征Xn的特征时,选用信息增益相关系数。首先通过信息增益公式计算出特征Xn之于特征Xn1的信息增益Gain(Xn,Xn1),如果信息增益大于一定的阈值,那么就可以在一定程度上使用特征Xn1,来对特征Xn进行替代。接着使用相关系数来计算两者之间的相关性和两个特征序列之间的相关性,进而与上一步的信息增益值结合,使用信息增益相关系数的大小进行判断。

    两者相结合进行判断,可以更加全面地反映出特征与特征之间的关系和联系,不至于太片面。如果流量特征与特征之间的推土机距离越小,特征与特征之间的信息增益权重相关系数越大,可以充分说明两者所具有的相互替代性。

    然后通过使用推土机计算公式来对两者的概率分布距离进行计算。

    算法所需的最大内存空间主要受到特征结合维度和样本个数的影响,分析可以得出算法的空间复杂度SO(n×d),即主要受到读入数据集数据的影响,基本已经是最小的内存需要。

    通过使用最大均值差异(Maximum Mean Discrepancy, MMD)[21]来衡量源领域与目标领域之间的距离

    MMD2(Xs,Xt)=1nsn1s=1(xs)1ntn2t=1(xt)2H (3)

    其中,()是映射,将映射中的变量映射到再生希尔伯特空间中,ns是源领域Xs中样本的个数,nt是目标领域Xt中样本的个数。可以得到两堆数据在再生希尔伯特空间中均值的距离,可以用来求源领域和目标领域在映射后的均值之差。

    由于实际训练中样本个数是有限的,不会趋向于无穷大,遍历空间中的每一个样本,所以通常会使用经验风险最小化和结构风险最小化作为基本策略来估计期望风险。

    结构风险最小化等价于正则化,是用来防止过拟合的产生进而提出来的策略,是在结构风险的基础上加上了表示模型复杂度的正则化项或者惩罚项[22]。结构风险的定义为

    Rsrm(f)=1NNi=1L(yi,f(xi))+λJ(f) (4)

    其中,J(f)用来反映模型的复杂度,是定义在假设空间F上的泛函。复杂度J(f)越高,表示模型f越复杂。系数λ用来权衡模型复杂度和经验风险。上式可以转化为

    minfF1NNi=1L(yi,f(xi))+λJ(f) (5)

    式(5)中符号与前文公式中的含义相同。

    在迁移学习的模型中,通过最大均值差异来度量两个域之间的距离大小D,通过最大均值差异来缩小两者之间的距离。

    将最大均值差异距离转化为矩阵的迹trace, JDA中对于边缘分布,化简整个转换过程

    1nni=1ZTxsi1mmi=1ZTxti2Htr(ZTXM0XTZ) (6)

    转换过程为

    1nsnsi=1ZTxi1mns+ntj=ns+1ZTxj2⇒=1nsZT[x1x2xns]1×ns[111]ns×11ntZT[x1x2xnt]1×nt[111]nt×12=tr(1n2sZTXsI(XsI)T+1n2tZTXtI(ZTXtI)T1nsntZTXsI(ZTXtI)T1nsntZTXtI(ZTXsI)T)=tr(1n2sZTXsIITXTsZ+1n2tZTXtIITXTtZ1nsntZTXsIITXTtZ1nsntZTXtIITXsZ)=tr(ZT(1n2sXsIITXTs+1n2tXtIITXTt1nsntXsIITXTt1nsntXtIITXs)Z)=tr(ZT[XsXt][1n2sIIT1nsntIIT1nsntIIT1n2tIIT][XsXt]Z) (7)

    引入该技巧以后

    1nsnsi=1(xi)1ntntj=1(xj)2=tr([(xs)(xt)][1n2sIIT1nsntIIT1nsntIIT1n2tIIT][(xs)T(xt)T])=tr([(xs)T(xt)T][(xs)(xt)][1n2sIIT1nsntIIT1nsntIIT1n2tIIT])=tr([<(xs),(xs)><(xs),(xt)><(xt),(xs)><(xt),(xt)>][1n2sIIT1nsntIIT1nsntIIT1n2tIIT]) (8)

    在这里使用了两个比较重要的理论:Z2=tr(ZZ2)tr(AB)=tr(BA)在式(8)的推导中。其中, Z为变换矩阵,M0为MMD矩阵,X是源领域和目标领域数据的结合。对于条件分布的适配,使得P(ys|(xs))P(yt|(xt))的距离尽可能小,但是yt的值不知道,就无法求得条件分布的变换了。但是可以利用统计学上的充分统计量,就是在样本足够的时候,可以从中选择统计一些统计量,来近似地代替要进行估计的量。应用到目标领域样本中没有标签的问题当中就是,使用在上一轮训练得到的模型来预测评估目标领域中的标签,作为条件分布适配的伪标签,根据伪标签来计算源领域与目标领域之间的分布差异。

    有了上面的理论基础以后,接着要对M0进行构造,M0可以通过式(9)的方式构造

    (M0)ij={1n×nXi,XjDs1m×mXi,XjDt1n×mXiDs,XjDtXiDt,XjDs (9)

    有了目标领域的伪标签以后,利用与边缘分布变换相同的化简方式,就可以将条件分布差异D(P(ys|xs)),P(yt|xt))进行转化化简

    Cc=11nni=1ZTxsi1mmi=1ZTxti2HCc=1tr(ZTXM0XTZ) (10)

    将两者相结合,得到一个总的优化目标

    min (11)

    相应的{\boldsymbol{M}}_{c}可以通过式(12)的方式进行构造

    {\left({\boldsymbol{M}}_{c}\right)}_{ij}=\left\{\begin{aligned} & \frac{1}{{n}_{c}\times {n}_{c}},{x}_{i},{x}_{j}\in {D}_{s}^{\left(c\right)}\\ & \frac{1}{{m}_{c}\times {m}_{c}},{x}_{i},{x}_{j}\in {D}_{t}^{\left(c\right)}\\ & \frac{1}{{m}_{c}\times {m}_{c}},\left\{\begin{array}{c}{x}_{i}\in {D}_{s}^{\left(c\right)},{x}_{j}\in {D}_{t}^{\left(c\right)}\\ {x}_{i}\in {D}_{t}^{\left(c\right)},{x}_{j}\in {D}_{s}^{\left(c\right)}\end{array}\right.\\ &\qquad 0,\mathrm{其}\mathrm{他}\end{aligned}\right. (12)

    通过 c=\mathrm{0,1},\cdots ,C 将两者结合到了一起,当 c=0 的时候就是边缘分布的情况,当 c=\mathrm{1,2},\cdots ,C 的时候就是考虑了各个类的条件分布的情况。这样就将边缘分布和条件分布同时考虑到了,但是这里存在一个问题,就是两个分布的重要性是相同的,没有进行区别对待,后面会通过添加动态和定量适应边缘分布和条件分布的调节因子来解决。后半部分根据奥卡姆剃刀原理通过加入正则项来进行模型选择,这样保证在可以解释已知数据的情况下,简单模型将被优先选择。

    通过引入方差不变的限制条件{\boldsymbol{A}}^{\rm{T}}\boldsymbol{X}\boldsymbol{H}{\boldsymbol{X}}^{\rm{T}}\boldsymbol{A}=\boldsymbol{I},使用拉格朗日法,将优化目标转化为

    \left(\boldsymbol{X}\displaystyle\sum _{c=0}^{C}{\boldsymbol{M}}_{c}{\boldsymbol{X}}^{\mathrm{T}}+\lambda I\right)Z={\boldsymbol{X}H\boldsymbol{X}}^{\mathrm{T}}{\boldsymbol{Z}}\varPhi (13)

    其中,\varPhi =\mathrm{d}\mathrm{i}\mathrm{a}\mathrm{g}({\varPhi }_{1},{\varPhi }_{2},\cdots, {\varPhi }_{{k}})\in {\mathbb{R}}^{k\times k}为拉格朗日乘数。这样就可以同时来适配两个分布,并且将其规划到一个优化目标当中。

    变换矩阵\boldsymbol{Z}将会很容易得出。

    以往在对源领域到目标领域进行知识的迁移时,要么假设源领域与目标领域的边缘分布不同,要么假设源领域与目标领域的条件分布不同,有的假设两者的差异同时存在,但是没有差异化对待两者之间的差异。为了解决边缘分布与条件分布不同的问题,在动态和定量适应边缘分布与条件分布的基础上添加了定量初始预估策略,加快了后续定量参数的收敛时间,增加动态分布适应的适用性。

    根据每个特定的任务自适应地调整边缘分布和条件分布之间的重要性,公式化进行表示为

    \begin{split} D\left({D}_{s},{D}_{t}\right)=& \left(1-\mu \right)D\left(P\left({x}_{s}\right),P\left({x}_{t}\right)\right)\\ & +\mu WD\left(P\left({y}_{s}|{x}_{s}\right),P\left({y}_{t}|{x}_{t}\right)\right) \end{split} (14)

    其中, \mu 的取值区间为从0到1,如果 \mu 越趋近于0,表示边缘分布 D\left(P\left({x}_{s}\right),P\left({x}_{t}\right)\right) 的影响比较大,条件分布 D(P\left({y}_{s}|{x}_{s}\right),P({y}_{t}\left|{x}_{t}\right)) 的影响比较小;相应的当 \mu 趋近于1时,表示边缘分布 D\left(P\left({x}_{s}\right),P\left({x}_{t}\right)\right) 的影响比较小,条件分布 D(P\left({y}_{s}|{x}_{s}\right),P({y}_{t}\left|{x}_{t}\right)) 的影响比较大。因为目标领域中样本的标签是伪标签,所以通过迭代伪标签细化策略加权重更新策略,来减少伪标签带来的影响同时提高伪标签的准确率, W 表示目标领域中样本的权重。所以边缘分布与条件分布之间重要性的差异就可以使用动态参数 \mu 结合迭代分配的权重进行动态调节。

    联合分布适应可以通过图2进行表示分析:

    图 2  联合分布适应方法

    通过变换矩阵 \mathbf{Z} 和参数 \mu 将边缘分布和条件分布进行动态的联合分布适应。

    通过使用最大均值差异来评估两个分布之间的差异,可以将上面的公式转化为

    \begin{split} D\left({D}_{{s}},{D}_{t}\right)=& \left(1-u\right)\left\|\frac{1}{n}\sum _{i=1}^{n}{x}_{{s}_{i}}-\frac{1}{m}\sum _{j=1}^{m}{x}_{{t}_{j}}\right\|_{\mathcal{H}}^{2}\\ & + \mu W\sum _{c=1}^{c}\left\|\frac{1}{{n}_{c}} \sum _{{x}_{{s}_{i}}\in {D}_{s}^{c}}{x}_{{s}_{i}} - \frac{1}{{m}_{c}}\sum _{{x}_{{t}_{i}}\in {D}_{t}^{c}}{x}_{{t}_{i}}\right\|_{\mathcal{H}}^{2} \end{split} (15)

    其中, c 表示某个类别, {n}_{c} 表示目标领域中标签为 c 的个数, m 表示目标领域中标签为 c 的个数。 \mathcal{H} 表示可再生希尔伯特空间。

    重要的是目标领域中的样本全部没有标签,所以直接在上面计算条件分布是不可行的,但是可以使用上一步训练的模型进行标签预测来近似计算条件分布。使用上一步的预测模型得到目标领域的样本标签不是十分可靠,但是可以通过迭代逐步进行完善,随着迭代次数的增加以及迭代模型准确率的提升,根据迭代次数的加深以及准确率的提升,使用权重逐步增加条件分布中目标领域样本标签的权重,来实现迭代伪标签细化策略。样本标签权重 W 更新迭代可以表示为

    {W}_{t}=\left\{\begin{aligned} & 0.5             ,t=0\\ & \left(\frac{1}{2T}+{W}_{t-1}\right),t\ge 1 \end{aligned}\right. (16)

    其中, {W}_{t} 表示第 t 轮时样本标签的权重, T 表示总共要迭代的次数, {W}_{t-1} 表示上一轮中样本标签的权重值。

    通过设计一定的计算策略,可以尝试来计算出 \mu 的值。选取概率模型,使用选取的概率模型建立一个分类器,同时考虑到模型分类的错误率 E 和模型分类的概率统计,将两个类域之间的概率散度距离记为 {d}_{p} ,用公式表示为

    {d}_{p}\left({D}_{s},{D}_{t}\right)=\left(1-2E\left(f\right)\right)+\left|\frac{\displaystyle\sum _{1}^{n}P\left({y}_{{s}}\right)}{n}-\frac{\displaystyle\sum _{1}^{n}P\left({y}_{{t}}\right)}{n}\right| (17)

    其中, E\left(f\right) 表示模型 f 的错误率,\displaystyle\sum\nolimits _{1}^{n}P\left({y}_{{s}}\right)表示样本被预测为来自源领域的概率总和,\displaystyle\sum\nolimits_{1}^{n}P\left({y}_{{t}}\right)表示样本被预测为来自目标领域的概率总和,通过使用概率模型,不仅考虑到了模型的准确率,同时也考虑到了模型的确认度,对于一个类别,确认度为0.9的分类和确认度为0.6的分类也可以被反映出来。

    这样就可以通过上面的公式来直接计算两个域之间的边缘分布,对于两个域之间的条件分布散度距离,可以使用 {d}_{c} 来表示两个域之间同一个类别 c 之间的散度距离,来自源领域的 c 类用 {D}_{s}^{c} 示,来自目标领域的 c 类用 {D}_{t}^{c} 表示。可以通过{d}_{c}= d({D}_{s}^{c},{D}_{t}^{c})来计算两个跨域 c 类之间的散度距离。那么最终的 \mu 就可以表示为

    \mu =\dfrac{\displaystyle\sum _{c=1}^{C}{d}_{c}}{{d}_{M}+\displaystyle\sum _{c=1}^{C}{d}_{c}} (18)

    为了使得算法在后面更快地趋于稳定收敛,通过使用一个二分类器,来预测计算源领域与目标领域的边缘分布差异的大小。使用源领域和目标领域的样本进行训练,对目标领域进行预测,得到预测概率结果表,如果源领域与目标领域的边缘分布差异较大,通过对概率表进行统计,可以得到概率表中正样本概率的统计值与负样本概率的统计值差异会越大;相应的,如果源领域与目标领域的边缘概率分布差异较小,那么得到的正样本概率统计值与负样本概率统计值差异会越小,利用这个法则,可以在进行特征适配前,来计算 \mu 的初始值

    {E}_{s}=\left|\frac{\displaystyle\sum _{1}^{n}P\left({y}_{{s}}\right)}{n}-\frac{\displaystyle\sum _{1}^{n}P\left({y}_{{t}}\right)}{n}\right| (19)
    \qquad {E}_{t}=\left|\frac{\displaystyle\sum _{1}^{m}P\left({y}_{{t}}\right)}{m}-\frac{\displaystyle\sum _{1}^{m}P\left({y}_{{s}}\right)}{m}\right| (20)
    \qquad {\mu }_{0}=\frac{{E}_{s}+{E}_{t}}{2} (21)

    其中, y 为概率模型得到的概率值,最后 {\mu }_{0} 的值将落到区间[0,1]。

    进行条件分布距离计算时,虽然目标领域中的样本没有标签,但是可以使用源领域训练出来的模型进行预测,得到目标领域的伪标签,然后通过逐步迭代,使得伪标签的准确率逐渐上升。进而使得对条件分布距离的计算更加准确。

    在BDA算法中在对特征转换以后,在选择重要转换特征的过程中,直接定义了要选取特征的个数,没有考虑到特征值所反映出来的重要程度,本文通过特征值的大小来判断转换后特征的重要程度,来动态获取转换后的特征数量,避免阈值设置得过大而造成弱特征被选取进来,违背了特征转换的初衷,也可以避免阈值设置过小导致重要特征被丢弃,造成信息丰富度的损失,所带来的性能下降和准确率的下降。定义悬崖式下跌策略,对出现断崖式下跌的特征值所对应的特征向量进行删除,删除策略如图3所示。

    图 3  根据特征值删除映射特征向量

    通过计算特征方阵的特征值,来计算出要对映射特征向量进行选择的阈值,定义选择阈值为 {\lambda }_{a} ,其值的大小计算通过下面的公式进行计算

    {\lambda }_{a}=\frac{{\lambda }_{1}+{\lambda }_{2}+\cdots +{\lambda }_{n}}{n} (22)

    动态计算出阈值以后,将满足条件的转换主元选择进来,丢弃不满足条件的转换主元。选取的规则为

    \left\{{\lambda }_{1},{\lambda }_{2},\cdots ,{\lambda }_{n}\right\},({\lambda }_{i} > {\lambda }_{a}) (23)

    在对映射转换后的主元进行选择的时候,通过删除信息丰富度断崖式下跌的特征主元可以得到更加合适的主元特征维度,避免特征信息丰富度被削弱或者对特征信息丰富度提升无关的特征存在。

    通过上面的特征主元动态确定平衡分布适配方法可以很好的适配,由于目标领域中会出现一些完全不同于源领域的样本特征,通过从源领域进行知识的迁移依然无法实现很好的分类识别。为了解决这个难以解决的问题,对目标领域进行半监督的学习,通过对目标领域中的部分样本进行标注来实现,流程如图4所示。

    图 4  半监督学习分布适配模型训练

    在现实中,对目标领域中的所有样本进行标注工作量相对来说是比较大的,但是对目标领域中的部分样本进行标注是比较多的实际情况,所以本文结合两种方法的优点,将针对目标领域中部分样本有标签的半监督平衡分配适应算法记为SMTADA(Semisupervised Mobile Terminal Application Distribution Adaptation),如表1

    表 1  有标签的半监督平衡分配适应算法
     输入:源数据 {\boldsymbol{X}}_{s} ,目标数据 {\boldsymbol{X}}_{t} ,源数据标签 {Y}_{s} 和目标数据标
        签 {Y}_{t} ,迭代次数 T
     输出:分类器 f
     Begin:
      (1) 选择概率模型 {\mu }_{0}=\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{r}\mathrm{t}\mathrm{M}\mathrm{u}({\boldsymbol{X}}_{s},{\boldsymbol{X}}_{t})
      (2) \mathrm{v}\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{c}\mathrm{k}({\boldsymbol{X}}_{s},{\boldsymbol{X}}_{t}) , create H
      (3) for i=0 to T do:
      (4)  updata {\boldsymbol{M}}_{0}
      (5)  for j=0 to C do:
      (6)   if c not in Y_tar_predic
      (7)    continue
      (8)   if c in Y_tar_predic
      (9)    compute {\boldsymbol{M}}_{c} , updata \boldsymbol{M}
      (10) if Y tar_predic is not None
      (11)  updata \mu
      (12) else
      (13)  updata \mu
      (14)  values, vector := eig(dot(K,M,K.T), dot(K,H,K.T))
      (15) use (23) select {\mathrm{v}\mathrm{e}\mathrm{c}\mathrm{t}\mathrm{o}\mathrm{r}}_{\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}
      (16) classifier.fit( {X}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}},{Y}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} )
      (17) \widehat{{y} }=\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}\mathrm{i}\mathrm{c}\mathrm{t}\left({X}_{ {\mathrm{t} }_{\mathrm{n}\mathrm{e}\mathrm{w} } }\right)
      (18) updata W
      (19)return classifier: f
     End
    下载: 导出CSV 
    | 显示表格

    半监督平衡分配适应算法不仅提高了算法的适用性,同时也可以在标注工作量较小的情况下,一定程度上提高算法的准确度。模型的训练数据使用源领域的数据加上已经标注的部分目标领域数据。

    {\boldsymbol{X}}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}={\boldsymbol{X}}_{s}\cup {\boldsymbol{X}}_{\mathrm{p}\mathrm{a}\mathrm{r}{\mathrm{t}}_{t}} (24)

    通过引入目标领域中1%~20%有标签样本作为训练集,对目标领域进行半监督学习。

    算法的时间复杂度 T\left(n\right) 通常使用 O 来表示,时间复杂度从低到高大致可以分为 O\left(1\right) O\left(n\right) O\left({\mathrm{l}\mathrm{o}\mathrm{g}}_{2}\right(n\left)\right) O\left(n{\mathrm{l}\mathrm{o}\mathrm{g}}_{2}\right(n\left)\right) O\left({n}^{2}\right) 。上文提到的T表示迭代次数,通常情况下T的值在设置的时候会小于50,也就是远小于源领域和目标领域中样本的个数。对上述分析可以知道,算法复杂度主要由迭代部分决定,总共有T轮迭代,每轮迭代中循环C轮,每个类别中区域复杂度为 {n}^{2} ,所以总体时间复杂度 T\left(n\right) O\left({TCn}^{2}\right)

    算法的空间复杂度 S\left(n\right) 通常使用 O 来表示,空间复杂度常用的大小有 O\left(1\right),O\left(n\right),O\left({n}^{2}\right) ,算法中要生成一个源领域的样本个数 {n}_{s} 加上目标领域的样本个数 {n}_{t} 的方阵 {\boldsymbol{M}}_{0} 来表示条件分布,也要生成一个同样大小的方阵N,算法所需要的临时空间随着 {n}_{s} {n}_{t} 的大小发生变化,分析可知算法的空间复杂度为 O{\left({(n}_{s}+{n}_{t}\right)}^{2}) ,随着样本个数的增加,算法的空间复杂度会呈现出指数级别的上升趋势,因为现实中的样本量都是非常大的,这样将会带来很大的内存消耗,所以这里也是算法将来的一个改进点。

    首先使用迁移学习中广泛使用的公开视觉数据集:Amazon(A), DSLR(D), Webcam(W), Caltech-256(C),进行实验验证,在SMTADA中选用了20%的带标签样本作为辅助训练。公开视觉数据集的样例如图5所示。

    图 5  公开视觉数据集

    然后将算法应用到移动应用流量识别上,进行试验对比。本文更多地是注重应用流量的分类,而不是流量的采集,所以采用了剑桥大学Nprobe项目中的公共的数据集,是由Moore等人[23]使用Nprobe网络数据统计采集工具获得。该数据集广泛应用于其他各种网络流量分类方法试验分析中。数据集中包含了各种网络流量的统计特征,包括248个属性特征和1个类别标签用来指明流量的类型。特征属性包括服务端端口、客户端端口号以及各种时间间隔,是一个比较全面实用的分类器。数据集包括11个数据集合,其中entry1到entry10这10个数据集合是在一天中的不同时间段获取到的,最后一个数据集entry12是在12个月网络环境发生变化以后进行采集的。每个数据集包括12个类别标签,但是不是每个类别都有足够的样本用于训练,所以最后留下8个类别,删除了4个不适合作为训练分类的样本类别标签。

    每个子数据集虽然有248个特征可供使用,但是有部分特征是冗余的,甚至是相同的,因此通过过滤式特征选择算法来进行特征的选择,减少冗余特征和无用特征对后续模型计算的影响。

    与现阶段一些经典的传统方法进行了比较,传统的迁移学习方法包括:最近邻算法(k-Nearest Neighbors, k-NN)、支持向量机(Supported Vector Machine, SVM)、主成分分析(Principal Component Analysis, PCA)、迁移成分分析(Transfer Component Analysis, TCA)、联合分布适配方法(Joint Distribution Adaptation, JDA)、平衡分布适应迁移学习方法(Balanced Distribution Adaptation for transfer learning, BDA)。

    首先将本文提出的SMTADA算法应用在视觉公开数据集上进行试验,在目标领域中选用20%的带标签数据作为SMTADA中的辅助数据,实验的结果如表2所示。

    表 2  添加20%目标领域样本半监督学习结果(%)
    类别传统算法迁移学习算法
    k-NNPCASVMGFKTCAJDABDASMTADA
    C→A23.739.553.146.045.643.144.964.9
    C→W25.834.641.737.039.339.938.666.1
    C→D25.544.647.840.845.949.047.859.2
    A→C26.039.041.740.742.040.940.960.7
    A→W29.835.931.937.040.038.039.352.9
    A→D25.533.844.640.135.742.043.360.5
    W→C19.928.228.224.831.533.028.958.0
    W→A23.029.127.627.630.529.833.066.7
    W→D59.289.278.385.486.089.291.790.4
    D→C26.329.726.429.333.031.232.559.9
    D→A28.533.226.228.732.833.433.171.3
    D→W63.486.152.580.387.589.291.985.1
    平均31.443.641.643.145.846.647.267.1
    下载: 导出CSV 
    | 显示表格

    评价指标使用准确率来表示

    {\rm{precision}}=\frac{\mathrm{T}\mathrm{P}}{\mathrm{T}\mathrm{P}+\mathrm{F}\mathrm{P}} (25)

    其中,TP表示将正类预测为正类,FP表示将负类预测为正类。可以看到,在选用了目标领域中20%的带标签样本作为辅助训练,使用半监督方式以后,算法的预测准确度得到了比较大的提升。在现实中,目标领域中的样本并不是全部没有标签,对目标领域中的部分样本进行标注,然后使用本文提出的SMTADA方法可以得到比较好的结果,实验结果如表2所示。

    为了验证平衡参数 \mu 对分类结果的影响,首先从0.1到1对参数 \mu 进行遍历,验证边缘分布和条件分布的不同影响。平衡因子 \mu 对模型的性能影响如图6所示。

    图 6  不同参数μ对模型的影响

    图6可以看出不同的影响因子对模型的准确率会产生不同的影响,可以看出源领域和目标领域的边缘分布和条件分布的确存在分布不同的情况。

    与最新的迁移学习方法相比较,在目标领域完全没有标签的情况下,本文提出的方法在一定程度取得了比较好的结果。但是在实际环境中,可以将目标领域数据集的部分样本进行标注,即使目标领域数据集很大,对少量数据样本进行标注不会增加太大工作量,让标注的数据起到领头羊的作用,辅助无标签样本进行分类。实验中使用半监督的SMTADA方法达到了比较好的结果,相比于无监督的方法得到了比较大的提升。

    通过上面的实验可以看出本文提出的模型在公开数据集上取得了比较好的结果,然后将算法应用到应用流量识别上,进行试验对比,实验结果如表3所示。

    表 3  应用流量实验对比结果(%)
    流量类别传统学习算法迁移学习算法
    RandomForestk-NNGaussianNBBDASMTADA
    1→1290.690.484.387.197.2
    2→1291.891.983.887.697.9
    3→1290.891.485.888.297.5
    4→1291.890.084.687.497.3
    5→1292.090.484.191.598.0
    6→1291.489.785.487.898.2
    7→1289.792.086.591.397.1
    8→1292.891.586.888.696.6
    9→1291.989.684.888.196.8
    10→1290.292.686.381.998.1
    平均91.390.9585.2487.9597.47
    下载: 导出CSV 
    | 显示表格

    在应用流量识别中,首先使用本域的数据进行训练模型,然后用模型预测本域的应用流量分类准确率达到了95%,但是由于概念漂移、新应用的不断产生以及网络拓扑和时间的变化,新的应用流量的统计特征将不再符合训练数据和测试数据来自同一个特征空间,特征遵循相同的概率分布这一假设。所以传统的机器学习算法在不服从这一假设的情况下,效果并不是很好。而迁移学习没有这一假设,通过一定的迁移策略进行知识的迁移,使得模型达到了比传统机器学习相对更好的效果。

    然后对源领域和目标领域中的数据集进行特征选择,通过本文提出的应用流量逆向特征自删除策略进行特征的选择选出来的特征集合为{109, 119, 123, 126, 223, 110, 1, 243, 233, 106, 221, 114, 241, 115, 22, 231, 122, 165, 111, 155, 162, 169, 163, 164, 42, 93, 92, 186, 95, 94, 0},一共31个特征属性,通过表4展示了部分所选特征的含义。

    表 4  所选特征的部分含义
    序号简称全称
    109idletime_max_b a服务端到客户端时连续数据包之间的最大空闲时间
    119RTT_avg_b a服务端到客户端的RTT平均值
    123RTT_from_3WHS_b a服务端到客户端TCP 3次握手所计算RTT时间
    126RTT_full_sz_min_a b客户端到服务端最小RTT样例
    223FFT_all所有包的IAT傅里叶变换(频率6)
    110Throughput_a b客户端到服务端的平均吞吐量
    1Client Port客户端服务端口号
    243FFT_b a服务端到客户端分组IAT反正切傅里叶变换(频率6)
    106data_xmit_a b客户端到服务端总数据传输时间
    221FFT_all所有包的IAT傅里叶变换(频率4)
    114RTT_min_a b客户端到服务端的最小RTT样例
    241FFT_b a服务端到客户端分组IAT反正切傅里叶变换(频率4)
    下载: 导出CSV 
    | 显示表格

    所选特征用于SMTADA得到结果如表5所示。

    表 5  逆向选择策略所选特征实验结果(%)
    流量类别传统学习算法迁移学习算法
    RandomForestk-NNGaussianNBBDASMTADASMTADA(P)
    1→1290.690.484.395.397.097.2
    2→1291.891.983.894.796.197.9
    3→1290.891.485.893.995.997.5
    4→1291.890.084.695.896.697.3
    5→1292.090.484.194.495.498.0
    6→1291.489.785.494.197.298.2
    7→1289.792.086.592.796.497.1
    8→1292.891.586.893.696.296.6
    9→1291.989.684.891.895.596.8
    10→1290.292.686.395.197.298.1
    平均91.390.9585.2494.1496.3597.47
    下载: 导出CSV 
    | 显示表格

    将选择出来的特征应用于SMTADA算法中,从图7可以看出,算法的运行时间缩短了80.2%,由于特征数量的删除,导致了部分信息的缺失,平均准确率比使用全特征时的准确率降低了1.12%。但是为后续的研究以及使用提供了参考价值。

    图 7  特征选取前后所用时间对比

    考虑应用流量特征分布随着时间等因素不断变化问题,本文提出了一种基于SMTADA迁移学习的应用流量分类方法。该方法通过最小化源领域和目标领域特征分布之间的平均均值距离构造迁移转换矩阵,利用转换迁移矩阵将源领域和目标领域特征迁移到同一个特征子空间中,达到减小分布距离的目的。实验结果表明,提出的方法在一定程度上减小了概念漂移等因素导致的源领域与目标领域边缘分布和特征分布不同导致机器学习预测准确率下降的问题。如何进行在线迁移学习,提高迁移过程的动态特征将作为下一步研究工作。

  • 图  1  迁移学习模型设计

    图  2  联合分布适应方法

    图  3  根据特征值删除映射特征向量

    图  4  半监督学习分布适配模型训练

    图  5  公开视觉数据集

    图  6  不同参数μ对模型的影响

    图  7  特征选取前后所用时间对比

    表  1  有标签的半监督平衡分配适应算法

     输入:源数据 {\boldsymbol{X}}_{s} ,目标数据 {\boldsymbol{X}}_{t} ,源数据标签 {Y}_{s} 和目标数据标
        签 {Y}_{t} ,迭代次数 T
     输出:分类器 f
     Begin:
      (1) 选择概率模型 {\mu }_{0}=\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{r}\mathrm{t}\mathrm{M}\mathrm{u}({\boldsymbol{X}}_{s},{\boldsymbol{X}}_{t})
      (2) \mathrm{v}\mathrm{s}\mathrm{t}\mathrm{a}\mathrm{c}\mathrm{k}({\boldsymbol{X}}_{s},{\boldsymbol{X}}_{t}) , create H
      (3) for i=0 to T do:
      (4)  updata {\boldsymbol{M}}_{0}
      (5)  for j=0 to C do:
      (6)   if c not in Y_tar_predic
      (7)    continue
      (8)   if c in Y_tar_predic
      (9)    compute {\boldsymbol{M}}_{c} , updata \boldsymbol{M}
      (10) if Y tar_predic is not None
      (11)  updata \mu
      (12) else
      (13)  updata \mu
      (14)  values, vector := eig(dot(K,M,K.T), dot(K,H,K.T))
      (15) use (23) select {\mathrm{v}\mathrm{e}\mathrm{c}\mathrm{t}\mathrm{o}\mathrm{r}}_{\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}
      (16) classifier.fit( {X}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}},{Y}_{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} )
      (17) \widehat{{y} }=\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}\mathrm{i}\mathrm{c}\mathrm{t}\left({X}_{ {\mathrm{t} }_{\mathrm{n}\mathrm{e}\mathrm{w} } }\right)
      (18) updata W
      (19)return classifier: f
     End
    下载: 导出CSV

    表  2  添加20%目标领域样本半监督学习结果(%)

    类别传统算法迁移学习算法
    k-NNPCASVMGFKTCAJDABDASMTADA
    C→A23.739.553.146.045.643.144.964.9
    C→W25.834.641.737.039.339.938.666.1
    C→D25.544.647.840.845.949.047.859.2
    A→C26.039.041.740.742.040.940.960.7
    A→W29.835.931.937.040.038.039.352.9
    A→D25.533.844.640.135.742.043.360.5
    W→C19.928.228.224.831.533.028.958.0
    W→A23.029.127.627.630.529.833.066.7
    W→D59.289.278.385.486.089.291.790.4
    D→C26.329.726.429.333.031.232.559.9
    D→A28.533.226.228.732.833.433.171.3
    D→W63.486.152.580.387.589.291.985.1
    平均31.443.641.643.145.846.647.267.1
    下载: 导出CSV

    表  3  应用流量实验对比结果(%)

    流量类别传统学习算法迁移学习算法
    RandomForestk-NNGaussianNBBDASMTADA
    1→1290.690.484.387.197.2
    2→1291.891.983.887.697.9
    3→1290.891.485.888.297.5
    4→1291.890.084.687.497.3
    5→1292.090.484.191.598.0
    6→1291.489.785.487.898.2
    7→1289.792.086.591.397.1
    8→1292.891.586.888.696.6
    9→1291.989.684.888.196.8
    10→1290.292.686.381.998.1
    平均91.390.9585.2487.9597.47
    下载: 导出CSV

    表  4  所选特征的部分含义

    序号简称全称
    109idletime_max_b a服务端到客户端时连续数据包之间的最大空闲时间
    119RTT_avg_b a服务端到客户端的RTT平均值
    123RTT_from_3WHS_b a服务端到客户端TCP 3次握手所计算RTT时间
    126RTT_full_sz_min_a b客户端到服务端最小RTT样例
    223FFT_all所有包的IAT傅里叶变换(频率6)
    110Throughput_a b客户端到服务端的平均吞吐量
    1Client Port客户端服务端口号
    243FFT_b a服务端到客户端分组IAT反正切傅里叶变换(频率6)
    106data_xmit_a b客户端到服务端总数据传输时间
    221FFT_all所有包的IAT傅里叶变换(频率4)
    114RTT_min_a b客户端到服务端的最小RTT样例
    241FFT_b a服务端到客户端分组IAT反正切傅里叶变换(频率4)
    下载: 导出CSV

    表  5  逆向选择策略所选特征实验结果(%)

    流量类别传统学习算法迁移学习算法
    RandomForestk-NNGaussianNBBDASMTADASMTADA(P)
    1→1290.690.484.395.397.097.2
    2→1291.891.983.894.796.197.9
    3→1290.891.485.893.995.997.5
    4→1291.890.084.695.896.697.3
    5→1292.090.484.194.495.498.0
    6→1291.489.785.494.197.298.2
    7→1289.792.086.592.796.497.1
    8→1292.891.586.893.696.296.6
    9→1291.989.684.891.895.596.8
    10→1290.292.686.395.197.298.1
    平均91.390.9585.2494.1496.3597.47
    下载: 导出CSV
  • [1] 邹腾宽, 汪钰颖, 吴承荣. 网络背景流量的分类与识别研究综述[J]. 计算机应用, 2019, 39(3): 802–811. doi: 10.11772/j.issn.1001-9081.2018071552

    ZOU Tengkuan, WANG Yuying, and WU Chengrong. Review of network background traffic classification and identification[J]. Journal of Computer Applications, 2019, 39(3): 802–811. doi: 10.11772/j.issn.1001-9081.2018071552
    [2] SUN Guanglu, LIANG Lili, CHEN Teng, et al. Network traffic classification based on transfer learning[J]. Computers & Electrical Engineering, 2018, 69: 920–927. doi: 10.1016/j.compeleceng.2018.03.005
    [3] 李猛, 李艳玲, 林民. 命名实体识别的迁移学习研究综述[J]. 计算机科学与探索, 2020, 15(2): 206–218. doi: 10.3778/j.issn.1673-9418.2003049

    LI Meng, LI Yanling, and LIN Min. Review of transfer learning for named entity recognition[J]. Journal of Frontiers of Computer Science and Technology, 2020, 15(2): 206–218. doi: 10.3778/j.issn.1673-9418.2003049
    [4] WANG Jindong. Concise handbook of transfer learning[EB/OL].https://www.sohu.com/a/420774574_114877.
    [5] 李号号. 基于实例的迁移学习技术研究及应用[D]. [硕士论文], 武汉大学, 2018.

    LI Haohao. Research and application of instance-based transfer learning[D]. [Master dissertation], Wuhan University, 2018.
    [6] PAN S J, TSANG I W, KWOK J T, et al. Domain adaptation via transfer component analysis[J]. IEEE Transactions on Neural Networks, 2011, 22(2): 199–210. doi: 10.1109/TNN.2010.2091281
    [7] 季鼎承, 蒋亦樟, 王士同. 基于域与样例平衡的多源迁移学习方法[J]. 电子学报, 2019, 47(3): 692–699.

    JI Dingcheng, JIANG Yizhang, and WANG Shitong. Multi-source transfer learning method by balancing both the domains and instances[J]. Acta Electronica Sinica, 2019, 47(3): 692–699.
    [8] YAO Yi and DORETTO G. Boosting for transfer learning with multiple sources[C]. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Francisco, USA, 2010: 1855–1862.
    [9] 唐诗淇, 文益民, 秦一休. 一种基于局部分类精度的多源在线迁移学习算法[J]. 软件学报, 2017, 28(11): 2940–2960. doi: 10.13328/j.cnki.jos.005352

    TANG Shiqi, WEN Yimin, and QIN Yixiu. Online transfer learning from multiple sources based on local classification accuracy[J]. Journal of Software, 2017, 28(11): 2940–2960. doi: 10.13328/j.cnki.jos.005352
    [10] 张博, 史忠植, 赵晓非, 等. 一种基于跨领域典型相关性分析的迁移学习方法[J]. 计算机学报, 2015, 38(7): 1326–1336. doi: 10.11897/SP.J.1016.2015.01326

    ZHANG Bo, SHI Zhongzhi, ZHAO Xiaofei, et al. A transfer learning based on canonical correlation analysis across different domains[J]. Chinese Journal of Computers, 2015, 38(7): 1326–1336. doi: 10.11897/SP.J.1016.2015.01326
    [11] 张宁. 基于决策树分类器的迁移学习研究[D]. [硕士论文], 西安电子科技大学, 2014.

    ZHANG Ning. Research on transfer learning based on decision tree classifier[D]. [Master dissertation], Xidian University, 2014.
    [12] 洪佳明, 印鉴, 黄云, 等. TrSVM: 一种基于领域相似性的迁移学习算法[J]. 计算机研究与发展, 2011, 48(10): 1823–1830.

    HONG Jiaming, YIN Jian, HUANG Yun, et al. TrSVM: A transfer learning algorithm using domain similarity[J]. Journal of Computer Research and Development, 2011, 48(10): 1823–1830.
    [13] FADDOUL J B and CHIDLOVSKII B. Learning multiple tasks with boosted decision trees[P]. US, 8694444, 2014.
    [14] WAN Zitong, YANG Rui, HUANG Mengjie, et al. A review on transfer learning in EEG signal analysis[J]. Neurocomputing, 2021, 421: 1–14. doi: 10.1016/j.neucom.2020.09.017
    [15] TAN Ben, ZHANG Yu, PAN S, et al. Distant domain transfer learning[C]. The Thirty-First AAAI Conference on Artificial Intelligence, San Francisco, USA, 2017: 2604–2610.
    [16] CHIANG K J, WEI Chunshu, NAKANISHI M, et al. Boosting template-based SSVEP decoding by cross-domain transfer learning[J]. Journal of Neural Engineering, 2021, 18(1): 016002. doi: 10.1088/1741-2552/abcb6e
    [17] NIU Shuteng, HU Yihao, WANG Jian, et al. Feature-based distant domain transfer learning[C]. 2020 IEEE International Conference on Big Data (Big Data), Atlanta, USA, 2020: 5164–5171.
    [18] DUAN Lixin, XU Dong, and TSANG I W H. Domain adaptation from multiple sources: A domain-dependent regularization approach[J]. IEEE Transactions on Neural Networks and Learning Systems, 2012, 23(3): 504–518. doi: 10.1109/TNNLS.2011.2178556
    [19] WANG Jindong, CHEN Yiqiang, FENG Wenjie, et al. Transfer learning with dynamic distribution adaptation[J]. ACM Transactions on Intelligent Systems and Technology, 2020, 11(1): 6. doi: 10.1145/3360309
    [20] JIANG R, PACCHIANO A, STEPLETON T, et al. Wasserstein fair classification[C]. The Thirty-Fifth Conference on Uncertainty in Artificial Intelligence, Tel Aviv, Israel, 2019: 862–872.
    [21] PRONZATO L. Performance analysis of greedy algorithms for minimising a maximum mean discrepancy[J]. arXiv preprint arXiv: 2101.07564, 2021.
    [22] 张东光. 统计学[M]. 2版. 北京: 科学出版社, 2020: 161–169.

    ZHANG Dongguang. Statistics[M]. 2nd ed. Beijing: China Science Press, 2020: 161–169.
    [23] MOORE A W and ZUEV D. Internet traffic classification using bayesian analysis techniques[J]. ACM SIGMETRICS Performance Evaluation Review, 2005, 33(1): 50–60. doi: 10.1145/1071690.1064220
  • 期刊类型引用(2)

    1. 彭馨平,胡海东,张西广. 一种迁移学习中学习率衰减因子调整算法. 佳木斯大学学报(自然科学版). 2024(11): 10-12 . 百度学术
    2. 魏莱,谭毅恺,钟保强,蔡泽晗,何倩. 基于云计算的VMware虚拟化平台动态自适应迁移方法. 自动化与仪器仪表. 2023(11): 91-94 . 百度学术

    其他类型引用(1)

  • 加载中
图(7) / 表(5)
计量
  • 文章访问数:  814
  • HTML全文浏览量:  619
  • PDF下载量:  101
  • 被引次数: 3
出版历程
  • 收稿日期:  2021-06-22
  • 修回日期:  2022-01-28
  • 录用日期:  2022-03-10
  • 网络出版日期:  2022-03-20
  • 刊出日期:  2022-09-19

目录

/

返回文章
返回