日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CS231n 学习笔记(1)——神经网络 part1 :图像分类与数据驱动方法

發布時間:2025/5/22 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CS231n 学习笔记(1)——神经网络 part1 :图像分类与数据驱动方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*此系列為斯坦福李飛飛團隊的系列公開課“cs231n convolutional neural network for visual recognition ”的學習筆記。本文主要是對module 1 的part1 Image classification 的翻譯與學習。 圖像分類是指對于輸入的圖像,從一系列的標簽中找出正確的與之對應的標簽,圖像分類是許多復雜的計算機視覺算法的基礎。 對于計算機而言,它看到的圖像可以看成是一個三維數組,其中灰度圖像的寬度和高度各占一維,還有一維是RGB的組合。 幾乎所有的圖像分類算法都會面臨以下幾方面問題:1. 觀察角度會變化。2. 物體大小會變化,觀察范圍會變化。3. 變形。4. 背景干擾。5. 類內變化。例如,椅子的形狀可以有很多種。

數據驅動方法

我們并不是去寫一個算法來識別圖像中的貓,而是想對待孩童一樣,我們把每一個類型中大量的圖片提供給計算機,然后寫一個學習算法,讓計算機自己學會分類。這種方法是基于數據驅動的。需要訓練集和標簽數據集。

圖像分類過程

圖像分類是為每一個數組分配一個標簽。這個模式化過程如下: -輸入--訓練集,有許多有標簽的圖像構成。 -學習--用訓練集訓練分類器,進行數學建模。 -評價--用未標簽的新數據評價分類器的性能。正確率越高,學習的效果越好。

最近鄰域分類法

此法并不是卷積網絡的方法,圖像分類的實踐中也很少用到,但是這個方法有助于幫我們理解圖像分類。 最近領域法將測試圖片和訓練集中的每一幅圖求距離,兩幅圖像之間的距離是指這兩幅圖像中的每一個對于像素的差距之和。使用下面這個公式來求取:

在求得測試集圖像與訓練集的沒衣服圖像的距離之后,找到距離最近的圖像,將測試集圖像歸為此類。

輸入訓練集及測試集

