圖像分類:
作業:(python代碼)
1、knn
2、svm softmax
3、2層神經網絡
圖片分類
從以往經驗來看目標需要在整個圖像的中間,儘量佔據較大的空間。
圖像分類面對的挑戰:
1、光照
2、物體形變
3、遮擋
4、目標和背景混淆
5、多個種類(外觀有些許不同)
對於現在的機器學習的方法:
1、收集數據集
2、使用機器學習的方法訓練分類器
3、通過測試集測試分類器的效果
k臨近算法:
簡而言之就是比較兩個圖像的相似度
從上圖可以看出使用L1距離來表示兩個圖像的相似度。對於每一個測試圖片通過與"訓練集"相比較,找到L1最小的K個訓練數據,投票選取測試數據的label。
當然距離也可以選擇L2歐氏距離。
下圖是選擇不同的k值的分類效果。
可以看出當k增加時(k = 5)分類的邊緣區域變得光滑。
在這裏距離的選擇(L1 或者L2)、K值的選擇都可以看作是超參數。而超參數對於結果的影響與數據有關。所以可以通過交叉驗證來選擇超參數。
而對於訓練數據和測試數據的選擇,可以將原始的數據分爲多份,使用多次交叉驗證,結果取平均。
K臨近算法侷限:
1、計算量大,尤其是"訓練集"比較大時,因爲需要一個一個計算距離。
2、如果原始圖像平移,調整亮度,那效果就會比較差。如下圖:四張圖片都具有相同的L2距離。
線性分類器(參數優化方法):
在該方法中,通過一個函數去完成分類。訓練的過程是通過調整參數,使得分類預測接近真實標籤。
那權重w究竟是什麼:
通過可視化可以看出權重文件的值和圖片的內容類似(相當於將源文件圖抽象)。
以上已經通過線性擬合的方式確定了輸出值,但是如何評價輸出的結果如何?-----loss
將輸出的值和label值相比較再通過loss歸一化爲一個明顯的數值,這樣我們就知道結果究竟好不好了。