一种基于张量分解与重构思想的行人流走行数据补全方法
未命名
10-19
阅读:141
评论:0
1.本发明涉及计算机应用技术领域,尤其涉及一种基于张量分解与重构思想的行人流走行数据补全方法。
背景技术:
2.完整的行人流真实走行数据是研究行人动力学的基础。目前针对行人流走行数据的获取主要有以下四种方法:
3.(1)人工手动采集,主要包括人工计数、跟踪记录、意向调查(stated preference,sp)、行为调查(revealed preference,rp),通过人工手动采集现场行人真实走行数据;
4.(2)室内定位技术,指室内被定位终端接收信号基站传输的信号数据,上传至服务器,然后基于定位算法解算被定位终端的坐标,完成目标定位的方法,主要包括uwb、wifi、gps、蓝牙等定位技术;视频自动分析,基于petrack、tracker等软件对行人流走行真实视频进行处理,自动提取准确的行人轨迹,并提供行人在各时间步长下的位置、速度、密度、流量等数据;行人检测与追踪算法,基于深度学习算法处理行人走行视频,实现行人走行数据的获取。由于行人走行环境限制及行人安全隐私问题,许多场景下很难获取大规模、真实的行人流走行数据。对行人流缺失数据进行补全成为研究行人交通与行人动力学待解决的首要问题。
5.目前,现有技术中的行人流数据补全方法主要有:
6.(1)基于统计学的数据补全算法,包括时间序列法、线性回归模型、卡尔曼滤波等,通过数据统计分析行人流走行参数的变化规律,对缺失值进行补全;
7.(2)基于机器学习的数据补全算法,包括贝叶斯理论、马尔可夫等基于概率图模型的算法,以及决策树、支持向量机等非参数估计方法;
8.(3)基于深度学习的数据补全算法,常用的网络结构为卷积神经网络(cnn)和循环神经网络(rnn),捕捉行人走行参数在时空上的变化特征,并进行学习,实现对缺失数据的补全。
9.上述现有技术中的行人流数据补全方法的缺点包括:多数数据补全算法侧重于利用平均值法、插值法等传统统计学方法进行处理,这类算法对稀疏性较强的数据并不适用,导致数据的补全效果较差。深度学习、智能算法则需要大量真实数据进行训练、学习,而大规模、完整的行人流走行数据很难在现实场景中获取。也就是说,真实场景下获取的行人流走行数据具有高维、稀疏的特性,上述数据补全算法很难对稀疏的行人流走行数据达到较高的补全精度。
技术实现要素:
10.本发明的实施例提供了一种基于张量分解与重构思想的行人流走行数据补全方法,以实现有效利用高维稀疏性的行人走行数据。
11.为了实现上述目的,本发明采取了如下技术方案。
12.一种基于张量分解与重构思想的行人流走行数据补全方法,包括:
13.构建基于改进cp分解加权优化的张量分解与重构算法;
14.利用遗传算法对所述基于改进cp分解加权优化的张量分解与重构算法中张量的秩r、正则化参数和学习率r
η
三个超参数进行参数调优,在验证所述基于改进cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于改进cp分解加权优化的张量分解与重构算法;
15.构建不同场景下的高维稀疏行人走行速度张量,利用训练好的基于改进cp分解加权优化的张量分解与重构算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全。
16.优选地,所述的构建基于改进cp分解加权优化的张量分解与重构算法,包括:
17.在cp分解加权优化算法的基础上,从权重目标函数值和变量梯度值优化的角度,利用自适应梯度算法对cpwopt算法进行改进,得到改进的cpwopt*张量分解与重构算法,所述改进的cpwopt*张量分解与重构算法的处理流程包括:
18.对cpwopt算法中目标函数进行正则化处理,构建三阶行人走行参数张量模型对cpwopt算法中目标函数进行正则化处理,构建三阶行人走行参数张量模型其分解后的因子矩阵为其中,其中,张量分解的优化权重目标函数为:
[0019][0020]
在目标函数(29)中添加tikhonov正则化项:
[0021][0022]
其中,为因子矩阵权重衰减参数,体现了因子矩阵s
(n)
在整个目标函数中的重要程度;
[0023]
将优化的权重目标函数改写为如下形式:
[0024][0025]
其中,行人速度张量是确定的,在整个迭代过程中,张量不发生变化,能够提前计算,而正则化项为各因子矩阵的frobenius范数的平方和,每次迭代开始时,因子矩阵是确定的,正则化项直接计算得到;
[0026]
将稀疏张量中已知值的索引,即二元指示张量中元素为1的位置,有序放入集合合为三维向量,q∈{1,2,
…
,q},将张量中的已知值存储在长度为q的向量y中,即:
[0027][0028]
对于张量中缺失值位置在对应张量中取值也一定为0,只需要计算对应的张量中元素,给出向量z表示张量中的已知值;
[0029][0030]
在计算机运算过程中,令:
[0031][0032][0033]
向量u的计算方法为:
[0034][0035]
则向量z的计算方法为:
[0036][0037]
在每次迭代过程中一次计算一个向量优化的权重目标函数(31)改写为:
[0038][0039]
其中,γ为常数,
[0040]
优化的权重目标函数对各因子矩阵的偏导数为:
[0041][0042]
其中,z
(n)
、y
(n)
为张量为张量的n阶矩阵化,s-(n)
的计算公式如下:
[0043]s(-1)
=s
(3)
⊙s(2)s(-2)
=s
(3)
⊙s(1)s(-3)
=s
(2)
⊙s(2)
ꢀꢀꢀ
(40)
[0044]
利用自适应梯度算法对所述基于改进cp分解加权优化的张量分解与重构算法的学习率进行自适应调整。
[0045]
优选地,所述的利用遗传算法对所述基于改进cp分解加权优化的张量分解与重构算法中张量的秩r、正则化参数和学习率r
η
三个超参数进行参数调优,包括:
[0046]
对遗传算法的种群进行初始化,确定初始化参数的取值,所述参数包括种群大小、最大迭代次数、交叉率、变异率和全局最优适应度初始化值,对种群中的染色体利用二进制编码,基因长度设置为10,基因中第一部分的4位表示张量的秩r,第二部分的3位表示正则化参数第三部分的3位为学习率r
η
;
[0047]
随机生成第一代种群,并利用适应度函数计算染色体适应度值,适应度函数用来确定某一染色体对环境的适应度值,基于适应度函数选择种群中染色体,保留适应度值较高的个体进行交叉、变异,利用公式(30)表示的目标函数fw的值的倒数来表示适应度;
[0048]
判断是否达到迭代终止条件,若没有达到终止条件,则对种群进行选择、交叉、变异操作,得到下一代种群,继续利用适应度函数评价种群;若达到终止条件,则输出全局最优染色体及适应度值;
[0049]
利用单点交叉算子,随机选取交叉点,并对选中的两染色体进行分割,交换交叉点后对应位置的二进制数值,得到两个不同的染色体,利用基本位变异算子,对选中的染色体随机确定变异点,用该基因的其它等位基因替换该基因值,形成新个体,利用遗传算法进行迭代寻优,确定每一代群体中的最优取值,当达到终止条件时,最优染色体取值即为秩r、正则化参数和学习率r
η
的取值,通过二进制转化,得到秩r、正则化参数和学习率r
η
三个超
参数的具体取值。
[0050]
优选地,所述的在验证所述基于改进cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于改进cp分解加权优化的张量分解与重构算法,包括:
[0051]
对利用所述基于改进cp分解加权优化的张量分解与重构算法构建的行人速度张量量中的已知值进行随机缺失处理,缺失率从10%逐渐增加到60%,计算不同方法下的补全结果评价指标;
[0052]
平均绝对误差mae表示估计值与真实值间距离的平均值,mae为非负值,越接近0,则说明算法预测结果越准确,mae计算如下:
[0053][0054]
其中,xi为第i个行人走行参数的真实值,为对应的估计值;
[0055]
均方根误差rmse用来衡量估计值与真实值间的偏差,其值越小,则说明算法预测结果越准确,rmse计算如下:
[0056][0057]
通过设定不同比例的缺失率,对比所述基于cp分解加权优化的张量分解与重构算法与现有的数据补全算法的补全效果,在验证所述基于cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于cp分解加权优化的张量分解与重构算法。
[0058]
优选地,所述的构建不同场景下的高维稀疏行人走行速度张量,利用训练好的基于cp分解加权优化的张量分解与重构算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全,包括:
[0059]
①
构建不同场景下的秩为rs的稀疏行人走行速度张量及同维二元指示张量并计算常量
[0060]
②
将张量中已知值索引放入并将已知值存储在向量y中;
[0061]
③
利用遗传算法确定超参数正则化参数张量的秩rs、学习率r
η
的取值,利用cp-als算法对张量进行分解,得到初始因子矩阵s
(1)
,s
(2)
,s
(3)
;
[0062]
④
构建正则化目标优化函数
[0063]
⑤
令并构建向量z,
[0064]
⑥
计算目标优化函数若目标函数值达到损失阈值或达到最大迭代次数j
max
,则跳转步骤
⑧
;否则,跳转步骤
⑦
;
[0065]
⑦
计算各因子矩阵的偏导数并利用adagread算法更新梯度:
[0066]
v=v+g
(n)
⊙g(n)
[0067][0068]s(n)
=s(n)-η
·
v-1
·
g(n)
[0069]
并跳转步骤
⑤
;
[0070]
⑧
输出最优因子矩阵s
(1)
,s
(2)
,s
(3)
,并利用下面公式对张量中的空缺值进行张量补全:
[0071][0072]
完成基于张量分解与重构的行人走行参数评估。
[0073]
由上述本发明的实施例提供的技术方案可以看出,本发明提供了一种基于张量分解与重构思想的行人流走行数据补全方法,通过数据驱动模型进行场景拓展,可以有效预测高维、稀疏数据中的缺失值,适用于行人动力学研究中高维稀疏数据的补全,为目前具有典型高维稀疏性的行人走行数据的有效利用提供了新的有利工具。
[0074]
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0075]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0076]
图1为本发明实施例提供的一种基于张量分解与重构思想的行人流走行数据补全方法的处理流程图;
[0077]
图2为本发明实施例提供的一种改进的cpwopt算法计算张量分解的具体流程图;
[0078]
图3为本发明实施例提供的adagrad算法迭代流程图;
[0079]
图4为本发明实施例提供的遗传算法的交叉与变异过程示意图;
[0080]
图5为本发明实施例提供的遗传算法求取模型超参数流程图;
[0081]
图6为本发明实施例提供的基于遗传算法的速度张量模型超参数迭代寻优过程图;
[0082]
图7为本发明实施例提供的不同数据缺失度下各方法平均绝对误差;
[0083]
图8为本发明实施例提供的不同数据缺失度下各方法均方根误差。
具体实施方式
[0084]
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0085]
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
[0086]
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术
语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
[0087]
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0088]
本发明实施例提供的一种基于张量分解与重构思想的行人流走行数据补全方法的处理流程图如图1所示,包括如下的处理步骤:
[0089]
步骤s10:构建改进的cpwopt*张量分解与重构算法。
[0090]
步骤s20:利用遗传算法对所述改进的cpwopt*张量分解与重构算法中张量的秩r、正则化参数学习率r
η
三个超参数进行参数调优,对所述改进的cpwopt*张量分解与重构算法的数据补全效果验证合格后,得到训练好的改进的cpwopt*张量分解与重构算法。
[0091]
步骤s30:构建不同场景下的高维稀疏行人走行速度张量,利用训练好的改进的cpwopt*张量分解与重构算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全。
[0092]
本发明首先给出一种改进的cpwopt*张量分解与重构算法,该算法是首次提出,是本发明最大的创新点,主要基于现有的cp分解加权优化算法(cpwopt算法),从权重目标函数值和变量梯度值优化的角度,利用自适应梯度算法对cpwopt算法进行改进。
[0093]
第二步是利用遗传算法对所提出算法的超参数进行调优,确定cpwopt*算法的超参数取值,该步是算法可行性的必备条件,也是本发明的创新。别的算法可能也会用到此类进化算法(包括但不限于遗传算法),因此,该技术是现有技术在全新算法及适用场景下的应用。
[0094]
第三步是对所提出算法进行验证,证明了算法的合理性和准确性。以上三个步骤是本发明创新提出的,其中第二步所用技术手段是现有成果。
[0095]
第四步是算法应用。利用所提出的张量分解与重构算法对城轨站内高维、稀疏行人数据进行处理。
[0096]
具体的,上述步骤s10包括、在cp(candecomp/parafac)分解加权优化cpwopt(cp weighted optimization,cpwopt)算法的基础上,从权重目标函数值和变量梯度值优化的角度,利用自适应梯度算法算法对cpwopt算法进行改进,提出一种基于cpwopt*的张量分解与重构算法。
[0097]
cpwopt算法通过对目标函数进行加权处理,优化已知数据的估计误差,忽略缺失数据,从而提升算法性能。cpwopt算法的具体计算过程如下。
[0098]
首先,给出一个具有缺失数据的k阶张量并假设其cp秩已知,并假设其cp秩已知,为与张量同维的二元指示张量,即张量中已知元素的索引值在张量中对应位置处元素为1,缺失元素则为0,如公式(16)。
[0099][0100]
式中:mk∈{1,2,
…
,mk},k∈{1,2,
…
,k}。m1×
m2×…×
mk[0101]
表示上文提到的k阶张量。
[0102]
给出一系列因子矩阵则因子矩阵可表示为m1×
m2×…×
mk的张量,表示因子矩阵的因子向量,a
(1)
,a
(2)
,
…
,a
(k)
表示因子矩阵。
[0103]
张量元素可以表示为:
[0104][0105]
cpwopt算法的优化目标为最小化原始张量和重构张量间误差,其权重目标函数为:
[0106][0107]
令则权重目标函数(18)可写成如下形式:
[0108][0109]
其中,张量为原始张量内已知的数据,在迭代过程中不发生变化。
[0110]
将权重目标函数写成张量元素的形式为:
[0111][0112]
接下来,给出优化目标函数及其梯度的计算过程,这样便可利用基于梯度的优化算法求解优化问题。目标函数fw对因子矩阵每个元素的偏导数计算如下:
[0113][0114]
其中,mk=1,2,
…
,mk、k=1,2,
…
,k、r=1,2,
…
,r。
[0115]
由公式(16)知,为二元指示张量,则:
[0116][0117][0118]
因此,将公式(21)写成矩阵形式,如下:
[0119][0120]
a-(k)
=a
(k)
⊙…⊙a(k+1)
⊙a(k-1)
⊙…⊙a(1)
ꢀꢀꢀ
(25)张量的因子矩阵在迭代过程中的更新如下:
[0121]a(k)
=a
(k)-η
·g(k)
ꢀꢀꢀ
(26)
[0122]
直至目标函数误差达到阈值或达到最大迭代次数,终止算法,得到最优因子矩阵a
(1)
,a
(2)
,
…
,a
(k)
,则可利用下式计算原始张量内的缺失数据。
[0123]
其中,1为与张量
同维且元素均为1的张量。原始张量经补全后的张量可表示为即:
[0124][0125]
(2)图2为本发明实施例提供的一种改进的cpwopt算法计算张量分解的处理流程图,具体处理过程包括:
[0126]
①
目标函数优化
[0127]
为了提高算法的鲁棒性和准确性,防止目标函数过拟合,对cpwopt算法中目标函数进行正则化处理。构建三阶行人走行参数张量模型数进行正则化处理。构建三阶行人走行参数张量模型其分解后的因子矩阵为其中,张量分解的优化权重目标函数为:
[0128][0129]
在目标函数(29)中添加tikhonov正则化项:
[0130][0131]
其中,为因子矩阵权重衰减参数,体现了因子矩阵s
(n)
在整个目标函数中的重要程度。
[0132]
将优化的权重目标函数改写为如下形式:
[0133][0134]
其中,由于行人速度张量是确定的,因此,在整个迭代过程中,张量不发生变化,可以提前计算。而正则化项为各因子矩阵的frobenius范数的平方和。每次迭代开始时,因子矩阵是确定的,正则化项可直接计算得到。
[0135]
针对稀疏张量为了提高运算效率、减少存储空间,给出一种高效计算张量的方法。将张量中已知值的索引,即二元指示张量中元素为1的位置,有序放入集合中元素为1的位置,有序放入集合为三维向量,q∈{1,2,
…
,q}。此操作将张量中的已知值存储在长度为q的向量y中,即:
[0136][0137]
因此,对于张量中缺失值位置在对应张量中取值也一定为0。因此,只需要计算对应的张量中元素即可。给出向量z表示张量中的已知值。
[0138][0139]
在计算机运算过程中,令:
[0140]
[0141][0142]
向量u可以计算为:
[0143][0144]
则向量z可计算为:
[0145][0146]
在每次迭代过程中一次只需要计算一个向量大大降低了储存成本,提高了算法运行效率。此时,优化的权重目标函数(31)可以写为:
[0147][0148]
其中,γ为常数,通过以上快速算法,可以有效计算优化的权重目标函数值,大大提高运算效率。
[0149]
优化的权重目标函数对各因子矩阵的偏导数为:
[0150][0151]
其中,z
(n)
、y
(n)
为张量的n阶矩阵化,s-(n)
的计算公式如下:
[0152]s(-1)
=s
(3)
⊙s(2)s(-2)
=s
(3)
⊙s(1)s(-3)
=s
(2)
⊙s(2)
ꢀꢀꢀ
(40)
[0153]
②
adagrad算法优化学习率
[0154]
为了防止随机梯度算法遇到“山谷”和“鞍点”等地形,陷入无法收敛或者收敛极慢的境地,利用自适应梯度算法对算法的学习率进行自适应调整。adagrad算法的迭代过程如下:
[0155][0156][0157][0158]
其中,表示取前j步梯度元素积矩阵的对角矩阵;i为单位对称矩阵;ε为平滑系数,通常取1e-8;学习率r
η
为固定的超参数。adagrad算法通过自适应矩阵取代sgd算法中的固定学习率。由于矩阵的对角线元素为各维度参数的更新权重,使学习率包含了历史累计的平方梯度信息,在更新步长时体现了各维度的差异性。adagrad算法的具体步骤如图3。
[0159]
2、提出利用遗传算法对cpwopt*算法中张量的秩r、正则化参数学习率r
η
三个超参数进行参数调优,包括:
[0160]
首先,对种群进行初始化,确定初始化参数取值,主要有种群大小、最大迭代次数、交叉率、变异率、全局最优适应度初始化值等。其中,对种群中的染色体利用二进制编码,基因长度设置为10。基因中第一部分表示张量的秩r,第二部分表示正则化参数第三部分为学习率r
η
。
[0161]
其次,随机生成第一代种群,并利用适应度函数计算染色体适应度值。其中,适应度函数用来确定某一染色体对环境的适应度值,种群中染色体的选择操作便是基于适应度函数的。保留适应度值较高的个体进行交叉、变异,从而加快最优值的找寻过程。由于遗传算法限制适应度值非负,而张量模型要求解目标函数的最小值,因此利用目标函数fw的倒数来表示适应度。
[0162]
接下来,判断是否达到迭代终止条件。若没有达到终止条件,则对种群进行选择、交叉、变异操作,得到下一代种群,继续利用适应度函数评价种群;若达到终止条件,则输出全局最优染色体及适应度值。其中,利用单点交叉算子,随机选取交叉点,并对选中的两染色体进行分割,交换交叉点后对应位置的二进制数值,得到两个不同的染色体。利用基本位变异算子,对选中的染色体随机确定变异点,用该基因的其它等位基因替换该基因值,形成新个体。遗传算法的交叉与变异过程示意图如图4。
[0163]
最后,利用遗传算法进行迭代寻优,遗传算法求取模型超参数流程如图5,得到最优超参数集合,其迭代寻优过程如图6。
[0164]
3、对比本发明算法与经典数据补全算法的数据补全效果,包括:
[0165]
对构建的行人速度张量中的已知值进行随机缺失处理,缺失率从10%逐渐增加到60%。通过对比常用的数据补全方法及cpwopt*算法的补全效果,计算不同方法下的补全结果评价指标,验证模型的有效性。
[0166]
(1)算法评价指标
[0167]
①
mae
[0168]
平均绝对误差(mean absolute error,mae)表示估计值与真实值间距离的平均值。mae为非负值,越接近0,则说明算法预测结果越准确。mae计算如下:
[0169][0170]
其中,xi为第i个行人走行参数的真实值,为对应的估计值。
[0171]
②
rmse
[0172]
均方根误差(root mean square error,rmse)用来衡量估计值与真实值间的偏差,其值越小,则说明算法预测结果越准确。rmse计算如下:
[0173][0174]
(2)数据补全效果分析
[0175]
通过设定不同比例的缺失率,对比cpwopt*算法与经典数据补全算法,即:cpwopt算法、cp-als算法、线性插值法(linear interpolation,li)的补全效果,并计算每种算法填充后的mae(见图7)与rmse值(见图8)。结果表明,随着张量缺失数据的增加,各种数据补全算法的填充效果均下降,尤其在数据缺失率达到50%及以上时,填充误差增大,填充效果较差。对比各类数据补全算法,基于张量分解与重构的数据填充效果相较于经典线性插值法有更好的表现。对缺失率达60%的速度张量,cpwopt*算法填充的平均绝对误差仅为0.260m/s,cpwopt算法为0.276m/s,cp-als算法为0.322m/s,而线性插值法为0.417m/s。线性插值法由于仅考虑局部信息,即便在缺失数据较少时,填充误差依旧较大,对于缺失数据为30%的速度张量,填充后的平均绝对误差就达到了0.195m/s。此外,张量数据缺失率在
30%及以下时,改进后的cpwopt*算法与cpwopt算法的准确率相差不大,都具有较好的填充效果;而当数据缺失率较大的情况下,cpwopt*算法有更好的填充效果,也就是说,改进后的cpwopt*算法更适合于处理稀疏数据,有较高的填充准确率。
[0176]
4、构建不同场景下的高维稀疏行人走行速度张量,利用cpwopt*算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全,包括:
[0177]
主要步骤如下:
[0178]
(1)构建不同场景下的高维稀疏行人速度张量;
[0179]
(2)利用cpwopt*算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全。具体步骤如下:
[0180]
①
构建秩为rs的张量及同维二元指示张量并计算常量
[0181]
②
将张量中已知值索引放入并将已知值存储在向量y中;
[0182]
③
利用遗传算法确定超参数正则化参数张量的秩rs、学习率r
η
的取值,利用cp-als算法对张量进行分解,得到初始因子矩阵s
(1)
,s
(2)
,s
(3)
;
[0183]
④
构建正则化目标优化函数
[0184]
⑤
令并构建向量z,
[0185]
⑥
计算目标优化函数若目标函数值达到损失阈值或达到最大迭代次数j
max
,则跳转步骤
⑧
;否则,跳转步骤
⑦
;
[0186]
⑦
计算各因子矩阵的偏导数并利用adagread算法更新梯度:
[0187]
v=v+g
(n)
⊙g(n)
[0188][0189]s(n)
=s(n)-η
·
v-1
·
g(n)
[0190]
并跳转步骤
⑤
;
[0191]
⑧
输出最优因子矩阵s
(1)
,s
(2)
,s
(3)
,并利用下面公式对张量中的空缺值进行张量补全:
[0192][0193]
完成基于张量分解与重构的行人走行参数评估。
[0194]
(3)完成高维、稀疏行人流走行数据的缺失值补全。
[0195]
综上所述,本发明基于张量分解与重构的理论思想,构建了一种基于cpwopt*算法的行人走行速度评估模型。其中,模型对目标函数进行正则化约束处理,来保证算法的学习与泛化能力。考虑到张量数据的稀疏性,基于自适应梯度算法(adagrad算法)对目标函数进行迭代求解。模型利用遗传算法确定超参数的取值,并将张量已知值进行随机缺失处理,通过与经典数据补全算法进行对比,验证了提出cpwopt*算法的可行性与准确性。
[0196]
本发明可对行人交通与行人动力学研究中的行人走行场景进行拓展,有效预测高
维数据中的缺失值,为目前具有典型高维稀疏性的客流视频数据的有效利用提供了新的有利工具。
[0197]
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0198]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0199]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0200]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种基于张量分解与重构思想的行人流走行数据补全方法,其特征在于,包括:构建基于改进cp分解加权优化的张量分解与重构算法;利用遗传算法对所述基于改进cp分解加权优化的张量分解与重构算法中张量的秩r、正则化参数和学习率r
η
三个超参数进行参数调优,在验证所述基于改进cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于改进cp分解加权优化的张量分解与重构算法;构建不同场景下的高维稀疏行人走行速度张量,利用训练好的基于改进cp分解加权优化的张量分解与重构算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全。2.根据权利要求1所述的方法,其特征在于,所述的构建基于改进cp分解加权优化的张量分解与重构算法,包括:在cp分解加权优化算法的基础上,从权重目标函数值和变量梯度值优化的角度,利用自适应梯度算法对cpwopt算法进行改进,得到改进的cpwopt*张量分解与重构算法,所述改进的cpwopt*张量分解与重构算法的处理流程包括:对cpwopt算法中目标函数进行正则化处理,构建三阶行人走行参数张量模型对cpwopt算法中目标函数进行正则化处理,构建三阶行人走行参数张量模型其分解后的因子矩阵为其中,其中,张量分解的优化权重目标函数为:在目标函数(29)中添加tikhonov正则化项:其中,为因子矩阵权重衰减参数,体现了因子矩阵s
(n)
在整个目标函数中的重要程度;将优化的权重目标函数改写为如下形式:其中,行人速度张量是确定的,在整个迭代过程中,张量不发生变化,能够提前计算,而正则化项为各因子矩阵的frobenius范数的平方和,每次迭代开始时,因子矩阵是确定的,正则化项直接计算得到;将稀疏张量中已知值的索引,即二元指示张量中元素为1的位置,有序放入集合中元素为1的位置,有序放入集合中元素为1的位置,有序放入集合为三维向量,q∈{1,2,
…
,q},将张量中的已知值存储在长度为q的向量y中,即:值存储在长度为q的向量y中,即:对于张量中缺失值位置在对应张量中取值也一定为0,只需要计算对应的张量中元素,给出向量z表示张量中的已知值;
在计算机运算过程中,令:在计算机运算过程中,令:向量u的计算方法为:则向量z的计算方法为:在每次迭代过程中一次计算一个向量优化的权重目标函数(31)改写为:其中,γ为常数,优化的权重目标函数对各因子矩阵的偏导数为:其中,z
(n)
、y
(n)
为张量的n阶矩阵化,s-(n)
的计算公式如下:s
(-1)
=s
(3)
⊙
s
(2)
s
(-2)
=s
(3)
⊙
s
(1)
s
(-3)
=s
(2)
⊙
s
(2) (40)利用自适应梯度算法对所述基于改进cp分解加权优化的张量分解与重构算法的学习率进行自适应调整。3.根据权利要求2所述的方法,其特征在于,所述的利用遗传算法对所述基于改进cp分解加权优化的张量分解与重构算法中张量的秩r、正则化参数和学习率r
η
三个超参数进行参数调优,包括:对遗传算法的种群进行初始化,确定初始化参数的取值,所述参数包括种群大小、最大迭代次数、交叉率、变异率和全局最优适应度初始化值,对种群中的染色体利用二进制编码,基因长度设置为10,基因中第一部分的4位表示张量的秩r,第二部分的3位表示正则化参数第三部分的3位为学习率r
η
;随机生成第一代种群,并利用适应度函数计算染色体适应度值,适应度函数用来确定某一染色体对环境的适应度值,基于适应度函数选择种群中染色体,保留适应度值较高的个体进行交叉、变异,利用公式(30)表示的目标函数f
w
的值的倒数来表示适应度;判断是否达到迭代终止条件,若没有达到终止条件,则对种群进行选择、交叉、变异操作,得到下一代种群,继续利用适应度函数评价种群;若达到终止条件,则输出全局最优染色体及适应度值;利用单点交叉算子,随机选取交叉点,并对选中的两染色体进行分割,交换交叉点后对应位置的二进制数值,得到两个不同的染色体,利用基本位变异算子,对选中的染色体随机确定变异点,用该基因的其它等位基因替换该基因值,形成新个体,利用遗传算法进行迭代寻优,确定每一代群体中的最优取值,当达到终止条件时,最优染色体取值即为秩r、正则化
参数和学习率r
η
的取值,通过二进制转化,得到秩r、正则化参数和学习率r
η
三个超参数的具体取值。4.根据权利要求3所述的方法,其特征在于,所述的在验证所述基于改进cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于改进cp分解加权优化的张量分解与重构算法,包括:对利用所述基于改进cp分解加权优化的张量分解与重构算法构建的行人速度张量对利用所述基于改进cp分解加权优化的张量分解与重构算法构建的行人速度张量中的已知值进行随机缺失处理,缺失率从10%逐渐增加到60%,计算不同方法下的补全结果评价指标;平均绝对误差mae表示估计值与真实值间距离的平均值,mae为非负值,越接近0,则说明算法预测结果越准确,mae计算如下:其中,x
i
为第i个行人走行参数的真实值,为对应的估计值;均方根误差rmse用来衡量估计值与真实值间的偏差,其值越小,则说明算法预测结果越准确,rmse计算如下:通过设定不同比例的缺失率,对比所述基于cp分解加权优化的张量分解与重构算法与现有的数据补全算法的补全效果,在验证所述基于cp分解加权优化的张量分解与重构算法的数据补全效果合格后,得到训练好的基于cp分解加权优化的张量分解与重构算法。5.根据权利要求1至4任一项所述的方法,其特征在于,所述的构建不同场景下的高维稀疏行人走行速度张量,利用训练好的基于cp分解加权优化的张量分解与重构算法进行张量的分解与重构,对稀疏行人速度张量中的缺失值进行补全,包括:
①
构建不同场景下的秩为r
s
的稀疏行人走行速度张量及同维二元指示张量并计算常量
②
将张量中已知值索引放入并将已知值存储在向量y中;
③
利用遗传算法确定超参数正则化参数张量的秩r
s
、学习率r
η
的取值,利用cp-als算法对张量进行分解,得到初始因子矩阵s
(1)
,s
(2)
,s
(3)
;
④
构建正则化目标优化函数min:
⑤
令并构建向量z,
⑥
计算目标优化函数若目标函数值达到损失阈值或达到最大迭代次数j
max
,则跳转步骤
⑧
;否则,跳转步骤
⑦
;
⑦
计算各因子矩阵的偏导数并利用adagread算法更新梯度:v=v+g
(n)
⊙
g
(n)
s
(n)
=s(n)-η
·
v-1
·
g(n)并跳转步骤
⑤
;
⑧
输出最优因子矩阵s
(1)
,s
(2)
,s
(3)
,并利用下面公式对张量中的空缺值进行张量补全:完成基于张量分解与重构的行人走行参数评估。
技术总结
本发明提供了一种基于张量分解与重构思想的行人流走行数据补全方法。该方法包括:构建基于改进CP分解加权优化的张量分解与重构算法;利用遗传算法对算法中张量的秩R、正则化参数和学习率r
技术研发人员:张慧 徐杰 秦勇
受保护的技术使用者:北京交通大学
技术研发日:2023.07.25
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:砷化镓晶圆的激光打标方法及系统与流程 下一篇:悬挂式电动葫芦的制作方法
