一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络指纹识别模型训练方法、识别方法、设备及存储介质

2023-01-15 07:40:20 来源:中国专利 TAG:


1.本发明属于用户网络指纹和隐私安全技术领域,尤其涉及一种基于数据分析的网络指纹识别模型训练方法、识别方法、设备及存储介质。


背景技术:

2.蜂窝网络用户的隐私安全是众多研究的关注重点。随着智能设备的普及、无可避免的在蜂窝网络中留下网络行为痕迹。蜂窝数据在用户中有高渗透率、包含位置信息等特征,对于大数据分析工作是非常有效的,可以满足用户个性化、业务推荐等各种需求。与此同时,由于用户网络数据十分丰富,无论是主动公布或是被动泄露,由于网络行为存在粒度细、跨度广等特征,泄露数据很容易被非法分子利用并对用户进行隐私攻击。随着数据量激增,不同数据的隐性相关性增强,普通的用户匿名处理已经难以满足隐私安全保护的需求。
3.现有关于用户的网络指纹库和重识别攻击的研究主要包括基于统计学的方法、传统的机器学习方法和基于深度学习模型的方法。基于统计学的方法,则是通过比对记录是否一致来进行用户身份确定,主要是针对同时序同批次记录的泄露风险进行探索,忽略了用户的动态性;传统的机器学习方法则是能够捕获一些更复杂的非线性关系,但是对于复杂场景、密集人群难以达到一个合适的效果;深度学习则是得益于特征提取的便利性,在一些场景有些类似的匹配模型、分类模型中广泛应用且呈现不错的性能。
4.通过数据分析,不难发现用户上网行为会存在一定的习惯性、周期性,不同时期同一时间内的行为存在关联性。现有工作中,用户网络指纹的特征构成包含非常精准信息,例如通过刻画用户的属性信息、行为信息构建用户网络指纹,而面对最常见也更容易公开、泄露的时序流量使用大小数据进行用户网络指纹的挖掘工作却并没有一个行之有效的方法。此外,用户重识别任务大多建立在图像识别等可具体量化特征的数据集中,仅有的通过网络行为对用户进行重识别的工作,也是通过将特征刻画为具体使用某app等类别特征中,并且任务不具备时间鲁棒性,分析的泄露风险都来自同一时间同一批次的数据集中泄露数据与数据集进行关联的风险,缺乏有效的针对性蜂窝用户网络指纹构建和重识别方法。


技术实现要素:

