机器学习与数据挖掘机器学习

EDR

2019-01-31  本文已影响2人  Yung968

目录

Abstract

EDR算法对于这些data imperfections更鲁棒。相比于其他的方法,EDR算法更加的有效率和精确。

一 、Introduction

1. 背景

随着移动计算和computer vision techniques的发展,在实际生活或者视频中追踪移动物体的轨迹变得很简单。由此也衍生出来了很多有趣的系统。例如在运动领域,通过分析可以获取某个顶尖运动员习惯的运动轨迹(例如篮球中的突破轨迹)并实施针对性策略(如防守)

2. 轨迹

一个移动物体的轨迹S的,被定义为一系列的“对”。例如:

S = [(t1, s1), (t2, s2) …… , (tn, sn)]。

n就是S序列的长度;si是在ti时刻处的抽样值,一般是2或者3维的数据。

S就代表着物体在一段时间内的连续运动轨迹。很明显,轨迹S一般被描述为2或者3维的时空数据

而我们感兴趣去的,是许多轨迹的移动的形状。

对于两条轨迹,抽样得出的数据(也就是si)非常重要,可以用于测量两个轨迹的相似度。而时间数据,经常可以被忽略。

3. 基于相似性的检索及轨迹数据面临的问题

2中S中的si,对于基于相似性检索的时空数据库非常重要。

当si是一维(例如股票、商品价格预测、销售量、天气数据、生物医学数据)的时候,已经有了许多出色的成果。但是,一维数据的许多成果,不能直接被用于轨迹数据。因为多维数据有以下的特点:


由于以上的问题,以及这些问题的解决办法并不完善,便有了本文。以下是文章内容总括:

二、Background

1. 范围定义——划定到二维

为了简单和不失一般性,把轨迹设定为二维的(文中所有的定义、定理都可以被扩展到三维或者更高维度),因此

S = [(t1, s1) ..., (tn, sn)]

si = (S(i,x) ,S(i, y) ), 括号内的内容是下标

(ti, si)是轨迹S的一个代表性元素

2. 数据归一化

可以对轨迹S进行归一化

u(x),u(y)是其两个唯独的均值

σ(x),σ(y)是两个唯独的方差

image.png

归一化很推荐的,因为归一化使得两个轨迹之间的距离对于空间缩放和移位是不变的。(不太懂)(空间缩放能明白,这个位移没懂)

在下文中将会使用S来替代Norm(S),即,下文的S都是归一化之后的。

3. 符号说明

Symbols Meaning
S a trajectory [(t1 , s1 ), . . . , (tn , sn)]
si i th element vector of S
dist(ri,si) the distance between two elements (ri , si ) and (ri , si )
s i,x the x coordinate of i th element vector of S
Rest(S) the sub-trajectory of S without the first element: [(t2 , s2 ), . . . , (tn , sn )]
H S a histogram of trajectory

4.距离函数定义

image.png

三、EDR

EDR比 已存在的 测量两个轨迹之间相似度的 方法 更加的鲁棒、精确。

1. Edit Distance on Real Sequences

Edit distacne(ED)是本方法的基础:

EDR is based on Edit Distance (ED) [26], which is widely used in bio-informatics and speech recognition to measure the similarity between two strings. Given two strings A and B, ED(A, B) is the number of insert, delete, or replace operations that are needed to convert A into B.

但是由于轨迹不是字符串,也不是一维的,因此,合理的定义两个轨迹的元素对“匹配”这一概念,就显得十分重要了。

(1).两个定义

(2)从定义看优势

2. Evaluation of EDR

总之就是好好好。

四、Efficient Trajectory Retrieval Using EDR

在定义1中,e被用来限定是否匹配。(也就是用来去除噪声)但是也造成了它违反三角不等式,属于non-metric,因此不能通过传统方法进行索引。

其实基本上所有的对噪声有抑制作用的算法,通常都不符合三角准则。

另外,心理学研究表明,人类的相似性判断也不符合三角准则。

因此,问题现在就在于如何提升相似性搜索的检索效率。每次EDR操作的时空复杂度是O(m×n),m和n是两个轨迹的长度。(DTW、ERP、LCSS都是二次的)

提出方法的目标是:在没有错误的“解雇”的条件下,尽可能的减少错误的候选者。(减少需要计算EDR的轨迹的数量)

1. Pruning by Mean Value Q-gram

(1)预备知识:

近似字符串匹配问题:

对于一个长度为n的字符串文本,和一个长度为m的模式(m<n),检索出所有的子字符串,这些字符串需要满足他们到这个模式的edit distance最大是k。

Q-gram:

Q-gram是字符串S的一个长度为q的所有子字符串的集合。

例如

S = [(t1 , (1, 2)), (t2 , (3, 4)), (t3 , (5, 6)), (t4 , (7, 8)), (t5 , (9, 10))]。

那么其大小为3的Q-gram是:

[(1,2), (3, 4), (5, 6)], [(3,4), (5,6), (7, 8)], [(5,6), (7,8), (9,10)].

定理 1:

假如P和S长度分别是m和n,假如P和S的edit distance在k之内,那么一定满足,他们有至少p = max(m, n) - q + 1 - kq个共同的Q-gram.

换言之,假如这某两个字符串小雨了p个共同的Q-gram,那么这俩字符串的edit distance一定不满足最大为k。

这条定理也已用于去除错误的候选者。(但是也要加入措施来避免去除正确的候选者)

此定理只适用于一维数据。

定义 3:

给定两个序列R和Q的两个Q-gram: r = [(r(1,x) , r(1,y)), . . . , (r(q,x) , r (q,y) )] and s = [(s(1,x) , s(1,y) ), . . . , (s(q,x) , s(q,y))] ,当说r匹配s的时候,当且仅当r的每一个元素对应匹配s的每一个元素。(Q-gram一定是q长度啦)


定理2:

对于给定的阈值e,假如两个Q-gram,r和s(与定义3中相同)匹配,那么他们的均值也匹配。 image.png

