CN111754345B - 一种基于改进随机森林的比特币地址分类方法 - Google Patents

一种基于改进随机森林的比特币地址分类方法 Download PDF

Info

Publication number
CN111754345B
CN111754345B CN202010560006.XA CN202010560006A CN111754345B CN 111754345 B CN111754345 B CN 111754345B CN 202010560006 A CN202010560006 A CN 202010560006A CN 111754345 B CN111754345 B CN 111754345B
Authority
CN
China
Prior art keywords
feature
features
address
learner
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010560006.XA
Other languages
English (en)
Other versions
CN111754345A (zh
Inventor
王劲松
陶峰
张洪玮
赵泽宁
石凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University of Technology
Original Assignee
Tianjin University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University of Technology filed Critical Tianjin University of Technology
Priority to CN202010560006.XA priority Critical patent/CN111754345B/zh
Publication of CN111754345A publication Critical patent/CN111754345A/zh
Application granted granted Critical
Publication of CN111754345B publication Critical patent/CN111754345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于改进随机森林的比特币地址分类方法。其包括构建特征集、构成数据集、获得带有标签的样本集、初始化学习器的参数、迭代学习器及获取关键特征等步骤。本发明从比特币市场监管角度将判断用户是否参与非法交易问题转变成比特币地址分类问题,有助于完善市场监管;直接通过区块链历史交易记录获取样本集,这样就大大降低了数据的收集难度;能够以84%左右的准确率对比特币地址进行分类,仅仅只需要很少的统计特征;不仅能很好的对地址进行分类,同时对构建的大量统计特征进行去冗余,当学习器完成最终的训练之后,就能获得最终需要提取的关键特征,这对于一个需要进行识别的地址而言,既减少了数据收集时间,也降低了地址分类的时间开销。

Description

一种基于改进随机森林的比特币地址分类方法
技术领域
本发明属于数据挖掘和机器学习技术领域,特别是涉及一种基于改进随机森林的比特币地址分类方法。
背景技术
随着数字货币市场的不断发展,比特币作为数字货币中的典型代表,应用越来越广泛。比特币地址是用户参与服务的唯一身份标识,但是由于比特币本身具有匿名性特点,这也为诸如洗钱等非法活动提供了便利。在这种情况下,为了更好地了解比特币的用途,通过比特币地址来说明用户交易行为显得至关重要,但比特币的匿名性却为此带来了挑战,因此如何在系统中快速对一个比特币地址进行分类,即利用较少的统计特征,从而判断该地址是被非法用户所有还是属于正常交易地址,是解决比特币市场难于监管的一个重要方法。
目前,比特币地址的分类方法包括以下几种:
交易图分析法:目前最常用的比特币地址分类方法就是交易图分析法,常见的一种构图方法是将交易视为图的点集,图的边表示两笔交易间经过某一地址所流通的比特币数量,利用历史交易记录,从而能够构建出整个交易图,从交易图中能够提取比特币地址的一系列统计特征,利用常用的机器学习分类算法就能以较高的准确率对地址进行分类,一般情况下交易图越完善,即越接近实际所有的交易,分类的准确率会越高,通常准确率都在90%以上,实际上不同的研究者出于不同的目的会选择不一样的构图方式,但无疑最终都会形成一张超大的图。
启发式地址聚类法:启发式地址聚类在一定程度上也能够识别一个比特币地址,该方法基于一个经典的假设:在同一笔交易中,所有的输入地址都是由一个用户所掌握的。由于比特币系统协议会在交易的过程中自动生成找零地址,用于接收交易中的找零资金,因此进一步的地址聚类方法会将找零地址与输入地址折叠成一个更大的交易实体,只要其中的一个地址类别暴露就可以对该交易实体所有的地址进行识别。
机器学习分类方法:目前一部分研究人员着力于直接从交易历史记录中提取相关地址的统计特征,区别于交易图分析法大大减少了构图工作量,利用经典的机器学习分类方法也能够以较高的准确率对地址进行识别,通常准确率在80%以上。
但现有的交易图分析法收集数据方法过于繁复,需要先利用比特币历史交易记录根据自己定义的构图规则形成一张图,再从中提取特征,往往不同的研究者构图的方法各不相同,但无疑最终都会形成一张超大的图,同时现有的多分类方法中对于地址提取的特征较多,使数据收集的难度过大,耗费时间过长,这为快速分类一个比特币地址制造了难度。
现有的基于启发式的地址聚类方法存在两个缺陷:一是该方法只针对特定类型交易地址有效,如多个交易输入可以被聚成一类,但是对于单一输入的交易,当该输入地址在未来交易记录中从未出现过时,将无法归类到任何一类。二是基于找零地址的启发式聚类方法由于受到比特币协议的变化,如找零地址使用比特币钱包自动生成的新地址或用户指定的新地址,因此该方法不能完全聚类出交易输入用户控制的地址群。
现有的机器学习分类方法对于从交易历史记录中提取什么特征,提取多少特征尚未形成一致观点,因此不同的研究人员会提取到不同数量和不同种类的特征,事实上这种盲选特征会造成实际特征中有很多的冗余特征,增加了学习器的训练开销,无法为一个需要分类的地址的特征提取提供参考。
发明内容
为了解决上述问题,本发明的目的在于提供了一种基于改进随机森林的比特币地址分类方法。
为了达到上述目的,本发明提供的基于改进随机森林的比特币地址分类方法包括按顺序进行的下列步骤:
S1:从区块链的历史交易记录中提取地址原始特征并添加到现有机器学习分类方法所使用的特征集中,构建一个更大的特征集;
S2:解析原始区块数据而获得比特币地址,并从上述构建的特征集中提取出与地址相关的统计特征信息而构成数据集,所获得数据集的大小与操作者选取的时间段以及在这个时间段交易数量的多少有关;
S3:利用爬虫技术,为上述数据集打上标签,从而获得带有标签的样本集,并根据需要将地址分为多个不同的类别;
S4:初始化学习器的参数,包括随机森林参数基分类器数量L、利用特征分裂节点时候选特征子集的数量l,以及算法准确率变化阈值δ;
S5:初始化学习器中的重要特征集
Figure BDA0002545748170000031
不重要特征集
Figure BDA0002545748170000032
特征向量
Figure BDA0002545748170000033
和算法准确率集合
Figure BDA0002545748170000034
其中重要特征集
Figure BDA0002545748170000035
用于保留需要提取的关键特征,
Figure BDA0002545748170000036
用于暂存当前未被标记为重要的特征,特征向量
Figure BDA0002545748170000041
表示每个样本中的属性集合,算法准确率集合
Figure BDA0002545748170000042
用于记录每一轮算法的准确率;
S6:用上述带有标签的样本集迭代上述初始化后的学习器,直到算法准确率变化范围超过算法准确率变化阈值δ;
S7:获取重要特征集
Figure BDA0002545748170000043
中保留的特征,作为需要提取的关键特征;
S8:在实际应用中,对于任一需要分类的地址,只需从比特币交易记录中提取出少量的关键特征,然后将这些关键特征输入到上述已训练好的学习器中,学习器的输出即为该比特币地址的交易类型分类。
在S1中,所述的从区块链的历史交易记录中提取地址原始特征并添加到现有机器学习分类方法所使用的特征集中,构建一个更大的特征集的具体方法如下:
S101:设定如下用于提取地址原始特征的规则:地址存活时间单位为天,存活时间不足24小时视为1天,其余情况下存活天数向下取整;对于存在自找零交易,即给定地址同时出现在交易的输入和输出中,将其视为对应于该地址的输出交易;为了保留原始信息同时降低提取特征的困难,将比特币交易的数量单位设定为BTC;
S102:按照上述规则,从区块链的历史交易记录中提取包括截至目前为止地址存活时间在内的地址原始特征;
S103:对上述地址原始特征进行线性组合。
在S6中,所述的用上述带有标签的样本集迭代上述初始化后的学习器,直到算法准确率变化范围超过算法准确率变化阈值δ的具体方法如下:
S601:利用上述带有标签的样本集迭代训练学习器,并将该轮训练时学习器的分类准确率加入到算法准确率集合
Figure BDA0002545748170000051
中;
S602:计算在该轮训练中每一个特征j的全局权重
Figure BDA0002545748170000052
S603:将所有特征按照权重大小进行降序排列,并将前
Figure BDA0002545748170000053
个特征加入到重要特征集
Figure BDA0002545748170000054
中,一旦特征出现在重要特征集
Figure BDA0002545748170000055
中,其将永远不会被删除直至算法结束,将其余特征加入到不重要特征集合
Figure BDA0002545748170000056
中;
S604:更新重要特征集
Figure BDA0002545748170000057
不重要特征集
Figure BDA0002545748170000058
和特征向量
Figure BDA0002545748170000059
由此完成特征的筛选;
S605:判断算法准确率集合
Figure BDA00025457481700000510
的极差是否小于算法准确率变化阈值δ,如果成立,则执行S606,否则保留重要特征集
Figure BDA00025457481700000511
中的特征并作为筛选出的关键特征;
S606:执行S601,利用上述更新后的特征向量
Figure BDA00025457481700000512
继续迭代训练学习器直至收敛。
在S602中,所述的计算在该轮训练中每一个特征j的全局权重
Figure BDA00025457481700000513
的具体方法如下:
S60201:每一个基分类器在分裂节点i的时候,先根据以下公式计算该分裂节点的信息熵:
Figure BDA0002545748170000061
其中P(c)表示在该分裂节点地址类别为c的概率;
S60202:根据上述信息熵计算分裂节点i的特征候选子集中每一个特征j的分裂评分,计算公式如下:
Figure BDA0002545748170000062
其中V表示按照特征j分裂节点后子节点的数量,节点的分裂按分裂评分
Figure BDA0002545748170000063
最高的特征进行分裂;
S60203:利用上述分裂评分计算每个特征j在每一个基分类器ζ中的局部权重:
Figure BDA0002545748170000064
其中N_node表示基分类器ζ中非叶子节点的数量;
S60204:利用袋外数据算出每一个基分类器ζ的分类准确率,进而按下式计算出每一个基分类器ζ的权重:
Figure BDA0002545748170000065
其中accζ表示基分类器ζ的分类准确率;
S60205:基于上述局部权重和基分类器的权重计算出每个特征j在整个随机森林中的全局权重:
Figure BDA0002545748170000071
在S604中,所述的更新重要特征集
Figure BDA0002545748170000072
不重要特征集
Figure BDA0002545748170000073
和特征向量
Figure BDA0002545748170000074
由此完成特征的筛选的具体方法如下:
S60401:计算不重要特征集
Figure BDA00025457481700000715
中特征的权重平均数μ和标准方差σ;
S60402:将不重要特征集
Figure BDA0002545748170000075
中权重小于μ-3σ的特征直接删除,同时对特征向量
Figure BDA0002545748170000076
进行更新;
S60403:如果不重要特征集
Figure BDA0002545748170000077
中所有权重均大于μ-3σ,则直接删除权重最小的一个特征,同时对特征向量
Figure BDA0002545748170000078
进行更新;
S60404:将更新后的不重要特征集
Figure BDA0002545748170000079
中权重大于或等于重要特征集
Figure BDA00025457481700000710
中最小权重的特征从不重要特征集
Figure BDA00025457481700000711
中转移到重要特征集
Figure BDA00025457481700000712
中,由此完成重要特征集
Figure BDA00025457481700000713
和不重要特征集
Figure BDA00025457481700000714
的更新。
本发明提供的基于改进随机森林的比特币地址分类方法具有如下有益效果:(1)从比特币市场监管角度将判断用户是否参与非法交易问题转变成比特币地址分类问题,有助于完善市场监管;(2)本发明直接通过区块链的历史交易记录获取样本集,而不需要先去形成一张超大的交易图,再从图中提取特征,这样就大大降低了数据的收集难度;(3)基于改进随机森林的比特币地址分类方法能够以84%左右的准确率对比特币地址进行分类,仅仅只需要很少的统计特征;(4)地址分类方法不仅能很好的对地址进行分类,同时对构建的大量统计特征进行去冗余,当学习器完成最终的训练之后,就能获得最终需要提取的关键特征,这对于一个需要进行识别的地址而言,既减少了数据收集时间,也降低了地址识别的时间开销。
附图说明
图1为本发明提供的基于改进随机森林的比特币地址分类方法流程图。
图2为本发明提供的获取带有标签的数据集流程图。
图3为本发明提供的算法迭代训练过程流程图。
图4为本发明提供的计算每个特征的全局权重流程图。
图5为本发明提供的特征集和特征向量更新过程流程图。
具体实施方式
下面结合附图和具体实施例对本发明提供的基于改进随机森林的比特币地址分类进行详细说明。
如图1—图5所示,本发明提供的基于改进随机森林的比特币地址分类方法包括按顺序进行的下列步骤:
S1:从区块链的历史交易记录中提取地址原始特征并添加到现有机器学习分类方法所使用的特征集中,构建一个更大的特征集;
具体方法如下:
S101:设定如下用于提取地址原始特征的规则:地址存活时间单位为天,存活时间不足24小时视为1天,其余情况下存活天数向下取整;对于存在自找零交易,即给定地址同时出现在交易的输入和输出中,将其视为对应于该地址的输出交易;为了保留原始信息同时降低提取特征的困难,将比特币交易的数量单位设定为BTC;
S102:按照上述规则,从区块链的历史交易记录中提取包括截至目前为止地址存活时间在内的地址原始特征;
S103:对上述地址原始特征进行线性组合,以进一步丰富统计特征,如该地址每天转出多少BTC。
S2:解析原始区块数据而获得比特币地址,并从上述构建的特征集中提取出与地址相关的统计特征信息而构成数据集,所获得数据集的大小与操作者选取的时间段以及在这个时间段交易数量的多少有关;
S3:利用爬虫技术,为上述数据集打上标签,从而获得带有标签的样本集,并根据需要将地址分为多个不同的类别;
S4:初始化学习器的参数,包括随机森林参数基分类器数量L、利用特征分裂节点时候选特征子集的数量l,以及算法准确率变化阈值δ;
S5:初始化学习器中的重要特征集
Figure BDA0002545748170000091
不重要特征集
Figure BDA0002545748170000092
特征向量
Figure BDA0002545748170000093
和算法准确率集合
Figure BDA0002545748170000094
其中重要特征集
Figure BDA0002545748170000095
用于保留需要提取的关键特征,
Figure BDA0002545748170000096
用于暂存当前未被标记为重要的特征,特征向量
Figure BDA0002545748170000101
表示每个样本中的属性集合,算法准确率集合
Figure BDA0002545748170000102
用于记录每一轮算法的准确率;
S6:用上述带有标签的样本集迭代上述初始化后的学习器,直到算法准确率变化范围超过算法准确率变化阈值δ;
具体方法如下:
S601:利用上述带有标签的样本集迭代训练学习器,并将该轮训练时学习器的分类准确率加入到算法准确率集合
Figure BDA0002545748170000103
中;
S602:计算在该轮训练中每一个特征j的全局权重
Figure BDA0002545748170000104
S603:将所有特征按照权重大小进行降序排列,并将前
Figure BDA0002545748170000105
个特征加入到重要特征集
Figure BDA0002545748170000106
中,一旦特征出现在重要特征集
Figure BDA0002545748170000107
中,其将永远不会被删除直至算法结束,将其余特征加入到不重要特征集合
Figure BDA0002545748170000108
中;
S604:更新重要特征集
Figure BDA0002545748170000109
不重要特征集
Figure BDA00025457481700001010
和特征向量
Figure BDA00025457481700001011
由此完成特征的筛选;
S605:判断算法准确率集合
Figure BDA00025457481700001012
的极差是否小于算法准确率变化阈值δ,如果成立,则执行S606,否则保留重要特征集
Figure BDA00025457481700001013
中的特征并作为筛选出的关键特征;
S606:执行S601,利用上述更新后的特征向量
Figure BDA00025457481700001014
继续迭代训练学习器直至收敛;
在S602中,所述的计算在该轮训练中每一个特征j的全局权重
Figure BDA0002545748170000111
的具体方法如下:
S60201:每一个基分类器在分裂节点i的时候,先根据以下公式计算该分裂节点的信息熵:
Figure BDA0002545748170000112
其中P(c)表示在该分裂节点地址类别为c的概率;
S60202:根据上述信息熵计算分裂节点i的特征候选子集中每一个特征j的分裂评分,计算公式如下:
Figure BDA0002545748170000113
其中V表示按照特征j分裂节点后子节点的数量,节点的分裂按分裂评分
Figure BDA0002545748170000114
最高的特征进行分裂;
S60203:利用上述分裂评分计算每个特征j在每一个基分类器ζ中的局部权重:
Figure BDA0002545748170000115
其中N_node表示基分类器ζ中非叶子节点的数量;
S60204:利用袋外数据算出每一个基分类器ζ的分类准确率,进而按下式计算出每一个基分类器ζ的权重:
Figure BDA0002545748170000121
其中accζ表示基分类器ζ的分类准确率;
S60205:基于上述局部权重和基分类器的权重计算出每个特征j在整个随机森林中的全局权重:
Figure BDA0002545748170000122
在S604中,所述的更新重要特征集
Figure BDA0002545748170000123
不重要特征集
Figure BDA0002545748170000124
和特征向量
Figure BDA0002545748170000125
由此完成特征的筛选的具体方法如下:
S60401:计算不重要特征集
Figure BDA0002545748170000126
中特征的权重平均数μ和标准方差σ;
S50402:将不重要特征集
Figure BDA0002545748170000127
中权重小于μ-3σ的特征直接删除,同时对特征向量
Figure BDA0002545748170000128
进行更新;
S60403:如果不重要特征集
Figure BDA0002545748170000129
中所有权重均大于μ-3σ,则直接删除权重最小的一个特征,同时对特征向量
Figure BDA00025457481700001210
进行更新;
S60404:将更新后的不重要特征集
Figure BDA0002545748170000131
中权重大于或等于重要特征集
Figure BDA0002545748170000132
中最小权重的特征从不重要特征集
Figure BDA0002545748170000133
中转移到重要特征集
Figure BDA0002545748170000134
中,由此完成重要特征集
Figure BDA0002545748170000135
和不重要特征集
Figure BDA0002545748170000136
的更新。
S7:获取重要特征集
Figure BDA0002545748170000137
中保留的特征,作为需要提取的关键特征。
S8:在实际应用中,对于任一需要分类的地址,只需从比特币交易记录中提取出少量的关键特征,然后将这些关键特征输入到上述已训练好的学习器中,学习器的输出即为该比特币地址的交易类型分类。

Claims (2)

1.一种基于改进随机森林的比特币地址分类方法,其特征在于:所述的比特币地址分类方法包括按顺序进行的下列步骤:
S1:从区块链的历史交易记录中提取地址原始特征并添加到现有机器学习分类方法所使用的特征集中,构建一个更大的特征集;
S2:解析原始区块数据而获得比特币地址,并从构建的特征集中提取出与地址相关的统计特征信息而构成数据集,所获得数据集的大小与操作者选取的时间段以及在这个时间段交易数量的多少有关;
S3:利用爬虫技术,为上述数据集打上标签,从而获得带有标签的样本集,并根据需要将地址分为多个不同的类别;
S4:初始化学习器的参数,包括随机森林参数基分类器数量L、利用特征分裂节点时候选特征子集的数量l,以及算法准确率变化阈值δ;
S5:初始化学习器中的重要特征集
Figure FDA0003497236450000011
不重要特征集
Figure FDA0003497236450000012
特征向量
Figure FDA0003497236450000013
和算法准确率集合
Figure FDA0003497236450000014
其中重要特征集
Figure FDA0003497236450000015
用于保留需要提取的关键特征,
Figure FDA0003497236450000016
用于暂存当前未被标记为重要的特征,特征向量
Figure FDA0003497236450000017
表示每个样本中的属性集合,算法准确率集合
Figure FDA0003497236450000018
用于记录每一轮算法的准确率;
S6:用上述带有标签的样本集迭代上述初始化后的学习器,直到算法准确率变化范围超过算法准确率变化阈值δ;
S7:获取重要特征集
Figure FDA0003497236450000019
中保留的特征,作为需要提取的关键特征;
S8:在实际应用中,对于任一需要分类的地址,只需从比特币交易记录中提取出少量的关键特征,然后将这些关键特征输入到上述已训练好的学习器中,学习器的输出即为比特币地址的交易类型分类;
在S6中,所述的用上述带有标签的样本集迭代上述初始化后的学习器,直到算法准确率变化范围超过算法准确率变化阈值δ的具体方法如下:
S601:利用上述带有标签的样本集迭代训练学习器,并将该轮训练时学习器的分类准确率加入到算法准确率集合
Figure FDA0003497236450000021
中;
S602:计算在该轮训练中每一个特征j的全局权重w(j);
S603:将所有特征按照权重大小进行降序排列,并将前
Figure FDA0003497236450000022
个特征加入到重要特征集
Figure FDA0003497236450000023
中,一旦特征出现在重要特征集
Figure FDA0003497236450000024
中,其将永远不会被删除直至算法结束,将其余特征加入到不重要特征集合
Figure FDA0003497236450000025
中;
S604:更新重要特征集
Figure FDA0003497236450000026
不重要特征集
Figure FDA0003497236450000027
和特征向量
Figure FDA0003497236450000028
由此完成特征的筛选;
S605:判断算法准确率集合
Figure FDA0003497236450000029
的极差是否小于算法准确率变化阈值δ,如果成立,则执行S606,否则保留重要特征集
Figure FDA00034972364500000210
中的特征并作为筛选出的关键特征;
S606:执行S601,利用更新后的特征向量
Figure FDA00034972364500000211
继续迭代训练学习器直至收敛;
在S602中,所述的计算在该轮训练中每一个特征j的全局权重w(j)的具体方法如下:
S60201:每一个基分类器在分裂节点i的时候,先根据以下公式计算分裂节点的信息熵:
Figure FDA0003497236450000031
其中P(c)表示在分裂节点地址类别为c的概率;
S60202:根据上述信息熵计算分裂节点i的特征候选子集中每一个特征j的分裂评分,计算公式如下:
Figure FDA0003497236450000032
其中V表示按照特征j分裂节点后子节点的数量,节点的分裂按分裂评分
Figure FDA0003497236450000033
最高的特征进行分裂;
Figure FDA0003497236450000034
表示分裂节点i的特征候选子集中每一个特征j的分裂评分;
S60203:利用上述分裂评分计算每个特征j在每一个基分类器ζ中的局部权重:
Figure FDA0003497236450000035
其中N_node表示基分类器ζ中非叶子节点的数量;
S60204:利用袋外数据算出每一个基分类器ζ的分类准确率,进而按下式计算出每一个基分类器ζ的权重:
Figure FDA0003497236450000041
其中accζ表示基分类器ζ的分类准确率;
S60205:基于上述局部权重和基分类器的权重计算出每个特征j在整个随机森林中的全局权重:
Figure FDA0003497236450000042
在S604中,所述的更新重要特征集
Figure FDA0003497236450000043
不重要特征集
Figure FDA0003497236450000044
和特征向量
Figure FDA0003497236450000045
由此完成特征的筛选的具体方法如下:
S60401:计算不重要特征集
Figure FDA0003497236450000046
中特征的权重平均数μ和标准方差σ;
S60402:将不重要特征集
Figure FDA0003497236450000047
中权重小于μ-3σ的特征直接删除,同时对特征向量
Figure FDA0003497236450000048
进行更新;
S60403:如果不重要特征集
Figure FDA0003497236450000049
中所有权重均大于μ-3σ,则直接删除权重最小的一个特征,同时对特征向量
Figure FDA00034972364500000410
进行更新;
S60404:将更新后的不重要特征集
Figure FDA00034972364500000411
中权重大于或等于重要特征集
Figure FDA00034972364500000412
中最小权重的特征从不重要特征集
Figure FDA00034972364500000413
中转移到重要特征集
Figure FDA00034972364500000414
中,由此完成重要特征集
Figure FDA0003497236450000051
和不重要特征集
Figure FDA0003497236450000052
的更新。
2.根据权利要求1所述的基于改进随机森林的比特币地址分类方法,其特征在于:在S1中,所述的从区块链的历史交易记录中提取地址原始特征并添加到现有机器学习分类方法所使用的特征集中,构建一个更大的特征集的具体方法如下:
S101:设定如下用于提取地址原始特征的规则:地址存活时间单位为天,存活时间不足24小时视为1天,其余情况下存活天数向下取整;对于存在自找零交易,即给定地址同时出现在交易的输入和输出中,将其视为对应于该地址的输出交易;为了保留原始信息同时降低提取特征的困难,将比特币交易的数量单位设定为BTC;
S102:按照上述规则,从区块链的历史交易记录中提取包括截至目前为止地址存活时间在内的地址原始特征;
S103:对上述地址原始特征进行线性组合。
CN202010560006.XA 2020-06-18 2020-06-18 一种基于改进随机森林的比特币地址分类方法 Active CN111754345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010560006.XA CN111754345B (zh) 2020-06-18 2020-06-18 一种基于改进随机森林的比特币地址分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010560006.XA CN111754345B (zh) 2020-06-18 2020-06-18 一种基于改进随机森林的比特币地址分类方法

Publications (2)

Publication Number Publication Date
CN111754345A CN111754345A (zh) 2020-10-09
CN111754345B true CN111754345B (zh) 2022-03-18

Family

ID=72676498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010560006.XA Active CN111754345B (zh) 2020-06-18 2020-06-18 一种基于改进随机森林的比特币地址分类方法

Country Status (1)

Country Link
CN (1) CN111754345B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112801783A (zh) * 2020-12-31 2021-05-14 北京知帆科技有限公司 一种基于数字货币交易特征的实体识别方法及装置
CN112699964A (zh) * 2021-01-13 2021-04-23 成都链安科技有限公司 模型构建方法、系统、装置、介质、交易身份识别方法
CN112861123B (zh) * 2021-01-26 2022-02-08 中山大学 一种比特币恶意地址识别方法及装置
CN114911925A (zh) * 2021-02-10 2022-08-16 中国人民银行数字货币研究所 一种区块链地址分类方法和装置
CN113052577B (zh) * 2021-03-12 2024-08-09 北京工业大学 一种区块链数字货币虚拟地址的类别推测方法及系统
CN113177596B (zh) * 2021-04-30 2024-03-22 中国人民银行数字货币研究所 一种区块链地址分类方法和装置
CN113190730B (zh) * 2021-04-30 2024-07-30 中国人民银行数字货币研究所 一种区块链地址的分类方法及装置
CN113177784B (zh) * 2021-05-31 2022-05-03 清华大学 地址类型识别方法及装置
CN113535847B (zh) * 2021-06-22 2024-07-02 中国人民银行数字货币研究所 区块链地址分类的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985583A (zh) * 2018-06-27 2018-12-11 中国银行股份有限公司 基于人工智能的金融数据风险控制方法及装置
CN109102176A (zh) * 2018-07-25 2018-12-28 珠海宏桥高科技有限公司 一种基于区块链的贸易金融评估方法及装置
CN109918584A (zh) * 2019-03-25 2019-06-21 中国科学院自动化研究所 比特币交易所地址识别方法、系统、装置
CN109961148A (zh) * 2019-04-03 2019-07-02 陕西医链区块链集团有限公司 一种使用随机森林算法实现区块链生产节点的选择方法
CN110705683A (zh) * 2019-10-12 2020-01-17 腾讯科技(深圳)有限公司 随机森林模型的构造方法、装置、电子设备及存储介质
CN110751554A (zh) * 2019-09-20 2020-02-04 暨南大学 区块链中数字货币的智能监测方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108985583A (zh) * 2018-06-27 2018-12-11 中国银行股份有限公司 基于人工智能的金融数据风险控制方法及装置
CN109102176A (zh) * 2018-07-25 2018-12-28 珠海宏桥高科技有限公司 一种基于区块链的贸易金融评估方法及装置
CN109918584A (zh) * 2019-03-25 2019-06-21 中国科学院自动化研究所 比特币交易所地址识别方法、系统、装置
CN109961148A (zh) * 2019-04-03 2019-07-02 陕西医链区块链集团有限公司 一种使用随机森林算法实现区块链生产节点的选择方法
CN110751554A (zh) * 2019-09-20 2020-02-04 暨南大学 区块链中数字货币的智能监测方法及系统
CN110705683A (zh) * 2019-10-12 2020-01-17 腾讯科技(深圳)有限公司 随机森林模型的构造方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Blockchain-based decentralized and secure keyless signature scheme for smart grid";Hongwei Zhang;《Energy》;20191231;全文 *
"区块链在数字资产交易领域中的创新应用";严振亚等;《区块链》;20200131(第1期);全文 *
"基于区块链的信息资源共享系统研究";王跃虎;《图书情报导刊》;20180531;第3卷(第5期);全文 *

Also Published As

Publication number Publication date
CN111754345A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN111754345B (zh) 一种基于改进随机森林的比特币地址分类方法
WO2019238109A1 (zh) 一种故障根因分析的方法及装置
CN112199608B (zh) 基于网络信息传播图建模的社交媒体谣言检测方法
CN108009249B (zh) 针对不平衡数据的融合用户行为规则的垃圾评论过滤方法
CN106776538A (zh) 企业非标准格式文档的信息提取方法
CN105373606A (zh) 一种改进c4.5决策树算法下的不平衡数据抽样方法
CN104915879A (zh) 基于金融数据的社会关系挖掘的方法及装置
CN107169059A (zh) 一种基于相似变精度粗糙集模型的知识推送规则提取方法
CN111325248A (zh) 降低贷前业务风险的方法及系统
Gerhana et al. Comparison of naive Bayes classifier and C4. 5 algorithms in predicting student study period
CN104850868A (zh) 一种基于k-means和神经网络聚类的客户细分方法
CN111986027A (zh) 基于人工智能的异常交易处理方法、装置
CN114022269A (zh) 一种公共信用领域企业信用风险评估方法
CN111641608A (zh) 异常用户识别方法、装置、电子设备及存储介质
CN108920446A (zh) 一种工程文本的处理方法
CN103886030A (zh) 基于代价敏感决策树的信息物理融合系统数据分类方法
CN111047428B (zh) 基于少量欺诈样本的银行高风险欺诈客户识别方法
CN111967973B (zh) 银行客户数据处理方法及装置
CN112950350A (zh) 一种基于机器学习的贷款产品推荐方法及系统
CN111984842A (zh) 银行客户数据处理方法及装置
CN116680325A (zh) 基于属性关联性的时序记录链接数据匹配方法及装置
CN109308565B (zh) 人群绩效等级识别方法、装置、存储介质及计算机设备
CN114048796A (zh) 一种改进型硬盘故障预测方法及装置
CN112818215A (zh) 产品数据的处理方法、装置、设备及存储介质
CN111191688A (zh) 一种用户分期期数管理方法、装置和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant