首页> 中国专利> 基于半监督学习的区块链异常交易检测方法

基于半监督学习的区块链异常交易检测方法

摘要

本发明提供一种基于半监督学习的区块链异常交易检测方法,涉及区块链技术领域。针对区块链交易节点特征多样性的特点,提出了基于集成学习的特征选择方法;针对区块链交易中数据集不平衡的现象,提出基于一分类的数据预处理方法;针对传统Tri‑Training方法中预测偏差造成反向优化的问题,本发明提出Multi‑Training方法获取具有高置信度的伪标签数据用于区块链异常交易检测模型的训练。本发明充分利用有标签数据及无标签数据,增强检测的精度,减少冗余特征的干扰,有效解决数据不平衡导致负例样本欠拟合的问题,提升训练模型的泛化能力。

著录项

  • 公开/公告号CN116644283A

    专利类型发明专利

  • 公开/公告日2023-08-25

    原文格式PDF

  • 申请/专利权人 东北大学;

    申请/专利号CN202310605595.2

  • 发明设计人 赵相国;何睿;袁野;要鑫;毕鑫;

    申请日2023-05-26

  • 分类号G06F18/15(2023.01);G06F18/214(2023.01);G06F18/24(2023.01);G06N3/0895(2023.01);

  • 代理机构沈阳东大知识产权代理有限公司 21109;

  • 代理人梁焱

  • 地址 110819 辽宁省沈阳市和平区文化路三号巷11号

  • 入库时间 2024-01-17 01:24:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-12

    实质审查的生效 IPC(主分类):G06F18/15 专利申请号:2023106055952 申请日:20230526

    实质审查的生效

说明书

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于半监督学习的区块链异常交易检测方法。

背景技术

近年来,以区块链为基础的加密数字货币受到广泛关注,随之发生了大量非法犯罪事件,但全球在区块链异常交易检测领域尚处于起步阶段,在研究的整体性、系统性、实用性等方面还不够完善。区块链异常交易检测可以看作是对节点的分类任务,找出区别于正常交易节点的异常节点,可以有效发现不法分子的攻击行为,进而实现多级安全访问控制,有效保障区块链系统的安全。

区块链技术的产品研发进展显著,但同时也暴露了异常交易、欺诈行为、虚假信息诱导和恶意操纵价格等风险。对此要精准识别区块链上的异常交易,从错综复杂的区块链交易中抽取的原始特征,从持续增长的海量交易中准确高效地对少量非法交易进行分类。对区块链异常交易检测进行研究,可以有效发现不法分子的攻击行为,并且对可能遭受的攻击或非法交易进行预警,有效保障区块链系统的安全,具有重要的理论意义和实践价值。加大对区块链异常事件的理论分析并增强异常检测技术的研究,突破区块链异常交易检测瓶颈,通过异常交易检测识别用户身份,实现多级安全访问控制,进而为区块链应用的发展和全面落地提供安全支撑。

中国专利CN202210183812.9[P]提供了一种基于PCA与RF的区块链异常检测方法,包括调用PCA模型对原始交易数据进行降维,得到待检测数据;调用贝叶斯优化模型对待检测数据进行调优训练,得到随机森林模型最优超参数;基于所得超参数进行随机森林模型训练,得到区块链异常检测模型;调用预先训练的随机森林模型对待检测数据进行计算,得到对应原始交易数据的异常检测结果。通过PCA模型对所述原始交易数据进行降维,可以减小冗余特征干扰,提高异常检测性能;通过贝叶斯优化模型实现随机森林超参数智能化优化,可以提高分类性能,消除区块链交易数据正负样本极不平衡的影响。

传统的区块链异常交易检测研究工作主要集中在有监督学习和无监督学习。有监督的异常检测方法需要一个标记好的训练集,从而达到训练分类器识别区块链异常交易的目的。无监督的异常交易检测方法则不需要提前标记的训练集,获得了更多的关注和期待。现有的研究中,可以看出基于有监督学习的异常检测方法需要对样本数据集全部标记,且大量的未标记样本导致学习器的泛化性能较差。在区块链中,异常交易往往隐藏于大量正常交易中,导致合法与非法交易界限不明显,且两者的特征值差异较小,因此无监督方法检测存在较高的误分类率。

对于区块链异常交易检测目前的方法主要存在以下缺陷:

(1)在特征选择阶段没有考虑到后续要使用的学习器,减弱了学习器的拟合能力;

(2)对数据进行分类时有一定欠拟合的风险;

(3)忽略了噪声及错误分类对模型造成反向优化的影响。

发明内容

本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于半监督学习的区块链异常交易检测方法,针对区块链交易节点特征多样性的特点,提出了基于集成学习的特征选择方法;针对区块链交易中数据集不平衡的现象,提出基于一分类的数据预处理方法;针对传统Tri-Training方法中预测偏差造成反向优化的问题,本发明提出Multi-Training方法获取具有高置信度的伪标签数据用于区块链异常交易检测模型的训练。

为解决上述技术问题,本发明所采取的技术方案是:

