当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:关联规则算法中FP-Growth算法虽不产生候选集,但由于算法高度依赖于内存空间,阻碍了算法在大数据领域的 发挥,因此,改进了经典的FP-Growth算法,首先创建支持度计数表,避免了算法对条件模式基的第一次遍历,减少了对数据 库的扫描次数;其次利用剪枝策略删去了大量沉余的非频繁项集;最后将算法并行化,利用Hadoop平台优势极大提高数据 处理的效率,同时解决了算法占用内存的瓶颈问题。实验结果表明,改进型FP-Growth算法挖掘和预测轨迹的效率明显高于 经典算法。

引言

随着我国经济社会的稳步推进,各大城市的发展取得了 令人瞩目的成就。与此同时,大城市的机动车保有量与日俱增, 交通拥挤的问题日益严重。尽管市政和交通管理部门投入了大 量的人力、物力和财力建设,但城市交通拥堵现象仍然不能 有效解决。要做到合理分布交通流,使单位时间的道路通行 量最大且使用效率高,就需要做到合理规划和预测路网中车 辆轨迹和车辆路径。本文提出基于改进FP-Growth算法的车 辆预测方法,利用Map/Reduce编程进行大数据的并行计算, 提高了算法效率,解决了交通管理部门监测当前时间车流量信 息的目的,为交通管理部门和相关车辆及时发布预警信息提供 了决策支持。

1 FP-Growth算法概述

J.W.Han等人克服了 Apriori算法产生基数庞大的候 选集和在计算支持度时多次扫描数据库的弱点,提出FP- Growth 算法。其思想是通过扫描2次数据库构造FP-Tree和 Header Table,从而得到用于频繁项集挖掘的压缩的数据库映 射,然后对每个频繁项构造其条件FP-Tree进行频繁项集的 挖掘,最终得到频繁项集。与Apriori算法比较FP-Growth算 法不产生候选集,采用FP-Tree压缩所有能够提供频繁项信息 的项集,节省了时间和空间的消耗,相对Apriori算法的执行 速度和内存消耗已经有了一个数量级的改善。

FP-Growth 改进

由于FP-Growth是基于内存驻留的算法,在频繁项挖掘 时递归生成大量条件FP-Tree,当数据库达到一定规模时,基于内存的FP-Tree已经无法有效应对,极容易造成内存溢出, 这正是FP-Growth算法的瓶颈所在。因而,FP-Growth算法 在挖掘大数据问题上有较大扩展空间。

针对当前交通的大数据背景,传统FP-Growth算法和以 上改进算法的优势不足以处理大规模交通数据问题。因此, 本文就针对交通大数据给出FP-Growth算法改进的解决方案:

建立支持度计数表。在第一次遍历事务集合T的同 时创建二维向量,记录每个事务中各个项两两组合出现的支 持度计数;利用递归方式创建后缀模式S ( S夭{Null})条件 下的条件FP子树,此时,第一次遍历条件模式基得到支持度 计数列表,第二次遍历条件模式基插入树节点从而创建FP树; 遍历条件模式基,创建FP子树的同时创建新的支持度计数二 维向量表。

非频繁项的剪枝策略。假设项集k在某一个路径上 是非频繁的;若项集k在FP-tree中存在前缀路径集合A与集 合B,并且满足集合B包含于集合A,那么集合A中的项集k 就可以被剪枝与短路径集合B合并。

Map-Reduce 并行处理

Map-Reduce最初是由Google提出的,它是一种可以处 理海量数据的并行编程模型。该模型把所有的数据问题抽象 成Map和Reduce两个函数。以可靠的并行方式处理大规模 数据集,其中Map函数把问题进行分解,Reduce函数负责把 分解的任务进行规约处理。

利用Map-Reduce编程模型,经统计频繁1-项和递归挖 掘频繁项集的两次并行处理,对改进后的FR-Growth算法步 骤并行化。其描述为:首先,对频繁1-项集的频率统计;再 利用频繁1-项集的频率统计结果建立一个哈希表,按照哈希表对数据进行分组,把数据分成了若干个部分;然后对分解 后的数据进行关联规则挖掘;最后,汇总最终的频繁模式。