5.本发明的目的在于提供一种基于数据分析的网络指纹识别模型训练方法、识别方法、设备及存储介质,用以解决目前缺乏行之有效的用户网络指纹识别方法,以及复杂蜂窝场景下用户网络指纹识别精度低的问题。
6.本发明是通过如下的技术方案来解决上述技术问题的:一种网络指纹识别模型训练方法,包括以下步骤:获取蜂窝网络用户在第一时间段内的流量使用数据集;基于所述流量使用数据集,确定每个用户在每个第二时间段内的轨迹特征序列,其中每个所述第二时间段均属于第一时间段且n1个第二时间段之和等于第一时间段,每个用户有n1个轨迹特征序列;
基于每个用户的轨迹特征序列,计算每个用户与其他用户在同一第二时间段内的轨迹相似度,根据所述轨迹相似度确定每个用户的最相邻用户,并由每个用户的最相邻用户生成该用户的候选用户序列;根据每个用户的n1个轨迹特征序列及其候选用户序列生成该用户的正样本和负样本;由所有用户的正样本和负样本构成训练样本集;构建用户网络指纹识别模型,利用所述训练样本集中的正样本和负样本对所述用户网络指纹识别模型进行训练,得到目标用户网络指纹识别模型。
7.进一步地,所述流量使用数据集包括用户流量上下行数据记录、访问时间、基站访问行为和用户基础属性;所述用户基础属性包括年龄、性别、套餐信息以及设备信息。
8.进一步地,确定每个用户在第二时间段内的轨迹特征序列的具体实现过程为:统计该用户在第二时间段的每个单位时间内各基站上的总使用时间、上行流量总消耗量和下行流量总消耗量;将所有用户在所有单位时间内各基站上的上行流量总消耗量进行降序排序,对降序排序后的所有上行流量总消耗量进行等级划分,并对每个等级进行等级号标记;将所有用户在所有单位时间内各基站上的下行流量总消耗量进行降序排序,对降序排序后的所有下行流量总消耗量进行等级划分,并对每个等级进行等级号标记;按照每个单位时间内的所述总使用时间对该用户在该单位时间内的各基站进行降序排序,提取降序排序中前m1个基站所对应的总使用时间、上行流量总消耗量和下行流量总消耗量,其中m1≥1;由该用户在第二时间段内的所有前m1个基站所对应的总使用时间构成该用户在第二时间段内的活跃度特征;由该用户在第二时间段内的所有前m1个基站的id构成基站特征;基于上行流量总消耗量和下行流量总消耗量的等级划分,确定该用户在第二时间段内的所有前m1个基站所对应的上行流量总消耗量和下行流量总消耗量的所属等级号,由该用户在第二时间段内的所有前m1个基站所对应的等级号构成流量特征;由该用户在第二时间段内的活跃度特征、基站特征和流量特征构成该用户在第二时间段内的轨迹特征序列。
9.进一步地,生成每个用户的候选用户序列的具体实现过程为:计算该用户与其他用户在每个同一第二时间段内的轨迹特征序列的jaccard相关系数,其中其他用户是指所述流量使用数据集中除该用户外的所有用户;将该用户与其他用户的所有jaccard相关系数进行降序排序,提取降序排序中前k1个jaccard相关系数所对应的其他用户生成该用户的候选用户序列。
10.进一步地,生成每个用户的正样本和负样本的具体实现方式为:由该用户的第1个轨迹特征序列和第n1/2+1个轨迹特征序列构成该用户的第一条正样本,从该用户的候选用户序列中随机选取一个最相邻用户,由该最相邻用户的第1个轨迹特征序列和该用户的第n1/2+1个轨迹特征序列构成该用户的第一条负样本;由该用户的第2个轨迹特征序列和第n1/2+2个轨迹特征序列构成该用户的第二条正样本,从该用户的候选用户序列中随机选取一个最相邻用户,由该最相邻用户的第2个轨迹特征序列和该用户的第n1/2+2个轨迹特征序列构成该用户的第二条负样本;
以此类推,由该用户的第n1/2个轨迹特征序列和第n1个轨迹特征序列构成该用户的第n1/2条正样本,从该用户的候选用户序列中随机选取一个最相邻用户,由该最相邻用户的第n1/2个轨迹特征序列和该用户的第n1个轨迹特征序列构成该用户的第n
1/
2条负样本。
11.进一步地,所述用户网络指纹识别模型为支持向量机模型或神经网络模型。
12.进一步地,所述用户网络指纹识别模型为基于注意力机制的识别模型,所述基于注意力机制的识别模型包括依次连接的特征编码模块、匹配模块以及融合模块;所述特征编码模块,用于对输入的每个正样本或负样本中的轨迹特征序列a和轨迹特征序列b分别进行拆分处理,得到轨迹特征序列a的多个轨迹特征ai和轨迹特征序列b的多个轨迹特征bi,由轨迹特征ai和轨迹特征bj构成轨迹对《ai,bj》,将每个所述轨迹对中每个轨迹特征的活跃度特征、基站特征和流量特征嵌入成一个特征向量序列,将同一第二时间段内的多个特征向量序列合并成一条轨迹嵌入向量,即得到轨迹特征序列a对应的轨迹嵌入向量以及轨迹特征序列b对应的轨迹嵌入向量;所述匹配模块,用于利用门控循环单元学习每个轨迹嵌入向量的上下文信息,并通过协同注意力机制捕获经门控循环单元学习后的轨迹嵌入向量的关键特征,将每个轨迹嵌入向量的上下文信息与关键特征合并形成特征表示向量;所述融合模块,用于利用多层感知机以及注意力权重的分配对输入的两个所述特征表示向量进行整合和降维处理,得到相似度得分。
13.基于同一发明构思,本发明还提供一种蜂窝网络用户网络指纹识别方法,包括以下步骤:获取蜂窝网络用户在第三时间段内的流量使用数据;基于所述第三时间段内的流量使用数据,得到每个用户的访问基站序列、每个基站的被访问用户序列、每个用户在每个第四时间段内的第一轨迹特征序列、以及每个用户的第一候选用户序列,其中每个所述第四时间段均属于第三时间段且n2个第四时间段之和等于第三时间段,每个用户有n2个第一轨迹特征序列;获取蜂窝网络用户在第五时间段内的泄露流量使用数据,其中第五时间段与第三时间段为两个不同的时间段;基于所述第五时间段内的泄露流量使用数据,确定每个用户在每个第六时间段内的第二轨迹特征序列,其中每个所述第六时间段均属于第五时间段且n3个第六时间段之和等于第五时间段,每个用户有n3个第二轨迹特征序列;根据所述被访问用户序列、访问基站序列、第二轨迹特征序列、第一候选用户序列确定目标候选用户序列;在所有用户的第一轨迹特征序列中找出与所述目标候选用户序列中每个目标用户匹配的第一轨迹特征序列,由匹配出的第一轨迹特征序列与任一第二轨迹特征序列构成输入向量;利用如上所述网络指纹识别模型训练方法得到的目标用户网络指纹识别模型对所述输入向量进行识别,得到目标用户。
14.进一步地,每个用户的第一候选用户序列的具体获取过程为:基于每个用户的第一轨迹特征序列,计算每个用户与其他用户在同一第四时间段
内的第一轨迹特征序列的轨迹相似度,根据所述轨迹相似度确定每个用户的最相邻用户,并由每个用户的最相邻用户生成该用户的第一候选用户序列。
15.进一步地,确定所述目标候选用户序列的具体实现过程为:在所有基站的被访问用户序列中找出与所述第二轨迹特征序列中的基站特征匹配的被访问用户序列,由匹配出的所有被访问用户序列构成每个用户的第二候选用户序列;在所有用户的第一候选用户序列中找出与所述第二候选用户序列中每个候选用户匹配的候选用户,由匹配出的候选用户构成第三候选用户序列;对所述第二候选用户序列和所述第三候选用户序列进行合并、去重处理,得到第四候选用户序列;在所有用户的访问基站序列中找出与所述第四候选用户序列中每个候选用户匹配的用户的访问基站序列;计算每个匹配出的用户的访问基站序列与所述第二轨迹特征序列的基站特征的相似度,对所有相似度进行降序排序,提取降序排序中前k2个相似度所对应的目标用户构成目标候选用户序列。
16.基于同一发明构思,本发明还提供一种智能设备,所述设备包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任一项所述的网络指纹识别模型训练方法的步骤,或实现上述任一项所述的蜂窝网络用户网络指纹识别方法的步骤。
17.基于同一发明构思,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的网络指纹识别模型训练方法的步骤,或实现上述任一项所述的蜂窝网络用户网络指纹识别方法的步骤。
18.有益效果与现有技术相比,本发明的优点在于:本发明所提供的一种网络指纹识别模型训练方法、识别方法、设备及存储介质,该训练方法利用由活跃度特征、基站特征和流量特征构成的轨迹特征序列对网络指纹识别模型进行训练,能够从轨迹特征序列(多维特征)中学习到更深层次的隐含信息;通过用户流量使用模式和空间轨迹,能够有效地捕获蜂窝网络场景下用户的模式依赖性和空间相似性,大大提高了复杂蜂窝场景下用户网络指纹的识别精度,以警示和揭露用户隐私安全问题。
附图说明
19.为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明实施例中网络指纹识别模型训练方法流程图;图2是本发明实施例中网络指纹识别模型架构图;图3是本发明实施例中流量行为的ownsim(自相似度)与itssim(它相似度)观察
图;图4是本发明实施例中流量行为不同分簇水平的影响比较图;图5是本发明实施例中基站信息的ownsim(自相似度)与itssim(它相似度)观察图;图6是本发明实施例中基站信息特征保留不同数量的影响比较图;图7是本发明实施例中混合特征的ownsim(自相似度)与itssim(它相似度)观察图;图8是本发明实施例中混合特征与单一特征的对比观察图;图9是本发明实施例中对比实验的实验结果图。
具体实施方式
21.下面结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
23.本发明中,基于数据分析的网络指纹识别模型训练方法、识别方法、设备及存储介质基于以下假设:(1)用户泄露数据仅包含基站行为和小时级别流量行为;(2)用户泄露数据与公开数据的时间段没有交集;(3)数据计算与处理的任务提交到分布式系统基础架构集群(hadoop集群),通过集群下的数据仓库工具(hive)进行调用和分析;(4)数据处理遵循法律约束同时也受伦理因素制约。
24.复杂蜂窝场景下用户网络指纹识别精度低的特征表现在于:用户流量时序行为迥异以及用户密集导致空间轨迹高重叠,其产生的原因为:数据驱动的分析结果中,可知不同用户的基站序列信息本身具备高度差异性,而用户自身的基站序列信息在不同时间段内具备高度相关性,当一个空间内用户数量过度密集,存在部分用户轨迹信息高度相似,导致无法区分的情况。传统方法通过基站位置序列识别用户的工作,仅考虑的是某时间片内同一批数据中用户位置信息与用户身份匹配;对于一个长时间段内跨时间片,没有发现合适的通过基站信息来跨时间片匹配的工作。
25.针对该技术问题本发明设计一种如图1所示的网络指纹识别模型训练方法,利用由活跃度特征、基站特征和流量特征构成的轨迹特征序列对用户网络指纹识别模型进行训练,流量特征具备区分度,不同用户的流量行为差异性大;通过基站特征与流量特征的组合,原本用户密集情况中无法通过基站特征区分的用户,可以通过流量特征进行区分;通过识别模型提取流量行为的上下文信息和时序变化特点,弥补了不同时间片下原始流量特征序列自身相似度略低的问题,从而能够解决识别精度低的问题。
26.如图1所示,本发明实施例所提供的一种网络指纹识别模式训练方法,所述训练方法包括以下步骤:步骤1:获取蜂窝网络用户在第一时间段内的流量使用数据集。
27.本实施例所使用的流量使用数据集包含某省某运营商用户流量记录数据,通过对用户流量记录数据进行预处理,得到一个月均352万用户、超过5万个基站数量、高于28.95亿条蜂窝网络流量数据的数据集。流量使用数据集包含用户流量上下行数据记录、访问时间、基站访问行为和用户基础属性;用户基础属性包括年龄、性别、套餐信息以及设备信息等,其中用户流量记录数据的统计来源用户产生单次上网行为时的蜂窝网络记录,时间单位为秒,第一时间段为2020年11月2日至2021年2月28日,即16周,通过对时间粒度的调整,整理为用户细粒度蜂窝网络使用情况的轨迹特征序列。本实施例按照小时(即单位时间)对流量使用数据集切片处理,整理用户一周(即第二时间段)的蜂窝网络行为轨迹作为单条轨迹特征序列,对于处理后的所有轨迹特征序列,按照6:1:3划分为用户网络指纹识别模型的训练样本集、验证样本集和测试集。
28.步骤2:生成每个用户的轨迹特征序列基于流量使用数据集,确定每个用户在每个第二时间段内的轨迹特征序列,其中每个第二时间段均属于第一时间段且n1个第二时间段之和等于第一时间段,每个用户有n1个轨迹特征序列。
29.本实施例中,第一时间段为16周,第二时间段为1周,即n1=16,确定每个用户在每周内的轨迹特征序列。以用户a为例,确定用户a在每周内的轨迹特征序列的具体实现过程为:步骤2.1:统计用户a在每周的每小时内各基站上的总使用时间、上行流量总消耗量和下行流量总消耗量。
30.示例性的,设各基站为bs1、bs2、

