圖像分類html
參考:http://cs231n.github.io/classification/git
圖像分類(Image Classification),是給輸入圖像賦予一個已知類別標籤。圖像分類是計算機視覺(Computer Vision)問題中一個基本問題,也是很要的一個問題。諸如物體檢測、圖像分割等能夠利用圖像分類來解決。github
圖像分類問題的主要難點在如下幾個方面:app
(ref: http://cs231n.github.io/assets/challenges.jpeg)機器學習
數據驅動的方法(data-driven approach):
從機器學習角度講,訓練數據(training data)爲學習過程提供先驗知識。性能
解決圖像分類流程(pipeline):學習
最鄰近分類(Nearest Neighbor Classifier):
(只是爲了可以直觀瞭解圖像分類問題)
根據已有數據及標籤(training data),預測輸入圖像(input image)爲其最鄰近圖像的標籤。進一步擴展可爲K鄰近方法,K鄰接相對更加經常使用。相對而言,kNN在特徵維度較低的時候,能力比較強的。lua
對於kNN而言有兩個問題很差肯定:
第一個就是k值的選擇。K值較小時,對噪聲敏感;k值較大,會削弱對decision boundary附近樣本的判別能力。最簡單的方法就是交叉驗證,在驗證集嘗試不一樣取值;還有一些參考文件中使用\sqrt(N),其中N是每一類中樣本的平均數(很明顯對數據量很大的狀況不適用)。
第二個就是對距離量度(distance metric)的選擇。比較經常使用的是L1和L2距離。可是對一些問題,須要進行距離量度學習(distance metric learning)。比較經常使用的學習方法有LMNN(Large Margin Nearest Neighbor),ITML(Information-Theoretic Metric Learning)spa
關於使用kNN的一個小節:3d
延伸閱讀:
A Few Useful Things to Know about Machine Learning,英文
機器學習那些事,中文
Recognizing and Learning Object Categories, ICCV2005的一個short course。