郁磊
【摘 要】由于POS机刷卡量持续增长,寻找一种能减少银行卡盗刷现象的有效手段迫在眉睫。提出一种基于改进的AGNES算法的POS机位置自学习方法,并利用运营商移动网络现有位置服务,可向银行信用卡中心提供实时的持卡人手机位置和刷卡位置的一致性查询服务,模拟验证实验结果表明,该方法对于判断POS刷卡是否正常具有一定参考作用。
【关键词】AGNES 位置自学习方法 POS机
中图分类号:TP391 文献标志码:A 文章编号:1006-1010(2017)19-0051-04
POS Terminal Position Self-Learning Method Based on Improved AGNES Algorithm
YU Lei
[Abstract] Since the amount of swiping the card on POS (Point of Sale) terminal increases continually, to find an effective way to reduce the identity theft on credit card is extremely urgent. A POS terminal position self-learning method based on improved AGNES algorithm was proposed in this paper. According to existing location service of operators mobile network, the real-time consistent inquiry service of the mobile phone position of the card holder and position of swiping the card can be provided to the bank credit card center. Simulation and experiment results show that the proposed method can provide the useful reference to judge the normal or abnormal swiping card.
[Key words]Agglomeration Nesting position self-learning method POS terminal
1 引言
POS機刷卡模式打破了传统的金融支付方式,更加的灵巧、便捷,支持用户(消费者或商家)在3G、4G或Wi-Fi网络状态下,通过应用程序匹配进行刷卡消费,并保存相应消费信息,降低了刷卡支付的技术门槛和硬件需求[1]。因此,POS机刷卡量呈持续增长的趋势,与此同时伴随而来的POS机盗刷现象也日趋严重。
为了解决这一问题,本文提出一种基于改进AGNES算法的POS机位置自学习方法,可实现在运营商移动网络现有位置服务基础上,向银行信用卡中心提供实时的持卡人手机位置和刷卡位置的一致性查询服务,减少银行卡盗刷现象的发生。
2 基于改进AGNES算法的POS机位置自
学习方法
2.1 AGNES算法简介
AGNES(Agglomeration Nesting,凝聚的层次聚类)算法[2],数据集的划分采用“自底向上”的聚合策略。先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直到达到预设的聚类簇个数K。算法性能:
(1)简单,但有时会遇到合并点选择困难的情况;
(2)一旦一组对象被合并,不能撤销;
(3)算法的复杂度为O(n2)。
2.2 提出一种改进的AGNES算法
传统AGNES算法必须事先指定聚类簇个数,即K值固定,而移动端POS机发生交易的位置一般会聚集在一片或几片区域,具体的区域数量事先不确定,也就是簇的个数K不能确定[3]。本文采用改进的AGNES算法获得聚集区域,给定约束条件使算法可以自行计算出最终所需的K值。
改进后的AGNES算法不断将距离最近的两个聚类簇进行合并,直至同一簇内距离最远的两个点的距离d>ε(ε为自定义的距离门限)。
算法采用的距离度量为欧氏距离。两个样本a(xa1, xa2, …, xan)和b(xb1, xb2, …, xbn)间的欧式距离为:
显然,最小距离由两个簇的最近样本决定,最大距离由两个簇的最远样本决定,平均距离由两个簇的所有样本共同决定。
改进的AGNES算法描述:
输入:包含m个样本的数据库,聚类簇距离度量函数d;
输出:K个簇;
(1)将每个样本当成一个初始簇;
(2)根据相似度计算找出最接近的两个簇;
(3)合并两个簇,生成新的簇;
(4)重复上述(2)和(3)过程;
(5)直到簇的直径超过指定阈值;
其中,簇的直径指该簇中的任意两个点的欧氏距离的最大值。
该方法相比于传统的AGNES算法,不必事先指定K值,符合防盗刷场景的需求。由于移动POS机的位置可能存在多个也可能只存在一个,日常的POS机位置还可能随着业务的变化改变,POS机的位置存在不确定性,不能依靠人工事先指定,因此需要事先指定K值的传统AGNES算法不适合应用在该场景中。为了解决K值不能确定的问题,将改进算法的终止条件设定为:簇的大小满足一定程度则认为形成一个POS机位置。这样POS机的位置可以根据以往的正常交易数据进行不断更新,K值不能设定的问题得到了解决,算法符合场景需求。endprint
2.3 POS机位置自学习方法
实时POS机的位置是由交易时刷卡人的手机位置得到[4]。初始时,将POS机一段时间内的正常交易数据作为样本集处理后输入到算法内,得到POS的位置(可能有一个也可能有多个);之后将交易发生时持卡人手机实时位置和POS机位置进行一致性查询服务;若查询一致则认为交易正常,否则认为交易不确定或交易异常,具体流程如图1所示:
(1)一段时间内正常刷卡行为发生时的地理位置被称作历史交易地点。将POS机一段时间内的正常交易数据作为样本集进行模型搭建。
(2)POS机位置自学习算法包括以下两部分:
1)改进的AGNES算法
由于有时交易发生的位置不止聚集成一个区域,这就造成了一个质心无法反映实际情况的问题,从而影响位置一致性判断的准确性。改进的AGNES算法将样本集中的样本划分成若干个通常是不相交的子集(簇),得到某一POS机日常交易位置的大致范围,以便之后用于新交易位置的判断。
2)离散点的去除
当少数交易的地点严重偏离大多数交易的聚集地时,计算出来的中心点可能会严重偏离大多数交易的实际聚集区域。为了排除这些离散点的干扰,设置阈值λ,如果一个簇中样本个数NUM<λ,则判断为离散点,予以去除。
(3)将同一个POS机的一组历史交易地点的质心位置称作POS机的中心点位置,中心点位置可以基于历史交易位置计算获得。
给定包含m个样本(历史交易地点)的样本集D={x1, x2, …, xm},改进的AGNES算法针对聚类所得簇划分为K个簇C={C1, C2, …, CK}。其中每个簇的质心为:
(4)如果新的交易位置不在形成的簇中,需要考虑此时交易位置与活点的距离。活点是指当POS机的位置可能由于某种原因移动时,交易位置可能随着移动轨迹而离开POS机经常发生交易的位置区域。此时将上笔正常交易的刷卡手机位置设置为活点,比较此时当前交易位置与该POS机上笔正常刷卡位置的距离是否在设定的阈值η内。若d≤η,则认为交易正常;否则,启动告警环节,进入手机验证码发送流程以保证交易安全。
(5)通过上述流程可以判断移动POS机交易是否正常,除此之外,当由于刷卡人手机故障、天气环境等原因无法获取刷卡人手机位置时,判断交易安全性不确定,进入告警阶段,此时可进入手机验证码发送流程以保证交易安全。
某些POS机的位置是固定的,例如台式POS机,这类POS机的位置可以由银行提供。而上述的POS机位置自学习方法的应用领域主要针对的是如保险、快递、送餐等需要上门刷卡或现场打印发票的行业,这些行业使用较多的是移动POS机。对这些位置不固定的移动POS机,银行也难以提供其精确位置。考虑在正常情况下,POS机与持卡人在交易发生时是在同一位置,通过分析历史刷卡交易记录可以推算出POS机在正常情况下应处于什么位置,然后再与实时交易发生地点进行比较从而判断交易是否正常。
2.4 POS机位置自学习方法的技术优势
本文采用的POS机位置自学习方法可应用于银行卡防盗刷系统,相比于传统的POS机位置获取技术,主要有以下优势:
(1)改进的AGNES算法可以有效获取POS机的日常交易位置,在这个过程中不再需要人工经验设定K值,适用于日常移动POS机刷卡过程中位置经常改变并且不能确定的情况。
(2)当少数交易的位置严重偏离大多数交易的聚集地时,将这些离散点进行去除。这样可以提高获取位置的准确率,减少干扰。
(3)设置了活点。解决当POS机的位置由于某种原因移动时,交易位置可能随着移动轨迹不在POS机经常发生交易的位置区域这个问题,提高了位置一致性判断的准确率。
3 将基于改进AGNES算法的POS机位置
自学习方法应用于银行卡防盗刷系统
建议银行卡防盗刷系统的业务流程如图2所示。
银行卡防盗刷系统工作机制如下:
(1)从银行获取POS机交易信息和银行卡持卡用户手机号码,并向银行发送位置一致性比对结果;
(2)通过人工智能算法建立POS机物理地理位置信息库,并实时比对持卡用户当前手机位置和POS机交易地理位置;
(3)对平台各种数据和参数进行配置、管理、查询等。
对POS机与持卡人位置是否一致的判断主要基于对新发生的交易位置与中心点位置之间的距离的对此,或者基于与上一次有效交易的距离是否在分别设定的阈值内的判断。如果一致则认为交易合法,不一致则认为交易不合法。当交易判断为不合法时,应强制进入手机验证码流程以保证交易安全。
以下是如何利用基于改進AGNES算法进行POS机位置自学习的一个实例。
本文方法采用Java编程实现,系统采用的服务器配置为:CPU 48 core,硬盘1 T,内存256 G,操作系统为Centos6.5(64位)。测试数据来自编号为POS_HRGC的POS机相关的交易数据(程序模拟产生)。表1为编号为POS_HRGC的POS机30天内的历史交易记录(程序模拟产生,表中为部分数据)。
将POS_HRGC的历史交易记录输入到改进的AGNES算法中,可以得到该POS机的质心位置:(113.456941, 23.100975)。根据算法得到的质心位置可以与新的交易位置进行位置一致性判断,以确认是否为正常交易。设置的阈值ε=300 m,η=3 000 m。选取3 000条新的交易记录进行判断,得到位置一致性的判断结果,如表2所示(部分数据)。
POS机自学习方法的效果是依据对交易结果判断的准确率来确定的,对准确率的定义[6]如下:
3 000条交易记录中,判断正确的交易数为2 174条,准确率为72.47%。说明利用改进的AGNES算法进行POS机位置自学习的方法在银行卡防盗刷中的实际应用效果良好,可以在一定程度上保证用户财产安全,提升用户对银行的信任度,降低资金风险。endprint
4 结束语
本文提出一种基于改进的AGNES算法的POS机位置自学习方法,在运营商移动网络现有位置服务基础上,可向银行信用卡中心提供实时的持卡人手机位置和刷卡位置的一致性查询服务,旨在减少银行卡盗刷现象的产生,模拟验证实验结果表明该方法的准确性较好。
参考文献:
[1] 郭亚文. 国外POS机发展动向[C]//首届中国POS及商业自动化行业大会论文集. 2008: 28-34.
[2] 李娜,钟诚. 基于划分和凝聚层次聚类的无监督异常检测[J]. 计算机工程, 2008,34(2): 120-123.
[3] 沈洁,赵雷,杨季文,等. 一种基于划分的层次聚类算法[J]. 计算机工程与应用, 2007,43(31): 175-177.
[4] 颜晓鹏,钟汉如. 基于霍尔位置传感器的BLDCM控制系统的位置自学习[J]. 微特电机, 2015,43(2): 54-57.
[5] 曹伟. 移动收银POS机系统前置机设计与实现[D]. 上海: 上海交通大学, 2012.
[6] 孙吉贵,刘杰,赵连宇. 聚类算法研究[J]. 软件学报, 2008,19(1): 48-61.
[7] 王勇,刘建平,蔡长霞. 一种改进的K-means聚类算法[J]. 工业控制计算机, 2010,23(8): 91-93.
[8] 王雪玉. 银行卡防盗刷的几点建议[J]. 金融科技时代, 2013(10): 30-31.
[9] 雷小锋,谢昆青,林帆,等. 一种基于K-Means局部最优性的高效聚类算法[J]. 软件学报, 2008,19(7): 1683-1692.
[10] 周爱武,于亚飞. K-Means聚类算法的研究[J]. 计算机技术与发展, 2011,21(2): 62-65.
[11] 陆伟伟,刘解放,霍尧,等. 基于模糊聚类的用电客户交费渠道偏好研究[J]. 计算机工程与应用, 2016,52(19): 252-258.
[12] 邢長征,张园. 基于密度与网格的聚类算法的改进[J]. 计算机工程与应用, 2016,52(22): 81-85.
[13] 欧慧,夏卓群,武志伟. 基于改进流形距离的粗糙集k-means聚类算法[J]. 计算机工程与应用, 2016,52(14): 84-89.
[14] 万静,孙永倩,董怀国,等. 空间聚类与方向关系的融合技术研究[J]. 计算机工程与应用, 2016,52(9): 56-61.endprint