CS231n 資料驅動,KNN和線性分類

2021-10-08 19:26:58 字數 1002 閱讀 2527

實現knn的作業**

cifar10資料集

驅動資料的方法(比深度學習,cnn更廣泛):用質量高的資料集驅動

def train(images,labels):

#machine learing

return model

**函式:接收乙個模型進行**

def predict(model,test_images):

#use model to predict labels

return test_labels

hyperparameters超引數:無法從訓練資料中獲得的引數

超引數的設定:

不能以訓練資料的擬合結果最優為目的,因為k=1時訓練資料總是效能最優,而k>1時往往對於未知資料集效能更好。

不能用訓練集訓練出多個超引數,使**集效能最優。因為這樣很可能我們得到的只是讓這個**集資料最優的超引數。我們希望的是能在未知的資料集上都能表現最優。

不足:

線性分類

線性分類器是神經網路的元件

貓->f(x,w)->每個類別的相似度分數

x為輸入資料,w為通過訓練集訓練出的權重矩陣引數(此時不再需要訓練集)

f(x,w)=wx+b,w為10*(32*32*3),x為(32*32*3)*1的矩陣,,b為10*1的偏置項(由於資料集的不均勻),輸出10*1的列向量分數。w的每一行都是乙個類別的模板影象,所以就會造成乙個問題,線性分類器為每個類別只配備了乙個模板影象,而神經網路影象不會只配備乙個。

影象分類的難點:semantic gap

計算機視覺兩個觀點:具體影象的觀察和平面圖形的高維度

[1,2]的shape值(2,),意思是一維陣列,陣列中有2個元素。

[[1],[2]]的shape值是(2,1),意思是乙個二維陣列,每行有1個元素。

[[1,2]]的shape值是(1,2),意思是乙個二維陣列,每行有2個元素。

cs231n筆記總結

cs231n的課程以及作業都完成的差不多了,後續的課程更多的涉及到卷積神經網路的各個子方向了,比如語義分割 目標檢測 定位 視覺化 遷移學習 模型壓縮等等。assignment3有涉及到這些中的一部分,但需要深入了解的話還是得看 了。所以在看 前把之前已學的知識,筆記和作業 一起做個整理。部落格裡主...

CS231n理解筆記

linear classification notes 該方法的組成 乙個是評分函式 原始影象資料到類別分值的對映 乙個是損失函式 用來量化 分類標籤的得分和真實標籤之間的一致性。影象分類的任務是從已有的固定分類標籤中選擇乙個並分配一張影象,我們介紹了knn分類器,該分類器的基本思想是通過將測試影象...

cs231n 學習 前言

吐槽 我為啥學這個 學這門課之前,到官網 要科學上網哦 查了下相關資訊,有部分需求 要求1,得會 python 且熟悉 c c 其實我是不會 python 的,但語言只是一種工具,不該成為鴻溝,且這麼流行的語言上手也不應該難吧 盲目自信一把 要求2,微積分和線性代數,嗯,這個不是問題。要求3,概率統...