cs231n通過函數`Xtr, Ytr, Xte, Yte = load_CIFAR10('data/cifar10/')`導入 CIFAR-10 數據集, CIFAR-10 中有50000個訓練樣本,每個樣本大小是32 x 32 x 3,每個樣本有一個標簽。此外,CIFAR-10 中還有10000個測試樣本。我在網絡上沒有搜到`load_CIFAR10()`函數的源代碼,因此需要自己動手來寫一個數據導入程序。 import numpy as npdef unpickle(file):import cPicklefo = open(file,'rb')dict = cPickle.load(fo)fo.close()return dictdef load_CIFAR10(file): #get the training datadataTrain = []labelTrain = []for i in range(1,6):dic = unpickle(file+"\\data_batch_"+str(i))for item in dic["data"]:dataTrain.append(item)for item in dic["labels"]:labelTrain.append(item)#get test datadataTest = []labelTest = []dic = unpickle(file+"\\test_batch")for item in dic["data"]:dataTest.append(item)for item in dic["labels"]:labelTest.append(item)return (dataTrain,labelTrain,dataTest,labelTest)Xtr, Ytr, Xte, Yte = load_CIFAR10('C:\\Users\\Administrator\\Documents\\python Scripts\\cifar-10-batches-py') #print "Xte:%d" %(len(dataTest)) #print "Yte:%d" %(len(labelTest)) dataTr = np.asarray(Xtr) dataTs = np.asarray(Xte) labelTr = np.asarray(Ytr) labelTs = np.asarray(Yte) print dataTr.shape print dataTs.shape print labelTr.shape print labelTs.shape 獲取CIFAR-10 數據集的主要過程是,先將CIFAR-10 數據集的訓練數據寫入一個字典變量中,再將字典變量中的data和label分別拿到兩個數組中去。用同樣的方法獲取測試數據,最后返回四個數組。 在程序最初版本里,路徑中都是單斜杠,可是總是編譯不通過,始終報錯提示:invalid mode ('rb') or filename: 'C:\\Users\\Administrator\\Documents\\Python Scripts\\cifar-10-batches-py\test_batch' 將路徑中所有的單斜杠都變成雙斜杠后,編譯就能通過了。 導入數據后,通過最簡單的鄰域聚類的方法,對圖像進行分類 datatr, labeltr, datate, labelte = load_CIFAR10('C:\\Users\\Administrator\\ywj\\data\\cifar-10-python\\cifar-10-batches-py')#print "Xte:%d" %(len(dataTest)) #print "Yte:%d" %(len(labelTest)) Xtr = np.asarray(datatr) Xte = np.asarray(datate) Ytr = np.asarray(labeltr) Yte = np.asarray(labelte) Xtr_rows = Xtr.reshape(Xtr.shape[0], 32 * 32 * 3) # Xtr_rows becomes 50000 x 3072 Xte_rows = Xte.reshape(Xte.shape[0], 32 * 32 * 3) # Xte_rows becomes 10000 x 3072 print Xtr.shape print Xte.shape print Ytr.shape print Yte.shape print type(Xtr)class NearestNeighbor(object):def __init__(self):passdef train(self, X, y):""" X is N x D where each row is an example. Y is 1-dimension of size N """# the nearest neighbor classifier simply remembers all the training dataself.Xtr = Xself.ytr = ydef predict(self, X):""" X is N x D where each row is an example we wish to predict label for """num_test = X.shape[0]# lets make sure that the output type matches the input typeYpred = np.zeros(num_test, dtype = self.ytr.dtype)# loop over all test rowsfor i in xrange(num_test):# find the nearest training image to the i'th test image# using the L1 distance (sum of absolute value differences)distances = np.sum(np.abs(self.Xtr - X[i,:]), axis = 1)min_index = np.argmin(distances) # get the index with smallest distanceYpred[i] = self.ytr[min_index] # predict the label of the nearest examplereturn Yprednn = NearestNeighbor() # create a Nearest Neighbor classifier class nn.train(Xtr_rows, Ytr) # train the classifier on the training images and labels Yte_predict = nn.predict(Xte_rows) # predict labels on the test images # and now print the classification accuracy, which is the average number # of examples that are correctly predicted (i.e. label matches) print 'accuracy: %f' % ( np.mean(Yte_predict == Yte) )

KNN

用鄰域分析來對CIFAR-10數據集進行圖像分類的算法復雜度比較高,準確率也不高(斯坦福的講義中為38.6%),我們可以用KNN(k-Nearest Neighbor Classifier)對圖像分類的算法進行改進。在KNN中,我們找到k個與測試集距離最近的圖像,通過投票,確定測試集圖像的類別。之前的算法可以看作是k=1的特例。

驗證集超參數優化

KNN方法需要給出參數K,如何選取最佳的參數K?通常采用的方法是嘗試所有不同的可能的值,找出中間的最優解。但值得一提的是,不建議采用測試集來篩選超參數,這樣會造成過擬合。建議大家只在機器學習的模型建立后使用且僅使用一次測試集。 我們可以將訓練集分成兩部分,一部分仍舊作為訓練集,只是規模有所減小,另一部分作為驗證集。以 CIFAR-10 為例,我們將原先50000張圖片的訓練集分為49000張圖片的訓練集和1000張圖片的驗證集,驗證集用來調整超參數。Split your training set into training set and a validation set. Use validation set to tune all hyperparameters. At the end run a single time on the test set and report performance.(將訓練集劃分為訓練集和驗證集,用驗證集調整所有的超參數,最后,測試集只用一遍,用于測試模型)

交叉驗證

