神經網絡與邏輯迴歸的關係:
邏輯迴歸就是沒有隱含層的神經網絡。
兩個的假設函數都是 h(x) = sigmoid(theta * x)
1.神經網絡:
1.1 爲什麼需要神經網絡
當一個非線性分類,特徵數很大時,使用邏輯迴歸會導致 theta 出現很多高階項,
計算效率下降,才能對訓練集完成擬合。
這時邏輯迴歸分類器就不適用了。
1.2 神經網絡 圖解:
第一列爲輸入層,第二列,第三列是隱含層,h(x)是輸出層。
theta 的帶括號的上標j,是指在神經網絡的第j層到第j+1層的權重
theta 的右下標,兩位數,第一位是目的地神經元,第二位是源頭神經元,反過來了。
1.3 神經網絡 向量化實現(Vectorized Implementation)
把各層都用向量矩陣展現:
a 就是 x
然後就是從第一層輸入,經過與 theta 權重相乘,輸出到下一層,不斷迭代
1.4 神經網絡 代價函數如圖:
其實與邏輯迴歸主題函數相同,多了很多嵌套。
術語:
m — 訓練example的數量
K — 最後一層(輸出層)的神經元的個數,也等於分類數(分K類,K≥3)
L — 神經網絡總共的層數(包括輸入層和輸出層)
Θ(l) — 第l層到第l+1層的權重矩陣
sl — 第l層神經元的個數, 注意i從1開始計數,bias神經元的權重不算在正則項內
sl+1 — 第l+1 層神經元的個數
y(i)k — 第i個訓練exmaple的輸出(長度爲K個向量)的第k個分量值
(hθ(x(i)))k — 對第i個example用神經網絡預測的輸出(長度爲K的向量)的第k個分量值
2. 神經網絡與邏輯迴歸的關係:
theta一維的就是邏輯迴歸
theta是個矩陣的能產生多個輸出,在加上多層的話就是神經網絡