CN110955804A - 一种针对用户时空数据行为检测的Adaboost方法 - Google Patents
一种针对用户时空数据行为检测的Adaboost方法 Download PDFInfo
- Publication number
- CN110955804A CN110955804A CN201911222910.3A CN201911222910A CN110955804A CN 110955804 A CN110955804 A CN 110955804A CN 201911222910 A CN201911222910 A CN 201911222910A CN 110955804 A CN110955804 A CN 110955804A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- time
- cycle
- point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000006399 behavior Effects 0.000 title claims abstract description 37
- 238000013145 classification model Methods 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 36
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- DDVBPZROPPMBLW-IZGXTMSKSA-N latrunculin A Chemical compound C([C@H]1[C@@]2(O)C[C@H]3C[C@H](O2)CC[C@@H](\C=C/C=C/CC\C(C)=C/C(=O)O3)C)SC(=O)N1 DDVBPZROPPMBLW-IZGXTMSKSA-N 0.000 claims description 7
- NSHPHXHGRHSMIK-IWQSFCKSSA-N latrunculin B Natural products C[C@H]1CC[C@@H]2C[C@@H](C[C@@](O)(O2)[C@@H]3CSC(=O)N3)OC(=O)C=C(C)/CCC=C/1 NSHPHXHGRHSMIK-IWQSFCKSSA-N 0.000 claims description 7
- DDVBPZROPPMBLW-UHFFFAOYSA-N latrunculin-A Natural products O1C(=O)C=C(C)CCC=CC=CC(C)CCC(O2)CC1CC2(O)C1CSC(=O)N1 DDVBPZROPPMBLW-UHFFFAOYSA-N 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims 6
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000010801 machine learning Methods 0.000 abstract description 5
- 239000013598 vector Substances 0.000 abstract description 4
- 238000004458 analytical method Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 5
- 238000011160 research Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种针对用户时空数据行为检测的Adaboost方法,根据用户的时空数据,空间数据用于经纬度的表示,根据时间序将这些空间点有序的连接起来形成一个轨迹图。轨迹图可以将用户的常驻点作为一个核心点将整个轨迹划分成多个环。利用空间上经纬度之间的距离计算以及时间节点上的差值计算,可以从图中得到多条特征。根据计算所得,将简单的用户时空数据转化成了更多维度的特征向量,送入机器学习的分类模型当中对用户行为分析进行预测。本发明通过图上的轨迹挖掘出用户更为丰富的潜在信息,基于机器学习Adaboost的预测方法,可以更加显著地提高预测的准确率。
Description
技术领域
本发明主要涉及一种针对用户时空数据行为检测的Adaboost方法,属于数据分析技术领域。
背景技术
近年来,随着空间数据采集技术的发展,基于位置信息的用户行为轨迹分析及其应用的研究引起了广泛的关注,并已经展现了良好的商业前景。时空轨迹聚集模式是指一组时空移动对象在一定时间内一起移动形成的行为模式.作为一种重要的时空轨迹模式,聚集模式的应用涉及了人类行为、交通物流、应急疏散管理、动物习性和市场营销等诸多方面.通过对时空轨迹数据进行挖掘,可以从中提取出有意义的聚集模式,从而帮助我们监控和预测一些不寻常的群体事件。
在数据表示上采用图结构,因为图论是数学的一个分支,它以图为研究对象,研究节点和边组成的图形的数学理论和方法。图论中的图是由若干给定的点及连接两点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的边表示相应两个事物间具有这种关系。通过图结构的表示,能更清晰展示用户的轨迹,也更加方便利用图相关算法从图中挖掘出更丰富的语义。
在分类方面,由于机器学习的兴起,数据量的发展,单一的分类器已经渐渐不能满足性能的要求,将几种不同的分类器组合起来的集成方法。目前的集成方法主要包括Bagging和Boosting,已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器。本文主要采用的是Boosting算法实现对行为的预测。AdaBoost算法是adaptive boosting的缩写,Adaboost算法的自适应在于它利用之前一个弱分类器分错的样本来训练下一个弱分类器,它对于噪声数据和异常数据非常敏感。它是一种迭代算法,通过在每轮迭代中加入一个弱分类器以达到某个预定的充分小的错误率的目的。它具有如下优点:准确率得到大幅度提升;分类速度快;过拟合情况几乎不会出现;构建子分类器的同时有多种方法可以使用;容易理解不用做特征分类。
发明内容
发明目的:针对信息简单的时空数据不易被机器理解的问题,本发明提供一种针对用户时空数据行为检测的Adaboost方法,从中提取出更直观的特征信息的方法能够被机器所识别理解,并将大量冗杂的时空数据通过更加精确地多分类器boosting算法训练adaboost模型来提高预测准确率。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种针对用户时空数据行为检测的Adaboost方法,包括以下步骤:
步骤1,数据预处理:采集检索对象的用户时空数据,作为原始数据,用户时空数据包括用户所在地点的经度和维度以及对应所在这个地点的时间。将原始数据存储在数据库中,每行五列,包含主键、用户身份证号、时间、经度、维度。优先根据用户身份证号排序,再根据时间排序。原始数据中的训练数据还收集其中一部分用户的用户行为类别用于训练模型。
步骤2,从数据库中读取用户时空数据,构建每一位用户的时间轨迹图。
步骤3,基于常驻点作为环的起始/终止点,将每一位用户的时间轨迹图切分成多个环。
步骤3中切分成多个环的方法包括以下步骤:
步骤3a),从数据库表或者直接利用身份证信息上的住址,读取用户的常驻点base,base点经纬度为(base_lng,base_lat)。
步骤3b),如果所收集数据终止点不是base,在终止处添加一个base点,时间设定与终止处相同,保证最后结尾能成环。
步骤3c),数据预处理阶段结束,创建一个记录环中点集的列表cycle,以及一个记录所有环信息的二维数组cycles,里面每一个元素都是一个cycle的点集。
for循环从头到尾遍历所有点,将该点加入cycle中,如果点的经纬度与base点相同,说明已经成环此时cycle中的点是一个完整的环了,那么将该cycle复制一份添加到cycles当中并且清空当前cycle进入下一轮。如果cycle中是连续的两个base点,那么也就是说明cycle中只包含一个base点,那么这是一个无意义的cycle,不必加入cycles当中,直接清空进入下一轮即可。
步骤4,根据经纬度距离度量从每一位用户的时间轨迹图以及环上提取出用户特征信息,
步骤5,将训练数据中用户行为类别和根据训练数据提取的用户特征信息放入adaboost分类器进行训练,得到训练好的模型M。
步骤6,将根据待分类用户的用户时空数据中提取到的用户特征信息传入训练好的模型M中得到预测结果M(x)。
优选的:步骤1中收集的数据分为两种数据,第一种原始数据格式为{‘id’,‘身份证号’,‘时间’,‘经度’,‘纬度’},id表示样本编号作为主键,身份证号用于标识一个用户的信息,同时作为外键与另一张表相连。第二种原始数据格式为{‘身份证号’,‘行为分类’},第二种原始数据是将包含在其中的用户作为训练数据,这里给出的行为分类用于训练分类模型。
优选的:将用户时空数据表示为一个时间轨迹图的方法如下:根据用户数据优先根据用户身份证号,其次根据时间从小到大排序,那么得到连续的每一段都是一个用户根据时间先后到达的不同地点,表示为{(lng1,lat1,time1),(lng2,lat2,time2),…,(lngn,latn,timen)},其中lng表示经度、lat表示维度、time表示时间,每一个三元组中的三个属性分别是经度、维度、时间。但在地图上每个点只用到经纬度标记位置,但是时间信息需要额外备注。对于这n个点来说,都在前一个点到后一个点之间建立一条有向边,形成一条地图上的轨迹,每个轨迹都独立进行处理。
优选的:步骤4中经纬度距离度量公式如下:
C=sin(LatA)*sin(LatB)+cos(LatA)*cos(LatB)*cos(MLonA-MLonB)
Distance=R*Arccos(C)*Pi/180
其中,Distance表示AB两点的距离,C表示AB两点的夹角。
优选的:步骤5中adaboost分类器是一种提升算法–创建分类器的组合,每个输出一个加权投票,其训练方法如下:
步骤5a)将D中每个元组的权重初始化为1/di,其中,D表示类标记的训练元组集,D包含了当前训练数据中用户从轨迹图中提取出的用户特征信息以及包含的行为类别;
步骤5b)设定下标i=1;
步骤5c)根据元组的权重从D中有放回抽样,得到Di;
步骤5d)使用训练集Di导出模型Mi;
步骤5e)使用训练集Di导出模型Mi,计算Mi的错误率error(Mi);
步骤5f)如果error(Mi)>0.5,转步骤5c重试;
步骤5g)for Di的每个被正确分类的元组do:元组的权重乘以error(Mi)/(1-error(Mi));
步骤5h)i=i+1,如果i大于k,则结束,否则跳回步骤5c,K表示轮数。
优选的:步骤6根据训练好的模型M中得到预测结果M(x)的方法:
步骤6a)将每个类的权重初始化为0;
步骤6b)设定一个下标j=1
步骤6d)c=Mj(x);//从Mj得到x的类的预测
步骤6e)将wj加入到类c的权重;
步骤6f)j=j+1,如果j<k,跳会步骤6c
步骤6g)返回具有最大权重的类。
优选的:用户特征信息包括环内相邻两个地点的最大距离、环内相邻两个地点的最小距离、环内相邻两个地点的平均距离、环内经历过地点数量的最大值、环内经历过地点数量的最小值、环内经历过地点数量的平均值、相邻两个环之间的间隔时间最大值、相邻两个环之间的间隔时间最小值、相邻两个环之间的间隔时间平均值、整个轨迹的总距离、平均时间段里程数=总距离/总时间段、平均时间段环数=总环数/总时间段。
本发明相比现有技术,具有以下有益效果:
本发明针对原始的数据中提取时间、空间及主键信息构成时空数据,保留数据的原始形式,利用图结构更清楚地展示用户的轨迹,用平面地图的方式绘制出来,更加利于理解。通过轨迹图的分解,结合地理的度量方式,挖掘出更多的用户特征信息,在原基础上丰富用户的特征,提高预测的准确率。
且丰富冗杂的数据,单一的分类器无法很好地进行预测,利用Boosting算法多分类器精确地进行预测推断。Adaboost模型作为Boosting族的一种算法,分类精度高的同时,还具有如下优势:在Adaboost框架下可以使用各种回归分类模型来构建学习器,非常灵活;利用正则化的同时不容易产生过拟合,这对于具有大量时空数据的样本是很有效的,因为大量的训练数据往往会导致模型过拟合。
附图说明
图1为本发明的方法整体流程图。
图2为本发明的给定一个简单单用户数据表下轨迹图的样例表示。
图3为本发明的根据图2轨迹图切分的环表示。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种针对用户时空数据行为检测的Adaboost方法,包括以下步骤:
步骤1,数据预处理:采集检索对象的用户时空数据,作为原始数据,用户时空数据包括用户所在地点的经度和维度以及对应所在这个地点的时间。将原始数据存储在数据库中,每行五列,包含主键、用户身份证号、时间、经度、维度。优先根据用户身份证号排序,再根据时间排序。原始数据中的训练数据还收集其中一部分用户的用户行为类别用于训练模型。将存储在数据库中的原始数据按照统一的格式进行截取,取出其身份证、时间、空间及主键信息,获得统一的时空数据形式。
收集的数据分为两种数据,第一种原始数据格式为{‘id’,‘身份证号’,‘时间’,‘经度’,‘纬度’},id表示样本编号作为主键,身份证号用于标识一个用户的信息,同时作为外键与另一张表相连。第二种原始数据格式为{‘身份证号’,‘行为分类’},第二种原始数据是将包含在其中的用户作为训练数据,这里给出的行为分类用于训练分类模型。存储的用户数据优先根据用户身份证号,其次根据时间从小到大排序。
步骤2,从数据库中读取用户时空数据,构建每一位用户的时间轨迹图。采用图论方法,将空间信息上的经纬度看作节点,从相邻的时间,对上一个点连一条有向边指向下一个点,在边上记录上时间信息,最终形成单个用户的行为轨迹,数据库中n个不同的身份证号就有n个不同的用户,形成n组用户轨迹图,每个轨迹都独立进行处理。
将用户时空数据表示为一个时间轨迹图的方法如下:根据用户数据优先根据用户身份证号,其次根据时间从小到大排序,那么得到连续的每一段都是一个用户根据时间先后到达的不同地点,表示为{(lng1,lat1,time1),(lng2,lat2,time2),…,(lngn,latn,timen)},其中lng表示经度、lat表示维度、time表示时间,每一个三元组中的三个属性分别是经度、维度、时间。但在地图上每个点只用到经纬度标记位置,但是时间信息需要额外备注。对于这n个点来说,都在前一个点到后一个点之间建立一条有向边,形成一条地图上的轨迹,每个轨迹都独立进行处理。
步骤2a),将数据表中的每一行数据都表示成(lng,lat,time)的三元组,三个属性分别是经度、维度、时间。
步骤2b),将同一个用户下的三元组数据形成一个列表表示为{(lng1,lat1,time1),(lng2,lat2,time2),…,(lngn,latn,timen)},这个时间是从小到大有序排列的。
步骤2c),将每一个点看作是包含经纬度的信息,也就是相同地点(经纬度相同)就是同一个点。对于列表中每相邻的两个三元组之间的地点,根据上一个时间到下一个时间发生的地点连一条有向边,并将时间信息保存到边上。
如此形成了一个用户的时间轨迹图,这个轨迹图点上包含经纬度的信息,边上包含前后时间的信息。
步骤2d),将所有用户的轨迹图都按照上述方法表示出来。
可以结合附件图2进行理解。图2当中最后就是将点0看作是常驻点,经纬度为(100,100),点1经纬度为(120,120),点2经纬度为(140,140),点3经纬度为(160,160),点4经纬度为(180,180),点5经纬度为(200,200),点6经纬度为(220,220)。然后时间信息存在了边上,图上直接体现了出来,根据时间可以知道边的连接顺序。
步骤3,基于常驻点作为环的起始/终止点,将每一位用户的时间轨迹图切分成多个环。
步骤3中切分成多个环的方法包括以下步骤:
步骤3a),从数据库表或者直接利用身份证信息上的住址(视情况而定),读取用户的常驻点base,base点经纬度为(base_lng,base_lat)。
步骤3b),如果所收集数据终止点不是base,在终止处添加一个base点,时间设定与终止处相同,保证最后结尾能成环。
步骤3c),数据预处理阶段结束,创建一个记录环中点集的列表cycle,以及一个记录所有环信息的二维数组cycles,里面每一个元素都是一个cycle的点集。
for循环从头到尾遍历所有点,将该点加入cycle中,如果点的经纬度与base点相同,说明已经成环此时cycle中的点是一个完整的环了,那么将该cycle复制一份添加到cycles当中并且清空当前cycle进入下一轮。如果cycle中是连续的两个base点,那么也就是说明cycle中只包含一个base点,那么这是一个无意义的cycle,不必加入cycles当中,直接清空进入下一轮即可。
可以结合图3进行理解,图3是图2中给定的样本数据形成的其中一个用户的轨迹图切分的结果。明显地可以看出,轨迹切分一定遵从时间顺序,以常驻点开始,常驻点结束,这是一个完整的循环。
步骤4,根据经纬度距离度量从每一位用户的时间轨迹图以及环上提取出用户特征信息,
通过经纬度计算出两个地点之间的距离,首先要清楚的是地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米。如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R。
设第一点A的经纬度为(LonA,LatA),第二点B的经纬度为(LonB,LatB),按照0度经线的基准,东经取经度的正值(Longitude),西经取经度负值(-Longitude),北纬取90-纬度值(90-Latitude),南纬取90+纬度值(90+Latitude),则经过上述处理过后的两点被计为(MLonA,MLatA)和(MLonB,MLatB)。那么根据三角推导,可以得到计算两点距离的如下公式:
C=sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB)+cos(MLatA)*cos(MLatB)
Distance=R*Arccos(C)*Pi/180
这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile。
如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:
C=sin(LatA)*sin(LatB)+cos(LatA)*cos(LatB)*cos(MLonA-MLonB)
Distance=R*Arccos(C)*Pi/180
以上通过简单的三角变换就可以推出。
如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:
Distance=R*Arccos(C)*Pi/180
其中,Distance表示AB两点的距离,C表示AB两点的夹角。
用户特征信息包括环内相邻两个地点的最大距离、环内相邻两个地点的最小距离、环内相邻两个地点的平均距离、环内经历过地点数量的最大值、环内经历过地点数量的最小值、环内经历过地点数量的平均值、相邻两个环之间的间隔时间最大值、相邻两个环之间的间隔时间最小值、相邻两个环之间的间隔时间平均值、整个轨迹的总距离、平均时间段里程数=总距离/总时间段、平均时间段环数=总环数/总时间段。
选择如上特征信息的原因可解释为:将用户的切分出的每个环都可以看作是一次出差周期。往往每一次出差不太可能经过过多的地点,且出差的过程中往往不可能出差所在的两个地方相距过远,比如一个人不可能刚在广东出差,突然就要改道到新疆去的,这明显说明了这个人的行为轨迹有异常。这就引出了环内相邻两个地点间的距离和环内经过地点数量值。同时一个人的出差频率取决于环间的时间间隔,这往往取决于个人的生活或者工作性质,且过度频繁的出差以及出差的短期距离过远都是明显不合理的行为。因而可以引出环间的间隔时间,平均时间段的里程数,平均时间段环数以及轨迹的总距离这些特征。
步骤5,将训练数据中用户行为类别和根据训练数据提取的用户特征信息放入adaboost分类器进行训练,得到训练好的模型M,训练一个Boosting分类模型,采用Adaboost方法进行分类。
Adaboost分类器是一种提升算法–创建分类器的组合,每个输出一个加权投票,其训练方法如下:
输入:
·D:类标记的训练元组集
·K:轮数(每轮产生一个分类器)
·一种分类学习方案
输出:一个复合模型。
步骤5b)设定下标i=1;
步骤5c)根据元组的权重从D中有放回抽样,得到Di;
步骤5d)使用训练集Di导出模型Mi;
步骤5e)使用训练集Di导出模型Mi,计算Mi的错误率error(Mi);
步骤5f)如果error(Mi)>0.5,转步骤5c重试;
步骤5g)for Di的每个被正确分类的元组do:元组的权重乘以error(Mi)/(1-error(Mi));
步骤5h)i=i+1,如果i大于k,则结束,否则跳回步骤5c,K表示轮数。
这里的D包含了当前训练数据中用户从轨迹图中提取出的用户特征信息以及包含的行为类别。
步骤6,将根据待分类用户的用户时空数据中提取到的用户特征信息传入训练好的模型M中得到预测结果M(x)。
步骤6a)将每个类的权重初始化为0;
步骤6b)设定一个下标j=1;
步骤6d)c=Mj(x);//从Mj得到x的类的预测
步骤6e)将wj加入到类c的权重;
步骤6f)j=j+1,如果j<k,跳会步骤6c;
步骤6g)返回具有最大权重的类。
本发明根据用户的时空数据,空间数据用于经纬度的表示,可以看成是在二维平面上的点集,可以根据时间序将这些空间点有序的连接起来形成一个轨迹图。轨迹图可以将用户的常驻点作为一个核心点将整个轨迹划分成多个环。利用空间上经纬度之间的距离计算以及时间节点上的差值计算,可以从图中得到多条特征,例如:总的行程距离、平均每段时间内的行程距离、分解出的环之间的距离、平均每段时间内的环数等。根据计算所得,将简单的用户时空数据转化成了更多维度的特征向量,送入机器学习的分类模型当中对用户行为分析进行预测。本发明通过图上的轨迹挖掘出用户更为丰富的潜在信息,基于机器学习Adaboost的预测方法,可以更加显著地提高预测的准确率。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种针对用户时空数据行为检测的Adaboost方法,其特征在于包括以下步骤:
步骤1,数据预处理:采集检索对象的用户时空数据,作为原始数据,用户时空数据包括用户所在地点的经度和维度以及对应所在这个地点的时间;将原始数据存储在数据库中,每行五列,包含主键、用户身份证号、时间、经度、维度;优先根据用户身份证号排序,再根据时间排序;原始数据中的训练数据还收集其中一部分用户的用户行为类别用于训练模型;
步骤2,从数据库中读取用户时空数据,构建每一位用户的时间轨迹图;
步骤3,基于常驻点作为环的起始/终止点,将每一位用户的时间轨迹图切分成多个环;
步骤3中切分成多个环的方法包括以下步骤:
步骤3a),从数据库表或者直接利用身份证信息上的住址,读取用户的常驻点base,base点经纬度为(base_lng,base_lat);
步骤3b),如果所收集数据终止点不是base,在终止处添加一个base点,时间设定与终止处相同,保证最后结尾能成环;
步骤3c),数据预处理阶段结束,创建一个记录环中点集的列表cycle,以及一个记录所有环信息的二维数组cycles,里面每一个元素都是一个cycle的点集;
for循环从头到尾遍历所有点,将该点加入cycle中,如果点的经纬度与base点相同,说明已经成环此时cycle中的点是一个完整的环了,那么将该cycle复制一份添加到cycles当中并且清空当前cycle进入下一轮;如果cycle中是连续的两个base点,那么也就是说明cycle中只包含一个base点,那么这是一个无意义的cycle,不必加入cycles当中,直接清空进入下一轮即可;
步骤4,根据经纬度距离度量从每一位用户的时间轨迹图以及环上提取出用户特征信息;
步骤5,将训练数据中用户行为类别和根据训练数据提取的用户特征信息放入adaboost分类器进行训练,得到训练好的模型M;
步骤6,将根据待分类用户的用户时空数据中提取到的用户特征信息传入训练好的模型M中得到预测结果M(x)。
2.根据权利要求1所述针对用户时空数据行为检测的Adaboost方法,其特征在于:步骤1中收集的数据分为两种数据,第一种原始数据格式为{‘id’,‘身份证号’,‘时间’,‘经度’,‘纬度’},id表示样本编号作为主键,身份证号用于标识一个用户的信息,同时作为外键与另一张表相连;第二种原始数据格式为{‘身份证号’,‘行为分类’},第二种原始数据是将包含在其中的用户作为训练数据,这里给出的行为分类用于训练分类模型。
3.根据权利要求2所述针对用户时空数据行为检测的Adaboost方法,其特征在于:将用户时空数据表示为一个时间轨迹图的方法如下:根据用户数据优先根据用户身份证号,其次根据时间从小到大排序,那么得到连续的每一段都是一个用户根据时间先后到达的不同地点,表示为{(lng1,lat1,time1),(lng2,lat2,time2),…,(lngn,latn,tinen)},其中lng表示经度、lat表示维度、time表示时间,每一个三元组中的三个属性分别是经度、维度、时间;但在地图上每个点只用到经纬度标记位置,但是时间信息需要额外备注;对于这n个点来说,都在前一个点到后一个点之间建立一条有向边,形成一条地图上的轨迹,每个轨迹都独立进行处理。
4.根据权利要求3所述针对用户时空数据行为检测的Adaboost方法,其特征在于:步骤4中经纬度距离度量公式如下:
C=sin(LatA)*sin(LatB)+cos(LatA)*cos(LatB)*cos(MLonA-MLonB)
Distance=R*Arccos(C)*Pi/180
其中,Distance表示AB两点的距离,C表示AB两点的夹角。
5.根据权利要求4所述针对用户时空数据行为检测的Adaboost方法,其特征在于:步骤5中adaboost分类器是一种提升算法–创建分类器的组合,每个输出一个加权投票,其训练方法如下:
步骤5a)将D中每个元组的权重初始化为1/di,其中,D表示类标记的训练元组集,D包含了当前训练数据中用户从轨迹图中提取出的用户特征信息以及包含的行为类别;
步骤5b),设定下标i=1;
步骤5c),根据元组的权重从D中有放回抽样,得到Di;
步骤5d),使用训练集Di导出模型Mi;
步骤5e),使用训练集Di导出模型Mi,计算Mi的错误率error(Mi);
步骤5f),如果error(Mi)>0.5,转步骤5c)重试;
步骤5g),for Di的每个被正确分类的元组do:元组的权重乘以error(Mi)/(1-error(Mi));
步骤5h),i=i+1,如果i大于k,则结束,否则跳回步骤5c),K表示轮数。
7.根据权利要求6所述针对用户时空数据行为检测的Adaboost方法,其特征在于:用户特征信息包括环内相邻两个地点的最大距离、环内相邻两个地点的最小距离、环内相邻两个地点的平均距离、环内经历过地点数量的最大值、环内经历过地点数量的最小值、环内经历过地点数量的平均值、相邻两个环之间的间隔时间最大值、相邻两个环之间的间隔时间最小值、相邻两个环之间的间隔时间平均值、整个轨迹的总距离、平均时间段里程数=总距离/总时间段、平均时间段环数=总环数/总时间段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222910.3A CN110955804B (zh) | 2019-12-03 | 2019-12-03 | 一种针对用户时空数据行为检测的Adaboost方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222910.3A CN110955804B (zh) | 2019-12-03 | 2019-12-03 | 一种针对用户时空数据行为检测的Adaboost方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955804A true CN110955804A (zh) | 2020-04-03 |
CN110955804B CN110955804B (zh) | 2024-03-22 |
Family
ID=69979601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911222910.3A Active CN110955804B (zh) | 2019-12-03 | 2019-12-03 | 一种针对用户时空数据行为检测的Adaboost方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955804B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931861A (zh) * | 2020-09-09 | 2020-11-13 | 北京志翔科技股份有限公司 | 一种异质性数据集的异常检测方法及计算机可读存储介质 |
CN112364119A (zh) * | 2020-12-01 | 2021-02-12 | 国家海洋信息中心 | 基于lstm编解码模型的海洋浮标轨迹预测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600052A (zh) * | 2016-12-12 | 2017-04-26 | 西安交通大学 | 一种基于时空轨迹的用户属性与社会网络检测系统 |
-
2019
- 2019-12-03 CN CN201911222910.3A patent/CN110955804B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600052A (zh) * | 2016-12-12 | 2017-04-26 | 西安交通大学 | 一种基于时空轨迹的用户属性与社会网络检测系统 |
Non-Patent Citations (2)
Title |
---|
RYUEI NISHII 等: "Spatio-temporal contextual image classification based on Spatial AdaBoost" * |
郭丹丹 等: "基于时空域Adaboost算法的人体动作识别研究" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931861A (zh) * | 2020-09-09 | 2020-11-13 | 北京志翔科技股份有限公司 | 一种异质性数据集的异常检测方法及计算机可读存储介质 |
CN112364119A (zh) * | 2020-12-01 | 2021-02-12 | 国家海洋信息中心 | 基于lstm编解码模型的海洋浮标轨迹预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110955804B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407352B (zh) | 基于深度学习的交通图像检索方法 | |
Ranacher et al. | How to compare movement? A review of physical movement similarity measures in geographic information science and beyond | |
Burrough et al. | Concepts and paradigms in spatial information: are current geographical information systems truly generic? | |
Foody | Fully fuzzy supervised classification of land cover from remotely sensed imagery with an artificial neural network | |
CN106227851A (zh) | 基于深度卷积神经网络端对端的通过分层深度搜索的图像检索方法 | |
CN102324038B (zh) | 一种基于数字图像的植物种类识别方法 | |
CN109886072B (zh) | 基于双向Ladder结构的人脸属性分类系统 | |
CN102016839A (zh) | 使用捕捉位置序列信息的图像分类 | |
CN105760888A (zh) | 一种基于属性聚类的邻域粗糙集集成学习方法 | |
Mohanty et al. | A multi-modal approach towards mining social media data during natural disasters-A case study of Hurricane Irma | |
CN113705597A (zh) | 一种图像处理方法、装置、计算机设备以及可读存储介质 | |
CN106294344A (zh) | 视频检索方法和装置 | |
CN111369535B (zh) | 一种细胞检测方法 | |
CN113032613B (zh) | 一种基于交互注意力卷积神经网络的三维模型检索方法 | |
CN109902285A (zh) | 语料分类方法、装置、计算机设备及存储介质 | |
CN110955804A (zh) | 一种针对用户时空数据行为检测的Adaboost方法 | |
CN103530373A (zh) | 不均衡感知数据下的移动应用分类方法 | |
Guo et al. | Transportation mode recognition with deep forest based on GPS data | |
CN113515669A (zh) | 基于人工智能的数据处理方法和相关设备 | |
CN102193934A (zh) | 用于寻找图像集合中的代表性图像的系统和方法 | |
CN112800210A (zh) | 基于海量公交数据的人群画像算法 | |
CN104537392B (zh) | 一种基于判别性语义部件学习的对象检测方法 | |
CN106503647A (zh) | 基于低秩逼近结构化稀疏表示的异常事件检测方法 | |
Putra et al. | Classification of childhood diseases with fever using fuzzy K-nearest neighbor method | |
CN116662630A (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 |