基于粗糙神经网络的用户轨迹数据深度挖掘
2021-12-10秦泽浩
秦泽浩,赵 理
(1.吉林大学计算机科学与技术学院,吉林 长春 130012;2.北京信息科技大学机电工程学院,北京 100192)
1 引言
伴随着信息数据的积累,大量繁杂的轨迹数据中存在许多重要信息,普通的轨迹数据挖掘没有对隐藏在轨迹数据背后的用户进行深层次提取,导致挖掘信息过于抽象[1,2],因此,为了保证轨迹数据能够得到有效探索,需要对用户轨迹数据进行深度挖掘。
在此背景下,相关学者与科研人员进行了大量研究,其中,有学者提出了基于粗糙集与BP神经网络的分布式数据挖掘算法,该方法利用粗糙集与神经网络构建一个分布式传感器网络,对节点的初始数据进行离散和约简,最终形成BP神经网络,通过集成将BP神经网络设置到每个传感器节点上,该方法没有对用户行为数据的影响因素进行特征提取,导致用户轨迹数据挖掘的精准度低,存在用户轨迹数据命中率低的问题,表明方法的实用性差。还有学者提出了基于模糊神经网络的用户轨迹数据挖掘方法,该方法为寻找不同用户的轨迹数据规律,利用遗传算法对网络结构进行优化,压缩聚类数据信息,将其应用到实际操作中,获取有用知识,此方法在轨迹完整度的变化下,用户轨迹数据误差大,存在用户轨迹数据挖掘鲁棒性低的问题。除此之外,有学者提出了基于粗糙RBF神经网络的用户轨迹数据挖掘,该方法针对因通信和设备故障引起的用户轨迹数据要素值丢失问题构建了一个径向基神经网络的插补模型。该模型以用户轨迹数据为主,利用粗糙集理论对轨迹数据产生的影响进行简化,将简化后的数据输入到径向基神经网络中,实现用户轨迹数据的挖掘,该方法获取的轨迹数据特征精准度较低,导致用户挖掘轨迹数据与实际结果不符,存在预测命中率低的问题[3,4]。
为了解决上述方法中存在的问题,提出基于粗糙神经网络的用户轨迹数据深度挖掘。
2 用户轨迹数据处理特征提取及算法实现
2.1 提取用户轨迹数据特征
经过对用户轨迹数据的调查,发现影响用户轨迹的因素包括:访问时间、访问次数、星期几、是否为节假日、天气因素、用户兴趣地点、间隔七个访问时间维度[5]。
1)用户出行时访问时间的影响力指标为
(1)
其中,h={1,2,3,…,24},h代表记录轨迹数据的当日小时;M代表h小时中的轨迹数据总数;Bhn代表在第h小时中的第n条轨迹数据。
进一步探索访问时间对用户行为产生的影响,即指标权重HWh,方程如下
(2)
其中:Tmax=max{T0,T1,…,T24};Tmin=min{T0,T1,…,T24}。
2)用户在星期几出行访问的影响指标为:
(3)
其中,j代表访问时间为星期几,m代表用户在j的第n条用户访问标量。
深入研究访问星期对用户产生的影响,即指标权重,其方程如下
(4)
其中,Wmax=max{W0,W1};Wmin=min{W0,W1}。
3)用户出行访问是否为节假日的影响力指标
(5)
其中,b代表是否为节假日,m代表用户在b的记录数量,Dbn代表b中第n条访问标量。
进一步探索访问是否为节假日对用户产生的影响,即指标权重,其方程表示为
(6)
其中,Holmax=max{Hol0,Hol1};Holmin=min{Hol0,Hol1}。
4)用户出行时天气因素造成的影响,由方程表示
(7)
其中,a代表天气因素,Wetan代表记录在a时第n条访问标量。
进一步研究天气因素对用户造成的影响,即指标权重,其方程如下
(8)
式中,Wetmax=max{Wet0,Wet1,…};Wetmin=min{Wet0,Wet1,…}。
4)用户兴趣地点对用户出行目的的影响,其表示如下
(9)
其中,c代表用户兴趣地点,Pcn表示用户访问c的情况下第n条访问标量。
深度探索用户兴趣地点对用户行为形成的影响,即指标权重,其方程如下
(10)
其中,Pmax=max{P0,P1…};Holmax=max{P0,P1…}。
6)用户访问兴趣点次数用方程表示如下
Fpid=Vpid/D
(11)
其中,pid代表用户兴趣点的id,D代表时间跨度,单位为天,Vpid代表D天内访问pid的天数。
7)访问时间间隔Durpid,其方程如下所示
(12)
其中,K代表用户访问兴趣点的总数目,Durpid1k代表第k次访问pid的时间间隔时长。
2.2 挖掘规则
根据上述因素提取用户轨迹数据的最优特征,利用粗糙神经网络获取用户轨迹数据挖掘规则。通常情况下,数据冗余越小,神经网络学习得越快[6,7]。利用粗糙集简化数据,将简化后的数据作为神经网络设计依据和训练数据。这样就会获取清晰的数据,两种方法得到互补,可以通过神经网络进行降噪处理。
基于粗糙集理论的数据深度挖掘属于属性约简,其步骤为:利用差别矩阵求取属性核心,再对属性归约集进行计算。通过粗糙集理论对数据深度挖掘的流程如图1所示。
图1 粗糙集的数据深度挖掘流程图
粗糙集约简的终止条件或神经网络训练数据数量的选择是该算法的难点[8]。现如今还没有能够准确获取训练数据数量的方法,但有一个简略估算方法,假设训练数据的数目为连接节点个数的二倍,其中一个神经网络中存在p个节点输入、n1个节点隐层、q个节点输出,其训练数据为2×(p×n1+n1×q)个。
神经网络的精度与训练数据的数量息息相关[9]。通常使用均方根误差对学习性能进行有效反映,其方程定义如下
(13)
其中,X代表自变量。代价函数表示如下
(14)
其中,x代表系数,取值范围>1;y代表代价函数。
代价函数就是训练数据或粗糙集归约的选择依据,采用粗糙神经网络获取用户轨迹数据挖掘规则的流程如图2所示。
图2 算法流程图
具体实现步骤如下:
1)提取挖掘数据,选择挖掘条件,确立挖掘方向。
2)通过粗糙集理论消除冗余数据属性。
3)根据粗糙集理论实行离散、属性约简。
4)在用户最少约简表中选择训练数据集,否则通过代价函数的最高代价和约简属性对训练样本数据进行计算,若计算结果<<数据约简后的总数目,则输送到步骤3)继续约简,或根据代价函数的推荐选择训练数据集。
5)通过训练数据样本对神经网络进行设计和训练。
6)获取数据挖掘规则。
3 用户轨迹数据挖掘模型
3.1 根据挖掘规则构建挖掘模型
通过训练集、测试集和数据特征在挖掘规则的基础上建立用户轨迹数据挖掘模型,构建基于网格的ANFIS轨迹数据模型如图3所示。
图3 用户轨迹数据挖掘模型
该轨迹数据模型共分为五层,方框中的节点是可以进行参数调整的,圆形中的节点不可以改变。ANFIS中能够更改的参数主要居于第一层和第五层,第一层代表隶属函数参数,第五层代表规则后件参数。在ANFIS模型中,第一层模糊化输出用方程定义为
(15)
设{X1,X2,…,Xn}为输入空间的维数,其中有多个数据点,函数Xi(i=1,2,…,n)表示m×1的列向量。因为聚类中心的候选点由每个数据点代替,所以Xi的聚类中心潜能方程表达式为
(16)
其中,ra代表半径正数,若数据点Xi附近存有多个数据点,则Xi存在巨大潜能。选取一个最大潜能数据点,设Xci代表被选中的数据点,Pci为它的潜能,因此,改正后的Xi潜能用方程表示如下
(17)
其中,rb代表一个正数,一般取rb>ra,表示潜能较少的领域,通过改正后第一个潜能为零,距离Xci越近其潜能降低越快,这样成为下一个聚类中心的可能性就越小。将Xc2作为最大潜能数据点,再次进行潜能修正后,整个过程中没有在符合范围内的候选点。因此,当输入变量变少时,采用网格方法区分效果比聚类方法显著;当输入变量增多时,利用聚类方法减少规则数量,系统仿真效果具有明显提升。
通过对输入空间进行划分后,需要为每个模糊划分选择合适的函数。其常用函数有:三角形、梯形、高斯函数等。ANFIS模型中主要运用高斯函数和钟型函数,其中,高斯函数表示如下
(18)
钟型函数如下表示
(19)
其中,C代表模糊集合的中心向量。
第二层的每个输出节点都是输入信号的乘积,乘积结果就是这一条的规则强度,其方程为
(20)
第三层对第i个激励强度节点规则与规则激励强度总和进行比值计算,得出
(21)
第四层规则输出表示为
(22)
其中,{pi,qi,ri}代表规则后件参数。
第五层对每层输出求和后得出的总输出
(23)
通过上述步骤实现模型输出,输出结果就是用户轨迹数据。
4 实验与分析
为了验证基于粗糙神经网络的用户轨迹数据深度挖掘的整体有效性,需要对用户轨迹数据深度挖掘进行测试,本次测试的实验平台为,系统:Microsofte Windows XP;处理器:Inter(R)Celeron(R)M 1.40GHz;内存:760MB。
采用基于粗糙神经网络的用户轨迹数据深度挖掘方法(方法1)、基于模糊神经网络的用户轨迹数据挖掘(方法2)、基于粗糙RBF神经网络的用户轨迹数据挖掘(方法3)对用户轨迹数据模型进行轨迹终点预测精度测试,实验结果如图4所示。
图4 模型终点预测精度对比图
通过上述分析可知,方法1进行模型终点预测精度测试时,随着时间的增加距离误差一直处于100米以下,表明该模型的距离误差小,终点预测精度高,因为该方法在轨迹数据挖掘之前获取了用户出行访问时间影响指标,将其作为用户轨迹数据初始特征,根据提取的特征完成轨迹数据深度挖掘,提高了挖掘数据的精准度。
图5为用户轨迹数据模型鲁棒性对比结果。
图5 用户轨迹数据模型鲁棒性对比
随着轨迹完整度的增加,方法1的距离误差逐渐变小,其数据波动呈下降趋势,说明方法1的鲁棒性强。采用方法2和方法3分别对模型进行测试时,随着轨迹完整度的逐步增加,数据波动剧烈。相比于方法1,说明方法2和方法3的距离误差大,鲁棒性低。综上所述,轨迹完整度不会影响方法1的数据挖掘精度,当轨迹完整度较低时,方法1可以根据提取的多种特征实现用户轨迹数据的挖掘。
设用户轨迹数据深度挖掘时间为5秒,通过方法1、方法2和方法3对用户轨迹数据模型命中率进行测试,命中率越高,表明用户轨迹数据深度挖掘模型越好,其测试如图6所示。
图6 用户轨迹数据模型命中率变化图
根据上述数据可知,方法1在进行用户轨迹数据模型命中率测试时,它的初始命中率为0.7%,随着时间的增加,其命中率一直处于上升状态,说明方法1的命中率高,用户轨迹数据深度挖掘准确性高。利用方法2和方法3对模型命中率进行测试时,命中率极低,且数据波动不稳定。因为方法1在不同角度中对影响用户估计的因素进行分析,多方面地提取用户轨迹特征,在多特征的基础上对用户轨迹数据进行挖掘,进而提高了方法1挖掘轨迹数据的命中率。
5 结束语
经研究发现,传统用户轨迹数据挖掘方法存在终点预测精度低、系统模型鲁棒性低和系统模型命中率差的问题。针对以上问题提出基于粗糙神经网络的用户轨迹数据深度挖掘方法,将用户轨迹数据特征提取,利用粗糙集获取数据挖掘规则,构建挖掘模型,从而实现用户轨迹数据挖掘,提高了粗糙神经网络的有效性和数据挖掘的准确性,解决了目前方法中存在的问题,为用户轨迹数据深度挖掘提供了保障。