基于MAPREDUCE并行处理的轨迹模式挖掘算法的研究

2基于模式匹配的轨迹预测

根据基于Map/Reduce的频繁轨迹挖掘得到的序列模式 进行轨迹预测。通过Map/Reduce并行计算获得频繁模式集 合后,就可以计算出与查询轨迹最为相似的频繁模式,用该 模式就可以预测轨迹的未来走向。

对于移动对象数据库D,存储的是海量移动对象在各 时间采样点的位置信息。位置信息在时间上的有序集合为轨 迹,用D={Ti,T2,…,T.)表示,则|D|表示数据库中包含的 轨迹数量。在三维XXYXT空间里,轨迹T是移动对象在空 间内位置信息的有序组合,可以表示为T= (ti,xi,yi),J X2, 乃),…,(tn,x„,yn)„其中t表示时间戳,(Xj,y)表示移动对 象的空间位置坐标。

轨迹匹配,是从频繁模式中找出与查询轨迹片段匹配权 重最高的模式。假设用户的查询轨迹片段为Q = <gq1,gq2,…, gq,>,轨迹频繁模式为P = <gp1,gp2, -,gps>,则Q的预测由 Q和P' =<gp1,gp2,…,gp«>的匹配程度进行反映。轨迹 片段在时间上最靠近当前的元素是优先考虑的,当i<j时,gqj 的权重要小于gq,这里将Wi+1=k*W, k>1, W1默认为1,因此 轨迹Q、P的相似度计算公式为:

基于MAPREDUCE并行处理的轨迹模式挖掘算法的研究

如查询轨迹片段Q=<b, c,d>,频繁模式为P<a, c, d, f>, Q和P的公共元素有<c, d>, c和d的权重分别 是100和10,假设k=10,因此Q和P似度为Sim (Q, P) =10+100/1+10+100,表明f极有可能为轨迹Q的未来轨迹。

3算法与实验

本文实验环境采用4台PC机做分布式环境。操作系统 为 Ubuntu 14.04 -32bit, Hadoop 2.4.0, CPU 为 Inter Core i7 处理器,主频2.1 GHz,单机内存为512 MB。

3.1频繁1-项统计

其Map-Reduce算法伪代码如下:

map (key, value) { //value 为事务 T

for each ki (E Ti do

output<ki, 1> ;

end

}

reduce( key, value) {//key 为一个 1-项集,value 为其支持数列表[1,

1,…,1]

C=0 ;

for each v in value do

C+=1;

end

ifC/|D| minsup then

output<key, C> ; //输出频繁1-项集及其支持数

end

}

FP-Growth 并行化

其Map-Reduce算法伪代码如下:

map (key, value) { //value 为事务 T}

insert_build_fptree (LFPTree, Ti) ; // 更新局部 FP 树 LFPTree

}

cleanup() {

LocalFPGrowth (LFPTree, LFPSet) ; // 将局部频繁项目集及其 支持数放入LFPSet中

for each lfp ( LFPSet do

output<lfp, sup (lfp) > ; //sup (lfp)为局部频繁项目集 lfp 的支 持数

end

}

reduce (key, value) {//key为项目集,value为其支持数列表

C=0 ;

for each vi in value do

C+=vi ;

end

if C/|D| > minsup then

output<key, C> ; //输出全局频繁项目集及其支持数

else if

write key into a distribute file ; //若暂不确定是否全局频繁,则将 其写入分布式文件

end

}

4结语

本文结合历史车辆轨迹数据利用改进型的关联规则算法 FP-Growth挖掘出轨迹模式索引,并提出基于Map/Reduce算 法的轨迹预测方案。在路网中利用索引树对车辆未来轨迹进 行预测,预判出车流趋势,为交通管理部门及时做出交通疏 导方案的决策提供了支持。

20211223_61c363739aca5__基于MAPREDUCE并行处理的轨迹模式挖掘算法的研究

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