有時,訓練樣本比較小,無法分割為訓練集和驗證集,此時可采用交叉驗證的方式來調整超參數。仍舊是以 CIFAR-10 為例,我們可以將訓練集的50000張圖片劃分成5個子集,用其中4個子集作為訓練集,剩余那個作為驗證集。總共有五種劃分的方式。在每一種方式下,對模型進行評估。最后,在不同的組合里取平均。

鄰域分類器的優缺點:

訓練簡單,測試復雜。 神經網絡與之相反,神經網絡是訓練復雜,測試簡單。 鄰域分類器的計算復雜度很大,如何簡化計算復雜度是一個研究熱點。現有的降低NN計算復雜度的算法有:ANN, kdtree,k-means等。 對于低維數據而言,KNN是有時是一個不錯的選擇。但很少用于圖像分類。通過逐個像素來比較圖像,再進行分類的思路并不可取。

總結

以上是生活随笔為你收集整理的CS231n 学习笔记(1)——神经网络 part1 :图像分类与数据驱动方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产嫩草在线观看 | 中文毛片无遮挡高潮免费 | 午夜国产福利在线 | 911毛片| 中国黄色a级片 | 欧美日韩中文国产 | 成人精品三级av在线看 | 日韩成人无码影院 | 免费在线观看黄色片 | 都市激情亚洲色图 | 这里只有精品6 | 国产一区二区三区四区五区在线 | 超碰91在线| 免费一区二区 | 国产精品xxxxxx| 91天天干 | 夜夜cao | 狠狠干性视频 | 玖玖在线免费视频 | 亚洲一区二区福利视频 | 亚洲黄色在线免费观看 | 曰批视频在线观看 | 国产成人午夜精华液 | 天天射夜夜爽 | 青草久久网 | 男女视频免费网站 | 一级片在线视频 | 91青青草视频 | 国产精品麻豆视频 | 沈樵精品国产成av片 | 91久久超碰| 精产国品一二三产品蜜桃 | 色综合av综合无码综合网站 | 自拍第1页 | 成人高清免费 | 日本欧美另类 | 黄色精品视频 | 在线观看视频毛片 | 天堂资源在线 | 午夜视频网站在线观看 | 亚洲一区视频在线播放 | 欧洲亚洲自拍 | 落日余晖 | 黑人干亚洲 | 老版水浒传83版免费播放 | 国产精品视频久久久久久 | 精品少妇人妻av免费久久洗澡 | 中文在线不卡视频 | 夜夜爽日日澡人人添 | 免费久久av | 男男啪啪网站 | 超碰1000 | 在线免费观看a视频 | 九九视频免费看 | 6996电视影片免费看 | 欧美91| 国内自拍偷拍 | 久久久综合视频 | 成人h在线| 亚洲伊人网站 | 人妻体内射精一区二区 | 国产成人无码一区二区三区在线 | 欧美大尺度做爰啪啪床戏明星 | 午夜影院一区二区三区 | 人人爽久久涩噜噜噜网站 | 黄色日韩视频 | 天天综合入口 | 蘑菇视频黄色 | 顶臀精品视频www | xxxx毛片| 国产中文字幕91 | 99视频免费观看 | 波多野结衣在线视频免费观看 | jizz性欧美23 | 国产午夜福利视频在线观看 | 精品视频一区二区三区四区 | 欧美 日韩 国产 成人 | 亚洲激情中文字幕 | 国产黄色小视频在线观看 | 波多野结衣福利 | 天天插视频 | 欧美视频一二区 | 男女日批网站 | 国产第20页 | 亚洲综合免费观看高清完整版 | 久久精久久 | 色八戒av | 久久久精品久久久久久 | 九一亚洲精品 | 无码人妻精品一区二区三区9厂 | 国产精品亚洲欧美在线播放 | 黄色录像大片 | 精品熟妇一区二区三区 | 国产又粗又硬 | 超碰在线99 | 国产日韩在线播放 | 亚欧美色图 | 人人干人人舔 | 国产嫩bbwbbw高潮 |