首页 / 专利库 / 银行与财务事项 / 数字货币 / 加密货币 / 比特币 / 一种基于比特币交易时序序列相似性的用户聚类方法

一种基于比特币交易时序序列相似性的用户聚类方法

阅读:106发布:2020-05-08

专利汇可以提供一种基于比特币交易时序序列相似性的用户聚类方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于 比特币 交易时序序列相似性的用户聚类方法,包括采集地址交易数及其交易额构造并拼接交易向量生成地址交易时序序列;采用滑窗填零方式将地址B和地址A的交易时序序列调整为等长;针对每种滑窗填零方式计算地址B与地址A的交易时序序列的余弦相似度;选取K个地址作为初始质心,将除质心外的其他地址加入与其余弦相似度最大的质心形成K个初始集合;计算初始集合中地址与其质心的余弦相似度和 选择集合内余弦相似度和最大点 为新质心并更新初始质心,以新质心形成新集合,新集合更新初始集合,重新计算 设置相似度偏差 阈值 Y, 迭代 更新直至 得到K个最终集合。本发明为比特币交易网络提供的聚类集合,更利于描给用户画像。,下面是一种基于比特币交易时序序列相似性的用户聚类方法专利的具体信息内容。

1.一种基于比特币交易时序序列相似性的用户聚类方法,其特征在于,包括:
S10采集在预设时序段内以地址输入交易的交易数及其交易额、地址输出交易的交易数及其交易额,构造地址在预设时序段的交易向量,拼接地址在预设时序段的所有交易向量生成地址在预设时序段的交易时序序列;
S20采用滑窗填零方式将地址B交易时序序列调整为地址A交易时序序列的等长;
S30针对每种滑窗填零方式计算地址B与地址A的交易时序序列的余弦相似度VAR,并将其初始值记为VARold;
S40选取K个地址作为初始质心,遍历除了这K个质心之外的全部地址获取每个地址与质心的最大余弦相似度,并将每个地址加入与其具有余弦相似度的质心形成初始集合,由此得到K个初始集合;
S50分别计算每个集合中全部点与其质心的余弦相似度和 i为K个集合的当前集合;
S60对于K个初始集合,选择与集合内的其他点余弦相似度和最大的点 作为新质心,新质心更新初始质心,返回S40形成新集合,新集合更新初始集合,将 赋值给VARold,重新计算 设置相似度偏差阈值Y,循环上述步骤并迭代更新,直至得到K个最终集合。
2.如权利要求1所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,所述余弦相似度计算公式如下:
其中Sim(A,Bu)表示地址A和地址Bu的欧式距离,CosSim(A,Bu)为以地址Bu的交易时序序列与地址A的交易时序序列的余弦距离,即为地址Bu和地址A的余弦相似度,Bu表示地址B的滑窗填充序列,u为滑窗填零方式种数,t为滑窗填充后的等长交易时序序列的长度,v代表在计算余弦相似度的时候需要遍历或被遍历地址的交易时序序列。
3.如权利要求2所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,所述 的计算公式如下:
其中Ci代表第i个集合的质心,j代表第i个集合
内除质心的当前点,ni代表第i个集合共有ni个点,P则是遍历集合下的全部点。
4.如权利要求1所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,所述S40中选取K个地址作为初始质心的方法采用离散随机质心选择法,具体为:假设总共需要选择K个地址作为初始质心,首先在全部地址中随机选择一个地址作为第一个初始质心,定义所有地址分别与第一个初始质心的余弦距离之和为VAR,设置相似度阈值δ,筛选出与第一个初始质心的余弦相似度小于相似度阈值δ的地址作为候选集合,在该候选集合中随机选择K-1个地址作为初始质心,由此构成K个初始质心。
5.如权利要求1所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,若地址A的交易时序序列长度为L1,地址B的交易时序序列长度为L2,则所述地址B有L1-L2+1种滑窗填零的方式,即u=L1-L2+1。
6.如权利要求1所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,所述VARold初始值为0。
7.如权利要求1所述的基于比特币交易时序序列相似性的用户聚类方法,其特征在于,所述S60中选择与集合内的其他点余弦相似度和最大的点 作为新质心的方法具体为:
遍历K个集合,每个集合中有L个地址,每个地址的分数表示为其与该集合内其他全部地址的余弦相似度的和,得到所有地址的分数SCORE-1,SCORE-2,…,SCORE-L,选择最大分数对应的地址,作为该集合的新质心。

