发明内容
为了解决背景技术中所存在的问题,本发明提出了一种基于自注意力机制的IP场景预测方法。
一种基于自注意力机制的IP场景预测方法,
获取IP原始数据及其原始特征;
利用自注意力机制从所述原始特征中获取高阶交叉特征;
将高阶交叉特征与原始数据结合,构造一个新的样本数据;
以原始数据和新的样本数据为输入,分别训练一个全连接网络,两个全连接网络分别根据输入得到各自的预测结果,根据二者输出的结果获取最终的IP场景预测结果。
基于上述,S1,对IP原始数据进行预处理后,将不同的原始特征嵌入至同一低维空间,得到每一个样本的嵌入向量;S2,将样本的嵌入向量,利用自注意力机制,捕获对应样本的高阶交叉特征;S3,训练一个全连接神经网络,它的输入分别是嵌入向量与嵌入向量、对应高阶交叉特征的结合,输出是全连接神经网络根据不同输入得到两个对样本场景的概率分布的估计,将两者求加权和,即可获得对样本IP场景的分类结果;S4,根据步骤S1~S3获取训练模型,对训练模型输入待预测的数据即可执行预测任务。
基于上述,所述IP原始数据的原始特征包括数值特征和分类特征;对IP原始数据进行预处理时,对数值特征进行缺失值处理和数据归一化处理,对分类特征进行字符串类型数据至数值类型数据的转换处理。
基于上述,预处理后的数据x表示为
其中
表示样本的第i个数值特征,
表示样本的第j个分类特征;
对于每个数值特征
通过一组对应的嵌入矩阵
将其嵌入d维空间,即
对于分类特征
q为所有样本的分类特征中类别的数量,通过另一组嵌入矩阵
将其嵌入d维空间,即有
根据上述两种方式,得到步骤S1的输出,即样本的嵌入表示:
其中e∈R(M+N)×d。
基于上述,将嵌入表示e通过权重矩阵转换为索引Q、键K和值V,计算公式如下:
[Q,K,V]=e×[ωq,ωk,ωv]
其中,Q,K,V∈R(M+N)×h,ωq,ωk和ωv∈Rd×h为对应的权重矩阵,h是自注意力机制中隐藏层的维度;
计算索引Q与键K的相似性后,计算特征之间的权重系数A
A=softmax(Q×KT)
其中A∈R(M+N)×(M+N)表示特征之间的注意力权重;
获得注意力向量ea:
ea=A×V。
基于上述,全连接神经网络分为三个部分:
无注意力层,即仅使用步骤S1中获得的样本的嵌入向量e作为输入,经由多层神经网络的计算,得到在不使用注意力机制下对于IP场景的预测结果ynon=σ(Wnone+bnon),其中Wnon是权重矩阵,bnon是对应偏置,σ指作为激活函数的线性整流函数;
自注意力层,根据嵌入向量e和注意力向量ea,将两者结合,输入另一个多层神经网络中,计算基于注意力机制的IP场景预测的结果ya=σ(Wa[e,ea]+ba),其中Wa是权重矩阵,ba是对应偏置,σ指作为激活函数的线性整流函数;
输出层,结合上述无注意力层和自注意力层的预测结果,计算最终的IP场景预测结果y'=softmax(αynon+βya),α和β指的是对最终结果的权重,对于每个样本,y'∈R1×4表示对该样本关于四种IP场景的概率分布。
基于上述,对于全连接神经网络,通过交叉熵定义损失函数
其中y表示样本的真实分布的独热编码,y'表示模型预测的概率分布,通过最小化损失函数,即得到的预测IP场景的分类器。
基于上述,在训练模型中输入待测样本Dtest,得到模型对于四种场景的预测概率分布P=[P1,P2,P3,P4],选择四个概率值最大的值,其对应的场景即为模型预测的IP场景。
基于上述,预测的IP场景包括家庭宽带、企业专线、数据中心和移动网络。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,本发明具有以下有益效果:
1、本发明基于自注意力机制和深度神经网络,提出了一种可用于IP场景预测的方法。相比于传统的人工分类和机器学习方法,本方法不需要相关领域的专业知识,可以根据数据自动的提取特征,进而预测IP的使用场景;
2、本发明提出一种区分数据类型的嵌入方法,对于数值特征和分类特征,我们分别通过不同的处理方式、嵌入矩阵,将不同类型的数据嵌入到同一维度空间中,统一了嵌入后数据特征的维度,使得后续模型的处理数据时不需要考虑数据的类型;
3、本发明利用自注意力机制来提取数据的高阶交叉特征,对于IP场景的预测,传统机器学习方法往往会受到区域因素的影响,当存在多个区域的数据时,模型无法直接取得很好的效果,这是由于模型无法捕获数据中存在的高阶交叉特征,因此预测效果会因区域变化而产生较大的波动,因此本方法使用自注意力机制来捕获数据的高阶交叉特征,使得模型无论在单区域还是多区域数据中,都能拥有较高的准确度。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是基于自注意力机制和深度神经网络的方法,捕获数据中的高阶交叉特征,并借此解决IP场景的预测问题。对于IP场景预测这一任务,我们研究的基本单位是IP块。先后经过以WHOIS数据库中连续的IP集合和BGP网关中的IP集合为边界进行划分后的IP集合,称为IP块。这些IP块内的IP都属于同一使用场景中,因此对IP块的场景预测等价于对块内各IP的预测。
本发明的思路是,利用自注意力机制从IP数据的原始特征中学习到高阶交叉特征,高阶交叉特征可以更加充分地反映数据的本质属性,将高阶交叉特征与原始数据结合,构造一个新的样本数据,同时以原始数据和新数据为输入,分别训练一个全连接网络,那么这两个网络分别接收了数据原始特征和高阶交叉特征的输入,得到各自的预测结果,综合考虑二者输出的结果即为最终的预测结果。
基于上述思路,本发明提出一种基于自注意力机制的IP场景预测方法,其具体包括以下步骤:
S1,对原始数据进行预处理,然后将不同的特征嵌入(Embedding)至同一低维空间,得到每一个样本的嵌入向量;
S2,将样本的嵌入向量,利用自注意力机制,捕获对应样本的高阶交叉特征,这些高阶交叉特征能够更加充分的反映该样本在结合各特征后的本质;
S3,训练一个全连接神经网络,它的输入分别是嵌入向量与嵌入向量、对应高阶交叉特征的结合,输出是全连接神经网络根据不同输入得到两个对样本场景的概率分布的估计,将两者求加权和,即可获得对样本IP场景的分类结果,训练好的模型可以直接被用于后续的预测任务中;
S4,根据前3步骤训练的模型,输入待预测的数据执行预测任务。
具体地,步骤S1,首先是数据预处理。原始数据包括数值特征(numericalfeature)和分类特征(categorical feature)两类数据,数值特征具有实际测量的物理意义,比如IP块覆盖的区域面积、IP块中通过GPS系统探测到位置的IP的比例等;而分类特征代表了被描述对象的性质,比如IP块在WHOIS数据库中的注册域名、注册日期等。对于数值特征,主要是处理缺失值和数据归一化,对于缺失了的数值特征,我们都使用0来填充,之后根据对每一个数值特征做归一化处理,即每个数值都除以对应特征值里最大的数(不考虑负数),该操作旨在消除数据统计时使用不同的量纲或者科学计数法带来的影响。对于分类特征,主要是将字符串类型的数据转换成数值类型的数据,具体做法是:①遍历所有分类特征的值,记录每个值对应的出现次数count;②根据出现次数count进行筛选,本实施例采用的筛选方式是设定阈值threshold为样本数量的1%,如果某特征出现次数超过阈值threshold,则为其从2开始编号,次数不足阈值threshold的特征则全部记为1;③根据编号的数量决定独热编码(One-hot Encoding)后向量的维度,对于缺失值,将其独热编码设置为全0。设定阈值进行筛选旨在减少琐碎数据的干扰,并且能在一定程度上降低计算开销。
之后是对处理后的数据x的特征进行嵌入操作,使其能够作为后续步骤的输入。在IP场景预测领域中,收集到的数据往往是高维并且稀疏的,这使得从数据提取有效信息变得十分困难,因此我们需要对数据进行嵌入降维处理。这一步骤的输入可以用数学符号表示为
其中
表示样本的第i个数值特征,
表示样本的第j个分类特征,不同的整数表示样本属于不同的类别。
对于每个数值特征
我们使用一组对应的嵌入矩阵(embedding matrix)
将其嵌入d维空间,即
对于分类特征
q为所有样本的分类特征中类别的数量,再使用另一组嵌入矩阵
同样将其嵌入d维空间,即有
结合上述两种方式,我们可以得到步骤S1的输出,即样本的嵌入表示:
其中e∈R(M+N)×d,我们通过步骤S1,将源数据也即原始数据由表格数据处理为张量形式,这样做的目的一方面表格数据无法直接用于自注意力机制和神经网络的输入,因此将其转换为张量形式主要是为后续模型处理,另一方面嵌入过程中通过把分类特征从高维空间嵌入低维空间来减少模型的参数。
在步骤S2中,我们主要利用步骤S1中得到的嵌入表示e,结合自注意力机制,获得对应的高阶交叉特征。本方法中,我们使用的是键值对注意力机制(key value attentionmechanism)方式来实现,目前大多方法是可以抽象为三个过程,第一步是将数据中的构成元素视作是由一系列的键-值(Key-Value)数据对构成,计算索引(Query)与键的相似性,第二步是计算每个键对应值的权重系数,第三步是进行加权求和,进而得到最终的注意力(Attention)数值。
具体地,我们首先将嵌入表示e通过权重矩阵转换为索引Q、键K和值V,计算公式如下:
[Q,K,V]=e×[ωq,ωk,ωv]
其中,Q,K,V∈R(M+N)×h,ωq,ωk和ωv∈Rd×h为对应的权重矩阵,h是人为设置的自注意力机制中隐藏层的维度(h的值小于d,本实施例中一般设置为4、8或16),在计算索引与键的相似性时,常见方法是向量点积、向量的余弦相似度或者使用额外的神经网络进行计算。之后是计算特征之间的权重系数A,常用的方法有归一化,即将计算出来的结果成立除以它们之和,使得所有权重的和为1,或者通过softmax的内在机制来突出重要元素的权重。本实施例以向量点积与softmax为例,计算样本特征之间对应的权重系数A:
A=softmax(Q×KT)
其中A∈R(M+N)×(M+N)表示特征之间的注意力权重,使用softmax函数映射到0和1之间的实数,并且归一化保证任意特征对应的权重和为1,根据权重与对应的值,得到最终的注意力向量ea:
ea=A×V
步骤S3的目的是构建一个深度神经网络,将步骤S1的输出e和步骤S2的输出ea作为输入,得到最终的输出结果。深度神经网络主要分为三个部分:
1)无注意力层,即仅使用步骤S1中获得的样本的嵌入向量e作为输入,经由多层神经网络(Multi-Layer Perceptron,MLP)的计算,得到在不使用注意力机制下对于IP场景的预测结果ynon=σ(Wnone+bnon),其中Wnon是的权重矩阵,bnon是对应偏置,σ指作为激活函数的线性整流函数(Rectified Linear Unit,ReLU);
2)自注意力层,根据步骤S1中的嵌入向量e和步骤S2中的注意力向量ea,将两者结合,输入另一个多层神经网络中,计算基于注意力机制的IP场景预测的结果ya=σ(Wa[e,ea]+ba0,其中Wa是的权重矩阵,ba是对应偏置,σ指作为激活函数的线性整流函数;
3)输出层,结合上述两个网络的预测结果,计算最终的IP场景预测结果y'=softmax(αynon+βya0,α和β指的是对最终结果的权重,对于每个样本,y'∈R1×4表示对该样本关于四种IP场景的概率分布。
对于上述网络,我们使用交叉熵(Cross Entropy)来定义损失函数:
其中y表示样本的真实分布的独热编码,y'表示模型预测的概率分布,通过最小化损失函数,我们就得到的一个预测IP场景的分类器。
步骤S4,根据上述三个步骤,训练了一个预测IP场景的模型,我们将待预测的样本Dtest输入模型,能得到模型对于四种场景的预测概率分布P=[P1,P2,P3,P4],选择四个概率值最大的值,其对应的场景即为模型预测的IP场景,至此我们实现了一套基于自注意力机制的IP场景预测方法。
本发明利用全球定位系统(Global Positioning System,GPS),WHOIS数据库以及互联网控制报文协议(Internet Control Message Protocol,ICMP)等方式获取IP地址相关的实验数据,对于IP地址,主要有家庭宽带、企业专线、数据中心和移动网络这四种使用场景,不同的使用场景往往在基准点的分布、端口开放情况和WHOIS注册信息等数据上存在差异。对于这些数据,我们利用自注意力机制(Self-Attention Mechanism),实现自动化特征交叉(Feature Crosses),捕获数据的高阶交叉特征,之后按照一般分类问题(Classification)的做法,通过数个全连接网络构建分类模型,从而达到预测IP地址的使用场景的目的。
具体的,如附图1所示,我们首先在原始数据x上执行步骤S1,经过预处理和嵌入方式得到数据样本的嵌入表示e,然后执行步骤S2计算样本的高阶交叉特征,即注意力数值ea,最后再基于嵌入表示e和注意力数值ea,执行步骤S3通过最小化损失函数F(y,y'0和微调超参数,来训练一个IP场景分类器。
采用实施例提供的自注意力机制的IP场景预测方法在真实数据集中进行验证。数据集涵盖400,000条位于中国的IP块数据,对于单区域情况,我们选择山东和四川的数据,对于多区域情况,我们则将山东、四川的数据进行混合、打乱顺序作为新的数据集,这三份数据我们均以3:1:1的比例划分为训练集、验证集和测试集。首先分别利用上述三个数据集在现有的七种基线方法(NB、SVM、LDA、XGboost、NFM、DCN、xDeepFM)上进行IP场景预测任务,模型的IP场景预测效果见表1未加粗字体部分。再使用本发明提出的基于自注意力机制的可用于多区域的IP场景预测方法(IPSP)进行IP场景预测,效果见表1加粗部分。
我们使用接收者操作特征曲线(receiver operating characteristic curve,ROC)下的面积,即AUC(Area Under Curve)作为模型效果的评价指标,值得一提的是,ROC曲线因为是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(True PositiveRate)为纵坐标,假阳性率(False Positive Rate)为横坐标绘制的曲线,所以常用于二分类问题,对于IP场景这一多分类问题,我们考虑依次计算模型对每个场景预测的AUC值,然后计算均值,得到最终的AUC值。AUC值位于0到1之间,越接近1表示模型的预测效果越好。
表1:在三种数据集上进行IP场景预测的效果
从表1的实验结果可以看出,我们提出的基于自注意力机制的IP场景预测方法,其预测的效果全面优于现有的一些机器学习方法和神经网络方法。由此可知,本发明利用自注意力机制对样本数据提取高阶交叉特征,分别利用原始的嵌入向量和高阶交叉特征作为两个神经网络的输入,最后加权计算预测结果,实现了优于现有方法的IP使用场景预测。
(表格1中其余方法均为现有的方法,简单介绍如下:
NB:全称是Naive Bayes,该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,优点在于学习效率高、运行速度快,缺点是假设变量是独立的,要求过于严格导致当变量不是独立时分类效果很差。其实现过程可参考文献【Nir Friedman,Dan Geiger,and Moises Goldszmidt,“Bayesian network classifiers,”Machinelearning,vol.29,no.2-3,pp.131–163,1997.】
SVM:全称是Support Vector Machine,它是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器,其实现过程可参考文献【Corinna Cortes and Vladimir Vapnik,“Support-vectornetworks,”Machine learning,vol.20,no.3,pp.273–297,1995.】
LDA:全称是Linear Discriminant Analysis,它的核心思想是寻找到最佳的投影方法,将高维的样本投影到特征空间,使得不同类别间的数据距离最大,而同一类别内的数据距离最小,其实现过程可参考文献【Suresh Balakrishnama and AravindGanapathiraju,“Linear discriminant analysis-a brief tutorial,”in Institutefor Signal and information Processing,1998,vol.18,pp.1–8.】
XGboost:全称是eXtreme Gradient Boosting,他由梯度提升框架演化,通过算法的并行计算、近似建树、对稀疏数据的有效处理以及内存使用优化,使得模型的效果优于现有梯度提升模型,其实现过程可参考文献【Tianqi Chen and Carlos Guestrin,“Xgboost:A scalable tree boosting system,”in KDD,2016,pp.785–794.】
NFM:全称是Neural Factorization Machine,它结合Factorization Machine与神经网络,以提升Factorization Machine捕获特征间多阶交叉特征的能力,NFM计算某个特征时会固定一个向量,当此特征与其他特征进行交叉时,都是用同一个的量计算,其实现过程可参考文献【Xiangnan He and Tat-Seng Chua,“Neural factorization machinesfor sparse predictive analytics,”in SIGIR,2017,pp.355–364.】
DCN:全称是Deep Cross Network,它基于Wide&Deep网络,提出了一种交叉网络(Cross Network),并且利用其进行自动特征交叉,其实现过程可参考文献【Ruoxi Wang,Bin Fu,Gang Fu,and Mingliang Wang,“Deep&cross network for ad clickpredictions,”in AD-KDD,2017,pp.1–7.】
xDeepFM:在Factorization Machine的基础上,将其中特征向量级(vector-wise)的思想引入特征交叉部分,其实现过程可参考文献【Jianxun Lian,Xiaohuan Zhou,Fuzheng Zhang,Zhongxia Chen,Xing Xie,and Guangzhong Sun,“xdeepfm:Combiningexplicit and implicit feature in-teractions for recommender systems,”in KDD,2018,pp.1754–1763.】)
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。