Q-gram的均值,就是一个q纬度“元包”,每一个“元包”具体是多少维度,主要是要看轨迹采样点的纬度。例如(1,2,3,4,5,6)的q=3时的Q-gram就是三维元包,元包是一维的(实际上就是(3, 4, 5)

但是对于二维元包:S=((1,2),(3,4),(5,6),(7,8),(9,10))的q=3时的Q-gram的均值就是三维元包,元包是二维的(实际上就是((3, 4), (5, 6), (7, 8))

而每一个Q-gram适合均值一样形式的。

(2) 存在的问题

最终,定理一只能用于范围查询(???),而在大多数情况下,用户实现又不知道一个范围。

引出k-NN search.

(3)对以上问题的改善

使用定理二,我们就不需要再存储大量的Q-gram了。

更重要的是,我们可以更快的检索出轨迹的Q-gram。

例如:

image.png

(4)实现算法

k-NN查询响应

其中,这里的k是k-NN算法中邻居的范围定义限制,与EDR中的k没有关系。

此算法不引入错误的“解雇”:即不把正确的匹配结果去除掉。

2. Pruning by Near Triangle Inequality

(1) 近似三角不等式

EDR不满足三角不等式,但是满足以下不等式(近似三角不等式)

对于给定的三条轨迹Q,S,R,有如下不等式:

EDR(Q, S) + EDR(S, R) + |S| >= EDR(Q, R)

其中,|S|是轨迹S的长度。

移项得到:

EDR(Q, S) >= EDR(Q, R) - EDR(S, R) -|S|

R可以当作是一个中间临时轨迹,EDR(Q, R), EDR(S, R)都可以直接算出。

(2)lower bound——下界

根据近似三角不等式,可以获得EDR(Q, S)的一个下界。可以用来被用来去除错误的候选项。

(3)算法

image.png

算法说明:

S某一条轨迹(数据库中的),Q是当前要寻找匹配轨迹的轨迹。procArray存储着EDR(Q, Ri)。pmatrix存储者EDR(Ri, S)。result是最后结果,注意,传入的时候就已经有内容了。

使用时需要用到dynamic strategies:

Let maxTriangle denote the maximum number of trajectories whose true EDR distances are kept for near triangle inequality pruning. Hereafter we call these trajectories the reference trajectories. The value of maxTriangle should be determined at query time by the query engine based on the buffer size. The larger maxTriangle is, the more pruning power can be achieved. Dynamic strategies pick these reference trajectories as NearTrianglePruning runs, therefore, the entire pmatrix is not needed.

预选的轨迹应该在查询时刻有查询引擎准备好,也就是说,近似三角形准则并不是一个完善的方法,不太同于4.1,甚至可以作为4.1的一个子部分。maxTriangle越大,说明下限越高,说明修剪的越好。

因此实际应用时的需要如下:

As the reference trajectories are picked and kept, the appropriate column of the distance matrix is read into the buffer space. The buffer space requirement is maxTriangle columns, each of size N (N is the trajectory database size). Thus, the total buffer space required is N ∗ maxTriangle. Given a database that contains 1,000,000 trajectories and maxTriangle = 400, the buffer space requirement is only around 400M, which is acceptable based on the current hardware configuration of PC. The selection of reference trajectories is query dependent. In our implementation, we simply pick the first maxTriangle trajectories that fill up procArray.

(4)对于算法的理解(个人)

这个算法的应用前提是,数据库已经查询到了k-NN响应(能查询k-NN响应就说明Q在这里就是已知的了),并且放到了result里面,procArray预先放的R就是那些轨迹和EDR(Q, Ri)。

这个方法就是用来去除“错误的解雇”和“错误的候选者”。此时考量的S是一条可能是“候选者”但没有被选中的轨迹,因此,此时的pmatrix也就有了,是EDR(Ri, S)。

而后根据近似三角形准则,先计算maxPruneDist——EDR(Q, S)的下界,计算的中介就是此时的procArray和pmatrix中的候选者们。假如此下界<此时最大的k-NN距离,那么说明这个轨迹可能是真正的候选者。但是近似三角形准则毕竟只是一个弱化版本的三角形准则,其限制范围本身就是被弱化的,非常有限。所以,之后要再去计算EDR(Q, S)——真实的EDR距离。

这是因为,EDR(Q, S)大于这个下界,当这个下界小于k-NN的最大距离,并不代表EDR(Q, S)就比k-NN距离小。

假如此距离确实比当前的realDist,假如此时的realDist确实要比bestSoFar(k-NN的最大距离)更好(小),那么说明这个轨迹S确实是真正的候选者

因此,后续应当把realDist插入到procArray中(难道不应该也插入到pmatrix中?)(原文实在是没给出R到底是哪里来的,所以只能这么猜测,但是解释的并不圆满)

回到上一行自己括号里面的问题:

确实不需要插入到pmatrix中。

现在的目的是寻找Q的匹配轨迹,S是当前的可能的真正的候选者,而我们还需要去继续追寻下一条可能的候选者轨迹。

procArray是EDR(Q, Ri),在这个过程中Q是不变的,所以当追寻下一个轨迹的时候,这个procArray还需要继续使用。

pmatricx是EDR(S, Ri),当追寻下一条轨迹的时候,pmatricx是需要重新计算的!所以不需要插入。

与procArray同理,result是下次查询肯定要被用到的(毕竟是k-NN查询的结果!)!所以也需要重写!z

然后把此时的S和realDist插入到result中。

(5)其他

我们应当清楚,近似三角形准则是三角形准则的一个弱化版本

假如轨迹们都有相同的长度,“避免错误解雇”的效果将会消失。(估计是因为|S|吧)。

其他的把非三角形准则转化成三角形准则的方式还有CSE

Given a distance function dist that is defined on data space D and does not follow triangle inequality, there exist three data elements x, y, z ∈ D, such that dist(x, y) + dist(y, z) < dist(x, z). dist can be converted to another distance function, dist 0 , by adding a positive value c to each distance value calculated by dist. For example, dist 0 (x, y) = dist(x, y) + c. If c is large enough, we may have dist 0 (x, y) + dist 0 (y, z) ≥ dist 0 (x, z) (which equals dist(x, y) + dist(y, z) + c ≥ dist(x, z)), thus, triangle inequity can be hold on dist 0 .

但是我们不使用这种方法,因为:

3. Pruning by Histograms

(1). 预备知识

关键词:Embedding methods.

为了他提高再edit distance条件下的字符串的k-NN查询效率,嵌入式方法被提了出来。

方法的主要思想是把字符串 嵌入 到 一个向量空间中,然后在嵌入后的向量空间中定义一个距离函数(喵喵喵?)

为了避免错误的“解雇”,embedded space的长度就是字符串的edit distance的下界。(喵喵喵?)

许多的embedding 方法被提了出来,但是只有两个介绍了“false dismials”,他们都是用了一样的方法:

FV & FD & 一个定理

他们通过映射字符串到字符串的频率向量(frequency vector)(FV)上,来把字符串转换到多维的整形空间中。

有以下已经被证明的定理:

the frequency distance (FD) between the FVs of two strings is the lower bound of the actual edit distance.

即,已经证明,两个串的FV之间的频率距离(FD)是实际编辑距离的下限。

定义:

FD of two points u and v in s-dimensional space, FD(u, v), is defined as the minimum number of steps (insertion, deletion, replacement operations) that is required to go from u to v (or equivalently from v to u).(喵喵喵?这不就是edit distance吗)

正如定理中描述的那样:

the frequency distance (FD) between the FVs of two strings is the lower bound of the actual edit distance.

咱们这里比较的是两个字符串的FVs的距离,所以两个字符串的FVs之间的ED距离又称作FD???(我怎么觉得有点奇怪)

使用FV、FD的一些特点的分析

FV显然是一维的直方图(也就是柱状图),他的每一个bin都是字母表里的字母。

(2)算法

image.png

4.3待续

4.4Combination of three pruning methods

上面讨论的三种修建方式都是比较原始的,实际上,可以做到把三种方法结合起来使用——use one pruning method to save the computation of the true distance EDR(Q, S) after another.

(1)EDRCombineK-NN

histogram pruning is applied first, then, mean value Q-gram filters are applied. Finally, the procedure NearTrianglePruning is invoked to remove more false candidates based on computed real EDR distances.

先使用直方图修剪方式,在使用均值Q-gram过滤器。最后,在已经计算得到的EDR距离的基础上,使用近似三角形去除错误的候选者。

(2)算法

image.png

五、EXPERIMENTS

实验部分展示了两方面的实验结果:

实验测量的尺度有两方面

测量参数:

1. Efficiency of Pruning by Q-gram Mean Values

(1)数据来源

(2)数据形式

ASL:710条轨迹,长度从60-140

Kungfu:有495条数据,记录着人在打功夫的时候 身体的关节的移动数据,每个轨迹长度是640。

Slip:一共495条数据,记录着人跌倒并且试图站起来的时候的身体关节的移动数据,每个轨迹的长度是400。

(3)测试项目

(4)最终结论

image.png

四个测试方法:

pruning with a R-tree on two dimensional Q-grams (PR), pruning with B + -tree on one-dimensional Q-grams (PB), and pruning with merge join on sorted two dimensional Qgrams (PS2) and one-dimensional Q-grams (PS1).

最终测试结论:

From two test results, we conclude that PS2 on Q-gram of size 1 is the best method to remove false candidates with mean value Q-grams.

PS2是使用Q-gram均值方式的最好方法。

(5)PS2:pruning with merge join on sorted two dimensional Qgrams (PS2)

以下是文中没有详细说明的第二种k-NN查询方法:

The second algorithm performs linear scan over sorted Q-grams. Procedure Qgramk- NN-seq (Algorithm 5.2) first conducts a merge join algorithm to find the common Q-grams between two trajectories without any indexes before computing the real EDR between them. The computation cost of this pruning step is only O(|Q| + max(|R|)) (not including sorting cost).

image.png

2. Efficiency of Pruning by Near Triangle Inequality

假如数据库中的轨迹都只有相同的大小,那么近似三角形就不能去除错误的候选者。

(1)数据来源 & 数据形式

同Pruning by Q-gram Mean Values。

因为Kungfu和Slip的轨迹的长度都一样,所以可以这两个不会被测试。

我们用来两个数据集,每个数据集有1000个轨迹数据。

而且保证每一个数据集的数据的长度从30到256不相同。

其中一个数据集的数据的长度 符合 均匀分布。两一个数据集的数据长度符合 正态分布

(2)测试结果

ASL RandN RandU
Pruning Power 0.09 0.07 0.26
Speedup Ratio 1.10 1.07 1.31

可以看出:

3. Efficiency of Pruning by Histograms

(1)测试变量

(2)测试数据

section 5.1中的所有数据

(3)测试结果

image.png

(4)测试结果

对比均值Q-gram的修剪功率和加速比率,我们可以发现,直方图方式在移除错误的候选者这方面(也就是这两个指标上)要普遍的强。

Comparing the pruning power and speedup ratio results of mean value Q-grams and histograms (Figures 7 vs. 9 and Figures 8 vs. 10), we also find that histograms generally perform better than mean value Q-grams on removing false candidates.

4.Efficiency of Combined Methods

(1)测试项目

使用4.4中提出的结合方法

histogram pruning is applied first, then, mean value Q-gram filters are applied. Finally, the procedure NearTrianglePruning is invoked to remove more false candidates based on computed real EDR distances.

先使用直方图修剪方式,在使用均值Q-gram过滤器。最后,在已经计算得到的EDR距离的基础上,使用近似三角形去除错误的候选者。

直方图选择:HRE方式

均值Q-gram过滤器选择PS2形式

(2)测试数据

上一篇下一篇

猜你喜欢

热点阅读