閱讀筆記(3) 單層網絡:回歸(下)
該筆記是DataWhale組隊學習計劃(共度AI新圣經:深度學習基礎與概念)的Task03
以下內容為個人理解,可能存在不準確或疏漏之處,請以教材為主。
1. 為什么書上要提到決策理論?
在剛看到這小節內容的時候很懵,為什么突然蹦出來“決策理論”這一小節?這部分主要是為了回答一個關鍵問題:在已知條件概率分布 p ( t ∣ x ) p(t|x) p(t∣x) 的前提下,如何做出最優的預測決策?
書中將回歸任務建模為 條件概率分布 p ( t ∣ x ) p(t|x) p(t∣x),這是一種概率建模視角,即:
-
我們不再直接預測一個確定的輸出值 t t t,而是預測一個關于 t t t 的概率分布(知道了分布,要進行預測就簡單了)。
-
這個分布我們通常假設為高斯分布:
p ( t ∣ x ) = N ( t ∣ y ( x , w ) , σ 2 ) p(t | x) = \mathcal{N}(t \mid y(x, w), \sigma^2) p(t∣x)=N(t∣y(x,w),σ2)
其中均值 y ( x , w ) y(x, w) y(x,w) 是由模型參數決定的預測函數,方差 σ 2 \sigma^2 σ2 則表示噪聲水平(之前提到過的)。
雖然我們得到了這個分布,但實際應用中往往需要輸出一個具體的數值(,這就引出了一個問題:
我們應該從分布 p ( t ∣ x ) p(t|x) p(t∣x) 中選擇哪一個值作為最終的預測值?
這個問題本質上涉及到損失函數的設計和風險最小化原則,而決策理論就是在已知預測分布的前提下,回答:“我應該做出什么樣的具體決策才能最小化預期損失?”
明白了這一點,再去看書上的內容就更容易理解了。這一小節的核心目的就是說明:在給定損失函數的前提下,如何從分布中選擇一個最優的預測值。
2. 書中式(4.35)到式(4.36)的推導過程
個人推導,可能會有誤,歡迎指出。(其實這部分推導并不是特別重要,重點在于理解式(4.37)的結論)
我們要解決的是這樣一個問題:
在所有可能的函數 f ( x ) f(x) f(x) 中,哪個函數能使如下期望損失最小?
E [ L ] = ? ( f ( x ) ? t ) 2 p ( x , t ) d x d t \mathbb{E}[L] = \iint \left( f(x) - t \right)^2 p(x, t) dx dt E[L]=?(f(x)?t)2p(x,t)dxdt
這是一個典型的泛函優化問題,即我們要找一個函數 f ( x ) f(x) f(x),使得某個“關于函數的函數”取極小值。這類問題需要用到變分法。
推導步驟如下:
引入擾動函數:設 f ? ( x ) = f ( x ) + ? η ( x ) f_\epsilon(x) = f(x) + \epsilon \eta(x) f??(x)=f(x)+?η(x),其中:
- η ( x ) \eta(x) η(x) 是任意光滑函數(擾動函數)
- ? \epsilon ? 是一個小參數(標量)
將擾動函數代入期望損失中:
E [ L ? ] = ? ( f ( x ) + ? η ( x ) ? t ) 2 p ( x , t ) d x d t \mathbb{E}[L_\epsilon] = \iint \left( f(x) + \epsilon \eta(x) - t \right)^2 p(x, t) dx dt E[L??]=?(f(x)+?η(x)?t)2p(x,t)dxdt
對 ? \epsilon ? 求導并令其為0:
d d ? E [ L ? ] ∣ ? = 0 = ? 2 ( f ( x ) ? t ) η ( x ) p ( x , t ) d x d t \frac{d}{d\epsilon} \mathbb{E}[L_\epsilon] \Big|_{\epsilon=0} = \iint 2(f(x) - t)\eta(x) p(x, t) dx dt d?d?E[L??] ??=0?=?2(f(x)?t)η(x)p(x,t)dxdt
交換積分順序:
= ∫ η ( x ) [ ∫ 2 ( f ( x ) ? t ) p ( x , t ) d t ] d x = \int \eta(x) \left[ \int 2(f(x) - t)p(x, t) dt \right] dx =∫η(x)[∫2(f(x)?t)p(x,t)dt]dx
因為上式必須對任意擾動函數 η ( x ) \eta(x) η(x) 成立,所以括號內的部分必須恒等于0:
∫ 2 ( f ( x ) ? t ) p ( x , t ) d t = 0 \int 2(f(x) - t)p(x, t) dt = 0 ∫2(f(x)?t)p(x,t)dt=0
這就是書中的式(4.36)。
3. 偏差-方差分解的理解
書中講的內容涉及了很多額外的知識點,這里試著用自己的語言解釋一下我對偏差-方差分解的理解。僅供參考
我們現在要分析的是一個回歸模型的預測性能。假設:真實的目標函數為 h ( x ) h(x) h(x),即理想情況下我們希望模型學到的函數;模型通過訓練數據集 D \mathcal{D} D 學到的函數為 f ( x ; D ) f(x; \mathcal{D}) f(x;D),它是依賴于具體數據集的隨機變量;數據集是從某個分布中采樣得到的,因此 f ( x ; D ) f(x; \mathcal{D}) f(x;D) 是一個隨機函數;使用平方損失衡量誤差:
L = ( f ( x ; D ) ? t ) 2 L = (f(x; \mathcal{D}) - t)^2 L=(f(x;D)?t)2
我們關心的是,在固定輸入 x x x 下,模型預測值與真實值之間的平均誤差,即:
E D , t ∣ x [ ( f ( x ; D ) ? t ) 2 ] \mathbb{E}_{\mathcal{D}, t|x} \left[ (f(x; \mathcal{D}) - t)^2 \right] ED,t∣x?[(f(x;D)?t)2]
這是模型在該點 x x x 的“期望預測誤差”。
我們可以把模型預測拆成兩個部分:
f ( x ; D ) = E D [ f ( x ; D ) ] ? 平均預測值 + ( f ( x ; D ) ? E D [ f ( x ; D ) ] ) ? 偏離平均的部分 f(x; \mathcal{D}) = \underbrace{\mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})]}_{\text{平均預測值}} + \underbrace{(f(x; \mathcal{D}) - \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})])}_{\text{偏離平均的部分}} f(x;D)=平均預測值 ED?[f(x;D)]??+偏離平均的部分 (f(x;D)?ED?[f(x;D)])??
于是有:
f ( x ; D ) ? h ( x ) = ( f ( x ; D ) ? E D [ f ( x ; D ) ] ) + ( E D [ f ( x ; D ) ] ? h ( x ) ) f(x; \mathcal{D}) - h(x) = \left( f(x; \mathcal{D}) - \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] \right) + \left( \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] - h(x) \right) f(x;D)?h(x)=(f(x;D)?ED?[f(x;D)])+(ED?[f(x;D)]?h(x))
兩邊平方得:
( f ( x ; D ) ? h ( x ) ) 2 = ( f ( x ; D ) ? E D [ f ( x ; D ) ] ) 2 + ( E D [ f ( x ; D ) ] ? h ( x ) ) 2 + 2 ? ( f ( x ; D ) ? E D [ f ( x ; D ) ] ) ? ( E D [ f ( x ; D ) ] ? h ( x ) ) + (f(x; \mathcal{D}) - h(x))^2 = \left( f(x; \mathcal{D}) - \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] \right)^2 + \left( \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] - h(x) \right)^2 + 2 \cdot \left( f(x; \mathcal{D}) - \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] \right) \cdot \left( \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] - h(x) \right)+ (f(x;D)?h(x))2=(f(x;D)?ED?[f(x;D)])2+(ED?[f(x;D)]?h(x))2+2?(f(x;D)?ED?[f(x;D)])?(ED?[f(x;D)]?h(x))+
對所有可能的訓練集 D \mathcal{D} D 取期望后,最后一項消失(因為期望為0),最終得到:
E D [ ( f ( x ; D ) ? h ( x ) ) 2 ] = ( E D [ f ( x ; D ) ] ? h ( x ) ) 2 ? 偏差項?(Bias) 2 + E D [ ( f ( x ; D ) ? E D [ f ( x ; D ) ] ) 2 ] ? 方差項?(Variance) \mathbb{E}_{\mathcal{D}} \left[ (f(x; \mathcal{D}) - h(x))^2 \right] = \underbrace{(\mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})] - h(x))^2}_{\text{偏差項 (Bias)}^2} + \underbrace{\mathbb{E}_{\mathcal{D}} \left[ (f(x; \mathcal{D}) - \mathbb{E}_{\mathcal{D}}[f(x; \mathcal{D})])^2 \right]}_{\text{方差項 (Variance)}} ED?[(f(x;D)?h(x))2]=偏差項?(Bias)2 (ED?[f(x;D)]?h(x))2??+方差項?(Variance) ED?[(f(x;D)?ED?[f(x;D)])2]??