#cs231n#1.最近鄰分配器Nearest Neighbor Classifier

The Image Classification Pipeline

The image classification pipeline. We’ve seen that the task in Image Classification is to take an array of pixels that represents a single image and assign a label to it. Our complete pipeline can be formalized as follows:
Input: Our input consists of a set of N images, each labeled with one of K different classes. We refer to this data as the training set.
Learning: Our task is to use the training set to learn what every one of the classes looks like. We refer to this step as training a classifier, or learning a model.
Evaluation: In the end, we evaluate the quality of the classifier by asking it to predict labels for a new set of images that it has never seen before. We will then compare the true labels of these images to the ones predicted by the classifier. Intuitively, we’re hoping that a lot of the predictions match up with the true answers (which we call the ground truth).

其實就是
  1. 輸入TrainingSet的圖片和標簽
  2. 讓機器去學(xué)習(xí)這個模型model,training分類器
  3. 利用第二步得到的classifier算法對輸入的test圖片進行處理,然后輸出得到機器估計的test圖片的標簽

Data-Driven Approach

provide the computer with many examples of each class and then develop learning algorithms that look at these examples and learn about the visual appearance of each class
也就是利用大量數(shù)據(jù),開發(fā)學(xué)習(xí)算法,令電腦能夠讀取和獲得數(shù)據(jù)中的共性,然后利用這些共性去進行下一步的判斷

最近鄰分配器

思想即為求出每一個training矩陣和同一個test矩陣之間的distance,然后找到其中最小的distance,這個即為最近的鄰,找到這個最近的鄰之后,按照其對應(yīng)的屬性對test進行分類。

k-NN classifier

每次分類的時候,得到最接近的k個鄰,然后根據(jù)這k個鄰按照一定的權(quán)重比較后,得到比較合理的值
例如k=5時候
得到最后接近的5個鄰為[cat,cat,cat,cat,dog]那么這個時候應(yīng)該得把該test的類標記為cat,因為與cat的相關(guān)性更大。

代碼思想

  1. 讀入一個四維數(shù)組(1全部的train2px3R4G5B),然后reshape降成二維數(shù)組(1包含數(shù)組全部的train2一張圖片包含px個數(shù)*3(即RGB))xtr.shape[0]代表總圖片數(shù)
  2. zeros初始化數(shù)組,用xrange()返回而不用range()返回是因為xrange是一個生成器,效率遠高于range這種返回整個數(shù)組的函數(shù)for i in xrange(num_test):
  3. distances = np.sum(np.abs(self.Xtr - X[i,:]), axis=1);每行減去同一個test然后求和得到一組distance數(shù)組
  4. min_index = np.argmin(distances)得到數(shù)組中最小元素的下標
  5. Ypred[i] = self.ytr[min_index]將下標對應(yīng)的label賦值給predict的label

Hyperparameters超參數(shù)

The k-nearest neighbor classifier requires a setting for k. But what number works best? Additionally, we saw that there are many different distance functions we could have used: L1 norm, L2 norm, there are many other choices we didn’t even consider (e.g. dot products). These choices are called hyperparameters and they come up very often in the design of many Machine Learning algorithms that learn from data

什么是超參數(shù)
超參數(shù)-wiki

感覺超參數(shù)就是一種未定的參數(shù),例如knn里面的k或者里面的distance或者px點之間的關(guān)系等等各種無限可能的參數(shù)。現(xiàn)在學(xué)的比較少,所以了解也不多,以后再慢慢深入吧。
如果我們使用從頭到尾使用同一組數(shù)據(jù)去調(diào)試超參數(shù),很有可能會出現(xiàn)過擬合現(xiàn)象(overfit,一個假設(shè)在訓(xùn)練數(shù)據(jù)上能夠獲得比其他假設(shè)更好的擬合,但是在訓(xùn)練數(shù)據(jù)外的數(shù)據(jù)集 上卻不能很好的擬合數(shù)據(jù)。

為了實現(xiàn)更好的算法,逐漸調(diào)整和測試超參數(shù)是很有必要的。

Validation 檢驗用的數(shù)據(jù)

抽出數(shù)據(jù)的小一部分去作為對training結(jié)果的檢測,即在數(shù)據(jù)集里面抽出一小部分作為假的test,這樣做的好處在于即時檢驗。

Cross-Validation

這是一種hyperparameter tuning,是一種對Hyperparameter進行調(diào)試和修正的方法。
一種情況是缺少數(shù)據(jù)的時候才用。
是將一組數(shù)據(jù)分成N組,然后將這N組數(shù)據(jù)輪流當(dāng)做validation去使用。
可以提高精確度。但是會使用大量的時間和空間資源。
在最后的實際估計的時候不會去浪費資源使用,但是選擇合適hyperparameters的時候要用。(個人覺得這個一定要用,因為精確估算的時候作用比較大)

NNC的局限性

在數(shù)據(jù)是低維度的時候比較有用,但在圖像處理這種高維度的作用不大,而且有很多干擾因素。通過像素差異去判斷圖像是很不合適的。對每一個像素點都取樣的話,很可能會因為背景或者大體顏色相同就判斷為同一個類型。但是這種思想挺重要的

選區(qū)_002.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內(nèi)容

  • 導(dǎo)讀:幸福很簡單,問題不在于你得到了什么而在于你想到了什么;不在于你看見了什么而在于你怎樣看;不在于你怎樣獲得而在...
    健康美麗閱讀 1,006評論 0 0
  • 5.變量的聲明 plain變量:可以在模板的任何地方訪問,包括使用include指令插入的模板,使用assign指...
    擱淺的雙魚閱讀 803評論 0 4
  • 今天關(guān)鍵詞自救。當(dāng)我還上初一的時候,爸爸帶著我和弟弟報名參加游泳班學(xué)習(xí)游泳。現(xiàn)在很多孩子小學(xué)就開始學(xué)游泳,而...
    營養(yǎng)私教西西閱讀 186評論 0 0
  • 圖 文/葉聽雨 前情提要:吳家二奶奶領(lǐng)回了秀兒,待她慢慢長大,意欲將她許配給自己兒子阿勝。在新婚的第一天,阿勝不見...
    葉聽雨閱讀 519評論 0 0