CS231n assignment1 knn部分

assignment1

學習記錄(做的過程中寫個提綱诉植,做完了再完善一下說不定是要理解深刻一點迂卢,總之寫下來沒壞處恢着,就當紀念啦(?>?<?))

環(huán)境Ubuntu

數據集cifar10

先完成knn代碼部分

第一部分

兩層循環(huán)求L2距離 compute_distances_two_loops

要求

#Compute the l2 distance between the ith test point and the jth? ? #

# training point, and store the result in dists[i, j]. You should? #

# not use a loop over dimension.

dists[i,j]=np.sqrt(np.sum((self.X_train[j,:]-X[i,:])**2))

一層循環(huán)求L2距離compute_distances_one_loops

# TODO:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# Compute the l2 distance between the ith test point and all training #

# points, and store the result in dists[i, :].? ? ? ? ? ? ? ? ? ? ? ? #

dists[i,:]=np.sqrt(np.sum(self.X_train-X[i,:],axis=1))

無循環(huán) no_loop

# TODO:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# Compute the l2 distance between all test points and all training? ? ? #

# points without using any explicit loops, and store the result in? ? ? #

# dists.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# You should implement this function using only basic array operations; #

# in particular you should not use functions from scipy.? ? ? ? ? ? ? ? #

# HINT: Try to formulate the l2 distance using matrix multiplication? ? #

#? ? ? and two broadcast sums.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

用基本數組操作、廣播機制

平方差展開

(dists=sqrt(X_train^2+X^2-2*X_train*X))

第二部分

predict_labels

# TODO:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# Use the distance matrix to find the k nearest neighbors of the ith? ? #

# testing point, and use self.y_train to find the labels of these? ? ? #

# neighbors. Store these labels in closest_y.? ? ? ? ? ? ? ? ? ? ? ? ? #

# Hint: Look up the function numpy.argsort.? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# TODO:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

# Now that you have found the labels of the k nearest neighbors, you? ? #

# need to find the most common label in the list closest_y of labels.? #

# Store this label in y_pred[i]. Break ties by choosing the smaller? ? #

# label.? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #

使用 numpy.argsort


np.argsort
sort+slice
slice

將dists進行排序存入數組

再挑出最合適的label

使用np.bincount和np.argmax


argmax:返回沿軸axis最大值的索引 bincount:統(tǒng)計次數,計算數據集的標簽列(y_train)的分布

np.argmax
np.bincount

closest_y=self.y_train[np.argsort(dists[i,:])[0:k]]

y_pred[i]=np.argmax(np.bincount(closest_y))

完成后

用jupyter notebook打開knn.ipynb危纫,運行

result


這種作業(yè)做起來好棒白诨印(注釋說的清楚明白嘿嘿)。

發(fā)現(xiàn)很多感覺懂的真正寫下來很難种蝶,有種文字障礙的感覺契耿。

numpy API一點都不熟 ,想著整理又覺得每次搜一下用法也可以螃征,哎可能這就是懶吧搪桂。

就是個記錄并非教程所以詳細過程也沒說啦。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末盯滚,一起剝皮案震驚了整個濱河市踢械,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魄藕,老刑警劉巖内列,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異背率,居然都是意外死亡话瞧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門寝姿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來交排,“玉大人,你說我怎么就攤上這事饵筑“Bǎ” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵根资,是天一觀的道長架专。 經常有香客問我,道長嫂冻,這世上最難降的妖魔是什么胶征? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任塞椎,我火速辦了婚禮桨仿,結果婚禮上,老公的妹妹穿的比我還像新娘案狠。我一直安慰自己服傍,他們只是感情好钱雷,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吹零,像睡著了一般罩抗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上灿椅,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天套蒂,我揣著相機與錄音,去河邊找鬼茫蛹。 笑死操刀,一個胖子當著我的面吹牛,可吹牛的內容都是我干的婴洼。 我是一名探鬼主播骨坑,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼柬采!你這毒婦竟也來了欢唾?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤粉捻,失蹤者是張志新(化名)和其女友劉穎礁遣,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體肩刃,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡亡脸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了树酪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浅碾。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖续语,靈堂內的尸體忽然破棺而出垂谢,到底是詐尸還是另有隱情,我是刑警寧澤疮茄,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布滥朱,位于F島的核電站,受9級特大地震影響力试,放射性物質發(fā)生泄漏徙邻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一畸裳、第九天 我趴在偏房一處隱蔽的房頂上張望缰犁。 院中可真熱鬧,春花似錦、人聲如沸帅容。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽并徘。三九已至遣钳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間麦乞,已是汗流浹背蕴茴。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留姐直,地道東北人荐开。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像简肴,于是被迫代替她去往敵國和親晃听。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 一砰识、前言 CS231n是斯坦福大學開設的一門深度學習與計算機視覺課程能扒,是目前公認的該領域內最好的公開課。目前辫狼,該課...
    金戈大王閱讀 4,763評論 3 7
  • import numpy as np class KNearestNeighbor(object): """ a ...
    withism閱讀 507評論 0 1
  • 初見你時初斑,我還是一個留著學生頭齊劉海沒長開的小姑娘,我說我喜歡你膨处,你問我為什么喜歡你见秤。 再相見時,我們已經聊的很熟...
    熊家小妞閱讀 123評論 0 0
  • 最近跟跑步較上了勁,因為不甘心每次自己預設的跑步訓練計劃總是停留在5km初級階段突硝,而且難以熬過第二周就胎死腹中测摔,然...
    麥田有棵樹閱讀 395評論 0 0
  • 鰥居的經濟學教授Walter二十年只教一門課,過著一潭死水般的日子解恰。導演給主 角配的外觀線條方正的老款沃爾沃V90...
    蟹總有鉗閱讀 2,099評論 7 4