说明书全文

一种基于比特币交易时序序列相似性的用户聚类方法

技术领域

[0001] 本发明涉及链领域,尤其涉及一种基于比特币交易时序序列相似性的用户聚类方法。

背景技术

[0002] 随着区块链技术的普及和发展,基于区块链衍生的产品越来越多。其中,数字货币是区块链领域非常重要的产物之一,同时,比特币作为数字货币的代表,也备受关注,吸引
了商户,个人等不同类型的用户进行比特币交易。比特币由于其匿名化的特点深受欢迎,但
是从宏观的度,对于比特币交易的监管也十分重要,因为比特币交易网络中不仅有正常
合理的交易用户,同时也藏匿着赌博,洗钱等不正常的用户的交易行为。因此,利用比特币
交易网络的数据进行用户识别十分重要。
[0003] 随着机器学习技术的发展以及区块链技术的进一步普及,业务人员希望通过利用机器学习的技术,对已有的比特币交易数据进行挖掘建模,以更准确地刻画比特币交易网
络中的用户画像,有利于对比特币交易的监管和把控。

发明内容

[0004] 本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种基于比特币交易时序序列相似性的用户聚类方法。
[0005] 本发明旨在至少在一定程度上解决上述技术问题。
[0006] 为了达到上述技术效果,本发明的技术方案如下:
[0007] 一种基于比特币交易时序序列相似性的用户聚类方法,包括:
[0008] S10采集在预设时序段内以地址输入交易的交易数及其交易额、地址输出交易的交易数及其交易额,构造地址在预设时序段的交易向量,拼接地址在预设时序段的所有交
易向量生成地址在预设时序段的交易时序序列;
[0009] S20采用滑窗填零方式将地址B交易时序序列调整为地址A交易时序序列的等长;
[0010] S30针对每种滑窗填零方式计算地址B与地址A的交易时序序列的余弦相似度VAR,并将其初始值记为VARold;
[0011] S40选取K个地址作为初始质心,遍历除了这K个质心之外的全部地址获取每个地址与质心的最大余弦相似度,并将每个地址加入与其具有余弦相似度的质心形成初始集
合,由此得到K个初始集合;
[0012] S50分别计算每个集合中全部点与其质心的余弦相似度和 i为K个集合的当前集合;
[0013] S60对于K个初始集合,选择与集合内的其他点余弦相似度和最大的点作为新质心,新质心更新初始质心,返回S40形成新集合,新集合更新初始集合,将 赋
值给VARold,重新计算 设置相似度偏差阈值Y,循环上述步骤并迭代更新,直至
得到K个最终集合。
[0014] 优选地,所述余弦相似度计算公式如下:
[0015]
[0016] 其中Sim(A,Bu)表示地址A和地址Bu的欧式距离,CosSim(A,Bu)为以地址Bu的交易时序序列与地址A的交易时序序列的余弦距离,即为地址Bu和地址A的余弦相似度,Bu表示地
址B的滑窗填充序列,u为滑窗填零方式种数,t为滑窗填充后的等长交易时序序列的长度,v
代表在计算余弦相似度的时候需要遍历或被遍历地址的交易时序序列。
[0017] 优选地,所述 的计算公式如下:
[0018] 其中Ci代表第i个集合的质心,j代表第i个集合内除质心的当前点,ni代表第i个集合共有ni个点,P则是遍历集合下的全部点。
[0019] 优选地,所述离散随机质心选择方法为:假设总共需要选择K个地址作为初始质心,首先在全部地址中随机选择一个地址作为第一个初始质心,定义所有地址分别与第一
个初始质心的余弦距离之和为VAR,设置相似度阈值δ,筛选出与第一个初始质心的余弦相
似度小于相似度阈值δ的地址作为候选集合,在该候选集合中随机选择K-1个地址作为初始
质心,由此构成K个初始质心。
[0020] 优选地,若地址A的交易时序序列长度为L1,地址B的交易时序序列长度为L2,则所述地址B有L1-L2+1种滑窗填零的方式,即u=L1-L2+1。
[0021] 优选地,所述VARold初始值为0。
[0022] 优选地,所述相似度投票质心更新的方法具体为:
[0023] 遍历K个集合,每个集合中有L个地址,每个地址的分数表示为其与该集合内其他全部地址的余弦相似度的和,得到所有地址的分数SCORE-1,SCORE-2,…,SCORE-L,选择最大
分数对应的地址,作为该集合的新质心。
[0024] 与现有技术相比,本发明技术方案的有益效果是:本发明针对比特币交易网络中的地址交易时序序列,通过对传统的KMeans聚类算法的改善迭代对每一个地址进行聚类,
进行更优的比特币交易时序序列的相似度计算和地址聚类,通过最终的聚类后的集合得到
每一个地址的所属类别,以更好地描绘比特币交易网络中的用户画像。
附图说明
[0025] 图1为本发明一实施例的方法流程图
[0026] 图2为地址B相对于地址A的滑窗填零一实施例的示意图。

