Table of Contents 前言1.貝葉斯法則2.正則化項3.貝葉斯正則化第$I$層貝葉斯框架第$\text{II}$層貝葉斯框架貝葉斯正則化算法步驟參考資料html
前言算法
上一篇:正則化網絡
下一篇:貝葉斯正則化與提早終止法關係app
1.貝葉斯法則框架
貝葉斯法則: P(A|B) = \frac{P(B|A)P(A)}{P(B)}函數
P(A)稱爲先驗機率(反映在已知B以前對事件A的認知);P(A|B)稱爲後驗機率(反映在已知B以後對事件A的認知);P(B|A)是在事件A發生的條件下,事件B發生的條件機率;P(B)是事件的邊緣機率(被用做歸一化因子)性能
貝葉斯法則在於先驗機率,若是它很大,那麼後驗機率也將顯著增大優化
2.正則化項設計
一個包括網絡輸入及其對應目標輸出的訓練樣本集:htm
\left{ p_{1},t_{1} \right},\left{ p_{2},t_{2} \right},\cdots,\left{ p_{n},t_{n} \right}
假設目標輸出經過以下方式生成:
t_{q} = g(p_{q}) + \varepsilon_{q} (13.2)
其中,g()爲某未知函數,\varepsilon_{q}爲一個隨機獨立分佈的零均值噪聲源。咱們的訓練目標是產生一個可以逼近函數g()而且忽略噪聲影響的神經網絡。
神經網絡訓練的標準性能指標是該網絡在訓練集上的偏差平方和:
F(x) = E_{D} = \sum_{q = 1}^{Q}{(t_{q} - a_{q})^{T}}(t_{q} - a_{q})
其中,a_{q}表示輸入爲時網絡的輸出。E_{D}這裏表示訓練數據上的偏差平方和。
修改式,添加一個包含逼近函數(咱們的例子中爲神經網絡)導數的懲罰項(或說爲正則化項),以平滑所獲得的函數。在必定條件下,正則化項能夠寫成網絡權值平方和的形式,如:
F(x) = \beta {E_D} + \alpha {E_w} = \beta \sum\limits_{q = 1}^Q {{{({t_q} - {a_q})}^T}({t_q} - {a_q})} + \alpha \sum\limits_{i = 1}^n {x_i^2}
其中,比率\alpha/\beta用於控制網絡解的有效複雜度。比率越大,網絡響應越平滑。
正則化項本質上是一種先驗信息,整個最優化問題從貝葉斯觀點來看是一種貝葉斯最大後驗估計,其中正則化項對應後驗估計中的先驗信息,損失函數對應後驗估計中的似然函數,二者的乘積即對應貝葉斯最大後驗估計的形式,若是你將這個貝葉斯最大後驗估計的形式取對數,即進行極大似然估計,你就會發現問題立馬變成了損失函數+正則化項的最優化問題形式。
3.貝葉斯正則化
David Mackey將神經網絡的訓練置於貝葉斯框架中,除了選取正則化參數外,它還對訓練過程的不少方面有所幫助。
該貝葉斯分析有兩層:
第I層貝葉斯框架
該貝葉斯框架假設神經網絡的權值爲隨機變量。對於給定的數據集,咱們選取可以最大化權值的條件機率的權值。貝葉斯法則用於計算以下機率函數:
P(x|D,\alpha,\beta,M) = \frac{P(D|x,\beta,M)P(x|\alpha,M)}{P(D|\alpha,\beta,M)}
其中,x是包含網絡全部權值和偏置量;D表示訓練數據集;\alpha和\beta是與密度函數P(D|x,\beta,M)和P(x|\alpha,M)相關的參數;M表示所選取的模型——所選定網絡的結構(即網絡有多少層以及每一層有多少神經元)。
接下來對每一項進行理解:
(1)P(D|x,\beta,M)表示對於給定權值集合x、參數以及網絡模型的狀況下,訓練數據的機率密度。若是假設式(13.2)中的噪聲是相對獨立的且服從高斯分佈,那麼有:
P(D|x,\beta,M) = \frac{1}{Z_{D}(\beta)}\exp( - \beta E_{D}) (13.11)
其中 ,\beta = \frac{1}{2\sigma_{\varepsilon}^{2}},\sigma_{\varepsilon}^{2}是\varepsilon_{q}中每一個元素的方差,E_{D}是式13.3中定義的偏差平方和,Z_{D}(\beta) = (2\pi\sigma_{\varepsilon}^{2})^{N/2} = (\pi/\beta)^{N/2}
其中,N如式12.34同樣取值Q \times S^{M}
式13.11也叫作似然函數,它描述了對於特定的網路權值集合,給定數據集出現的可能性。它能最大化似然函數的權值。當似然函數是高斯函數時,至關於最小化偏差平方和E_{D}。
(2)該項P(x|\alpha,M)稱爲先驗密度,體系哪裏在收集數據前咱們對於網絡權值的瞭解。貝葉斯統計使咱們可以在先驗密度中融合先驗知識。例如,若是假設權值是以0爲中心的較小值,則能夠選擇一個零均值的高斯先驗密度:
P(x|\alpha,M) = \frac{1}{Z_{W}(\beta)}\exp( - \alpha E_{W})
其中 ,\alpha = \frac{1}{2\sigma_{\omega}^{2}},\sigma_{\omega}^{2}是每一個權值的方差,E_{W}是式13.4中定義的偏差平方和,Z_{W}(\alpha) = (2\pi\sigma_{\omega}^{2})^{n/2} = (\pi/\alpha)^{n/2}
其中,是如式12.35所定義的網絡中的權值的偏置量的數量。
(3)P(D|\alpha,\beta,M) 被稱爲證據,它是一個歸一化項,不是x的函數。
(4)根據以前的所作的高斯假設,可使用式13.10將後驗密度重寫爲:
{P(x|D,\alpha,\beta,M) = \frac{\frac{1}{Z_{W}(\alpha)}\frac{1}{Z_{D}(\beta)}\exp( - (\beta E_{D} + \alpha E_{W}))}{歸一化因子}}{\text{} = \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x))}
其中,Z_{F}(\alpha,\beta)是\alpha和\beta的函數,F(x)是在式(13.4)中定義的正則化後的性能指標。爲求權值最可能的取值,咱們須要最大化P(x|D,\alpha,\beta,M)。這至關於最小化正則化性能指標F(x) = \beta E_{D} + \alpha E_{W}。
該框架爲參數提供了𝛼𝛼和𝛽𝛽物理意義:
\alpha和\beta的物理意義:參數與測量偏差的方差成反比。所以,若是噪聲方差越大,那麼值越小,且正則化比率的值越大。這將使得獲得的網絡權值變小,網絡函數變得平滑。爲了平衡噪聲帶來的影響,測量噪聲越大,咱們越要對網絡函數進行平滑。
參數\alpha與網絡權值先驗分佈的方差成反比。若是方差很大,說明方差很大,說明咱們對於網絡權值的取值很不肯定,所以,它們有可能會很是大,那麼參數\alpha將會很小,正則化比率也很小。這將容許網絡權值變大,網絡函數能夠具備更多的變化。網絡權值先驗密度方差越大,網絡函數能夠有的變化就越多。
第\text{II}層貝葉斯框架
要想使用貝葉斯分析來估計\alpha和\beta,咱們須要機率密度P(\alpha,\beta|D,M)。使用貝葉斯法則,重寫爲:
P(\alpha,\beta|D,M) = \frac{P(D|\alpha,\beta,M)P(\alpha,\beta|M)}{P(D|M)}
注意到此時的似然函數就是式13.10中的歸一化因子(證據)。由式13.10可得:
{P(D|\alpha,\beta,M) = \frac{P(D|x,\beta,M)P(x|\alpha,M)}{P(x|D,\alpha,\beta,M)}}\{\text{} = \frac{\left\lbrack \frac{1}{Z_{D}(\beta)}\exp( - \beta E_{D}) \right\rbrack\left\lbrack \frac{1}{Z_{W}(\alpha)}\exp( - \alpha E_{w}) \right\rbrack}{\left\lbrack \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x)) \right\rbrack}}\{\text{} = \frac{Z_{F}(\alpha,\beta)}{Z_{D}(\beta)Z_{W}(\alpha)}\frac{\exp( - \beta E_{D} - \alpha E_{w})}{\exp( - F(x))}}\{\text{} = \frac{Z_{F}(\alpha,\beta)}{Z_{D}(\beta)Z_{W}(\alpha)}} (13.17)
對於未知項Z_{F}(\alpha,\beta)可使用泰勒級數展開來對其估計。
因爲目標函數在極小點附近區域具備二次形式,所以咱們能夠將F(x)在其極小點x^{\text{MP}}(即梯度爲零的點)附近以二階泰勒級數展開。
F(x) \approx F(x^{\text{MP}}) + \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}})
其中, H = \beta\nabla^{2}E_{D} + \alpha\nabla^{2}E_{W}是F(x)的Hessian矩陣,H^{\text{MP}}是Hessian矩陣在x^{\text{MP}}處的估計,將其代入式13.15有:
{P(x|D,\alpha,\beta,M) = \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x))}\{\text{}\ \approx \frac{1}{Z_{F}(\alpha,\beta)}\exp\left\lbrack - F(x^{\text{MP}}) + \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack}\{\text{}\ \approx \left\lbrack \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x^{\text{MP}})) \right\rbrack\exp\left\lbrack \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack} (13.20)
而高斯密度的標準形式爲:
P(x) = \frac{1}{\sqrt{(2\pi)^{n}\left| (H^{\text{MP}})^{- 1} \right|}}\exp\left\lbrack \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack (13.21)
聯立式13.20和式13.21,能夠求得:
Z_{F}(\alpha,\beta) \approx (2\pi)^{\frac{n}{2}}(\det((H^{\text{MP}})^{- 1}))^{\frac{1}{2}}\exp( - F(x^{\text{MP}}))
將其代入式13.17有
P(D|\alpha,\beta,M) = \frac{Z_{F}(\alpha,\beta)}{(\pi/\beta)^{N/2}(\pi/\alpha)^{n/2}}
對其對數中的每一項求導,並使其導數爲0,能夠獲得\alpha,\beta在極小點的最優值。
\alpha^{\text{MP}} = \frac{\gamma}{2E_{W}(x^{\text{MP}})},\beta^{\text{MP}} = \frac{N - \gamma}{2E_{D}(x^{\text{MP}})}
其中,\gamma = n - 2\alpha^{\text{MP}}tr(H^{\text{MP}})^{- 1}稱爲有效參數數量,n表明網絡所有參數數量。\gamma項衡量了神經網絡中多少參數被有效地用於減小偏差函數,其取值範圍爲 (0,n)。
貝葉斯正則化算法步驟
① 初始化\alpha,\beta和權值。隨機初始化權值並計算E_{D}及E_{W}。令\gamma = n,使用式13.23計算\alpha,\beta;
② 執行一步Levenberg-Marquardt算法來最小化目標函數F(x) = \beta E_{D} + \alpha E_{W};
③ 計算有效參數數量\gamma = n - 2\alpha^{\text{MP}}tr(H^{\text{MP}})^{- 1},在Levenberg-Marquardt訓練算法中使用高斯-牛頓法逼近Hessian矩陣是可行的,H = \nabla^{2}F(x) \approx 2\beta J^{T}J + 2\alpha I_{n},其中,J爲訓練集上的偏差的Jocobian矩陣;
④ 計算正則化參數\alpha = \frac{\gamma}{2E_{W}(x^{\text{MP}})}和\beta = \frac{N - \gamma}{2E_{D}(x^{\text{MP}})}新的估計值;
⑤ 迭代計算步驟①到③直至收斂。
請記住:當每一次從新估計正則化參數時,目標函數都將改變,所以,極小點是一直在變化的。若是在性能曲面上移下下一個極小點,那麼正則化參數新的估計值將會更加精確。最終,精度足夠高,使得目標函數在後續迭代中不會有明顯改變。因而,網絡收斂。
參考資料
馬丁 T·哈根,章毅(譯).神經網絡設計.第二版.北京:機械出版社,2017.12