實現(xiàn)KNN的作業(yè)代碼
https://gitee.com/hubertsing/CS231n2020/tree/master
CIFAR10數(shù)據(jù)集
- 10個類別尺上,共5w張數(shù)據(jù)圖,和1w個測試圖,每個圖像32*32個像素珍坊,每個像素3個彩色通道红符。
驅(qū)動數(shù)據(jù)的方法(比深度學(xué)習(xí),CNN更廣泛):用質(zhì)量高的數(shù)據(jù)集驅(qū)動
- Nearest Neighbor Classifier 最近鄰分類器:
訓(xùn)練函數(shù):接收圖片和標簽輸出模型
def train(images,labels):
#Machine learing
return model
預(yù)測函數(shù):接收一個模型進行預(yù)測
def predict(model,test_images):
#Use model to predict labels
return test_labels
曼哈頓距離L1
像素矩陣對應(yīng)相減再求和冰评,所以訓(xùn)練復(fù)雜度為O(1)映胁,預(yù)測復(fù)雜度為O(N)歐式距離L2
平方和的平方根K-Nearest Neighbor Classifier K最近鄰分類器:
K越大越平滑
hyperparameters超參數(shù):無法從訓(xùn)練數(shù)據(jù)中獲得的參數(shù)
超參數(shù)的設(shè)置:
- 不能以訓(xùn)練數(shù)據(jù)的擬合結(jié)果最優(yōu)為目的,因為K=1時訓(xùn)練數(shù)據(jù)總是性能最優(yōu)甲雅,而K>1時往往對于未知數(shù)據(jù)集性能更好解孙。
- 不能用訓(xùn)練集訓(xùn)練出多個超參數(shù),使預(yù)測集性能最優(yōu)抛人。因為這樣很可能我們得到的只是讓這個預(yù)測集數(shù)據(jù)最優(yōu)的超參數(shù)妆距。我們希望的是能在未知的數(shù)據(jù)集上都能表現(xiàn)最優(yōu)。
- 推薦做法:
- 將數(shù)據(jù)集分3類函匕,分別是訓(xùn)練集(大部分)娱据,驗證集,測試集。用多組超參數(shù)在訓(xùn)練集上訓(xùn)練中剩,然后選擇在驗證集上表現(xiàn)最好的忌穿,最后用測試集評估算法。必須分隔驗證集與測試集结啼。
- 交叉驗證(小數(shù)據(jù)集掠剑,非深度學(xué)習(xí)中使用):5份folder一份測試集,每個folder每次都只用其中一個作為驗證集郊愧,剩下的作為訓(xùn)練集朴译。
不足:
- 無法對平移遮擋和濾鏡表現(xiàn)良好性能(L2距離可能不變),不適合image領(lǐng)域
- 維度災(zāi)難:需要指數(shù)倍增加數(shù)據(jù)來填充高維度的圖片空間属铁,使L1距離盡可能小眠寿。
線性分類
線性分類器是神經(jīng)網(wǎng)絡(luò)的組件
貓->f(x,W)->每個類別的相似度分數(shù)
x為輸入數(shù)據(jù),W為通過訓(xùn)練集訓(xùn)練出的權(quán)重矩陣參數(shù)(此時不再需要訓(xùn)練集)
f(x,W)=Wx+b焦蘑,W為10*(32*32*3)盯拱,x為(32*32*3)*1的矩陣,例嘱,b為10*1的偏置項(由于數(shù)據(jù)集的不均勻)狡逢,輸出10*1的列向量分數(shù)。W的每一行都是一個類別的模板圖像拼卵,所以就會造成一個問題奢浑,線性分類器為每個類別只配備了一個模板圖像,而神經(jīng)網(wǎng)絡(luò)圖像不會只配備一個腋腮。
圖像分類的難點:semantic gap
計算機視覺兩個觀點:具體圖像的觀察和平面圖形的高維度
[1,2]的shape值(2,)殷费,意思是一維數(shù)組,數(shù)組中有2個元素低葫。
[[1],[2]]的shape值是(2,1)详羡,意思是一個二維數(shù)組,每行有1個元素嘿悬。
[[1,2]]的shape值是(1实柠,2),意思是一個二維數(shù)組善涨,每行有2個元素窒盐。
numpy函數(shù)說明文檔:https://numpy.org/doc/stable/
jupyter notebook使用說明:https://blog.csdn.net/weixin_43135165/article/details/88429081
%matplotlib inline的作用:http://www.reibang.com/p/2dda5bb8ce7d
代碼參考https://blog.csdn.net/red_stone1/article/details/79238866
https://www.freesion.com/article/511039815/