神經網絡和深度學習-第二週神經網絡基礎-第一節:二分分類 原 薦

本系列博客是吳恩達(Andrew Ng)深度學習工程師 課程筆記。全部課程請查看吳恩達(Andrew Ng)深度學習工程師課程目錄

本週,我們會學習神經網絡編程的基礎知識。當你要構建一個神經網絡,有些技巧是相當重要的。例如,如果你有m個樣本的訓練集,你可能會習慣性地去用一個for循環來遍歷這m個樣本。但事實上實現一個神經網絡,如果你要遍歷整個訓練集,燕不需要直接使用for循環。在本週的課程,你會學到如何做到。

另外,在神經網絡的計算過程中,通常有一個正向過程或者叫正向傳播步驟,接着會有一個反向步驟也叫做反向傳播步驟。在本週的課程中會講解爲什麼神經網絡的計算過程可以分爲正向傳播和反向傳播兩個分開的過程。

在本週課程中,我會用logistic迴歸來闡述,以便你能更好地理解。如果你之前學習過logistic迴歸,我也認爲,這周的學習材料也會帶給你一些新的、有意思的想法。下面正式開始。

Logistic迴歸是一個用於二分分類的算法,我們從一個問題開始。這裏有一個二分分類問題的例子,例如你有一張圖片作爲輸入,就像這樣,你想輸出識別此圖的標籤,如果是貓輸出1,如果不是則輸出0,我們用$y$來表示輸出的結果標籤:

識別貓

我們看看一張照片在計算機中是如何表示的。計算機保存一張圖片,要保存三個獨立矩陣分別對應圖中紅藍綠三個顏色通道。如果圖片是64*64像素的,就有三個64*64矩陣對應圖片中的紅綠藍三種像素的亮度。爲了方便展示,這裏的示例用三個小矩陣:

三原色矩陣

要把這些像素的亮度值放入一個特徵向量中,就要把這些像素值都提取出來,放入一個特徵向量x,爲了把這些像素值取出放入特徵向量中需要定義一個特徵向量x以表示這張圖片

把圖片中所有像素強度值都列出來,如果圖片是$64 \times 64$的,那麼向量$x$的總維度就是$64 \times64 \times3=12288$,因爲這是三個矩陣的元素數量。我們用$n_x=12288$來表示輸入特徵向量x的維度,有時候爲了簡潔,我會直接用小寫的n表示輸入特徵向量的維度。

在二分類問題中目標是訓練出一個分類器,它以圖片的特徵向量x作爲輸入,預測輸出的結果是標籤y(0或1),也就是說預測圖片中是否有貓。

現在我們看看在後面課程中需要用到的一些符號。用一對(x, y)表示一個單獨的樣本,其中$x$是$n_x$維的向量,標籤y值爲0或1。

$$ (x,y) \qquad x \in R^{n_x},y \in \lbrace 0, 1 \rbrace $$

訓練集由m個訓練樣本構成,$(x^{(1)}, y^{(1)})$表示第一個樣本,$(x^{(2)}, y^{(2)})$表示第二個樣本...$(x^{(m)}, y^{(m)})$表示最後一個樣本$m$,這些一起就表示整個訓練集。

$$ m ; training ; example: ; (x^{(1)}, y^{(1)}),(x^{(2)}, y^{(2)}), , ... , ,(x^{(m)}, y^{(m)}) $$

用小寫字母$m$ 表示訓練集的個數,有時爲了強調這個字母是訓練集的個數可以寫作$m_{train}$,用$m_{test}$表示測試集的樣本數量。最後,用更緊湊的符號表示訓練集,我們定義一個矩陣,用大寫的$X$表示,它由訓練集中的$x^{(1)},x^{(2)}, , ... , x^{(m)}$組成:

$$ X= \begin{bmatrix} \mid & \mid & \quad & \mid \ x^{(1)} & x^{(2)} & ... & x^{(m)} \ \mid & \mid & \quad & \mid \ \end{bmatrix} \qquad X \in R^{n_x \times m} $$

這個矩陣由m列組成,高度爲$n_x$,

注意:有時候矩陣$X$的定義是訓練樣本作爲行向量堆疊,而不是這樣列向量堆疊。在構建神經網絡時,用上述這種約定形式,會讓構建過程列簡單。

當你用Python實現的時候你會看到X.shape(),這條Python命令用來輸出矩陣的維度,即$(n_x,m)$。

這就是如何將訓練樣本,即輸入$x$用矩陣表示,對於輸出標籤$y$同樣爲了方便構一個建神經網絡將$y$標籤也放到列中,所以我們定義

$$ Y=[y^{(1)},y^{(2)}, , ... , y^{(m)}] \qquad Y \in R^{1 \times m} $$

在後面的課程中,要實現神經網絡,你會發現好的慣例符號能夠將不同訓練樣本的數據聯繫起來,這裏說的數據不僅有$x,y$,還會有之後其他變量,將不同的訓練樣本數據取出來,放到不同的列上,就像剛剛我們處理$x,y$那樣。

這門課程中在logistic迴歸和神經網絡要用到的符號就這些瞭如果你忘記了這些符號的意義,我們也會在課程網站上放上符號說明,方便快速查閱每個符號的意義。下個課程將以logistic迴歸作爲開始。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章