一种基于半监督学习的区块链异常交易检测方法,包括如下步骤:

步骤1:特征工程与特征选择;获取区块链交易初始数据集,对数据集有效特征进行提取;

步骤2:数据预处理;对正负例数量不平衡的初始数据集进行预处理;

步骤3:模型训练;使用改进的Tri-Training方法对大量无标签数据进行分类,基于DBSCAN获得具有高置信度的伪标签数据,使用训练集数据和伪标签数据对基分类器进行迭代优化;

步骤4:将目标监测数据输入异常交易检测模型,得到检测结果。

采用上述技术方案所产生的有益效果在于:本发明提供的基于半监督学习的区块链异常交易检测方法,提出创新性的半监督模型,充分利用有标签数据及无标签数据,增强检测的精度;结合过滤法和包裹法的优势,从单变量自身情况和多变量之间的关系去判断变量是否该被选择,提出基于集成学习的特征选择方法对数据集有效特征进行提取,减少冗余特征的干扰;提出一分类法处理不平衡的数据集,有效解决数据不平衡导致负例样本欠拟合的问题;提出Multi-Training方法获取具有高置信度的伪标签数据,提升训练模型的泛化能力。

附图说明

图1为本发明实施例提供的基于半监督学习的区块链异常交易检测方法流程示意图;

图2为本发明实施例提供的基于集成学习的特征选择方法的流程示意图;

图3为本发明实施例提供的基于半监督学习的区块链异常交易检测建模过程示意图;

图4为本发明实施例提供的基于半监督学习的区块链异常交易检测系统结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

如图1所示,本实施例的方法如下所述。

步骤1:特征工程与特征选择。获取区块链交易初始数据集,对数据集有效特征进行提取,结合过滤法ANOVA和包裹法RFECV,通过单变量自身情况和多变量之间的关系,提取有效检测区块链异常交易的特征。

区块链交易初始数据集特征,包括局部特征和聚合特征。节点的本地信息,记为局部特征,如时间步长、交易手续费、输入/输出数等94个特征;从中心节点向前/向后一跳聚合事务信息统计出的最大值、最小值、标准差和相关系数等72个特征,标记为聚合特征。具体包括交易的最大输出话费的等待时间、交易的所有输出金额的方差、输入交易花费时间间隔均值、输出交易花费时间间隔举止、交易的输出交易数量、交易的输入交易数量等166个特征构建的初始数据集,并按照合法实体(如交易所、钱包提供商、合法服务等)和非法实体(如诈骗、恶意软件、勒索软件等)类型采用启发式的推理过程,对数据进行标注。

对每一维特征赋予权重,依据权重对特征进行排序。使用一个基分类器进行多轮训练,每轮训练后,消除若干低权值的特征。基于新的特征集进行下一轮训练,并由此获取各个特征的Ranking。基于Ranking,依次选择特征子集进行模型训练和交叉验证,最后选择平均分最高的特征子集。如图2所示,本实施例提供的基于集成学习的特征选择方法的流程示意图,具体实现过程如下:

