CS231n第二課 線性分類器學習記錄

2021-07-22 09:56:49 字數 2537 閱讀 2776

加深理解

線性分類器計算影象中3個顏色通道中所有畫素的值與權重的矩陣乘,從而得到分類分值。根據我們對權重設定的值,對於影象中的某些位置的某些顏色,函式表現出喜好或者厭惡(根據每個權重的符號而定)。

這裡假設了貓的影象就只有四個畫素。

將影象看做高維度的點:既然影象被伸展成為了乙個高維度的列向量,那麼我們可以把影象看做這個高維度空間中的乙個點(即每張影象是3072維空間中的乙個點,因為是32*32*3大小的)。整個資料集就是乙個點的集合,每個點都帶有1個分類標籤。

既然定義每個分類類別的分值是權重和影象的矩陣乘,那麼每個分類類別的分數就是這個空間中的乙個線性函式的函式值。我們沒辦法視覺化3072維空間中的線性函式,但假設把這些維度擠壓到二維,那麼就可以看看這些分類器在做什麼了:

將線性分類器看做模板匹配:關於權重w的另乙個解釋是它的每一行對應著乙個分類的模板(有時候也叫作原型)。一張影象對應不同分類的得分,是通過使用內積(也叫點積)來比較影象和模板,然後找到和哪個模板最相似。從這個角度來看,線性分類器就是在利用學習到的模板,針對影象做模板匹配。從另乙個角度來看,可以認為還是在高效地使用k-nn,不同的是我們沒有使用所有的訓練集的影象來比較,而是每個類別只用了一張(這張是我們學習到的,而不是訓練集中的某一張),而且我們會使用(負)內積來計算向量間的距離,而不是使用l1或者l2距離。

偏差和權重的合併技巧

資料預處理(part 3 部分會講一下為什麼需要預處理)

在機器學習裡,規範化/歸一化(normalization)輸入特徵(這裡指畫素值[0,255])是非常常見且必要的,特別是對於各維度幅度變化非常大的資料集。但對於影象而言,一般只要去均值(mean subtraction)即可(因為影象每一維的畫素值都在[0,255]之間),即計算出訓練集影象的均值影象,然後每張影象(包括訓練集、驗證集和測試集)減去均值影象(一般不需要歸一化和白化)。在numpy中此過程可以表示為: x -= np.mean(x, axis=0)。

我們將使用損失函式(loss function)(有時也叫代價函式cost function或目標函式objective)來衡量我們對結果的不滿意程度。直觀地講,當評分函式輸出結果與真實結果之間差異越大,損失函式輸出越大,反之越小。

多類支援向量機損失 multiclass support vector machine loss

svm loss : 對於每一張影象樣本,正確分類的得分應該比錯誤分類的得分至少高δ(δ的取值在實際中一般為1,不將δ作為引數是因為它的變化可以轉換為w的變化,所以只要訓練w就行了)。

多類svm「想要」正確類別的分類分數比其他不正確分類類別的分數要高,而且至少高出delta的邊界值。如果其他分類分數進入了紅色的區域,甚至更高,那麼就開始計算損失。如果沒有這些情況,損失值為0。我們的目標是找到一些權重,它們既能夠讓訓練集中的資料樣例滿足這些限制,也能讓總的損失值盡可能地低。

我們面對的是線性評分函式(

正則化

引入正則化懲罰還帶來很多良好的性質,其中最好的性質就是對大數值權重進行懲罰,可以提公升其泛化能力,因為這就意味著沒有哪個維度能夠獨自對於整體分值有過大的影響。

設定delta:你可能注意到上面的內容對超引數

softmax是二值logistic回歸在多分類問題上的推廣。

這裡函式f保持不變,將折葉損失(hinge loss)替換成交叉熵損失函式(cross-entropy loss),其損失函式表示式如下(log(e) =1):

其中,函式

先引入一下資訊理論裡的交叉熵公式:

softmax損失函式的推導:

svm與softmax的區別

CS231n 線性分類

在學習cs231n課程,邊看課程講義邊做筆記,記錄在這裡 k nn分類器的缺點 分類器必須記住所有訓練資料並將其儲存起來,以便於未來測試資料用於比較。這在儲存空間上是低效的,資料集的大小很容易就以gb計。對乙個測試影象進行分類需要和所有訓練影象作比較,演算法計算資源耗費高。概述 這種方法主要有兩部分...

CS231n課程筆記 線性分類

1 該分類器必須記住所有訓練資料並將其儲存起來,方便和未來資料進行比較,但這在儲存空間上是低效的。2 對乙個測試影象進行分類需要和所有訓練影象作比較,在計算上,資源耗費高。評分函式是原始影象資料到類別分值的對映。另乙個損失函式是用來量化 分類標籤的得分與真實標籤之間的一致性的。該方法可轉化為乙個最優...

cs231n學習之路 2 線性分類器

最簡單的線性分類器 f x w,b wx bf x,w,b wx b f x,w,b w x bw和b是訓練引數。x是輸入資料。在公式中,x和b是向量,x是單個樣本reshape之後的向量,b的長度和類別數目一致,w是矩陣。所以我們想將線性分類器應用到影象上,就必須先將影象reshape為乙個向量。...