切空間距離

2021-07-12 01:38:09 字數 1240 閱讀 4579

標籤(空格分隔): 模式分類

在很多分類演算法中,如果不加考慮地隨意選擇距離度量,會存在很多問題。例如,對於knn演算法,如果不加考慮地使用了歐幾里得距離即d=

∑|xi

−yi|

2−−−

−−−−

−−√ ,那麼在這個問題上可能給你帶來毀滅性的結果。

如上圖所示,如果手寫體5向右移動了3畫素的距離,這樣顯然會給分類帶來巨大的誤差,可以想象的是,歐幾里得距離無論是在處理平移,旋轉還是尺度變換,甚至是線條粗細,都會給分類器帶來巨大的影響。

對此,我們要選取乙個新的距離,設法克服以上缺陷,這個距離就是」切空間距離」,簡稱」切距」。

假設我們已經知道所需處理的問題會涉及r種變換,比如水平平移,垂直平移,剪下,旋轉,尺度變換,線條細化等,在設計分類器時,我們對每乙個原型樣本x′

,都進行每一種操作fi

(x′;

αi) ,這樣就能代表影象經過某種變換得到新的影象的變換過程,比如影象x′

旋轉角度αi

等等,然後對於每一種變換,我們都構造乙個切向量tv

i

tv

i=fi

(x′;

αi)−

x′

這個計算只需要進行一次就夠了,而且在訓練過程並沒有對時間有嚴格限制,這樣對每乙個原型樣本,構造r×

d 的矩陣

t ,這個矩陣由x′

處的切向量組成,這些向量是線性無關的,必須指出的是這個演算法對二值圖無效,因為二值圖求導運算無法定義,如果要處理二值圖,需要進行平滑處理。

最後,我們轉而計算乙個測試點

x 模型原點x′

之間的切空間距離,如果矩陣

t 由x′

的r個切向量組成,那麼測試點x′

到原型樣本點

x 的距離為:

dt

an(x

′,x)

=mina[

||(x

′−ta

)−x|

|]用這個距離,可以保證只要影象是這r種變換之中的一種,對於分類器來說,這些變換都不會對分類帶來多少影響,因為總是在搜尋a,讓這個距離最小,而a正好是變換的引數,得到這個最小距離,就好像找到了我們對影象做了某個變換之後的那個特徵之間的距離一樣,這個時候便把這些變換的影響給消除了

拓撲空間 距離空間 向量空間和內積空間

拓撲空間是最基本的,是集合 開集構成,這個空間裡沒有距離。就像人群 關係 社會一樣。距離空間 拓撲空間 距離。這個距離的 主要是定義出來的。距離空間是拓撲空間的乙個子集,也可以理解為是乙個子概念。同理向量空間又是距離空間的乙個子集,子概念。對拓撲向量空間來說,它是乙個度量空間當且僅當其有可數區域性拓...

類內距離 類間距離

特徵選擇,就是降維。特徵選擇之前需要進行類別可分性測度,最為直觀的是基於距離的可分性測度 類內距離 類間距離 類內距離 ref1 類內距離 平方形式 即為 類協方差矩陣跡的2倍。2 trace cov x1 散布矩陣matlab function sw,sb,st scatter mat x,y f...

Matlab計算矩陣間距離

夜深人靜時分,宿舍就我自己,只有蚊子陪伴著我,我慢慢碼下這段文字.我們倆交流了很多.從實驗室,到研究課題,到lol,筆者深深為他淵博的學識和不俗的談吐所打動,恩恩,遇到志同道合的人挺不容易的.最重要的是感謝他的開源精神,給我了很多我急需的資料和 在此,也感謝提供的這個平台,讓我們在這茫茫人海中有了相...