假設神經網絡的訓練樣本有𝑚個,每個包含一組輸入𝑥和一組輸出信號𝑦,𝐿表示神經網
絡層數,𝑆𝐼表示每層的neuron 個數(𝑆𝑙表示輸出層神經元個數),𝑆𝐿代表最后一層中處理單元
的個數。
將神經網絡的分類定義為兩種情況:二類分類和多類分類,
二類分類:𝑆𝐿 = 0, 𝑦 = 0 𝑜𝑟 1表示哪一類;
𝐾類分類:𝑆𝐿 = 𝑘, 𝑦𝑖 = 1表示分到第i 類;(𝑘 > 2)
我們回顧邏輯回歸問題中我們的代價函數為:
在邏輯回歸中,我們只有一個輸出變量,又稱標量(scalar),也只有一個因變量𝑦,但
是在神經網絡中,我們可以有很多輸出變量,我們的ℎ𝜃(𝑥)是一個維度為𝐾的向量,並且我們
訓練集中的因變量也是同樣維度的一個向量,因此我們的代價函數會比邏輯回歸更加復雜一
些,為:
這個看起來復雜很多的代價函數背后的思想還是一樣的,我們希望通過代價函數來觀察
算法預測的結果與真實情況的誤差有多大,唯一不同的是,對於每一行特征,我們都會給出
𝐾個預測,基本上我們可以利用循環,對每一行特征都預測𝐾個不同結果,然后在利用循環
在𝐾個預測中選擇可能性最高的一個,將其與𝑦中的實際數據進行比較。
正則化的那一項只是排除了每一層𝜃0后,每一層的𝜃 矩陣的和。最里層的循環𝑗循環所
有的行(由𝑠𝑙 +1 層的激活單元數決定),循環𝑖則循環所有的列,由該層(𝑠𝑙層)的激活單
元數所決定。即:ℎ𝜃 (𝑥)與真實值之間的距離為每個樣本-每個類輸出的加和,對參數進行
regularization 的bias 項處理所有參數的平方和。