具体实施方式

[0027] 在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0028] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0029] 在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内
部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员
而言,可以根据具体情况理解上述术语在本发明中的具体含义。
[0030] 在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在
第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示
第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第
一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
[0031] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在当
前集合个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域
的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进
行结合和组合。
[0032] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。
[0033] 为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0034] 对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0035] 下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0036] 对于比特币交易网络,每一个用户可以拥有多个地址,该地址是由字母和数字共同组成的一串长约33位的字符,进行比特币交易的时候,实际上就是利用地址中的余额进
行转账的行为。
[0037] 同时由于比特币是基于区块链的数字货币,因此会固定将每10分钟产生的全部交易打包成一个Block结构,同步到区块链上。每一笔交易可以理解为,将多个输入地址中的
余额,转到多个输出地址中。
[0038] 因此,对于每一个地址,可以通过如下方式定义其10分钟内的交易序列:
[0039] Trans=[InputAddressNum,OutPutAddressNum,InputMoney,OutputMoney]。
[0040] 假设地址A在十分钟内,作为输入地址转出金额参与了M笔交易,作为输出地址接收金额参与了N笔交易,同时M笔交易总共转出了X个比特币,N笔交易同时接收了Y个比特
币,因此对于地址A的这十分钟的交易时序序列,可以描述为[M,N,X,Y],即上面公式中对于
10分钟的一个Trans交易向量。
[0041] 因此,在一段时间内,如一周/一个月/一年内,一个地址可以由它的若干个交易时序序列构成的Trans向量进行表征。
[0042] 在网络分析的过程中,很常见的一种方式就是利用交易时序序列向量来衡量两个实体之间的相似度,因此,利用上述方法构造的交易时序序列向量,也可以来衡量两个地址
之间的相似度,从而对地址进行分类。
[0043] 在该改进KMeans算法中,利用了余弦相似度的计算方式,假设交易序列向量A和B,其余弦相似度计算如下所示,可以看出两个向量之间差别越小,则余弦相似度得到的值越
大,则其相似度越大。
[0044]
[0045] 但是,即使利用余弦相似度公式的相似度计算方法,还是要解决不等长序列的问题。因此针对第二个问题,这里使用了滑窗填零的计算方法,然后选择计算出的最大余弦相
似度作为相似度的结果。
[0046] 滑窗填零相似度计算:假设地址A的交易序列长度为L1,地址B的交易序列长度为L2,其中L1>L2,如果要计算两者的余弦相似度,需要将两者的向量补充到一样的长度,可以
选择截断长序列,即去掉地址A的交易序列L1的一部分,但这样会损失部分信息;也可以选
择填充短序列,即给地址B的的交易序列L2填充至与交易序列L1等长。填充对齐的时候,会有
L1–L2+1种方法。如图2所示,地址B的交易序列有(L1–L2+1)填充0的方式,填充后与地址A的
交易序列等长,则可以利用余弦相似度公式进行相似度计算,选择其中余弦相似度最大的
一种填充,作为地址A和地址B之间的相似度。通过上述改进的余弦相似度公式计算交易时
序序列相似度的方法,可以得到全部地址两两之间的相似度。本发明与传统KMeans不同,传
统的KMeans是在算法执行的过程中不断地计算两个向量之间的相似度,会造成冗余计算导
致计算资源浪费;用于此处的改进算法先提前将每个地址对应的交易序列向量之间的余弦
相似度计算好,以供后续使用。
[0047] 利用全部地址和它们两两之间的相似度可以构造一张复杂网络图,节点为地址,边为两个地址之间的相似度。
[0048] 为了避免初始质心选择敏感的问题,本发明采用了离散随机选择初始质心的方法,具体如下:离散随机质心选择:假设需要聚类的类别数为K,首先随机选择全部地址中的
一个地址X作为初始的质心,设定一个相似度阈值δ,只有与地址X的余弦相似度低于δ的地
址会被加入候选集合,因为余弦相似度是越大越相似,选取低相似度的地址集合作为候选
集,可以尽可能保证选择的地址之间更加离散。对于候选集合,再随机选取另外K–1个地址
作为初始的质心,即可相比原始随机选取K个质心的方法,得到更加稳定的聚类效果。
[0049] 在更新质心的时候,利用相似度投票方式进行竞选,具体如下:相似度投票质心更新:对于每一个聚簇内的全部地址,计算每个地址与聚簇内其他所有地址之间的相似度之
和,作为这个地址的票数,选择票数最高的那个地址作为新的质心,这样可以保证新的质心
与其聚簇内的点的关联性最高。
[0050] a.首先对于每一个地址,要构造其交易时序序列。
[0051] 按照上文提到的方法,地址A的十分钟的交易时序序列,可以描述为[M,N,X,Y]的一个Trans向量。
[0052] 假设利用一个月的交易数据,按照每十分钟构造一个Trans向量,如果某个十分钟地址A没有进行交易,则不需要构造,将全部Trans向量拼接起来,就可以作为这个地址最近
一个月的交易时序序列,例如:
[0053] 地址A:[M1,N1,X1,Y1,M3,N3,X3,Y3,M10,N10,X10,Y10…,Mt,Nt,Xt,Yt]
[0054] 地址B:[M2,N2,X2,Y2,M7,N7,X7,Y7…,Mt-1,Nt-1,Xt-1,Yt-1]
[0055] 可以看出,不同地址的交易时序序列是不同数量的Trans向量拼接起来的,所以是不等长的。
[0056] b.利用交易时序序列作为每一个地址的表征向量,利用滑窗填零的方法以及余弦相似度公式,计算两个地址之间的相似度,计算方式如下例子所示:
[0057] 假设最近一个月地址A在某5个十分钟产生了交易,由于每个十分钟表示为一个[M,N,X,Y]的4维Trans向量,将这5个Trans向量拼接起来地址A表示为一个5*4的20维向量;
[0058] 假设最近一个月地址B在某3个十分钟产生了交易,由于每个十分钟表示为一个[M,N,X,Y]的4维Trans向量,将这3个Trans向量拼接起来地址A表示为一个3*4的12维向量;
[0059] 按照滑窗填零的方法,地址B的交易时序序列比较短,有5-3+1=3种方法可以跟地址A的交易时序序列对齐,如下图2所示,图中0代表的是一个完整的Trans的零向量,即M=N
=X=Y=0的[0,0,0,0]的4维向量,按照这种方式填充之后的地址B的交易时序序列就可以
变成了5*4的20维向量。
[0060] 对于地址B的三种填充方式,每一种都可以得到一个跟地址A的交易时序序列等长的序列,对于每一个填充序列Bu(u=1,2,3),都要计算其与地址A的交易时序序列的余弦相
似度作为相似度,最终选择余弦相似度最大的值作为它们两者之间的相似度。计算地址A和
任意一个补充序列的余弦相似度的公式如下所示:
[0061]
[0062] 其中u代表地址B的某一种补充序列。由于补充之后地址A和Bu的交易时序序列等长,长度为t。v则代表在计算余弦相似度的时候需要遍历两个地址的交易时序序列。
[0063] 因此可以地址B的交易时序序列关于地址A的交易时序序列的三个余弦相似度,CosSim(A,B1),CosSim(A,B2),CosSim(A,B3),选择其中最大的值,作为地址A和地址B的相似
度。
[0064] c.利用新的离散随机质心选择的方法,选取K个地址作为初始质心,初始化VARold为0。
[0065] 假设总共需要选择K个地址作为初始的质心,首先在全部地址中随机选择一个地址X作为第一个初始质心。对于其余地址,选择一个阈值δ,筛选出与地址X的余弦相似度小
于δ(余弦相似度越小则相似度越小)的地址作为候选的集合,在该候选集合中随机选择K-1
个地址作为另外的质心,即构成了初始的K个质心。
[0066] 此处VAR的定义为所有聚簇内的点与该聚簇内的质心的余弦相似度之和,如下公式所示,其中Ci代表每个集合的质心,ni代表第i个集合共有ni个点,P则是遍历集合下的全
部点:
[0067]
[0068] 因为改进的KMeans算法的收敛方向是VAR越大越好,所以初始化为VARold为0,有助于步骤f循环的退出条件;
[0069] d.遍历除了这K个质心之外的全部地址,直接获取步骤a中每个地址与质心的最大余弦相似度作为两个地址之间的相似度,将该地址加入与其余弦相似度最大的质心所在的
集合,从而可以得到K个集合。
[0070] 对于除了K个质心地址之外的全部地址,遍历每一个地址与这K个质心的余弦相似度,选择余弦相似度最大的值对应的质心加入,例如,对于地址A,K个质心地址分别为C1,
C2,…,Ck,地址A与K个质心的余弦相似度为CosSim(A,C1),CosSim(A,C2),…,CosSim(A,Ck),
其中CosSim(A,C2)最大,则将地址A加入质心C2对应的集合。
[0071] 经过步骤d之后,可以得到K个集合,每个集合即与质心最相似的地址聚簇。
[0072] e.对于K个集合,计算VAR,记为VARnew;
[0073] f.循环:
[0074] 1.更新质心:对于K个集合,按照相似度投票质心更新的方法,选择与聚簇内其他点相似度之和最大的点作为新的质心,如下所示:
[0075] 遍历K个集合,每个集合中有L个地址,每个地址的分数可以表示为它与该集合内其他全部地址的余弦相似度的和,因为每个地址会得到一个分数SCORE-1,SCORE-2,…,
SCORE-L。选择最大分数对应的地址,作为该集合新的质心。
[0076] 2.更新K个集合:执行步骤d更新K个集合;
[0077] 3.将VARnew赋值给VARold,计算新的VARnew;
[0078] 4.如果|VARnew-VARold|小于某个设定的阈值γ或者循环次数达到设定的最大值MaxIterNum,则退出循环。
[0079] 通过上述改进算法计算得到的K个集合,就是基于交易时序序列进行聚类的结果,每一个地址都属于K个类别中某一个特定的类别。
[0080] 后续可以对每个类别进行深入的分析,可以挖掘出每一个类别内的用户的行为特点,更好地刻画用户,得到个体交易,交易所等多种不同类别的用户。
[0081] 相同或相似的标号对应相同或相似的部件;
[0082] 附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
[0083] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可
以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本
发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求
的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