Interference Efficiency-based Base Station Selection and Power Allocation Algorithm for Multi-cell Heterogeneous Wireless Networks
-
摘要:
针对多蜂窝多用户异构无线网络干扰管理和效率提升问题,该文研究了基于干扰效率最大的下行链路基站(BS)-用户匹配和功率分配问题。首先,考虑宏用户和微蜂窝用户的服务质量,将问题建模为多变量混合整数非线性规划问题。其次将原问题分解为基站选择和功率分配两个子问题。针对基站选择问题,利用凸优化问题获得最优基站选择策略;针对功率分配问题,利用二次变换法和Dinkelbach辅助变量法,将功率分配问题转换为凸优化问题求解。仿真结果表明,与现有算法对比,该算法具有较好的干扰效率和干扰控制性能。
Abstract:To solve interference management and efficiency improvement of multi-cell multi-user heterogeneous wireless networks, the downlink Base Station (BS)-user matching and power allocation problem are studied to maximize the interference efficiency of femtocells. Firstly, consideration of quality of service of macro cell users and femtocell users, the problem is formulated as a multivariate mixed integer nonlinear programming problem. Secondly, the problem is decomposed into two subproblems. The BS selection problem is solved by convex optimization technique. The power allocation problem is firstly converted into a convex one by using quadratic transformation method and Dinkelbach approach, then the problem is resolved by using Lagrange dual methods and subgradient methods. Simulations results show the effectiveness of the proposed algorithm by comparing with the existing algorithms in terms of interference efficiency and interference management.
-
1. 引言
应用流量识别技术可以识别网络中与网络流量相对应的应用类型,然后识别当前占主要带宽流量的应用类型。企业或者校园的网络管理者能够根据不同的情况适时调整干预关键网络流量[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能更加高效地识别特征分布不同的目标领域应用流量。
2. 模型设计
2.1 基于迁移学习的模型设计
图1是本文使用迁移学习的模式图。通过对知识的迁移,进而来建立一个新的可以应用到目标领域的模型,这样就可以省去应用机器学习时进行人工标记的繁重工作。不同于传统的机器学习方法,迁移学习是尝试将之前已经学习到的知识迁移应用到目标任务当中。
2.2 特征选择
在应用中,每条流量数据由几百个特征来刻画,这些特征可以充分地反映刻画一条流量数据,只要选取合适的学习方法就可以对流量数据的类别进行判断,但是每一条样本的特征维度很高,存在大量冗余的特征,甚至是相同的特征,这样的特征对于模型分类的贡献不大,这些没有性能贡献的特征会使得算法的时间开销和空间开销变大,甚至在多个无用特征的影响下,不同的特征会相互干扰影响,导致训练模型的性能大大降低。
正向余量特征删除法来对剩余特征进行删除,存在一个比较大的问题,在进行删除判断时,计算出所有剩余判断特征的信息增益率权重相关系数,然后通过最小最大平均原则的策略删除增益率权重相关系数大于平均值的特征,最后留下指定数量的特征。这样就会大概率导致最后留下一些相关性低,但是信息增益也比较低的特征。
本文提出了基于逆向信息增益特征提取和迁移学习相结合的应用流量分类方法,在特征的删除策略上,采用逆向特征自删除策略,与正向余量特征删除相比,算法复杂度会上升,计算时间也会增加,通过信息增益率权重和推土机距离(Earth Mover’s Distance, EMD)优先判断是否删除排在后面的特征,可以避免正向余量删除中所存在的问题。
将信息增益和相关系数相结合,得到信息增益权重相关系数
Gρ=1|ρX,Y|×Gain(D,X)=Gain(D,X)|ρX,Y|=Ent(D)−V∑v=1|Dv||D|Ent(Dv)E(XY)−E(X)(Y)√E(X2)−(E(X))2√E(Y2)−(E(Y))2 (1) 可以更加全面立体地反映属性的重要程度,以及属性与属性的冗余度和相关性。
应用间的推土机Wasserstein距离[20],表示在给定度量空间上度量两个概率分布之间的距离度量函数。在最优传输距离中,指的是把概率分布q转换为p的最小传输距离,此最优传输距离也称为地球移动距离、推土机距离。
也可以被解释为在将一种概率以一定的概率分布形状转化为另一种概率分布形状的过程中所消耗的最小能量。例如对于两个分布函数F和G,假设其随机变量为U和V,那么分布函数F和G之间的距离为
Wp(U,V)=(1∫0|F−1(u)−G−1(u)|pdu)1p,p≥1 (2) 与KL散度不同,Wasserstein度量是真实的概率度量。KL不是对称的,因为通常来说
DKL(P||Q)≠DKL(Q||P) ,并且不满足三角不等式DKL(R||P)≤DKL(Q||P)+DKL(R||Q) 。推土机距离具有很多优良的性质,现在被应用到了计算机的很多领域,包括非平滑样本测试、优化拟合、混合模拟分析、图像处理、降维、生成式对抗神经网络、领域自适应以及信号处理中。但是其本身也有一定的缺点,例如计算量较大,不足够健壮等。
从
Ds 中,按照信息增益的值从小到大,从n~1迭代选择出特征,对特征进行判断。例如选择出了特征Xn ,然后将Xn 依次与Xn−1 ~X1 进行计算判断,是否存在可以替代完全特征Xn 的特征,如果存在就将特征Xn 删除,如果不存在就保留特征属性Xn 。此策略按照特征的信息增益较小的特征属性Xn 开始判断,优先删除自信息较小的属性,尽量保留自信息较大的特征属性。在判断是否存在可以完全替代特征
Xn 的特征时,选用信息增益相关系数。首先通过信息增益公式计算出特征Xn 之于特征Xn−1 的信息增益Gain(Xn,Xn−1) ,如果信息增益大于一定的阈值,那么就可以在一定程度上使用特征Xn−1 ,来对特征Xn 进行替代。接着使用相关系数来计算两者之间的相关性和两个特征序列之间的相关性,进而与上一步的信息增益值结合,使用信息增益相关系数的大小进行判断。两者相结合进行判断,可以更加全面地反映出特征与特征之间的关系和联系,不至于太片面。如果流量特征与特征之间的推土机距离越小,特征与特征之间的信息增益权重相关系数越大,可以充分说明两者所具有的相互替代性。
然后通过使用推土机计算公式来对两者的概率分布距离进行计算。
算法所需的最大内存空间主要受到特征结合维度和样本个数的影响,分析可以得出算法的空间复杂度S为
O(n×d) ,即主要受到读入数据集数据的影响,基本已经是最小的内存需要。2.3 距离最小化
通过使用最大均值差异(Maximum Mean Discrepancy, MMD)[21]来衡量源领域与目标领域之间的距离
MMD2(Xs,Xt)=‖1nsn1∑s=1∅(xs)−1ntn2∑t=1∅(xt)‖2H (3) 其中,
∅(⋅) 是映射,将映射中的变量映射到再生希尔伯特空间中,ns 是源领域Xs 中样本的个数,nt 是目标领域Xt 中样本的个数。可以得到两堆数据在再生希尔伯特空间中均值的距离,可以用来求源领域和目标领域在映射后的均值之差。由于实际训练中样本个数是有限的,不会趋向于无穷大,遍历空间中的每一个样本,所以通常会使用经验风险最小化和结构风险最小化作为基本策略来估计期望风险。
结构风险最小化等价于正则化,是用来防止过拟合的产生进而提出来的策略,是在结构风险的基础上加上了表示模型复杂度的正则化项或者惩罚项[22]。结构风险的定义为
Rsrm(f)=1NN∑i=1L(yi,f(xi))+λJ(f) (4) 其中,
J(f) 用来反映模型的复杂度,是定义在假设空间F 上的泛函。复杂度J(f) 越高,表示模型f 越复杂。系数λ 用来权衡模型复杂度和经验风险。上式可以转化为minf∈F1NN∑i=1L(yi,f(xi))+λJ(f) (5) 式(5)中符号与前文公式中的含义相同。
在迁移学习的模型中,通过最大均值差异来度量两个域之间的距离大小
D ,通过最大均值差异来缩小两者之间的距离。将最大均值差异距离转化为矩阵的迹trace, JDA中对于边缘分布,化简整个转换过程
‖1nn∑i=1ZTxsi−1mm∑i=1ZTxti‖2H⇒tr(ZTXM0XTZ) (6) 转换过程为
‖1nsns∑i=1ZTxi−1mns+nt∑j=ns+1ZTxj‖2⇒=‖1nsZT[x1x2…xns]1×ns[1⋮11]ns×1−1ntZT[x1x2…xnt]1×nt[1⋮11]nt×1‖2=tr(1n2sZTXsI(XsI)T+1n2tZTXtI(ZTXtI)T−1nsntZTXsI(ZTXtI)T−1nsntZTXtI(ZTXsI)T)=tr(1n2sZTXsIITXTsZ+1n2tZTXtIITXTtZ−1nsntZTXsIITXTtZ−1nsntZTXtIITXsZ)=tr(ZT(1n2sXsIITXTs+1n2tXtIITXTt−1nsntXsIITXTt−1nsntXtIITXs)Z)=tr(ZT[XsXt][1n2sIIT−1nsntIIT−1nsntIIT1n2tIIT][XsXt]Z) (7) 引入该技巧以后
‖1nsns∑i=1∅(xi)−1ntnt∑j=1∅(xj)‖2⇒=tr([∅(xs)∅(xt)][1n2sIIT−1nsntIIT−1nsntIIT1n2tIIT][∅(xs)T∅(xt)T])=tr([∅(xs)T∅(xt)T][∅(xs)∅(xt)][1n2sIIT−1nsntIIT−1nsntIIT1n2tIIT])=tr([<∅(xs),∅(xs)><∅(xs),∅(xt)><∅(xt),∅(xs)><∅(xt),∅(xt)>][1n2sIIT−1nsntIIT−1nsntIIT1n2tIIT]) (8) 在这里使用了两个比较重要的理论:
‖Z‖2=tr(ZZ2) ,tr(AB)=tr(BA) 在式(8)的推导中。其中,Z 为变换矩阵,M0 为MMD矩阵,X 是源领域和目标领域数据的结合。对于条件分布的适配,使得P(ys|∅(xs)) 与P(yt|∅(xt)) 的距离尽可能小,但是yt 的值不知道,就无法求得条件分布的变换了。但是可以利用统计学上的充分统计量,就是在样本足够的时候,可以从中选择统计一些统计量,来近似地代替要进行估计的量。应用到目标领域样本中没有标签的问题当中就是,使用在上一轮训练得到的模型来预测评估目标领域中的标签,作为条件分布适配的伪标签,根据伪标签来计算源领域与目标领域之间的分布差异。有了上面的理论基础以后,接着要对
M0 进行构造,M0 可以通过式(9)的方式构造(M0)ij={1n×n,Xi,Xj∈Ds1m×m,Xi,Xj∈Dt−1n×m,Xi∈Ds,Xj∈Dt或Xi∈Dt,Xj∈Ds (9) 有了目标领域的伪标签以后,利用与边缘分布变换相同的化简方式,就可以将条件分布差异
D(P(ys|xs)),P(yt|xt)) 进行转化化简C∑c=1‖1nn∑i=1ZTxsi−1mm∑i=1ZTxti‖2H⇒C∑c=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} 将会很容易得出。2.4 应用流量特征的联合分布适应
以往在对源领域到目标领域进行知识的迁移时,要么假设源领域与目标领域的边缘分布不同,要么假设源领域与目标领域的条件分布不同,有的假设两者的差异同时存在,但是没有差异化对待两者之间的差异。为了解决边缘分布与条件分布不同的问题,在动态和定量适应边缘分布与条件分布的基础上添加了定量初始预估策略,加快了后续定量参数的收敛时间,增加动态分布适应的适用性。
根据每个特定的任务自适应地调整边缘分布和条件分布之间的重要性,公式化进行表示为
\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进行表示分析:
通过变换矩阵
\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]。2.5 迭代提高精度
进行条件分布距离计算时,虽然目标领域中的样本没有标签,但是可以使用源领域训练出来的模型进行预测,得到目标领域的伪标签,然后通过逐步迭代,使得伪标签的准确率逐渐上升。进而使得对条件分布距离的计算更加准确。
2.6 动态获取转换主元
在BDA算法中在对特征转换以后,在选择重要转换特征的过程中,直接定义了要选取特征的个数,没有考虑到特征值所反映出来的重要程度,本文通过特征值的大小来判断转换后特征的重要程度,来动态获取转换后的特征数量,避免阈值设置得过大而造成弱特征被选取进来,违背了特征转换的初衷,也可以避免阈值设置过小导致重要特征被丢弃,造成信息丰富度的损失,所带来的性能下降和准确率的下降。定义悬崖式下跌策略,对出现断崖式下跌的特征值所对应的特征向量进行删除,删除策略如图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所示。
在现实中,对目标领域中的所有样本进行标注工作量相对来说是比较大的,但是对目标领域中的部分样本进行标注是比较多的实际情况,所以本文结合两种方法的优点,将针对目标领域中部分样本有标签的半监督平衡分配适应算法记为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 半监督平衡分配适应算法不仅提高了算法的适用性,同时也可以在标注工作量较小的情况下,一定程度上提高算法的准确度。模型的训练数据使用源领域的数据加上已经标注的部分目标领域数据。
{\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%有标签样本作为训练集,对目标领域进行半监督学习。
2.7 复杂度分析
算法的时间复杂度
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}) ,随着样本个数的增加,算法的空间复杂度会呈现出指数级别的上升趋势,因为现实中的样本量都是非常大的,这样将会带来很大的内存消耗,所以这里也是算法将来的一个改进点。3. 实验分析
3.1 实验设置
首先使用迁移学习中广泛使用的公开视觉数据集:Amazon(A), DSLR(D), Webcam(W), Caltech-256(C),进行实验验证,在SMTADA中选用了20%的带标签样本作为辅助训练。公开视觉数据集的样例如图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)。
3.2 性能分析
首先将本文提出的SMTADA算法应用在视觉公开数据集上进行试验,在目标领域中选用20%的带标签数据作为SMTADA中的辅助数据,实验的结果如表2所示。
表 2 添加20%目标领域样本半监督学习结果(%)类别 传统算法 迁移学习算法 k-NN PCA SVM GFK TCA JDA BDA SMTADA C→A 23.7 39.5 53.1 46.0 45.6 43.1 44.9 64.9 C→W 25.8 34.6 41.7 37.0 39.3 39.9 38.6 66.1 C→D 25.5 44.6 47.8 40.8 45.9 49.0 47.8 59.2 A→C 26.0 39.0 41.7 40.7 42.0 40.9 40.9 60.7 A→W 29.8 35.9 31.9 37.0 40.0 38.0 39.3 52.9 A→D 25.5 33.8 44.6 40.1 35.7 42.0 43.3 60.5 W→C 19.9 28.2 28.2 24.8 31.5 33.0 28.9 58.0 W→A 23.0 29.1 27.6 27.6 30.5 29.8 33.0 66.7 W→D 59.2 89.2 78.3 85.4 86.0 89.2 91.7 90.4 D→C 26.3 29.7 26.4 29.3 33.0 31.2 32.5 59.9 D→A 28.5 33.2 26.2 28.7 32.8 33.4 33.1 71.3 D→W 63.4 86.1 52.5 80.3 87.5 89.2 91.9 85.1 平均 31.4 43.6 41.6 43.1 45.8 46.6 47.2 67.1 评价指标使用准确率来表示
{\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可以看出不同的影响因子对模型的准确率会产生不同的影响,可以看出源领域和目标领域的边缘分布和条件分布的确存在分布不同的情况。
与最新的迁移学习方法相比较,在目标领域完全没有标签的情况下,本文提出的方法在一定程度取得了比较好的结果。但是在实际环境中,可以将目标领域数据集的部分样本进行标注,即使目标领域数据集很大,对少量数据样本进行标注不会增加太大工作量,让标注的数据起到领头羊的作用,辅助无标签样本进行分类。实验中使用半监督的SMTADA方法达到了比较好的结果,相比于无监督的方法得到了比较大的提升。
通过上面的实验可以看出本文提出的模型在公开数据集上取得了比较好的结果,然后将算法应用到应用流量识别上,进行试验对比,实验结果如表3所示。
表 3 应用流量实验对比结果(%)流量类别 传统学习算法 迁移学习算法 RandomForest k-NN GaussianNB BDA SMTADA 1→12 90.6 90.4 84.3 87.1 97.2 2→12 91.8 91.9 83.8 87.6 97.9 3→12 90.8 91.4 85.8 88.2 97.5 4→12 91.8 90.0 84.6 87.4 97.3 5→12 92.0 90.4 84.1 91.5 98.0 6→12 91.4 89.7 85.4 87.8 98.2 7→12 89.7 92.0 86.5 91.3 97.1 8→12 92.8 91.5 86.8 88.6 96.6 9→12 91.9 89.6 84.8 88.1 96.8 10→12 90.2 92.6 86.3 81.9 98.1 平均 91.3 90.95 85.24 87.95 97.47 在应用流量识别中,首先使用本域的数据进行训练模型,然后用模型预测本域的应用流量分类准确率达到了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 所选特征的部分含义序号 简称 全称 109 idletime_max_b a 服务端到客户端时连续数据包之间的最大空闲时间 119 RTT_avg_b a 服务端到客户端的RTT平均值 123 RTT_from_3WHS_b a 服务端到客户端TCP 3次握手所计算RTT时间 126 RTT_full_sz_min_a b 客户端到服务端最小RTT样例 223 FFT_all 所有包的IAT傅里叶变换(频率6) 110 Throughput_a b 客户端到服务端的平均吞吐量 1 Client Port 客户端服务端口号 243 FFT_b a 服务端到客户端分组IAT反正切傅里叶变换(频率6) 106 data_xmit_a b 客户端到服务端总数据传输时间 221 FFT_all 所有包的IAT傅里叶变换(频率4) 114 RTT_min_a b 客户端到服务端的最小RTT样例 241 FFT_b a 服务端到客户端分组IAT反正切傅里叶变换(频率4) … … … 所选特征用于SMTADA得到结果如表5所示。
表 5 逆向选择策略所选特征实验结果(%)流量类别 传统学习算法 迁移学习算法 RandomForest k-NN GaussianNB BDA SMTADA SMTADA(P) 1→12 90.6 90.4 84.3 95.3 97.0 97.2 2→12 91.8 91.9 83.8 94.7 96.1 97.9 3→12 90.8 91.4 85.8 93.9 95.9 97.5 4→12 91.8 90.0 84.6 95.8 96.6 97.3 5→12 92.0 90.4 84.1 94.4 95.4 98.0 6→12 91.4 89.7 85.4 94.1 97.2 98.2 7→12 89.7 92.0 86.5 92.7 96.4 97.1 8→12 92.8 91.5 86.8 93.6 96.2 96.6 9→12 91.9 89.6 84.8 91.8 95.5 96.8 10→12 90.2 92.6 86.3 95.1 97.2 98.1 平均 91.3 90.95 85.24 94.14 96.35 97.47 将选择出来的特征应用于SMTADA算法中,从图7可以看出,算法的运行时间缩短了80.2%,由于特征数量的删除,导致了部分信息的缺失,平均准确率比使用全特征时的准确率降低了1.12%。但是为后续的研究以及使用提供了参考价值。
4. 结束语
考虑应用流量特征分布随着时间等因素不断变化问题,本文提出了一种基于SMTADA迁移学习的应用流量分类方法。该方法通过最小化源领域和目标领域特征分布之间的平均均值距离构造迁移转换矩阵,利用转换迁移矩阵将源领域和目标领域特征迁移到同一个特征子空间中,达到减小分布距离的目的。实验结果表明,提出的方法在一定程度上减小了概念漂移等因素导致的源领域与目标领域边缘分布和特征分布不同导致机器学习预测准确率下降的问题。如何进行在线迁移学习,提高迁移过程的动态特征将作为下一步研究工作。
-
表 1 基站-用户匹配选择算法
初始化微蜂窝网络能服务的最大用户数{K^n},最小用户速率需求门限R_{n,k}^{\min }和发射功率{p_n}(t) = {p_0}; 初始化拉格朗日乘子{\beta _k}(0) = {\beta _{k,0}}, {\chi _n}(0) = {\chi _{n,0}}和{\lambda _{n,k}}(0) = {\lambda _{n,k,0}};初始化网络用户数量和基站用户数M,N和K;初始化
步长{s_1}(t),{s_2}(t)和{s_3}(t)。初始化第n个微蜂窝所接入用户数量集合为{U_n} = \varnothing , \left| {{U_n}} \right|为集合中有多少个元素。While t \le {T^{\max } }或者{\left\| { {\varphi }(t + 1) - {\varphi }(t)} \right\|_2} \le \varepsilon ;其中{T^{\max }}为最大迭代次数;\varepsilon 为拉格朗日乘子收敛精度;{\varphi }(t) = {[{\beta _k}(t),{\chi _n}(t),{\lambda _{n,k} }(t)]^{\rm{T} } }。 For k=1:1:K For n=1:1:N if \left| { {U_n} } \right| \le {K^n} 根据式(9)计算{n^*},从而根据式(8)计算{\alpha _{n,k}};根据式(10)—式(12)更新拉格朗日乘子。 Else Break; End if End For 将用户编号k存储在{U_n}中。 End For End while 表 2 最优功率分配算法
初始化微蜂窝网络能服务的最大用户数{K^n},最小用户速率需求门限R_{n,k}^{\min }和发射功率{p_n}(t) = {p_0}; 初始化拉格朗日乘子,网络用户数量和基站用户数,初始化步长和干扰效率。
While j \le J 或者\left| {\dfrac{ {\displaystyle\sum\nolimits_{n = 1}^N {\displaystyle\sum\nolimits_{k = 1}^K { {\alpha _{n,k} }{R_{n,k} }(j)} } } }{ {\displaystyle\sum\nolimits_{m = 1}^M {\displaystyle\sum\nolimits_{n = 1}^N { {p_n}(j){h_{n,m} } } } } } - \eta (j - 1)} \right| > \varepsilon ;其中{T^{\max }}为最大迭代次数;\varepsilon 为收敛精度;For m=1:1:M For k=1:1:K For n=1:1:N 根据式(21)、式(22)计算变量{x_{n,k}}和最优功率{p_n}; 根据式(23)—式(25)更新拉格朗日乘子{\theta _n},{\mu _m},\lambda _{n,m}^{{p} }。 End For End For End For Until t = {T_{\max }}或收敛。
更新 j = j + 1和\eta (j) = \frac{ {\displaystyle\sum\nolimits_{n = 1}^N {\displaystyle\sum\nolimits_{k = 1}^K { {\alpha _{n,k} }{R_{n,k} }(j - 1)} } } }{ {\displaystyle\sum\nolimits_{m = 1}^M {\sum\nolimits_{n = 1}^N { {p_n}(j - 1){h_{n,m} } } } } }。End while -
DAMNJANOVIC A, MONTOJO J, WEI Yongbin, et al. A survey on 3GPP heterogeneous networks[J]. IEEE Wireless Communications, 2011, 18(3): 10–21. doi: 10.1109/MWC.2011.5876496 徐勇军, 李国权, 徐鹏, 等. 异构无线网络资源分配算法研究综述[J]. 重庆邮电大学学报: 自然科学版, 2018, 30(3): 289–299. doi: 10.3979/j.issn.1673-825X.2018.03.001XU Yongjun, LI Guoquan, XU Peng, et al. Survey on resource allocation in heterogeneous wireless network[J]. Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition, 2018, 30(3): 289–299. doi: 10.3979/j.issn.1673-825X.2018.03.001 ZHANG Haijun, LIU Hao, CHENG Julian, et al. Downlink energy efficiency of power allocation and wireless backhaul bandwidth allocation in heterogeneous small cell networks[J]. IEEE Transactions on Communications, 2018, 66(4): 1705–1716. doi: 10.1109/TCOMM.2017.2763623 XIE Renchao, YU F R, JI Hong, et al. Energy-efficient resource allocation for heterogeneous cognitive radio networks with femtocells[J]. IEEE Transactions on Wireless Communications, 2012, 11(11): 3910–3920. doi: 10.1109/TWC.2012.092112.111510 BACCI G, BELMEGA E V, MERTIKOPOULOS P, et al. Energy-aware competitive power allocation for heterogeneous networks under QoS constraints[J]. IEEE Transactions on Wireless Communications, 2015, 14(9): 4728–4742. doi: 10.1109/TWC.2015.2425397 LI Rui, CAO Ning, MAO Minghe, et al. Load-aware energy efficiency with unequal user priority in downlink heterogeneous network system[J]. IEEE Access, 2019, 7: 106275–106283. doi: 10.1109/ACCESS.2019.2920149 MIAO Jie, HU Zheng, YANG Kun, et al. Joint power and bandwidth allocation algorithm with QoS support in heterogeneous wireless networks[J]. IEEE Communications Letters, 2012, 16(4): 479–481. doi: 10.1109/LCOMM.2012.030512.112304 CHOI Y, KIM H, HAN S W, et al. Joint resource allocation for parallel multi-radio access in heterogeneous wireless networks[J]. IEEE Transactions on Wireless Communications, 2010, 9(11): 3324–3329. doi: 10.1109/TWC.2010.11.100045 FOOLADIVANDA D and ROSENBERG C. Joint resource allocation and user association for heterogeneous wireless cellular networks[J]. IEEE Transactions on Wireless Communications, 2013, 12(1): 248–257. doi: 10.1109/TWC.2012.121112.120018 NGO D T, KHAKUREL S, and LE-NGOC T. Joint subchannel assignment and power allocation for OFDMA femtocell networks[J]. IEEE Transactions on Wireless Communications, 2014, 13(1): 342–355. doi: 10.1109/TWC.2013.111313.130645 BOYD S and VANDENBERGHE L. Convex Optimization[M]. Cambridge, UK: Cambridge University Press, 2004. SHEN Kaiming and YU Wei. Fractional programming for communication systems-Part I: Power control and beamforming[J]. IEEE Transactions on Signal Processing, 2018, 66(10): 2616–2630. doi: 10.1109/TSP.2018.2812733 FANG Fang, DING Zhiguo, LIANG Wei, et al. Optimal energy efficient power allocation with user fairness for uplink MC-NOMA systems[J]. IEEE Wireless Communications Letters, 2019, 8(4): 1133–1136. doi: 10.1109/LWC.2019.2908912 XU Yongjun, LI Guoquan, YANG Yang, et al. Robust resource allocation and power splitting in SWIPT enabled heterogeneous networks: A robust minimax approach[J]. IEEE Internet of Things Journal, 2019, 6(6): 10799–10811. doi: 10.1109/JIOT.2019.2941897 XU Quansheng, LI Xi, JI Hong, et al. Energy-efficient resource allocation for heterogeneous services in OFDMA downlink networks: Systematic perspective[J]. IEEE Transactions on Vehicular Technology, 2014, 63(5): 2071–2082. doi: 10.1109/TVT.2014.2312288 WANG Haining, WANG Jiaheng, and DING Zhi. Distributed power control in a two-tier heterogeneous network[J]. IEEE Transactions on Wireless Communications, 2015, 14(12): 6509–6523. doi: 10.1109/TWC.2015.2456055 期刊类型引用(2)
1. 彭馨平,胡海东,张西广. 一种迁移学习中学习率衰减因子调整算法. 佳木斯大学学报(自然科学版). 2024(11): 10-12 . 百度学术
2. 魏莱,谭毅恺,钟保强,蔡泽晗,何倩. 基于云计算的VMware虚拟化平台动态自适应迁移方法. 自动化与仪器仪表. 2023(11): 91-94 . 百度学术
其他类型引用(1)
-