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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

2.1 二元分类-深度学习-Stanford吴恩达教授

發(fā)布時間:2025/4/5 pytorch 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.1 二元分类-深度学习-Stanford吴恩达教授 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
1.7 總結(jié)習(xí)題回到目錄2.2 Logistic 回歸

二元分類 (Binary Classification)

這周我們將學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識,其中需要注意的是,當(dāng)實現(xiàn)一個神經(jīng)網(wǎng)絡(luò)的時候,我們需要知道一些非常重要的技術(shù)和技巧。例如有一個包含 mmm 個樣本的訓(xùn)練集,你很可能習(xí)慣于用一個for循環(huán)來遍歷訓(xùn)練集中的每個樣本,但是當(dāng)實現(xiàn)一個神經(jīng)網(wǎng)絡(luò)的時候,我們通常不直接使用for循環(huán)來遍歷整個訓(xùn)練集,所以在這周的課程中你將學(xué)會如何處理訓(xùn)練集。

另外在神經(jīng)網(wǎng)絡(luò)的計算中,通常先有一個叫做前向暫停(forward pause)或叫做前向傳播(foward propagation)的步驟,接著有一個叫做反向暫停(backward pause) 或叫做反向傳播(backward propagation)的步驟。所以這周我也會向你介紹為什么神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程可以分為前向傳播和反向傳播兩個獨(dú)立的部分。

在課程中我將使用邏輯回歸(logistic regression)來傳達(dá)這些想法,以使大家能夠更加容易地理解這些概念。即使你之前了解過邏輯回歸,我認(rèn)為這里還是有些新的、有趣的東西等著你去發(fā)現(xiàn)和了解,所以現(xiàn)在開始進(jìn)入正題。

邏輯回歸是一個用于二分類(binary classification)的算法。首先我們從一個問題開始說起,這里有一個二分類問題的例子,假如你有一張圖片作為輸入,比如這只貓,如果識別這張圖片為貓,則輸出標(biāo)簽1作為結(jié)果;如果識別出不是貓,那么輸出標(biāo)簽0作為結(jié)果。現(xiàn)在我們可以用字母 來 表示輸出的結(jié)果標(biāo)簽,如下圖所示:

我們來看看一張圖片在計算機(jī)中是如何表示的,為了保存一張圖片,需要保存三個矩陣,它們分別對應(yīng)圖片中的紅、綠、藍(lán)三種顏色通道,如果你的圖片大小為64x64像素,那么你就有三個規(guī)模為64x64的矩陣,分別對應(yīng)圖片中紅、綠、藍(lán)三種像素的強(qiáng)度值。為了便于表示,這里我畫了三個很小的矩陣,注意它們的規(guī)模為5x4 而不是64x64,如下圖所示:


為了把這些像素值放到一個特征向量中,我們需要把這些像素值提取出來,然后放入一個特征向量 xxx 。為了把這些像素值轉(zhuǎn)換為特征向量 xxx ,我們需要像下面這樣定義一個特征向量 xxx 來表示這張圖片,我們把所有的像素都取出來,例如255、231等等,直到取完所有的紅色像素,接著最后是255、134、…、255、134等等,直到得到一個特征向量,把圖片中所有的紅、綠、藍(lán)像素值都列出來。如果圖片的大小為64x64像素,那么向量 xxx 的總維度,將是64乘以64乘以3,這是三個像素矩陣中像素的總量。在這個例子中結(jié)果為 nx=12,288n_x=12,288nx?=12,288 。現(xiàn)在我們用,來表示輸入特征向量的維度,有時候為了簡潔,我會直接用小寫 nnn 的來表示輸入特征向量 xxx 的維度。所以在二分類問題中,我們的目標(biāo)就是習(xí)得一個分類器,它以圖片的特征向量作為輸入,然后預(yù)測輸出 yyy 結(jié)果為1還是0,也就是預(yù)測圖片中是否有貓:

接下來我們說明一些在余下課程中,需要用到的一些符號。

符號定義 :

x:x:x
表示一個 nxn_xnx? 維數(shù)據(jù),為輸入數(shù)據(jù),維度為 (nx,1)(n_x,1)(nx?,1)

y:y:y
表示輸出結(jié)果,取值為 (0,1)(0,1)(0,1)

(x(i),y(i)):(x^{(i)},y^{(i)}):(x(i),y(i))
表示第組數(shù)據(jù),可能是訓(xùn)練數(shù)據(jù),也可能是測試數(shù)據(jù),此處默認(rèn)為訓(xùn)練數(shù)據(jù);

X=[x(1),x(2),?,x(m)]X=[x^{(1)},x^{(2)},\cdots,x^{(m)}]X=[x(1),x(2),?,x(m)]
表示所有的訓(xùn)練數(shù)據(jù)集的輸入值,放在一個 nx?mn_x * mnx??m 的矩陣中,其中 mmm 表示樣本數(shù)目;

