2.1 k鄰近演算法之二

行走在時光中發表於2016-01-21
如何對一件事物歸類?事物會表現出一定的特徵,根據特徵可以作為分類依據.如何根據特徵來分類?事物可能擁有眾多特徵,特徵上既有質的不同,也有量的區別.假設按照特徵做一定排列,然後以特徵的多寡作為加權值,即以[A,B,C]這種形式來表示事物.其中A,表示該事物在第一個特徵上的估值為A.至於應該抽象哪些特徵,該特徵如何取值,則應該根據實際情況而定.可以想象,相似的事物,在特徵分佈上也相似.即這些特徵值在座標空間上應當比較接近.那麼與某個事物在特徵空間中距離最近的k個事物,應當擁有相似的分類.假設已知大量已知事物在這種特徵空間中的分佈,以及這些特徵與事物類別的對應關係,那麼當預見未知事物時,可以據此來判定它的類別.這應當就是k鄰近演算法的前提.

特徵空間中的距離與類別的關聯性,取決於所抽象的特徵與類別的關聯性有多大.在2.1章節中,作者以打鬥與接吻鏡頭數來作為特徵,判定電影類別.因為在一般情況下,動作電影打鬥場景會多,而愛情電影中接吻鏡頭會多.當然會有例外,比如” 李米的猜想”,打鬥場景遠多於接吻鏡頭,然而都能理解是一部愛情片.假設作者抽象的特徵不合理,例如假設以出現的太陽的次數與月亮的次數來作為特徵...

因此,從步驟上來說,k鄰近演算法應當經過以下幾個步驟:
特徵提取抉擇,選用何種特徵.
採集大量樣本,建立這些樣本與分類之間的對應關係.
根據樣本計算未知資料的類別:計算與各樣本在特徵空間上的距離,然後得到k個最接近的樣本對應的分類,求得出現次數最多的分類,將之歸結為未知資料的分類.

相關文章