蘭州網站建設多少錢河南做網站優(yōu)化
Fisher信息矩陣與Hessian矩陣:區(qū)別與聯(lián)系全解析
在統(tǒng)計學和機器學習中,Fisher信息矩陣(FIM)和Hessian矩陣是兩個經常出現的概念,它們都與“二階信息”有關,常用來描述函數的曲率或參數的敏感性。你可能聽說過,Fisher信息矩陣可以定義為對數似然函數二階導數的負期望值,看起來很像Hessian矩陣的某種形式。那么,這兩者到底有什么區(qū)別,又有哪些聯(lián)系呢?今天我們就來一探究竟。
Fisher信息矩陣是什么?
Fisher信息矩陣是統(tǒng)計學中的一個核心工具,用來衡量概率分布 ( p ( x ∣ θ ) p(x|\theta) p(x∣θ) ) 中包含的參數 ( θ \theta θ ) 的信息量。它有兩種等價定義:
-
基于得分函數(Score Function):
I ( θ ) i j = E [ ? log ? p ( x ∣ θ ) ? θ i ? log ? p ( x ∣ θ ) ? θ j ∣ θ ] I(\theta)_{ij} = E\left[ \frac{\partial \log p(x|\theta)}{\partial \theta_i} \frac{\partial \log p(x|\theta)}{\partial \theta_j} \bigg| \theta \right] I(θ)ij?=E[?θi??logp(x∣θ)??θj??logp(x∣θ)? ?θ]
這是得分函數的協(xié)方差,反映了參數變化引起的似然波動。 -
基于二階導數:
I ( θ ) i j = ? E [ ? 2 log ? p ( x ∣ θ ) ? θ i ? θ j ∣ θ ] I(\theta)_{ij} = -E\left[ \frac{\partial^2 \log p(x|\theta)}{\partial \theta_i \partial \theta_j} \bigg| \theta \right] I(θ)ij?=?E[?θi??θj??2logp(x∣θ)? ?θ]
這是對數似然函數二階偏導數的負期望值。
這兩種定義在正則條件下(比如可微性和積分交換性)是等價的,我們稍后會證明。
通俗理解
Fisher信息矩陣像一個“信息探測器”,告訴你通過數據能了解多少關于 ( θ \theta θ ) 的知識。它是期望值,代表分布的平均特性。
Hessian矩陣是什么?
Hessian矩陣則是一個更廣義的概念,出現在數學和優(yōu)化領域。對于任意函數 ( f ( θ ) f(\theta) f(θ) ),Hessian矩陣 ( H ( θ ) H(\theta) H(θ) ) 定義為:
H ( θ ) i j = ? 2 f ( θ ) ? θ i ? θ j H(\theta)_{ij} = \frac{\partial^2 f(\theta)}{\partial \theta_i \partial \theta_j} H(θ)ij?=?θi??θj??2f(θ)?
在統(tǒng)計學或機器學習中,如果 ( f ( θ ) = ? log ? p ( x ∣ θ ) f(\theta) = -\log p(x|\theta) f(θ)=?logp(x∣θ) )(負對數似然,作為損失函數),Hessian就是:
H ( θ ) i j = ? ? 2 log ? p ( x ∣ θ ) ? θ i ? θ j H(\theta)_{ij} = -\frac{\partial^2 \log p(x|\theta)}{\partial \theta_i \partial \theta_j} H(θ)ij?=??θi??θj??2logp(x∣θ)?
注意,這里的Hessian是一個具體的數據函數,依賴于觀測值 ( x x x )。
通俗理解
Hessian矩陣像一張“曲率地圖”,告訴你函數在某一點的凹凸性或變化速度。在優(yōu)化中(如牛頓法),它直接用來調整步長。
Fisher信息矩陣與Hessian的聯(lián)系
從定義上看,Fisher信息矩陣和Hessian矩陣似乎很像,尤其是Fisher的二階導數定義:
I ( θ ) i j = ? E [ ? 2 log ? p ( x ∣ θ ) ? θ i ? θ j ∣ θ ] I(\theta)_{ij} = -E\left[ \frac{\partial^2 \log p(x|\theta)}{\partial \theta_i \partial \theta_j} \bigg| \theta \right] I(θ)ij?=?E[?θi??θj??2logp(x∣θ)? ?θ]
而Hessian是:
H ( θ ) i j = ? ? 2 log ? p ( x ∣ θ ) ? θ i ? θ j H(\theta)_{ij} = -\frac{\partial^2 \log p(x|\theta)}{\partial \theta_i \partial \theta_j} H(θ)ij?=??θi??θj??2logp(x∣θ)?
它們的聯(lián)系顯而易見:Fisher信息矩陣是Hessian矩陣在真實參數 ( θ \theta θ ) 下的期望值。換句話說,Fisher取了Hessian的平均,抹去了單個數據的隨機性,反映了分布的整體特性。
證明兩種定義的等價性
為什么 ( I ( θ ) i j = E [ s i s j ] = ? E [ ? 2 log ? p ? θ i ? θ j ] I(\theta)_{ij} = E\left[ s_i s_j \right] = -E\left[ \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} \right] I(θ)ij?=E[si?sj?]=?E[?θi??θj??2logp?] )?我們來推導一下:
得分函數 ( s i = ? log ? p ? θ i s_i = \frac{\partial \log p}{\partial \theta_i} si?=?θi??logp? ),其二階導數為:
? s i ? θ j = ? 2 log ? p ? θ i ? θ j \frac{\partial s_i}{\partial \theta_j} = \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} ?θj??si??=?θi??θj??2logp?
計算得分函數的協(xié)方差:
I ( θ ) i j = E [ s i s j ] I(\theta)_{ij} = E[s_i s_j] I(θ)ij?=E[si?sj?]
考慮 ( E [ s i ] = 0 E[s_i] = 0 E[si?]=0 )(得分函數期望為零,請參考筆者的另一篇博客:統(tǒng)計學中的得分函數(Score Function)是什么?它和Fisher信息矩陣有什么關系?),我們對 ( s i s_i si? ) 求偏導的期望:
E [ ? s i ? θ j ] = E [ ? 2 log ? p ? θ i ? θ j ] E\left[ \frac{\partial s_i}{\partial \theta_j} \right] = E\left[ \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} \right] E[?θj??si??]=E[?θi??θj??2logp?]
另一方面:
? s i ? θ j = ? ? θ j ( 1 p ? p ? θ i ) = ? 1 p 2 ? p ? θ j ? p ? θ i + 1 p ? 2 p ? θ i ? θ j \frac{\partial s_i}{\partial \theta_j} = \frac{\partial}{\partial \theta_j} \left( \frac{1}{p} \frac{\partial p}{\partial \theta_i} \right) = -\frac{1}{p^2} \frac{\partial p}{\partial \theta_j} \frac{\partial p}{\partial \theta_i} + \frac{1}{p} \frac{\partial^2 p}{\partial \theta_i \partial \theta_j} ?θj??si??=?θj???(p1??θi??p?)=?p21??θj??p??θi??p?+p1??θi??θj??2p?
= ? s i s j + ? 2 log ? p ? θ i ? θ j = -s_i s_j + \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} =?si?sj?+?θi??θj??2logp?
取期望:
E [ ? 2 log ? p ? θ i ? θ j ] = E [ s i s j ] + E [ ? s i ? θ j ] E\left[ \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} \right] = E[s_i s_j] + E\left[ \frac{\partial s_i}{\partial \theta_j} \right] E[?θi??θj??2logp?]=E[si?sj?]+E[?θj??si??]
由于 ( E [ s i ] = 0 E[s_i] = 0 E[si?]=0 ),且在正則條件下可以交換積分和導數:
E [ ? s i ? θ j ] = ? ? θ j E [ s i ] = 0 E\left[ \frac{\partial s_i}{\partial \theta_j} \right] = \frac{\partial}{\partial \theta_j} E[s_i] = 0 E[?θj??si??]=?θj???E[si?]=0
所以:
E [ ? 2 log ? p ? θ i ? θ j ] = E [ s i s j ] E\left[ \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} \right] = E[s_i s_j] E[?θi??θj??2logp?]=E[si?sj?]
取負號:
I ( θ ) i j = E [ s i s j ] = ? E [ ? 2 log ? p ? θ i ? θ j ] I(\theta)_{ij} = E[s_i s_j] = -E\left[ \frac{\partial^2 \log p}{\partial \theta_i \partial \theta_j} \right] I(θ)ij?=E[si?sj?]=?E[?θi??θj??2logp?]
這證明了兩種定義的等價性。
Fisher信息矩陣與Hessian的區(qū)別
盡管有聯(lián)系,兩者在使用和性質上有顯著差別:
1. 定義基礎
- Fisher信息矩陣:基于概率分布 ( p ( x ∣ θ ) p(x|\theta) p(x∣θ) ),是期望值,反映分布的統(tǒng)計特性。
- Hessian矩陣:基于具體函數(比如 ( ? log ? p ( x ∣ θ ) -\log p(x|\theta) ?logp(x∣θ) )),依賴特定數據 ( x x x ),是瞬時值。
2. 隨機性
- Fisher:取了期望,消除了數據的隨機波動,是理論上的平均曲率。
- Hessian:直接計算某次觀測的二階導數,受數據噪聲影響,可能不穩(wěn)定。
3. 應用場景
- Fisher:用于統(tǒng)計推斷,比如Cramér-Rao下界,衡量參數估計的理論精度。
- Hessian:用于優(yōu)化算法(如牛頓法),直接處理損失函數的局部曲率。
4. 計算復雜度
- Fisher:需要知道分布并計算期望,理論上精確但實踐中常需近似(如K-FAC)。
- Hessian:只需對具體數據求二階導數,但在大規(guī)模模型中計算和存儲成本高。
舉例:正態(tài)分布
對于 ( x ~ N ( μ , σ 2 ) x \sim N(\mu, \sigma^2) x~N(μ,σ2) ):
-
Fisher:
I μ μ = ? E [ ? 1 σ 2 ] = 1 σ 2 I_{\mu\mu} = -E\left[ -\frac{1}{\sigma^2} \right] = \frac{1}{\sigma^2} Iμμ?=?E[?σ21?]=σ21?
(二階導數為常數,期望不變) -
Hessian:
H μ μ = ? ? 2 log ? p ? μ 2 = 1 σ 2 H_{\mu\mu} = -\frac{\partial^2 \log p}{\partial \mu^2} = \frac{1}{\sigma^2} Hμμ?=??μ2?2logp?=σ21?
(對于單次觀測,值固定)
這里兩者相等,但如果數據有噪聲或分布復雜,Hessian會波動,而Fisher保持穩(wěn)定。
實際中的聯(lián)系與應用
1. 大樣本近似
在最大似然估計(MLE)中,當樣本量很大時,Hessian矩陣的平均值趨近于Fisher信息矩陣:
1 n ∑ i = 1 n H ( θ ; x i ) ≈ I ( θ ) \frac{1}{n} \sum_{i=1}^n H(\theta; x_i) \approx I(\theta) n1?i=1∑n?H(θ;xi?)≈I(θ)
這為參數估計的協(xié)方差提供了近似:( Cov ( θ ^ ) ≈ I ( θ ) ? 1 \text{Cov}(\hat{\theta}) \approx I(\theta)^{-1} Cov(θ^)≈I(θ)?1 )。
2. 優(yōu)化中的融合
- 牛頓法:直接用Hessian調整步長,但計算昂貴。
- 自然梯度下降:用Fisher信息代替Hessian,結合統(tǒng)計特性,效率更高。
- 折中方案:如K-FAC,用Fisher的近似加速Hessian類優(yōu)化。
3. 參數正交性
Fisher的非對角元素 ( I i j = 0 I_{ij} = 0 Iij?=0 ) 表示參數正交,而Hessian的非對角元素反映具體數據的參數耦合。Fisher提供理論指導,Hessian提供實踐反饋。
總結
Fisher信息矩陣和Hessian矩陣是一對“親戚”:Fisher是Hessian的期望版本,前者關注分布的統(tǒng)計信息,后者關注具體數據的曲率。它們在統(tǒng)計推斷和優(yōu)化中各有側重,但在理論和實踐中常常相輔相成。理解它們的區(qū)別與聯(lián)系,能幫助我們在模型設計和訓練中更靈活地選擇工具——是追求理論精度,還是優(yōu)化實際收斂?答案就在這兩者之中。
后記
2025年2月24日23點00分于上海,在Grok3大模型輔助下完成。