Y=[y(1),y(2),?,y(m)]Y=[y^{(1)},y^{(2)},\cdots,y^{(m)}]Y=[y(1),y(2),?,y(m)]
對應(yīng)表示所有訓(xùn)練數(shù)據(jù)集的輸出值,維度為 1?m1*m1?m

用一對 (x,y)(x,y)(x,y) 來表示一個單獨(dú)的樣本,xxx 代表 nxn_xnx? 維的特征向量,yyy 表示標(biāo)簽(輸出結(jié)果)只能為0或1。 而訓(xùn)練集將由 mmm 個訓(xùn)練樣本組成,其中 (x(1),y(1))(x^{(1)},y^{(1)})(x(1),y(1)) 表示第一個樣本的輸入和輸出, (x(2),y(2))(x^{(2)},y^{(2)})(x(2),y(2)) 表示第二個樣本的輸入和輸出,直到最后一個樣本 (x(m),y(m))(x^{(m)},y^{(m)})(x(m),y(m)) ,然后所有的這些一起表示整個訓(xùn)練集。有時候為了強(qiáng)調(diào)這是訓(xùn)練樣本的個數(shù),會寫作 MtrainM_{train}Mtrain?,當(dāng)涉及到測試集的時候,我們會使用來 MtestM_{test}Mtest? 表示測試集的樣本數(shù),所以這是測試集的樣本數(shù):

最后為了能把訓(xùn)練集表示得更緊湊一點(diǎn),我們會定義一個矩陣用大寫的 XXX 表示,它由輸入向量 x(1)x^{(1)}x(1)x(2)x^{(2)}x(2) 等組成,如下圖放在矩陣的列中,所以現(xiàn)在我們 x(1)x^{(1)}x(1) 把作為第一列放在矩陣中, x(2)x^{(2)}x(2) 作為第二列,x(m)x^{(m)}x(m) 放到第 mmm 列,然后我們就得到了訓(xùn)練集矩陣 XXX。所以這個矩陣有 mmm 列,mmm 是訓(xùn)練集的樣本數(shù)量,然后這個矩陣的高度記為 nxn_xnx?,注意有時候可能因為其他某些原因,矩陣 XXX 會由訓(xùn)練樣本按照行堆疊起來而不是列,如下圖所示:x(1)x^{(1)}x(1) 的轉(zhuǎn)置 x(m)x^{(m)}x(m) 直到的轉(zhuǎn)置,但是在實現(xiàn)神經(jīng)網(wǎng)絡(luò)的時候,使用左邊的這種形式,會讓整個實現(xiàn)的過程變得更加簡單:

現(xiàn)在來簡單溫習(xí)一下:XXX 是一個規(guī)模為 nxn_xnx? 乘以 mmm 的矩陣,當(dāng)你用Python實現(xiàn)的時候,你會看到X.shape,這是一條Python命令,用于顯示矩陣的規(guī)模,即X.shape等于 (nx,m)(n_x,m)(nx?,m)XXX 是一個規(guī)模為 nxn_xnx? 乘以 mmm 的矩陣。所以綜上所述,這就是如何將訓(xùn)練樣本(輸入向量 XXX 的集合)表示為一個矩陣。

那么輸出標(biāo)簽 yyy 呢?同樣的道理,為了能更加容易地實現(xiàn)一個神經(jīng)網(wǎng)絡(luò),將標(biāo)簽 yyy 放在列中將會使得后續(xù)計算非常方便,所以我們定義大寫的 YYY 等于 y(1),y(2),?,y(m)y^{(1)},y^{(2)},\cdots,y^{(m)}y(1),y(2),?,y(m),所以在這里是一個規(guī)模為1乘以 mmm 的矩陣,同樣地使用Python將表示為Y.shape等于,表示這是一個規(guī)模為1乘以 mmm 的矩陣。

當(dāng)你在后面的課程中實現(xiàn)神經(jīng)網(wǎng)絡(luò)的時候,你會發(fā)現(xiàn),一個好的符號約定能夠?qū)⒉煌?xùn)練樣本的數(shù)據(jù)很好地組織起來。而我所說的數(shù)據(jù)不僅包括 xxx 或者 yyy 還包括之后你會看到的其他的量。將不同的訓(xùn)練樣本的數(shù)據(jù)提取出來,然后就像剛剛我們對 xxx 或者 yyy 所做的那樣,將他們堆疊在矩陣的列中,形成我們之后會在邏輯回歸和神經(jīng)網(wǎng)絡(luò)上要用到的符號表示。如果有時候你忘了這些符號的意思,比如什么是 mmm,或者什么是 nnn,或者忘了其他一些東西,我們也會在課程的網(wǎng)站上放上符號說明,然后你可以快速地查閱每個具體的符號代表什么意思,好了,我們接著到下一個視頻,在下個視頻中,我們將以邏輯回歸作為開始。 備注:附錄里也寫了符號說明。

課程板書




←上一篇↓↑下一篇→
1.7 總結(jié)習(xí)題回到目錄2.2 Logistic 回歸

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的2.1 二元分类-深度学习-Stanford吴恩达教授的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。