、bsn,则:统计用户a在第一周的第一个小时内基站bs1上的总使用时间、上行流量总消耗量和下行流量总消耗量;统计用户a在第一周的第一小时内基站bs2上的总使用时间、上行流量总消耗量和下行流量总消耗量;以此类推,统计用户a在第一周的第一个小时内基站bsn上的总使用时间、上行流量总消耗量和下行流量总消耗量;统计用户a在第一周的第二个小时内基站bs1上的总使用时间、上行流量总消耗量和下行流量总消耗量;统计用户a在第一周的第二小时内基站bs2上的总使用时间、上行流量总消耗量和下行流量总消耗量;以此类推,统计用户a在第一周的第二个小时内基站bsn上的总使用时间、上行流量总消耗量和下行流量总消耗量;以此类推,统计用户a在第一周的第24
×
7个小时内基站bs1、bs2、

、bsn上的总使用时间、上行流量总消耗量和下行流量总消耗量;以此类推,统计用户a在第16周的第24
×
7个小时内基站bs1、bs2、

、bsn上的总使用时间、上行流量总消耗量和下行流量总消耗量。
31.步骤2.2:将所有用户在每周的所有单位时间内各基站上的上行流量总消耗量进行降序排序,对降序排序后的所有上行流量总消耗量进行等级划分,并对每个等级进行等级号标记;将所有用户在所有单位时间内各基站上的下行流量总消耗量进行降序排序,对降序排序后的所有下行流量总消耗量进行等级划分,并对每个等级进行等级号标记。
32.示例性的,对降序排序后的所有上行流量总消耗量或所有下行流量总消耗量进行q个等级划分(q≥1),第一个等级记为第一等级、第二个等级记为第二等级,以此类推,最后一个等级记为第q等级。
33.步骤2.3:按照每小时内的总使用时间对用户a在该小时内的各基站进行降序排序,提取降序排序中前m1个基站所对应的总使用时间、上行流量总消耗量和下行流量总消耗量,其中m1≥1。
34.示例性的,假设按照第一周第一个小时内的总使用时间对用户a的各基站(10个基站)进行降序排序为:bs10、bs8、bs6、bs5、bs9、bs7、bs1、bs4、bs2、bs3,提取降序排序中前5个基站所对应的总使用时间、上行流量总消耗量和下行流量总消耗量,即提取bs10、bs8、bs6、bs5、bs9所对应的总使用时间、上行流量总消耗量和下行流量总消耗量。
35.步骤2.4:由用户a在每周内的所有前m1个基站所对应的总使用时间构成用户a在该周内的活跃度特征,即由24
×
7个前m1个基站所对应的总使用时间构成用户a在该周内的活跃度特征。
36.由用户a在每周内的所有前m1个基站的id构成基站特征,即由24
×
7个前m1个基站的id构成用户a在该周内的基站特征。
37.步骤2.5:基于步骤2.2中上行流量总消耗量和下行流量总消耗量的等级划分,确定用户a在每周内的所有前m1个基站所对应的上行流量总消耗量和下行流量总消耗量的所属等级号,由用户a在每周内的所有前m1个基站所对应的等级号构成流量特征。
38.步骤2.6:由用户a在每周内的活跃度特征、基站特征和流量特征构成用户a在每周的轨迹特征序列。
39.本实施例中,m1=2,即对于每个用户在一周内包含的特征,基站特征取最活跃基站m
bs
和次活跃基站s
bs
,流量特征取上行流量总消耗量u
tf
和下行流量总消耗量d
tf
,拼接方式为将u
tf
和d
tf
合并为一个键值对《u
tf
,d
tf
》,拼接得到每个用户的周轨迹特征序列中单一时刻的特征序列为{m
bs
,s
bs
,《u
tf
,d
tf
》}。
40.每个用户在每周的轨迹特征序列可以采用hash表来存储,记为m
trace
,m
trace
表示用户混合特征组合下轨迹序列集的哈希映射,将用户的网络指纹信息以周为时间间隔,将轨迹特征序列保存。
41.对用户的流量使用数据按小时进行拆分,对流量总消耗量分簇、对基站信息保留为头部活跃的两个信息。在如此大的数据集统计进行识别对算力开销和内存成本都非常高。假定对于第一时间段的流量使用数据集拆分为原始数据与泄露数据,当泄露数据与原始数据中包含用户数量都为n,那么计算识别风险最简单的方式则是利用两个循环,伴随着时间复杂度为o(n2)。但是,面对外部循环的泄露数据中迭代一个用户时,从原始数据中匹配的候选用户数量提前进行计算与规划,将泄露数据的候选用户集u
cand
提取出来,那么此时时间复杂度将下降为,大大提高了模型训练效率和识别效率。
42.步骤3:生成每个用户的候选用户序列基于步骤2的每个用户的轨迹特征序列,计算每个用户与其他用户在同一第二时间段内的轨迹特征序列的轨迹相似度,根据轨迹相似度确定每个用户的最相邻用户,并由每个用户的最相邻用户生成该用户的候选用户序列。以用户a为例,生成用户a的候选用户序列的具体实现过程为:步骤3.1:计算用户a与其他用户在某个第二时间段内的轨迹特征序列的jaccard(杰卡德)相关系数(即用户的它相似度itssim),其中其他用户是指流量使用数据集中除用户a外的所有用户。jaccard相关系数的具体计算公式为:
(1)其中,a表示用户a在某个第二时间段内的轨迹特征序列,b表示用户b在某个第二时间段内的轨迹特征序列。
43.对于用户的它相似度itssim,其值越低,表示用户当前时间段产生的流量使用数据与最相邻用户(候选用户序列相似度最高的用户)历史时间段产生的流量使用数据相似度低,论证说明用户自身数据特征与他人数据特征区分度大且特征有效,其值越高则相反。
44.步骤3.2:将用户a与其他用户的所有jaccard相关系数进行降序排序,提取降序排序中前k1个jaccard相关系数所对应的其他用户生成用户a的候选用户序列。示例性的,k1=20。
45.每个用户的候选用户序列可以采用hash表来存储,记为m
cand
,m
cand
为用户到候选用户集的哈希映射,降序排序中前k1个jaccard相关系数所对应的其他用户即为用户a的最相邻用户。生成用户与其最相邻用户的hash表m
cand
可以节约匹配成本,提高识别效率。
46.步骤4:构建训练样本集根据每个用户的n1个轨迹特征序列及其候选用户序列生成该用户的正样本和负样本;由所有用户的正样本和负样本构成训练样本集。以第一时间段为16周,第二时间段为1周,单位时间为1小时,用户a为例,用户a有16条轨迹特征序列,生成用户a的正样本和负样本的具体实现方式为:步骤4.1:由用户a第1周的轨迹特征序列和用户a第9周的轨迹特征序列构成用户a的第一条正样本,从用户a的候选用户序列m
cand
中随机选取一个最相邻用户,由该最相邻用户第1周的轨迹特征序列和用户a第9周轨迹特征序列构成用户a的第一条负样本;步骤4.2:由用户a第2周的轨迹特征序列和用户a第10周的轨迹特征序列构成用户a的第二条正样本,从用户a的候选用户序列m
cand
中随机选取一个最相邻用户,由该最相邻用户第2周的轨迹特征序列和用户a第10周的轨迹特征序列构成用户a的第二条负样本;步骤4.3:由用户a第3周的轨迹特征序列和用户a第11周的轨迹特征序列构成用户a的第三条正样本,从用户a的候选用户序列m
cand
中随机选取一个最相邻用户,由该最相邻用户第3周的轨迹特征序列和用户a第11周的轨迹特征序列构成用户a的第三条负样本;步骤4.3:以此类推,由用户a第8周的轨迹特征序列和用户a第16周的轨迹特征序列构成用户a的第八条正样本,从用户a的候选用户序列m
cand
中随机选取一个最相邻用户,由该最相邻用户第8周的轨迹特征序列和用户a第16周的轨迹特征序列构成用户a的第八条负样本。
47.每个用户有8条正样本和8条负样本,本实施例中,设正样本对应的目标值为1(表明匹配),设负样本对应的目标值为0(不匹配)。每个用户16周的轨迹特征序列进行对半拆分,前8周轨迹特征序列作为网络指纹数据库,后八周作为泄露轨迹特征集,识别过程即在网络指纹数据库中为泄露轨迹特征集中的每条轨迹特征序列识别出目标用户。
48.步骤5:构建用户网络指纹识别模型及模型训练构建用户网络指纹识别模型,利用所述训练样本集中的正样本和负样本对所述用户网络指纹识别模型进行训练,得到目标用户网络指纹识别模型。
49.用户网络指纹识别问题转化为相邻用户的二元分类问题,因此用户网络指纹识别
模型可以采用现有的支持向量机模型或神经网络模型。
50.本实施例采用基于注意力机制的识别模型(简称ulan模型),如图2所示,该识别模型包括依次连接的特征编码模块、匹配模块以及融合模块。
51.所述特征编码模块,用于对输入的每个正样本或负样本中的轨迹特征序列a和轨迹特征序列b分别进行拆分处理,得到轨迹特征序列a的多个轨迹特征ai和轨迹特征序列b的多个轨迹特征bi,由轨迹特征ai和轨迹特征bj构成轨迹对《ai,bj》,将每个所述轨迹对中每个轨迹特征的活跃度特征、基站特征和流量特征嵌入成一个特征向量序列,将同一第二时间段内的多个特征向量序列合并成一条轨迹嵌入向量,即得到轨迹特征序列a对应的轨迹嵌入向量以及轨迹特征序列b对应的轨迹嵌入向量。图2中,表示用户a的天轨迹特征的活跃度特征,表示用户a的天轨迹特征的基站特征,表示用户a的天轨迹特征的流量特征。
52.所述匹配模块,用于利用门控循环单元学习每个轨迹嵌入向量的上下文信息,并通过协同注意力机制捕获经门控循环单元学习后的轨迹嵌入向量的关键特征,将每个轨迹嵌入向量的上下文信息与关键特征合并形成特征表示向量。
53.所述融合模块,用于利用多层感知机以及注意力权重的分配对输入的两个所述特征表示向量进行整合和降维处理,得到相似度得分。
54.在特征编码模块中,对两条周轨迹特征序列a和周轨迹特征序列b进行比较时,首先将周轨迹特征序列a按天拆分为[a1,a2,

,a7],周轨迹特征序列b拆分为[b1,b2,

,b7],随后对两条周轨迹特征序列a和b计算笛卡尔积,得到基于天粒度的两条周轨迹特征序列中两两关联的轨迹对,表述为《ai,bj》,其中i和j均为1到7的整数,至此将长向量拆分为多组向量,并将两个长向量的相似度比较转换为多个短向量的比较。由此本发明的模型能够捕获到对应时间片用户事件所关联的隐藏语义。
[0055]
对拆分后的轨迹对《ai,bj》中的每个天轨迹特征,首先通过嵌入层进行嵌入操作,具体的方法为多模态嵌入方式:将天轨迹特征中的活跃度特征、基站特征和流量特征嵌入到单个矢量中,即将天轨迹特征的活跃度特征、基站特征和流量特征嵌入成一个特征向量序列。由于嵌入层的灵活性,可以获取到对于流量上下文信息、空间环境信息等外部信息。设用户的周轨迹特征序列记为,将该周中第i天的轨迹特征按照小时划分,则第i天的轨迹特征的长度为24,记为,其中,为第一个小时的活跃度特征(data activity),为第一个小时的基站特征(base station),为第一个小时的流量特征(cellular traffic),为第一个小时。通过对特征的上下文内容和位置信息的捕获,确定各维度信息的嵌入向量维度,对于特征拼接嵌入后的单个特征向量序列表述为:其中,为嵌入操作后第i天的第一个小时的活跃度特征,为嵌入操作后第i天的第一个小时的基站特征,为嵌入操作后第i天的第一个小时的流量特征。对于
在一个小时内的特征长度表述为,与天轨迹特征对应的轨迹嵌入向量表述为。
[0056]
匹配模块中,为了能够学习到基站位置的空间邻接性,以及流量行为时序上波动特征,引入了门控循环单元gru来处理移动性预测问题,使识别模型能够较好的学习邻近位置信息。对于轨迹对《ai,bj》,分别将天轨迹特征输入到对应gru进行训练后,得到两个输出,一个为上一层节点传递的状态层h
t
,另一个为当前节点的输出y
t
,以获得门控循环单元内部的两个门控状态。门控循环单元通过更新门与重置门的处理方式分别控制重置和更新,为识别模型更新记忆。本发明引入门控循环单元来捕获用户轨迹嵌入向量中的移动模式,同时为了进一步捕获轨迹嵌入向量对关键特征序列部分可能存在的偏移量、噪音等问题,本发明进一步引入基于协同注意力的网络结构。
[0057]
引用的协同注意力包括三个步骤:首先,将问题整理为一个向量表达q=[q1,q2,

,q
t
];其次,根据问题q向量来感知值向量v=[v1,v2,

,v
t
]的注意力;最后,通过所关注的值向量特征进而关注问题向量。从gru的两个学习结果中,能明显注意到输出的最后一层状态层h
t
包含了对应轨迹的结果导向,所以将h
t
向量视作协同注意力的问题向量q。与此同时,注意到包含轨迹特征序列的输出y
t
是轨迹的当前时序特征表达,因此将y
t
向量视作值向量v。通过点积的方式获得期待轨迹,而q向量的注意力,则是通过计算另一条轨迹的gru输出和当前轨迹的状态层输出得到。本实施例中,注意力计算公式采用经典的点乘方法,具体为:(2)至此,将门控循环单元的输出向量与协同注意力的输出向量分别表示为、。由此,将轨迹对连接起来通过学习找到彼此相关性高的部分,并且减少了自身潜在噪音和特征偏移的影响。通过多层全连接层构成的mlp前馈神经网络层对gru学习到的临近位置学习特征与协同注意力学习到的协同特征的拼接结果进行特征维度压缩,得到高价值特征向量,具体计算公式为:(3)其中,y为天轨迹通过匹配模块学习后的输出向量(即相似度得分),fc( )为全连接层操作,concat( )为多维向量的拼接操作。
[0058]
融合模块中,本发明采用多层前馈神经网络与注意力机制的结合。如果直接通过对两条周轨迹特征序列的关键特征挖掘匹配,如将某条周轨迹特征序列的部分重复的特征行为模式视作其具备差异性的特征,将导致特征凝练度不够。为此,我们将上一层轨迹对《ai,bj》通过匹配模块学习后的特征表示向量输入融合模块模块,对bj序列得到用户a的输入向量表述为,对ai序列得到用户b的输入向量表述为,同时引入周轨迹特征序列seqa和seqb,通过注意力层,得到低维的输出特征。将低维的输出特征输入多个全连接层和激活函数得到两条周轨迹特征序列的相似度评分(0~1的具体值),再对相似度评分与对应的目标值(正样本的目标值为1,负样本的目标值为0)进行比较评价,重复对识别模型进行训练,直到训练轮次等于设定轮次或者模型精度达到要求精度。相似度得分为1,表示两条周轨迹特征序列为同一用户;相似度得分为0,表示两条周轨迹特征序列不是同一用户。
[0059]
本实施例中,单次传递给识别模型用以训练的样本个数batch_size=128,训练轮次为epoch=128,优化器为adam,学习率设置为0.001。
[0060]
基于同一发明构思,本发明还提供一种蜂窝网络用户网络指纹识别方法,所述识别方法包括以下步骤:步骤1:获取蜂窝网络用户在第三时间段内的流量使用数据。
[0061]
本实施例中,第三时间段为14周,流量使用数据包括用户流量上下行数据记录、访问时间、基站访问行为和用户基础属性;用户基础属性包括年龄、性别、套餐信息以及设备信息。
[0062]
步骤2:基于第三时间段内的流量使用数据,得到每个用户的访问基站序列、每个基站的被访问用户序列、每个用户在每个第四时间段内的第一轨迹特征序列(即参考轨迹特征序列)、以及每个用户的第一候选用户序列。
[0063]
为了遍历检索的便捷性和快速性,构建四个哈希表(如表1所示):通过挖掘流量使用数据的空间信息建立基站与关联用户的哈希表m
user
,即每个用户的访问基站序列(该用户所访问的基站的集合);通过挖掘用户的空间范围,建立用户与基站关联的哈希表m
bs
,即每个基站的被访问用户序列(访问该基站的所有用户的集合);为了节约匹配成本和提高重识别效率,将用户与最相邻的部分用户构建映射关系,形成用户与最相邻用户的哈希表m
cand
,即每个用户的第一候选用户序列;将用户的网络指纹信息按照周为时间间隔,构建用户与周特征序列的映射关系,形成哈希表m
trace
,即每个用户在每个第四时间段内的第一轨迹特征序列。
[0064]
表1 四个哈希表的符号及含义每个用户的第一候选用户序列的生成过程与识别模型训练方法中用户的候选用户序列生成过程(步骤3.1~3.2)同理,在此不再赘述。每个用户的第一轨迹特征序列的生成过程与识别模型训练方法中用户的轨迹特征序列的生成过程(步骤2.1~2.6)同理,在此不再赘述。
[0065]
每个第四时间段均属于第三时间段且n2个第四时间段之和等于第三时间段,每个用户有n2个第一轨迹特征序列。第四时间段大于等于模型训练时的第二时间段,本实施例中,第四时间段为一周。
[0066]
通过四个哈希表构建识别时的网络指纹数据库。当新的一批轨迹数据(包括用户的访问基站序列、基站的被访问用户序列、用户的第一候选用户序列、用户的第一轨迹特征序列)放入网络指纹数据库时,四个哈希表的更新过程为:(1)将新的轨迹数据中的用户名与用户第一轨迹特征序列中出现的基站信息作为新的键值对添加至m
user
;(2)对于出现过的基站与其映射的用户序列构成键值对,未出现过的基站则添加新数据至m
bs
,对于哈希表内已记录的基站则对其存储的被访问用户序列进行更新,添加新
增用户;(3)对于m
cand
的更新依托于新增的m位用户,根据m位用户分别通过m
user
快速查询历史基站,并通过m
bs
检索可能的候选用户集,对用户与候选用户的轨迹特征序列进行相似度计算,将新用户与最相关的候选用户构成键值对添加至m
cand
,同时索引其候选用户在m
cand
表中的值,并计算是否需要将新用户添加并修改值,剔除值内相似度最低的用户;(4)如果候选用户集中的候选用户相似度得分过低,则从对应的候选用户集中删除该用户。
[0067]
通过不断完善的网络指纹数据库的哈希索引表构建,为网络指纹数据库的用户筛选与轨迹匹配建立有效的检索方式。
[0068]
步骤3:获取蜂窝网络用户在第五时间段内的泄露流量使用数据,其中第五时间段与第三时间段为两个不同的时间段。
[0069]
步骤4:基于第五时间段内的泄露流量使用数据,确定每个用户在每个第六时间段内的第二轨迹特征序列(即泄露轨迹特征序列)。
[0070]
其中,每个所述第六时间段均属于第五时间段且n3个第六时间段之和等于第五时间段,每个用户有n3个第二轨迹特征序列。本实施例中,第五时间段为2周,第六时间段大于等于1天即可。
[0071]
每个用户在第六时间段内的第二轨迹特征序列的生成过程与识别模型训练方法中用户的轨迹特征序列的生成过程(步骤2.1~2.6)同理,在此不再赘述。
[0072]
步骤5:根据所述被访问用户序列、访问基站序列、第二轨迹特征序列、第一候选用户序列确定目标候选用户序列,具体实现过程为:步骤5.1:根据基站的id号,在所有基站的被访问用户序列中找出与所述第二轨迹特征序列中的基站特征匹配的被访问用户序列,由匹配出的所有被访问用户序列构成每个用户的第二候选用户序列。即将第二轨迹特征序列中的基站id与被访问用户序列对应的基站id进行匹配,如果匹配,则提取出所有匹配的基站的被访问用户序列,并构成每个用户的第二候选用户序列。
[0073]
步骤5.2:根据用户id,在所有用户的第一候选用户序列中找出与所述第二候选用户序列中每个候选用户匹配的候选用户,由匹配出的候选用户构成第三候选用户序列。即将第二候选用户序列的每个候选用户id与第一候选用户序列所对应的用户id进行匹配,如果匹配,则提取出所有匹配的用户的第一候选用户序列,并构成第三候选用户序列。
[0074]
步骤5.3:对所述第二候选用户序列和所述第三候选用户序列进行合并、去重处理,得到第四候选用户序列,扩大了候选用户范围。
[0075]
步骤5.4:根据用户id,在所有用户的访问基站序列中找出与所述第四候选用户序列中每个候选用户匹配的用户的访问基站序列。即将第四候选用户序列的每个候选用户id与所有访问基站序列所对应的用户id进行匹配,如果匹配,则提取出所有匹配的用户的访问基站序列。
[0076]
步骤5.5:计算每个匹配出的用户的访问基站序列与所述第二轨迹特征序列的基站特征的相似度,对所有相似度进行降序排序,提取降序排序中前k2个相似度所对应的目标用户构成目标候选用户序列。
[0077]
步骤6:根据用户id,在所有用户的第一轨迹特征序列中找出与所述目标候选用户
序列中每个目标用户匹配的第一轨迹特征序列,由匹配出的第一轨迹特征序列与任一第二轨迹特征序列构成输入向量。即将目标候选用户序列的每个目标候选用户id与所有第一轨迹特征序列所对应的用户id进行匹配,如果匹配,则提取出所有匹配的用户的第一轨迹特征序列。
[0078]
步骤7:利用如上所述网络指纹识别模型训练方法得到的目标用户网络指纹识别模型对所述输入向量进行识别,得到目标用户。
[0079]
识别工作,即基于第五时间段的泄露流量使用数据对应的第二轨迹特征序列,面向第四时间段流量使用数据处理得到的目标候选用户序列,分别对各用户所匹配的第一轨迹特征序列进行比较。所以对于每个第二轨迹特征序列,将对应的第一轨迹特征序列集进行两两依次比较,而第二轨迹特征序列与第一轨迹特征序列组成轨迹对的判别工作则是由识别模型来完成。本发明的输入向量为序列长度相同的长序列,通过特征编码模块输入到匹配模块的轨迹对中,各轨迹是长度为的特征向量。为了使用户网络指纹识别模型能够学习到位置的空间邻接性,让用户网络指纹识别模型学习到流量行为时序上波动特征,本发明引入了gru(门控循环单元)来处理移动性预测问题,让模型能够较好的学习邻近位置信息。当输入向量的长度不足时,通过补0使输入向量长度相同;当输入向量的长度超过时,取连续的等长度序列即可。
[0080]
通过识别模型得到第二轨迹特征序列与第一轨迹特征序列的相似度评分结果,选择评分最高所对应的用户作为唯一重识别结果,如果存在多个最高评分时,则重识别失败。而评分最高所对应的用户为第二轨迹特征序列(即泄露数据)实际对应的泄露用户,该用户被准确、唯一的重识别。
[0081]
为对用户独特性和关联模式进行数据分析,本发明提出两个指标参数:一个是用户的自相似度(ownsim),一个是用户的它相似度(itssim),具体计算公式为:(4)(5)其中,sim( )为相似度计算函数,表示用户a在时间切片t1内的轨迹特征序列,表示用户a在时间切片t2内的轨迹特征序,u
set
为所有用户的集合。自相似度和它相似度的输出都为一个0到1的相似度评分。
[0082]
对于ownsim,值越高,表示用户在当前时间段产生的蜂窝流量使用数据与历史时间段产生的蜂窝流量使用数据相似度高,论证说明用户自身数据特征稳定性高并且特征容易挖掘,值越低则相反;对于用户的它相似度itssim,其值越低,表示用户当前时间段产生的流量使用数据与最相邻用户(候选用户序列相似度最高的用户)历史时间段产生的流量使用数据相似度低,论证说明用户自身数据特征与他人数据特征区分度大且特征有效,其值越高则相反。
[0083]
本实施例中sim( )相似度计算函数有两种方式:一种为基于数值的相似度判别使用pearson(皮尔逊)相关性系数(如式(6)所示),另一种为基于元素相似度判别使用jaccard(杰卡德)相关性系数(如式(1)所示)。
cellular traffic)和下行流量总消耗量d
tf
(downstream cellular traffic),混合方式为将u
tf
和d
tf
合并为一个键值对《u
tf
,d
tf
》,最终呈现的轨迹特征序列中单一时刻的特征序列为{m
bs
,s
bs
,《u
tf
,d
tf
》}。
[0090]
对于用户混合特征序列分析包括以下两步:(1)输入用户混合特征序列,计算用户的ownsim和itssim,如图7所示,根据图7得知了混合特征同样具备优异的用户区分度;(2)将单一特征和混合特征组合的ownsim与itssim归一化后绘制图8;根据图8清晰观察到,混合特征的异常值分布更少,同时混合特征的自相关和它相关指标之间分布的差异性更大。同时要注意到的随着用户密度的提升,单一基站特征的区分度存在下降,而混合特征能保持一个不错的用户区分度。
[0091]
本发明使用门控循环单元(gru)、多层感知机 (mlp)、匹配模块(dplink)等匹配方法与ulan模型进行整体性能的比较评估,得到图9的结论,分析可以得到以下结论:1)ulan模型在准确率(acc)、查全率(rec)、f分数(f1)、roc曲线下的面积(auc)方面都明显优于其他匹配方法。具体来说,在gru、mlp、dplink中,auc的得分分别为0.926、0.919、0.973,而ulan的auc可以达到0.986,性能分别提升6.5%、7.3%、1.3%。
[0092]
2)与其他模型相比,ulan的loss下降得最多。其中gru模型效果最差,因为gru能解决长期记忆中的时序特征,但无法准确捕获较长的轨迹特征序列中的静态特征。而mlp模型虽然具有联想记忆能力和非常强的自学习功能,但容易陷入局部极值,学习可能不充分。
[0093]
3)当考虑dplink模型性能比较时,能发现对比考虑用户位置轨迹,发现ulan模型能够从多维特征中学习到更深层次的隐含信息。
[0094]
为了评估ulan模型中不同特征组合的有效性,本发明通过灼烧实验进行验证,表2展示了准确率(accuracy)、查全率(recall)、f分数(f-score)、roc曲线下的面积(auc)多个指标分析结果。
[0095]
表2灼烧试验结果结果表明,对于整体的特征维度而言,组合特征能够有效的提升方法的整体性能,其中基站特征和混合特征都能维持比较不错的水平,这两类的查全率和auc保持几乎一致的水平。相对于流量特征和基站特征,混合特征的用户准确率会从0.9450分别下降到0.8717和0.9285,性能分别下降7.8%和1.7%,从查全率和f分数中都能得到相似的趋势,而模型训练的损失值中,得知ulan的混合特征能得到更好的训练收敛。
[0096]
为了评估ulan模型中各模块的有效性,对比了“混合模块”、
“‑
特征编码模块”、
“‑
融合模块”,后面两种为删除某类组件对整体性能的影响。特别是对于准确率指标,能看到准确率从0.945降低到0.907和0.902。此外通过观察其他几个指标,能够发现当模型缺乏融合模块时,轨迹对的特征由于缺乏协同注意力机制的权重影响,导致准确率有一个明显的下降,并且模型的损失值也比较高,收敛速度比较慢。当模型缺乏特征编码模块时,轨迹的
序列长度过长,关键特征捕获过于乏力,导致模型训练效果差,并且收敛速度慢,模型的性能会急剧恶化。这些现象表明,多特征混合以及本发明识别模型各组件都是不可以缺失的,对用户重识别检验都有显著影响。
[0097]
以上所揭露的仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或变型,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献