當(dāng)我們?cè)谟?xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)的時(shí)候:
- 建立網(wǎng)絡(luò)的大體框架炮赦,確定幾個(gè)輸入,幾個(gè)隱藏層幾個(gè)單元向叉,幾個(gè)輸出锥腻;
我們通常使用一個(gè)隱藏層;如果不使用一個(gè)隱藏層母谎,我們一般多個(gè)隱藏層的單元也是一樣的瘦黑,隱藏層越多越好,但是計(jì)算量會(huì)變大奇唤;隱藏層的單元數(shù)一般是輸入的兩倍三倍四倍幸斥,只要大于輸入層的單元數(shù),一般都是可以接受的咬扇。
- 訓(xùn)練神經(jīng)網(wǎng)絡(luò)
1). 隨機(jī)初始化權(quán)重甲葬;
2). 前向傳播,計(jì)算出h(x)懈贺,也就是每一個(gè)x對(duì)應(yīng)輸出的y的向量经窖;
3). 用代碼實(shí)現(xiàn)代價(jià)函數(shù)(cost function)J;
4). 反向傳播算法隅居,算出J對(duì)于參數(shù)(權(quán)重)Θ的偏微分钠至;
5). 梯度檢查,把反向傳播計(jì)算得到的偏導(dǎo)值和數(shù)值方法計(jì)算得到的估計(jì)值對(duì)比胎源,確保二者約等。這個(gè)是為了驗(yàn)證我們反向傳播算法計(jì)算得到的結(jié)果是正確的屿脐;驗(yàn)證完成涕蚤,關(guān)閉梯度檢查宪卿。
6). 使用梯度下降或者更高級(jí)的算法和反向傳播算法相結(jié)合,最小化代價(jià)函數(shù)J万栅。
假設(shè)我們的神經(jīng)網(wǎng)絡(luò)有兩個(gè)參數(shù):我們目的就是想讓代價(jià)函數(shù)最小佑钾。