1.KNN(最近鄰分類)在圖像分類中的應用
如圖所示,左側爲待檢測圖像,右側爲已知圖像類別的圖像。
將待檢測圖像與每個已知類別的圖像進行L1或L2距離的計算,所得距離越小二者圖片相似度越高。將右側圖像按照計算所得的距離由小到大排列,將最近的K(K=1,2,3…)張圖像的類別作爲待測圖像的類別。
兩個相同的尺寸的圖像可以用兩個大小相同的矩陣表述,將兩個矩陣對應的元素做差後整體求和就是L1距離,對對應元素做差的平方在整體求和後開根號就是L2距離。L2相較於L1對於座標系變換旋轉的影響不敏感。
2.線性分類器
如圖所示,如數圖像爲 的矩陣作爲輸入,輸出爲3個分類的分數即是個列向量。爲利用f(x,W)線性分類器,其中x爲矩陣輸入的展開列向量,W爲的權重矩陣,b爲個列向量是截距向量,用於對打分有是幫助。這樣計算出分類打分。
可是問題來了
- W和b怎麼來?人爲設嗎還是訓練得來?
- 合適的W和b只使用在線性分類中,啥意思呢,大概就是他只能把很多構圖和色彩類似的同類對象中提取出一個權重,然而對於同類卻姿態各異顏色各異的對象識別效果不好。
3.損失函數
3.1SVM(支持向量機)—— Hinge Loss
3.2正則化
正則化是爲了防止在訓練集上過擬合,對包含高次項的權重係數進行懲罰,正則項加載損失項之後,得到一個整體的損失函數。常見的正則化有L1、L2和彈性網絡正則化3種,其中彈性網絡正則化是將L1L2二者結合起來的。
爲了避免過擬合,在後續網絡中採取了Dropout、Batch normalization、Stochastic depth、fractional pooling等方法。
3.3 Softmax 分類器(多分類邏輯迴歸)
softmax只是個打分處理方式。先e指數化,再歸一化,將打分變爲0-1之間的概率。各類別概率之和爲1。
對應的損失函數叫做交叉熵損失函數或者最大似然估計損失函數。,如圖貓的損失函數爲L=-log(0.13)=2.04,之後把cat、car、frog三類的損失函數相加即可得整體損失函數。
4.優化器
用某種方法生成權重,得到一個損失函數,然後再用這種方法再次生成新的權重,使得損失函數更小,以此類推反覆循環。這叫優化器。
例如圖示的方法,在現有的權重後,依次加上一個很小的數例如在第一個梯度位置加上0.0001,然後用新的損失函數與原本的損失函數做比較,就可以得到損失函數在這個權重位置的梯度大小和方向。我們需要找到梯度下降的方向。梯度下降算法是使得損失函數下降不是梯度本身下降,