陳濤
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)
具有相似性的數(shù)據(jù)序列構(gòu)成的曲線具有相似的形態(tài)特征。提出一種基于用切線向量來標(biāo)識(shí)曲線特征,計(jì)算切線向量集之間的相似度,進(jìn)而對(duì)數(shù)據(jù)序列進(jìn)行相似性度量,達(dá)到數(shù)據(jù)序列分類識(shí)別的方法。該方法用連續(xù)性函數(shù)將點(diǎn)列分段連接成一條曲線,再求解所有點(diǎn)的切線向量組成向量集,通過比較兩列數(shù)據(jù)點(diǎn)列切線向量集的相似度來識(shí)別和將點(diǎn)列識(shí)別。最后通過實(shí)驗(yàn),證明該方法的有效性、準(zhǔn)確性、廣泛適用性。
曲線形態(tài);切線向量;曲線識(shí)別
隨著計(jì)算機(jī)科學(xué)計(jì)算的飛速發(fā)展,利用計(jì)算機(jī)系統(tǒng)和數(shù)學(xué)技術(shù)在生產(chǎn)生活中幫助人們實(shí)現(xiàn)智能識(shí)別和自動(dòng)處理各種事務(wù)是計(jì)算機(jī)應(yīng)用的研究熱點(diǎn)。在氣象變化分析、股票變化分析、金融數(shù)據(jù)分析、電磁信號(hào)分析[1]、運(yùn)動(dòng)曲線識(shí)別等需要進(jìn)行模式識(shí)別的方面都有廣泛的應(yīng)用需求。
計(jì)算機(jī)將現(xiàn)實(shí)世界的某種信息通過數(shù)學(xué)模型按照順序記錄保存于計(jì)算機(jī)存儲(chǔ)器中,形成了信息到數(shù)據(jù)點(diǎn)列的映射。要實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)智能識(shí)別信息和自動(dòng)處理事務(wù),就需要將保存于計(jì)算機(jī)中的數(shù)據(jù)點(diǎn)列進(jìn)行識(shí)別,然后再根據(jù)預(yù)先設(shè)定的處理程序進(jìn)行相應(yīng)的自動(dòng)處理。對(duì)數(shù)據(jù)點(diǎn)列的自動(dòng)識(shí)別,就成了實(shí)現(xiàn)這一目標(biāo)的關(guān)鍵。點(diǎn)列分類識(shí)別的實(shí)質(zhì)就是將不同的點(diǎn)列進(jìn)行對(duì)比,計(jì)算不同點(diǎn)列之間的相似度,根據(jù)相似度來確定某一點(diǎn)列是屬于哪一類。
在已有的研究中,與本文相類似的研究是關(guān)于時(shí)間序列相似性度量。計(jì)算機(jī)記錄數(shù)據(jù)時(shí),是按照時(shí)間順序記錄存儲(chǔ)的,因此形成的數(shù)據(jù)點(diǎn)列可以看作是時(shí)間序列數(shù)據(jù)。近年來,在有關(guān)時(shí)間序列相似性搜索方面,歐氏距離(Euclid Distance)、普通Lp規(guī)范距離(Simple LpNorm)、動(dòng)態(tài)時(shí)間彎曲距離(Dynamic Time Warping,DTW)、DM模式距離(Pattern Distance)、Lpmin最小距離(Minimum Distance)[2-7]等在不同應(yīng)用背景中均可作為度量相似性的有效方法。DM模式距離更接近自然語言描述,模式定義的物理意義明確,劃分更趨合理,但其表示方法較粗糙,得出的結(jié)論不夠明確。在此基礎(chǔ)上,張建業(yè)等人提出了基于斜率表示的時(shí)間序列相似性度量方法[8]。該方法物理意義明確,具有直觀性,且計(jì)算過程簡潔;對(duì)于數(shù)據(jù)的大小不敏感,強(qiáng)調(diào)曲線形狀的相似性,提高了相似性度量準(zhǔn)確度,但該方法采用分段直線化方法,對(duì)于現(xiàn)實(shí)世界中的非離散信息數(shù)據(jù)進(jìn)行相似性度量時(shí),度量準(zhǔn)確性就會(huì)下降,另外這些方法針對(duì)的是時(shí)間序列,并且要求參與度量的時(shí)間序列時(shí)間長度要一樣,限制了適用范圍。
本文從不同的角度出發(fā),研究證明了曲線上點(diǎn)的切線向量組成的向量集對(duì)曲線形態(tài)特征有表征作用,如果將點(diǎn)列中的點(diǎn)以某種曲線相互連接起來,將其繪制成圖來看,點(diǎn)列就有了自己的形態(tài)特征,相似的點(diǎn)列在形態(tài)上必然是相似的,反之亦然。但是如果將點(diǎn)與點(diǎn)之間全都用直線連接,不能準(zhǔn)確地反映點(diǎn)列對(duì)應(yīng)的現(xiàn)實(shí)信息的真實(shí)情況,誤差較大。使用二次多項(xiàng)式曲線進(jìn)行連接,在采樣點(diǎn)足夠密的條件下,則可以較為精確地逼近真實(shí)情況。然后計(jì)算曲線上各點(diǎn)的切線組成切線向量,計(jì)量不同點(diǎn)列的曲線切線向量之間的相似度,從而實(shí)現(xiàn)將點(diǎn)列所映射的現(xiàn)實(shí)信息進(jìn)行了識(shí)別和分類的目標(biāo)。
尋找兩條曲線的相似性度量的途徑,考慮到連續(xù)曲線生成后,它的形態(tài)是唯一的,可以從曲線的形態(tài)上去對(duì)比分析做相似性度量,從而將曲線識(shí)別和分類。導(dǎo)數(shù)是微分學(xué)的基本概念,是函數(shù)的局部性質(zhì),一個(gè)函數(shù)在某一點(diǎn)的導(dǎo)數(shù)描述了這個(gè)函數(shù)在這一點(diǎn)附近的變化率[9],對(duì)與函數(shù)對(duì)應(yīng)的曲線變化有影響,重要的是,導(dǎo)數(shù)也具有唯一性。導(dǎo)數(shù)也即是函數(shù)在某點(diǎn)的切線的斜率。因此,連續(xù)曲線的形態(tài)與其上的點(diǎn)的切線有著密切聯(lián)系。
對(duì)于連續(xù)曲線,其上的任意一點(diǎn)均有且僅有一條切線,曲線切線不僅唯一,而且還有方向性,通過對(duì)連續(xù)曲線特點(diǎn)進(jìn)行研究分析,連續(xù)曲線具有以下特點(diǎn)。
1.1.1 曲線縮放與切線變化
設(shè)一條連續(xù)曲線方程,為了簡便,該曲線方程為多次單項(xiàng)式,但不影響最終結(jié)論。
對(duì)其放大m倍,得到:
對(duì)變換后的函數(shù)求導(dǎo),得到:
對(duì)于(1)式中的任何一點(diǎn)p,將其放大m倍后代入(3)式中,可得到:
觀察(4)式和(1)式求導(dǎo)后的p點(diǎn)導(dǎo)數(shù)可知,將曲線放大,對(duì)應(yīng)點(diǎn)的導(dǎo)數(shù)保持不變,即曲線變換前后對(duì)應(yīng)點(diǎn)處的切線向量平行。對(duì)于更一般的k次多項(xiàng)式曲線函數(shù),由于其多項(xiàng)式中的每一項(xiàng)與(1)式類似,則k次多項(xiàng)式可同理證明。
從以上的論證可以看出,對(duì)一條曲線段進(jìn)行等比例放大或者縮小,曲線段變換前后對(duì)應(yīng)點(diǎn)處的切線向量平行。而對(duì)曲線段進(jìn)行縮放不會(huì)改變曲線的形態(tài)特征。
因此可以得出結(jié)論一:兩段曲線段的形態(tài)一樣,則兩段曲線對(duì)應(yīng)各點(diǎn)的切線向量平行;改變兩段曲線的等比例關(guān)系,即形態(tài)不再完全一樣,則兩段曲線對(duì)應(yīng)各點(diǎn)的切線向量平行性也會(huì)改變。
反過來看,如果兩曲線段上對(duì)應(yīng)點(diǎn)處的切線向量平行,那么這兩段曲線形態(tài)是否完全一樣?經(jīng)過研究論證,答案是肯定的,以下給出論證過程。
1.1.2 切線對(duì)曲線的約束
同樣,設(shè)連續(xù)曲線的函數(shù)方程為:
則:
這里在x的定義域上取一區(qū)間段[a ,b],使其滿足對(duì)于任意x1,x2∈[a ,b],都有
任意兩點(diǎn)(x1,y1),(x2,y2),設(shè)x2-x1=m(b-a),將這兩點(diǎn)平移,使x1移動(dòng)到c點(diǎn),使ma=c,對(duì)應(yīng)的x2移動(dòng)到d點(diǎn),d=mb。對(duì)這兩點(diǎn)同樣用k次多項(xiàng)式擬合,并設(shè)多項(xiàng)式方程為:
則:
這里對(duì)于任意:
代入g(x)并在等號(hào)兩側(cè)同乘,得到:
由于常數(shù)項(xiàng)可以通過在Y軸上平移變?yōu)閍0/m,整個(gè)等式等同于(1)式在區(qū)間[a,b]段的曲線等比例放大了m倍。由此可知,對(duì)于通過坐標(biāo)平面上的任意兩點(diǎn)的曲線段,在滿足(2)的條件下,如果它在曲線段端點(diǎn)處的導(dǎo)數(shù)與(1)在端點(diǎn)處的導(dǎo)數(shù)對(duì)應(yīng)相等,則這個(gè)曲線段與f(x)對(duì)應(yīng)段成比例關(guān)系。從論證過程也不難看出,改變對(duì)應(yīng)點(diǎn)切線向量之間的平行關(guān)系,就改變了兩曲線段之間的比例關(guān)系,使兩者之間的形態(tài)不再完全相同。也即是說,對(duì)于一條曲線,將其定義域劃分為足夠小的區(qū)間段,則可用其在所有區(qū)間段端點(diǎn)處的切線向量序列,刻畫了曲線的形態(tài)。
從上面的論證可以得出結(jié)論二:如果兩曲線段上對(duì)應(yīng)點(diǎn)處的切線向量平行,那么這兩段曲線大小成等比例關(guān)系,形態(tài)完全一樣;如果兩曲線段上對(duì)應(yīng)點(diǎn)處的切線向量不平行,那么這兩段曲線之間形態(tài)則不完全一樣,只存在一定的相似度。
以上兩個(gè)結(jié)論,共同指明了一點(diǎn):對(duì)于兩個(gè)曲線段,可以通過對(duì)比兩者之間對(duì)應(yīng)點(diǎn)處的切線向量之間的平行性關(guān)系,來判斷兩曲線段形態(tài)相似性程度。這就為本文討論的方法提供了理論基礎(chǔ)。
由于計(jì)算機(jī)系統(tǒng)的固有特點(diǎn),任何信息采集記錄到計(jì)算機(jī)中,都是以離散的數(shù)值保存。為了能夠點(diǎn)列的形態(tài)特征量化,以利用前述連續(xù)曲線的形態(tài)可由曲線上點(diǎn)列的切線向量集合來表征的特性,需要將點(diǎn)列中的各點(diǎn)用連續(xù)曲線進(jìn)行連接。將點(diǎn)列上的所有點(diǎn)用一個(gè)連續(xù)性方程進(jìn)行連接,往往是難以實(shí)現(xiàn)的,因此,采用分段連續(xù)曲線連接。具體講就是每次只取用少數(shù)幾個(gè)點(diǎn)進(jìn)行連續(xù)曲線連接,取點(diǎn)數(shù)量取決于選用的連續(xù)曲線方程的次數(shù),然后依次進(jìn)行分段連接直至點(diǎn)列終點(diǎn)。
1.2.1 點(diǎn)列連接及求切線向量集過程
在1.1小節(jié)的論證過程中,針對(duì)的是有限制的曲線段,在曲線段定義區(qū)間內(nèi),不能出現(xiàn)不同的點(diǎn)的切線向量相等。本文經(jīng)過研究思考,選用二次多項(xiàng)式方程進(jìn)行分段連接。在進(jìn)行連接時(shí),分兩種情況進(jìn)行考慮:
(1)第一種情況,參與對(duì)比的兩列點(diǎn)列T和L分布對(duì)等。點(diǎn)列分布對(duì)等指的是將其中一列點(diǎn)列的橫坐標(biāo)經(jīng)過某種比例縮放,或者還需要加上平移,之后能與另一列點(diǎn)列的橫坐標(biāo)重合。
這種情況的處理過程較為簡單,分別對(duì)兩列點(diǎn)列做如下操作:
①每次選取三個(gè)點(diǎn)的坐標(biāo)作為已知量,代入二次多項(xiàng)式函數(shù)y=ax2+bx+c求出三個(gè)未知系數(shù)的值,得到某次分段連接的曲線函數(shù)Li和Ti,如此反復(fù),直至點(diǎn)列終點(diǎn)。在取點(diǎn)時(shí),為了準(zhǔn)確性,上一分段的最后一個(gè)點(diǎn),是下一分段的起點(diǎn)。
②分別求出Li和Ti上各點(diǎn)的切線,構(gòu)成表征分段曲線形態(tài)的切線向量集DLi和DTi。
(2)除第一種情況的其他情況歸為第二種情況。在這種情況下,不同點(diǎn)列的分布不僅不對(duì)等,還可能有點(diǎn)的密度分布不均勻,點(diǎn)列長度不一致等情形。因此需要進(jìn)行數(shù)據(jù)處理,使其能夠運(yùn)用1.1小節(jié)中的理論。數(shù)據(jù)處理過程的核心就是找出兩列點(diǎn)列中需要用來參與計(jì)算切線向量然后進(jìn)行比對(duì)的點(diǎn)。處理過程步驟為:
①根據(jù)點(diǎn)列T和L的定義域區(qū)間求出區(qū)間比例值。
設(shè)T的定義區(qū)間為[a,b],L的區(qū)間為[c,d],區(qū)間比例值則為:
h=(b-a)(d-c)
②設(shè)曲線T、L對(duì)應(yīng)的點(diǎn)列(橫坐標(biāo))分別為:
若m>n,T對(duì)應(yīng)點(diǎn)列中點(diǎn)的數(shù)量比L多,以L為基準(zhǔn),即對(duì)兩列點(diǎn)列分別分段連接時(shí),每次先對(duì)L進(jìn)行分段連接,然后計(jì)算出T中應(yīng)該連接的區(qū)間段。
③同第一種情況一樣,上一分段連接的最后一個(gè)點(diǎn),是[li,li+2]下一分段連接的起點(diǎn)。以第(i+1)2次分段連續(xù)曲線連接來說明,先對(duì)L以[li,li+2]區(qū)間的點(diǎn)進(jìn)行連接,求出連接曲線方程Li;
④計(jì)算出 T對(duì)應(yīng)的擬合區(qū)間為[(li-l1)h+t1,(li+2-l1)h+t1,],找出該區(qū)間內(nèi)T的點(diǎn)列[tj,tj+1,…,tk],如果tj>(li-l1)h+t1,則往前搜索點(diǎn)并加入原有點(diǎn)列,直至滿足tj≤(li-l1)h+t1。
⑤將T中 的 點(diǎn) 列[tj,tj+1,…,tk] 按 照 公 式(tj-t1)h+l1,(j=j,…,k),分別求出點(diǎn)列[tj,tj+1,…,tk]在Li曲線段上對(duì)應(yīng)的點(diǎn)橫坐標(biāo),并與[li,li+2]組合后排序,同時(shí)剔除多余的相等元素后,分別代入Li曲線方程,求出表征Li曲線段的形態(tài)的切線向量集DLi。
⑥將T中該區(qū)間上的已知點(diǎn)[ ]tj,tj+1,…,tk,每三個(gè)點(diǎn)求解二次多項(xiàng)式連接函數(shù),用公式(li-l1)h+t1,(i=i,i+1,i+2)求出Li曲線段上三個(gè)點(diǎn)對(duì)應(yīng)于Ti曲線段上的三個(gè)橫坐標(biāo)點(diǎn),將這三個(gè)點(diǎn)與[ ]tj,tj+1,…,tk組合在一起后排序,同時(shí)剔除多余的相等元素后,分別代入各自所屬的曲線段方程,求出表征Ti曲線段的形態(tài)的切線向量集DTi。
1.2.2兩點(diǎn)列相似性度量
根據(jù)1.1小節(jié)中的研究結(jié)論,兩條曲線按照一定方法確定出參與比對(duì)的點(diǎn)的切線向量平行,兩切線向量的夾角余弦值為1,則對(duì)應(yīng)的曲線段形態(tài)相似度為1。如果切線向量不平行,兩切線向量的夾角余弦值小于1,則說明曲線段形態(tài)相似度小于1。兩切線向量的夾角余弦值小于1,余弦值越小,兩曲線段形態(tài)差異越大。因此,可以通過計(jì)算和比較兩條曲線上點(diǎn)的切線向量集對(duì)應(yīng)切線向量的夾角余弦值,來對(duì)曲線相似性進(jìn)行度量。
按照1.2.1中的方法得到兩條曲線T和L的切線向量集:
本文的實(shí)驗(yàn)使用的平臺(tái)為MATLAB,編程、繪制曲線圖,以及觀察分析結(jié)果都很方便。實(shí)驗(yàn)圍繞驗(yàn)證本文方法的有效性、準(zhǔn)確性、廣泛適用性以及確定影響相似性度量的精度的因素展開,將對(duì)現(xiàn)實(shí)情況中可能出現(xiàn)的各種情況進(jìn)行試驗(yàn),實(shí)驗(yàn)過程、結(jié)果及分析如下:
(1)第一組實(shí)驗(yàn):
曲線f1=2t2和f2=t2的相似度度量,這兩條曲線不成比例關(guān)系,兩者形態(tài)上的度量結(jié)果應(yīng)當(dāng)小于1。
取t1=-3:0.1:3;取t2=-3:0.1:3;用MATLAB作圖如圖1。
相似度度量結(jié)果:
R_mean=9.813076407741855e-01
取t1=-3:0.06:3;取t2=-3:0.1:3;用MATLAB作圖如圖2。
圖1
圖2
相似度度量結(jié)果:
R_mean=9.815434298610891e-01
取t1=-3:0.06:3;取t2=-3:0.06:3;用MATLAB作圖如圖3。
圖3
相似度度量結(jié)果:
R_mean=9.813020769315147e-01
實(shí)驗(yàn)分析:
本組實(shí)驗(yàn)第一例和第三例中兩列點(diǎn)的分布都是對(duì)等分布,第三例比第一例取點(diǎn)更密,雖然兩者實(shí)驗(yàn)結(jié)果有差異,但僅有5.5e-06,第二例中兩列點(diǎn)列點(diǎn)的分布疏密不同,雖然其中一列點(diǎn)的數(shù)量比第一例中多,但結(jié)果與第一例之間的差異為2.4e-04,是第一例和第三例之間差異的44倍。
本組實(shí)驗(yàn)結(jié)論:
參與度量的兩列點(diǎn)列如果點(diǎn)的分布對(duì)等,取點(diǎn)疏密對(duì)度量結(jié)果的影響較小,但是當(dāng)點(diǎn)的分布不對(duì)等,差異較大時(shí),度量的精度相比點(diǎn)分布對(duì)等情形,受到較大影響。但總的來看,三個(gè)例子度量的結(jié)果是符合預(yù)期的,且兩個(gè)例子結(jié)果之間的誤差小,表明本文方法的有效性、準(zhǔn)確性和穩(wěn)定性。
(2)第二組實(shí)驗(yàn):
曲線f1=sin t和f2=0.5sin(2t-1)的相似度度量,理論上,這兩條曲線相似性度量結(jié)果應(yīng)為1。
取t1=0:0.08:pi;取 t2=0.5:0.04:0.5(pi+1);用MATLAB作圖如圖4。
圖4
相似度度量結(jié)果:R_mean=1。
取t1=0:0.08:pi;取 t2=0.5:0.08:0.5(pi+1);用MATLAB作圖如圖5。
相似度度量結(jié)果:
R_mean=9.999981555798608e-01
取t1=0:0.06:pi;t2=0.5:0.12:0.5(pi+1);用MATLAB作圖如圖6。
相似度度量結(jié)果:
R_mean=9.999934377788184e-01
結(jié)果分析:本組實(shí)驗(yàn)得到的圖形,無論從直觀上看,還是從求得的相似度度量結(jié)果看,兩條曲線的形態(tài)相似度很高,屬于同一類型的曲線。實(shí)際上,本組實(shí)驗(yàn)提供點(diǎn)列數(shù)據(jù)所用的函數(shù)組,f2是f1先向左平移1,再等比例縮小0.5倍,所以兩條曲線形態(tài)理論上完全一致,R_mean應(yīng)當(dāng)?shù)扔?。而實(shí)驗(yàn)中三個(gè)例子所得結(jié)果之間均有差異,原因在于:
①本組第一例中取點(diǎn)的情形屬于1.2.1所述的第一種情況,兩列點(diǎn)列的點(diǎn)分布對(duì)等,從1.1小節(jié)中的論證可知,成比例關(guān)系的曲線在對(duì)應(yīng)點(diǎn)處的切線平行,切線夾角余弦值為1。雖然使用二次多項(xiàng)式函數(shù)連接點(diǎn)列,近似取代了原本正弦函數(shù)曲線,但是對(duì)兩列點(diǎn)列都做同種連接,其成比例的性質(zhì)不會(huì)改變,也即是兩列點(diǎn)列的相似性不會(huì)改變,本例的結(jié)果也證明了這一點(diǎn)。
②本組三個(gè)例子的結(jié)果差異來自于兩列點(diǎn)列取點(diǎn)密度不一致造成的。第一例中,兩列點(diǎn)列取點(diǎn)密度為1:1,第二例為2:1,第三例為4:1,隨著兩列點(diǎn)列密度差異越大,相似性度量的結(jié)果越來越小。原因分析為,由于兩列點(diǎn)列之間點(diǎn)的分布不對(duì)等時(shí),需要按照1.2.1中第二種情況介紹的方法進(jìn)行插值計(jì)算出兩列點(diǎn)列參與計(jì)算切線的對(duì)應(yīng)點(diǎn),而二次多項(xiàng)式函數(shù)在連接點(diǎn)列中各點(diǎn)時(shí),相對(duì)于點(diǎn)列分布對(duì)等情形,曲線段的形態(tài)會(huì)產(chǎn)生變形,因此結(jié)果會(huì)出現(xiàn)誤差。
圖5
圖6
本組實(shí)驗(yàn)結(jié)論:
點(diǎn)列之間相似性的度量精度受到點(diǎn)列之間點(diǎn)的分布影響,不同點(diǎn)列之間點(diǎn)的分布差異性越大,則度量精度越低。
(3)第三組實(shí)驗(yàn)
曲線f1=cos(t-π),f2=t2和f3=4t2,本組實(shí)驗(yàn)將不同類型的曲線放在一起進(jìn)行對(duì)比觀察。
取t1,t2,t3=-0.5pi:0.05:0.5pi;用MATLAB作圖如圖7。
相似度度量結(jié)果:
f1和f2相似度:
R_mean=9.354131466024146e-01
f1和f3相似度:
R_mean=7.223296489701438e-01
當(dāng)取t1=-0.5pi:0.05:0.5pi;
t2=-0.5pi:0.07:0.5pi;
t3=-0.5pi:0.09:0.5pi;
相似度度量結(jié)果:
f1和f2相似度:
R_mean=9.358714811142291e-01
f1和f3相似度:
R_mean=7.225048915067527e-01
結(jié)果分析:從直觀上看三條曲線的形態(tài),f1和f2相似度高,f1和f3相似度低,對(duì)于不同的兩條函數(shù)曲線,比較兩者形態(tài)上的相似性,在給定的區(qū)間內(nèi),實(shí)驗(yàn)的結(jié)果也很好地符合了實(shí)際情況。另外,在不同的取點(diǎn)頻率下,雖然度量結(jié)果有所差別,但差別很小,與前兩組實(shí)驗(yàn)的結(jié)論是一致的。表明本文的方法準(zhǔn)確性、穩(wěn)定性較好。
(4)第四組實(shí)驗(yàn)
在前面的幾組實(shí)驗(yàn)中,有一個(gè)共同點(diǎn)是,隨著橫坐標(biāo)變化,一個(gè)橫坐標(biāo)始終只對(duì)應(yīng)一個(gè)縱坐標(biāo)值,對(duì)于一個(gè)橫坐標(biāo)有多個(gè)縱坐標(biāo)值的復(fù)雜情況下,本文方法同樣能夠適用,只需要將數(shù)據(jù)做一個(gè)簡單的分離,然后用前述方法進(jìn)行比對(duì)即可。下面的實(shí)驗(yàn)以橢圓為例,來證明本文方法的廣泛適用性。
取t1=-1:0.1:1;t2=-0.5:0.05:0.5;用MATLAB作圖如圖8。
由于橫坐標(biāo)同時(shí)對(duì)應(yīng)兩個(gè)縱坐標(biāo)值,按照前面的步驟無法用二次多項(xiàng)式曲線進(jìn)行連接,為此,需要對(duì)點(diǎn)列進(jìn)行先行處理:
將點(diǎn)列進(jìn)行搜索,找出同一個(gè)橫坐標(biāo)下有多個(gè)縱坐標(biāo)值的點(diǎn),按照縱坐標(biāo)由大到?。ɑ蛘哂尚〉酱螅╉樞蛞来畏蛛x出來組成新的點(diǎn)列,對(duì)其他點(diǎn)列也做同樣處理,讓后對(duì)新構(gòu)成的點(diǎn)列分別按照本文前面所述的方法進(jìn)行相似性度量。
在本例中,將橢圓分成上下兩個(gè)部分,將兩橢圓的上、下部分分別進(jìn)行比對(duì)度量,用MATLAB作圖如圖9。
在實(shí)驗(yàn)中,對(duì)兩部分分別進(jìn)行相似性度量的結(jié)果均為1,與理論預(yù)期一致,表明了本文方法的準(zhǔn)確性和廣泛適用性。
現(xiàn)實(shí)世界中用數(shù)學(xué)語言描述現(xiàn)象反映到計(jì)算機(jī)中,就成為計(jì)算機(jī)中保存的一系列點(diǎn)列,利用計(jì)算機(jī)技術(shù)對(duì)這些點(diǎn)列按照需求進(jìn)行數(shù)據(jù)處理,自動(dòng)識(shí)別其中包含的信息和特征,能夠幫助人們進(jìn)行自動(dòng)處理和控制生產(chǎn)生活方面的事務(wù)。本文從曲線的形態(tài)特征入手,將計(jì)算機(jī)中保存的點(diǎn)列用連續(xù)函數(shù)進(jìn)行分段擬合,求解出各點(diǎn)的切線,利用切線向量對(duì)曲線形態(tài)具有刻畫作用的特點(diǎn),通過計(jì)算兩列點(diǎn)列擬合出的曲線的切線向量之間夾角余弦值,從而識(shí)別出兩列點(diǎn)列之間的相似度。
圖9
本文所述方法的主要?jiǎng)?chuàng)新點(diǎn)在于:
可以對(duì)計(jì)算機(jī)中的多種類型點(diǎn)列之間的相似度進(jìn)行有效度量,而不用關(guān)注這些點(diǎn)列對(duì)應(yīng)于現(xiàn)實(shí)世界中的是離散點(diǎn)集還是曲線,也不用關(guān)注曲線是否是連續(xù)的;對(duì)于參與度量的點(diǎn)列,不要求它們的長度大小相同,也不要求點(diǎn)在定義域上分布是否均勻,還可以對(duì)復(fù)雜的數(shù)據(jù)點(diǎn)列進(jìn)行度量,如第四組實(shí)驗(yàn),這些特點(diǎn),使本方法具有廣泛的適用性、通用性。
從研究探討過程和實(shí)驗(yàn)結(jié)果可以看出,利用本文的方法可以有效的度量出兩列點(diǎn)列整體的相似性關(guān)系。影響度量精度的最主要的因素是計(jì)算機(jī)在采集和記錄信息時(shí),采樣頻率和間隔如果保持一致,使不同點(diǎn)列中點(diǎn)的分布對(duì)等,那么度量的結(jié)果是完全準(zhǔn)確的。另外,從本文所講述的計(jì)算過程可以看出,在進(jìn)行分段連接的同時(shí),計(jì)算出了兩列點(diǎn)列該分段的切線向量之間的余弦值,所以這個(gè)方法能夠很方便地實(shí)現(xiàn)將點(diǎn)列各個(gè)分段的相似性程度也顯示出來的功能,以方便人們觀察分析。對(duì)于計(jì)算機(jī)計(jì)算出來相似性度量的結(jié)果,為人們提供了參考的依據(jù),至于設(shè)置什么樣閾值條件對(duì)點(diǎn)列所對(duì)應(yīng)的現(xiàn)實(shí)世界中的信息進(jìn)行分類和處理,則需要人們根據(jù)需要和經(jīng)驗(yàn)進(jìn)行設(shè)置。
本文所提出的方法,既可以使用二次多項(xiàng)式去進(jìn)行分段曲線擬合,也可以使用其他多次多項(xiàng)式,使用二次多項(xiàng)式將給定點(diǎn)列進(jìn)行分段擬合,原因在于二次多項(xiàng)式用于本文所研究的方法有諸多優(yōu)點(diǎn):
(1)現(xiàn)實(shí)情況中,無論是直線還是曲線,都可以用二次多項(xiàng)式分段近似取代。對(duì)于直線,在用直線上的點(diǎn)求二次多項(xiàng)式時(shí),二次多項(xiàng)式可以退化為直線。對(duì)于任何曲線,只要將曲線分段充分小,就可用二次多項(xiàng)式去近似的取代。
(2)本文所提出的方法的數(shù)學(xué)理論基礎(chǔ)為1.1小節(jié)中所證明的關(guān)于曲線的兩個(gè)特性。用二次多項(xiàng)式擬合給定點(diǎn)列的三個(gè)點(diǎn)成為一段曲線,該曲線段的導(dǎo)數(shù)是單調(diào)的,始終可以滿足1.1.2中(2)式的要求,。
(3)在求二次多項(xiàng)式方程系數(shù)時(shí),只需要不共線三個(gè)點(diǎn)就可以求解,計(jì)算機(jī)計(jì)算二次函數(shù)運(yùn)算量較小,可以提高計(jì)算機(jī)的運(yùn)算效率,節(jié)約時(shí)間。
本文的研究集中于二維曲線,既然曲線上點(diǎn)的切線對(duì)曲線形態(tài)特征具有表征作用,那么可以很自然地推想到將該方法用于三維曲線相似性度量,這也是下一步研究方向。