資料探勘十大演算法翻譯 8kNN(k鄰近分類)

2021-07-09 03:13:10 字數 2496 閱讀 3294

機械分級器,記錄了所有的資料,而且僅當測試的物件吻合訓練物件的所有屬性時才能進行分類,他是目前最簡單的分類器之一,也是最瑣碎的分類器之一。這樣做的明顯的缺點之一就是很多資料無法進行分類,因為他們不能精確的匹配訓練資料。乙個更加高明的手電,k鄰近分類(knn),找到k個相互最接近的物件的群,然後把這個群中的具有優勢的哪一類作為這個領域的標籤。這個方法有三個關鍵元素:

有標籤的物件的集合,例如,一組儲存記錄,

用來計算物件之間的距離的距離或者相似度量

k的值,最接近的鄰居的數量。

為了對沒有標籤的物件進行分類,這個物件距離有標籤的物件的距離會被計算,它的k個最近的鄰居會被識別出來,這些最近的另據的類標籤在之後就會用於作為這個物件的類標籤。

下面的圖表展示了鄰近分類方法的高層次的總結

給定乙個訓練集d,和訓練物件x=

(x,,

y,) ,演算法計算出z和所有的訓練物件(x

,y)∈

d 的距離(或者相似度),然後得到他的最近經的鄰居列表,dz

.(x是訓練資料物件,y是它的類別。類似的,x,

是測試物件,y,

,是他的類別)

一旦最近的鄰居列表被確定了,測試物件的類別會根據最近鄰居大多數的列別來確定:

majority voting:y

,=ar

gmaxv∑

(xi,

yi)∈

dzi(

u=yi

) 這裡的v是類標籤,y_i是第i個最近的鄰居的類標籤,i(·)是乙個指示函式,它返回1如果裡面的內容為真,否則就返回0;

影響knn的效能有幾個關鍵的問題。乙個是k值的選擇。如果k值太小,結果對雜訊點就會很敏感。另一方面,如果k值太大,鄰居就會包含太多其他類別的點。

另乙個問題是將類別的標籤結合在乙個的方法。最簡單的方法是多數投票,但是如果最近的鄰居跨越了太多區域,並且較近的點對於說明類別更加可靠的情況下就會出問題。乙個比較機智的方法,也對k值的選擇不是那麼敏感的方法就是根據他們的距離來對他們進行加權。這裡的權值為距離的平方的倒數:wi

=1/d

(x,,

xi)2

。這樣knn的最後一步就變為了如下的表示;

majority voting:y

,=ar

gmaxv∑

(xi,

yi)∈

dzwi

×i(u

=yi)

如何測量距離距離的選擇是另乙個值得考慮的問題。雖然有很多方法可以用於計算兩點之間的距離。最好的計算方法是如果兩個物件比較相似,那麼他們的距離也會比較接近。這樣,舉例而言,knn被用於文件分類的時候,使用余弦測度的效果會比使用歐幾里得距離。有的距離測量方法會收到資料高維數的影響。特別地,歐幾里得距離在維數比較多的時候效果會變差是眾所周知的。同樣的,屬性有可能經過標準化,從而避免乙個屬性對分類的影響巨大這種情況。距離而言,假如有乙個資料集中包括了人的公升高在1.5m-1.8m,和體重從90lb到300lb,以及收入水平從10,000到1,000,000。如果沒有標準化的情況下,收入屬性會主宰計算的結果,從而影響分類情況。有一些被提出方法試圖基於訓練資料計算每個不同屬性的權重。

除此之外,訓練物件本身也可以被賦予權重。我們可以給這的信賴的資料更高的權重和不值得信賴的資料比較低的權重。由cost和salzbery提出的pebls系統就是乙個這樣的例子[14].

knn分類是乙個懶的學習者,也就是說,模型不是像飢餓的學習者那樣被明確的構建。這樣的結果就是,雖然構建模型是很方便的,但是在分類的使用的計算代價是高昂的。一般來所,因為要計算未知類別的點和其他所有類別的點的距離,這樣做的付出是高昂的。有一系列方法通過使用資料的結構避免了對所有的點之間的距離進行計算。尤其是對於低緯度的資料而言,可以大大降低計算的複雜程度,同時還能保留分類的準確性。

knn分類不經容易理解而且容易實現。除了簡單之外,它也適用於不同情境。特別的,由cover和hart[15]所展示的結果表明最鄰近的錯誤在某種特定的合理假設下,小於貝葉斯的兩倍。一般的knn方法的錯誤漸漸的接近貝葉斯的錯誤可以被用於估計它。

knn特別適合多模式或者是乙個有多種類別標籤的物件。舉例而言,在使用表達譜來判斷基因的功能的時候,knn的效果優於svm。而svm是一種複雜的多的分類方法。

雖然knn演算法和例如有權重的knn演算法和物件有權重的knn演算法之類的變種是相對有名的,knn的一些更先進的技術卻不是那麼有名。舉例而言,有可能剔除了一些儲存的物件之後,knn分類器的準確性還是比較好的。這被稱為「壓縮」,這種方法可以大幅提高新的物件的分類效率[35]。除此之外,資料物件可以被移除,從而提公升分類的準確率,這個過程被稱為「編輯」[88]。在鄰近圖(最近圖,最小旋轉樹,相對領域圖,三角網和gabriel圖)上使用knn還有可觀的工作可以做。最近由toussaint[79,80],的**中,強調了鄰近圖的觀點,提供了乙個將這三個領域相互結合的綜述,這其中說明了這些開放的問題。其他重要的資源包括dasarathy[16]的**和devroye et al[18]的書。最後,在bezdek[4]的書中能夠看到模糊knn法

資料探勘十大演算法

資料探勘十大演算法分為c4.5,k means,svm,apriori,em,pagerank,adaboost,knn,bayes,cart十種演算法。c4.5 關聯演算法 id3。關係 c4.5是id3的改進。決策樹演算法的一種。k means 聚類演算法。svm 支援向量機。apriori 關...

資料探勘十大演算法 SVM

support vector classifier svc 與support vector regressor svr 函式間隔 mi n w x b 此時如果我們倍增w,b 可以無限擴大函式間隔,因此,它並不能作為標準 幾何間隔,是歸一化的函式間隔 mi n w x b w 為了方便討論,令幾何間...

資料探勘的十大演算法

按照不同的目的將演算法分成四類 分類演算法 c4.5 樸素貝葉斯,svm,knn adaboost cart 聚類演算法 k means em 關聯分析 apriori 連線分析 pagerank c4.5 演算法是十大演算法之首,它是決策樹的演算法,它在決策樹夠早過程中就進行了剪枝處理,並且可以處...