对于初始特征集F={F

其中,k为控制变量的水平数,本实施例中k为2,包括正常交易和异常交易;n

各组的各样本数据与其组平均值误差的平方和,反映了每个样本各观察值的离散状况,表示随机误差的影响,记为组内平方和SSE,SSE公式如下:

其中,x

全部观察值与总平均值的误差平方和,反映全部观察值的离散程度,记为总误差平方和SST,SST公式如下:

组间均方MSA和组内均方MSE分别由误差平方和除以各自的自由度得到,MSA/MSE比值构成F分布:

其中,n为样本数。F作为统计检验量,也是有对应概率分布的,即满足F(k-1,n-k)的概率分布,F值越大则SSA相比SSE越大,也就是组间差异越大、不同组的数据更倾向于抽样自不同总体、零假设成立的可能性(p值)越低,反之则零假设成立的可能性就越高,由此选取F值大的初筛特征集F’={F’

递归特征消除法RFE是使用一个基模型进行多轮训练,每轮训练后,消除若干低权值的特征,再基于新的特征集进行下一轮训练。RFECV是RFE+CV(交叉验证),它的运行机制是:先使用REF获取各个特征的ranking,然后再基于ranking,依次选择[min_features_to_select,len(feature)]个特征数量的特征子集进行模型训练和交叉验证,最后选择平均分最高的特征子集。

步骤2:数据预处理。异常交易和正常交易数量极不平衡,对正负例数量不平衡的初始数据集进行预处理,使其划分为正负样本数量均匀的数据子集。

将数据分为多个子集加入到基分类器进行训练。对于正类样本N,从中随机抽样一个子集N

步骤3:模型训练。使用改进的Tri-Training方法对大量无标签数据进行分类,基于DBSCAN获得具有高置信度的伪标签数据,使用训练集数据和伪标签数据对基分类器进行迭代优化。

基于步骤2预处理后的i个有标记数据训练集分别对i个基分类器进行训练,并基于此分别对未标记数据进行预测。

Tri-training算法首先在标记数据集中对数据进行可重复的采样,获得三个不同的有标记数据训练集。基于这三个有标记数据训练集分别对三个基分类器进行训练,并基于此分别对未标记数据进行预测。基于少数服从多数的投票原则获得未标记数据的预测结果,并将未标记数据值以及预测得到的结果加入到有标记数据训练集中,再次对基分类器进行训练。这使模型训练以及模型优化的效果均有了显著的提升,不过Tri-training算法也存在着缺陷,一般算法需要对数据置信度进行计算估计,Tri-training算法则是基于少数服从多数的投票机制隐式的对训练数据进行分析,虽然减少了计算量但是不够准确,可能会得到错误的分类,对模型有反向优化的作用。为增加检测精度,本实施例在经典的Tri-Training算法基础上对其进行了改进。如图3所示,本实施例提供基于半监督学习的区块链异常交易检测建模过程示意图,具体实现过程如下:

步骤3.1:基于KNN获得伪标签数据,输入标记数据集L、未标记数据集U,使用基分类器H

基分类器H

步骤3.2:在U中选取预测标签相同的数据集,设置邻域半径Eps、邻域中数据对象数目阈值MinPts;

步骤3.3:从数据集中任意选取一个数据对象点p,如果对于参数Eps和MinPts,所选取的数据对象点p为核心点,则找出所有从数据对象点p密度可达的数据对象点,形成一个簇;如果选取的数据对象点p是边缘点,则选取另一个数据对象点;

步骤3.4:重复步骤3.2和步骤3.3,直到所有数据对象点被处理,最终输出密度联通簇;

步骤3.5:使用训练集数据和伪标签数据对基分类器进行迭代优化,若样本分布于同一簇内,则将未标记数据值以及预测得到的结果加入到训练集中对基分类器进行迭代优化。

本发明实施例提供基于半监督学习的区块链异常交易检测建模过程的基分类器采用KNN算法,KNN算法是能够较好地平衡准确率于训练过程内存占用的方法。具体实现过程如下:

输入训练数据集L={(x

根据给定的距离度量,在训练集L中找出与x最邻近的k个点,涵盖这k个点的x的邻域记作N

具体的距离度量使用曼哈顿距离的计算公式:

在N

上式中I为指示函数:

本实施例提供基于半监督学习的区块链异常交易检测建模过程中步骤3.2-步骤3.4是基于DBSCAN获得具有高置信度的伪标签数据,具体实现过程如下:

在U中选取预测标签相同的数据集,设置邻域半径Eps,邻域中数据对象数目阈值MinPts。从数据集中任意选取一个数据对象点p,如果对于参数Eps和MinPts,所选取的数据对象点p为核心点,则找出所有从p密度可达的数据对象点,形成一个簇。如果选取的数据对象点p是边缘点,则选取另一个数据对象点。重复此过程,直到所有数据对象点被处理,最终输出密度联通簇。若样本分布于同一簇内,则将未标记数据值以及预测得到的结果加入到有标记数据训练集中再次对基分类器进行训练,并对基分类器进行迭代优化,最后将其整合成Multi-Training分类器。

步骤4:将目标监测数据输入异常交易检测模型,得到检测结果。

通过本实施例的基于半监督学习的区块链异常交易检测方法,将数据集全部特征输入特征选择模型,通过集成学习对该模型进行建模,提取可以有效检测区块链异常交易的特征,异常交易和正常交易数量极不平衡,对正负例数量不平衡的初始数据集进行预处理,使其划分为正负样本数量均匀的数据子集,将分类好的数据子集加入基分类器进行训练,对基分类器预测出具有相同标签的样本再次训练来减少错误分类率,对基分类器不断进行迭代优化,将以上模型进行整合和调整,构建一个可以有效检测区块链异常交易的Multi-Training模型,如图4所示的系统。

本发明所提供的一种基于半监督学习的区块链异常交易检测方法,包括:获取区块链交易初始数据集;基于集成学习进行特征选择;基于一分类对不平衡数据集进行预处理;提出Multi-Training方法获取具有高置信度的伪标签数据用于区块链异常交易检测模型的训练。与当下以不同方式进行区块链异常交易检测的目标是一致的,但本发明的研究与已有的研究成果有着很大的不同:

(1)当前研究关于区块链异常交易检测的方法大多是基于有监督或无监督的方法。本发明研究创新性的半监督模型,充分利用有标签数据及无标签数据,增强检测的精度。

(2)考虑到区块链交易数据特征的多样性,特征之间的相关性也对模型的训练有着至关重要的作用。当前研究对于特征的选择主要是基于单一特征的选择,本课题结合过滤法和包裹法的优势,从单变量自身情况和多变量之间的关系去判断变量是否该被选择。

(3)对于数据集的预处理,当前研究主要是使用过采样或欠采样来处理不平衡的数据集。基于一分类法,将数据分为多个子集加入到基分类器进行训练,有效提升模型训练精度。

(4)本发明研究综合利用有标签数据和无标签数据,将二者有效结合,迭代优化基分类器,最终整合为Multi-Training模型,在检测精度上明显优于当前最先进的模型。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号