CS231n筆記——比較各種分類器的優劣(待更)

Nearest Neighbor分類器的優劣

首先,Nearest Neighbor分類器易於理解,實現簡單。其次,算法的訓練不需要花時間,因爲其訓練過程只是將訓練集數據存儲起來。然而測試要花費大量時間計算,因爲每個測試圖像需要和所有存儲的訓練圖像進行比較,這顯然是一個缺點。在實際應用中,我們關注測試效率遠遠高於訓練效率。其實,之後學習的卷積神經網絡在這個權衡上走到了另一個極端:雖然訓練花費很多時間,但是一旦訓練完成,對新的測試數據進行分類非常快。這樣的模式就符合實際使用需求。

Nearest Neighbor分類器的計算複雜度研究是一個活躍的研究領域,若干Approximate Nearest Neighbor (ANN)算法和庫的使用可以提升Nearest Neighbor分類器在數據上的計算速度(比如:FLANN)。這些算法可以在準確率和時空複雜度之間進行權衡,並通常依賴一個預處理/索引過程,這個過程中一般包含kd樹的創建和k-means算法的運用。

Nearest Neighbor分類器在某些特定情況(比如數據維度較低)下,可能是不錯的選擇。但是在實際的圖像分類工作中,很少使用。因爲圖像都是高維度數據(他們通常包含很多像素),而高維度向量之間的距離通常是反直覺的。

具體說來,這些圖片的排布更像是一種顏色分佈函數,或者說是基於背景的,而不是圖片的語義主體。比如,狗的圖片可能和青蛙的圖片非常接近,這是因爲兩張圖片都是白色背景。從理想效果上來說,我們肯定是希望同類的圖片能夠聚集在一起,而不被背景或其他不相關因素干擾。爲了達到這個目的,我們不能止步於原始像素比較,得繼續前進。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章