吴恩达机器学习笔记五之神经网络
本節目錄:
1.非線性假設
2. 神經元和大腦
3. 模型表示
4. 特征的直觀理解
5. 樣本的直觀理解
6. 多類分類
1 非線性假設
假設我們希望訓練一個模型來識別視覺對象(例如識別一張圖片上是否是一輛汽車),
我們怎樣才能這么做呢?一種方法是我們利用很多汽車的圖片和很多非汽車的圖片,然后利
用這些圖片上一個個像素的值(飽和度或亮度)來作為特征。
假如我們只選用灰度圖片,每個像素則只有一個值(而非 RGB 值),我們可以選取圖
片上的兩個不同位置上的兩個像素,然后訓練一個邏輯回歸算法利用這兩個像素的值來判斷
圖片上是否是汽車:
假使我們采用的都是 50x50 像素的小圖片,并且我們將所有的像素視為特征,則會有
2500 個特征,如果我們要進一步將兩兩特征組合構成一個多項式模型,則會有約25002/2個
(接近 3 百萬個)特征。普通的邏輯回歸模型,不能有效地處理這么多的特征,這時候我們
需要神經網絡。
2 神經元和大腦
神經網絡 最初產生的目的是制造能模擬大腦的機器。
3 模型表示
神經網絡模型建立在很多神經元之上,每一個神經元又是一個個學習模型。這些神經元
(也叫激活單元,activation unit)采納一些特征作為輸出,并且根據本身的模型提供一個輸
出。下圖是一個以邏輯回歸模型作為自身學習模型的神經元示例,在神經網絡中,參數又可
被成為權重(weight)。
神經網絡模型是許多邏輯單元按照不同層級組織起來的網絡,每一層的輸出變量都是下
一層的輸入變量。下圖為一個 3 層的神經網絡,第一層成為輸入層(Input Layer),最后一
層稱為輸出層(Output Layer),中間一層成為隱藏層(Hidden Layers)。我們為每一層都增
加一個偏差單位(bias unit):
我們需要將整個訓練集都喂給神經網路算法來學習模型。
從左到右算法稱為前向傳播算法。
把𝑥, 𝜃, 𝑎 分別用矩陣表示,我們可以得到𝜃 ? 𝑋 = 𝑎 :
4 特征的直觀理解
從本質上講,神經網絡能夠通過學習得出其自身的一系列特征。在普通的邏輯回歸中,
我們被限制為使用數據中的原始特征𝑥1, 𝑥2, . . . , 𝑥𝑛,我們雖然可以使用一些二項式項來組合
這些特征,但是我們仍然受到這些原始特征的限制。在神經網絡中,原始特征只是輸入層,
在我們上面三層的神經網絡例子中,第三層也就是輸出層做出的預測利用的是第二層的特
征,而非輸入層中的原始特征,我們可以認為第二層中的特征是神經網絡通過學習后自己得
出的一系列用于預測輸出變量的新特征。
神經網絡中,單層神經元(無中間層)的計算可用來表示邏輯運算,比如邏輯與(AND)、
邏輯或(OR)。
舉例說明:邏輯與(AND);下圖中左半部分是神經網絡的設計與 output 層表達式,右邊
上部分是 sigmod 函數,下半部分是真值表。
5 樣本的直觀理解
6 多類分類
當我們有不止兩種分類時(也就是𝑦 = 1,2,3 ….),比如以下這種情況,該怎么辦?如果
我們要訓練一個神經網絡算法來識別路人、汽車、摩托車和卡車,在輸出層我們應該有 4 個
值。例如,第一個值為 1 或 0 用于預測是否是行人,第二個值用于判斷是否為汽車。
輸入向量𝑥有三個維度,兩個中間層,輸出層 4 個神經元分別用來表示 4 類,也就是每
一個數據在輸出層都會出現[𝑎 𝑏 𝑐 𝑑]𝑇,且𝑎, 𝑏, 𝑐, 𝑑中僅有一個為 1,表示當前類。下面是該
神經網絡的可能結構示例:
總結
以上是生活随笔為你收集整理的吴恩达机器学习笔记五之神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科学计算:Python VS. MATL
- 下一篇: 科学计算:Python VS. MATL