1.緒論
1.1 多項式曲線擬合
往往可以通過多項式來擬合數據:
y ( x , w ) = w 0 + w 1 x + w 2 x 2 + … + w M x M = ∑ j = 0 M w j x j
y(x, \boldsymbol{w})=w_{0}+w_{1} x+w_{2} x^{2}+\ldots+w_{M} x^{M}=\sum_{j=0}^{M} w_{j} x^{j}
y ( x , w ) = w 0 + w 1 x + w 2 x 2 + … + w M x M = j = 0 ∑ M w j x j
其中M即爲多項式的階數(order),多項式係數w = ( w 0 , w 1 , … , w M ) \boldsymbol{w}=(w_0,w_1,\ldots,w_M) w = ( w 0 , w 1 , … , w M ) 往往通過最小化誤差函數(error function)的方法確定(即最小二乘法),該方法就是最大似然法(Maximum Likelihood)的一種特殊情況(詳見1.2.5)。誤差函數往往就是真實值與擬合值之差的平方和,常稱爲殘差平方和 (residual sum of squares,SSE):
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2
E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left[y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right]^{2}
E ( w ) = 2 1 n = 1 ∑ N [ y ( x n , w ) − t n ] 2
其中係數1 2 \frac{1}{2} 2 1 是爲了之後運算方便加入的。可以看出如果數據集大小隻有10,則多項式到9階(即M=9)就可以確定出一個多項擬合函數經過所有的數據點,即誤差函數爲0。但這樣往往也就過擬合(over-fitting)了,泛化(generalization)能力很低,在這種情況下係數都會很大。
檢驗模型的泛化能力可以通過使用測試集數據的均方根(Root Mean Square, RMS)來檢查。均方根定義如下:
E R M S = 2 E ( w ) / N
E_{RMS}=\sqrt{2E(\boldsymbol{w})/N}
E R M S = 2 E ( w ) / N
E ( w ) E(\boldsymbol{w}) E ( w ) 爲測試集的誤差,N爲測試集大小。對於同一階的多項式擬合模型,隨着訓練集規模的擴大,過擬合現象會降低。但往往訓練集規模都是有限的,有一種控制過擬合現象的技術叫正則化(Regularization)。就是在誤差函數增加一個懲罰項:
E ( w ) = 1 2 ∑ n = 1 N [ y ( x n , w ) − t n ] 2 + λ 2 ∣ ∣ w ∣ ∣ 2
E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left[y\left(x_{n}, \boldsymbol{w}\right)-t_{n}\right]^{2} +
\frac{\lambda}{2}{||\boldsymbol{w}||}^2
E ( w ) = 2 1 n = 1 ∑ N [ y ( x n , w ) − t n ] 2 + 2 λ ∣ ∣ w ∣ ∣ 2
其中∣ ∣ w ∣ ∣ 2 = w T w = w 0 2 + w 1 2 + … + w M 2 {||\boldsymbol{w}||}^2=\boldsymbol{w}^T\boldsymbol{w}=w_0^2 + w_1^2 + \ldots + w_M^2 ∣ ∣ w ∣ ∣ 2 = w T w = w 0 2 + w 1 2 + … + w M 2 ,λ \lambda λ 在0~1之間,控制了正則化項的權重,即λ \lambda λ 越大,過擬合現象就越被抑制。這種技術在統計學中稱爲“收縮”(Shrinkage)。二次正則項的一種特殊情況稱爲“山脊迴歸”(Ridge Regression)。神經網絡中這種方法被稱爲“權值衰減”(Weight Decay)。
1.2 概率論
幾個最重要的概率論的法則:
加和規則(sum rule):p ( X ) = ∑ Y p ( X , Y ) p(X) = \sum_Yp(X,Y) p ( X ) = ∑ Y p ( X , Y )
乘積規則(product rule):p ( X , Y ) = p ( X ∣ Y ) p ( Y ) = p ( Y ∣ X ) p ( X ) p(X,Y) = p(X|Y)p(Y) = p(Y|X)p(X) p ( X , Y ) = p ( X ∣ Y ) p ( Y ) = p ( Y ∣ X ) p ( X )
貝葉斯定理(Bayes’ theorem):
p ( X ∣ Y ) = p ( Y ∣ X ) p ( X ) p ( Y ) = p ( Y ∣ X ) p ( X ) ∑ X p ( Y ∣ X ) p ( X )
p(X|Y) = \frac{p(Y|X)p(X)}{p(Y)} = \frac{p(Y|X)p(X)}{\sum_Xp(Y|X)p(X)}
p ( X ∣ Y ) = p ( Y ) p ( Y ∣ X ) p ( X ) = ∑ X p ( Y ∣ X ) p ( X ) p ( Y ∣ X ) p ( X )
若X,Y互相獨立,則:
p ( X ∣ Y ) = p ( X ) , p ( Y ∣ X ) = p ( Y ) , p ( X , Y ) = p ( X ) p ( Y )
p(X|Y) = p(X) ,\quad p(Y|X) = p(Y) ,\quad p(X,Y) = p(X)p(Y)
p ( X ∣ Y ) = p ( X ) , p ( Y ∣ X ) = p ( Y ) , p ( X , Y ) = p ( X ) p ( Y )
1.2.1 概率密度
對於連續型隨機變量,有幾個最基本也是最重要的定義和性質:
概率密度(probability density)或稱概率質量函數(probability mass function, PMF)p ( x ) p(x) p ( x ) :
p ( x ∈ ( a , b ) ) = ∫ a b p ( x ) d x
p(x \in (a, b))=\int_{a}^{b} p(x) \mathrm{d} x
p ( x ∈ ( a , b ) ) = ∫ a b p ( x ) d x
p ( x ) p(x) p ( x ) 的幾個基本性質:
p ( x ) ≥ 0 , ∫ − ∞ ∞ p ( x ) d x = 1
p(x) \ge 0 ,\quad \int_{-\infty}^{\infty} p(x) \mathrm{d} x=1
p ( x ) ≥ 0 , ∫ − ∞ ∞ p ( x ) d x = 1
p ( x ) p(x) p ( x ) 同樣符合加和規則和乘積規則:
p ( x ) = ∫ p ( x , y ) d y , p ( x , y ) = p ( x ∣ y ) p ( y ) = p ( y ∣ x ) p ( x )
p(x)=\int p(x, y) \mathrm{d} y ,\quad p(x,y) = p(x|y)p(y) = p(y|x)p(x)
p ( x ) = ∫ p ( x , y ) d y , p ( x , y ) = p ( x ∣ y ) p ( y ) = p ( y ∣ x ) p ( x )
累積分佈函數(cumulative distribution function, CDF)或稱概率分佈函數(probability distribution function, PDF)P ( x ) P(x) P ( x ) :
P ( z ) = p ( X ≤ z ) = ∫ − ∞ z p ( x ) d x
P(z) = p(X \le z) = \int_{-\infty}^{z} p(x) \mathrm{d} x
P ( z ) = p ( X ≤ z ) = ∫ − ∞ z p ( x ) d x
隨機變量x的概率密度函數爲p x ( x ) p_x(x) p x ( x ) ,對x進行一次變換x = g ( y ) x=g(y) x = g ( y ) ,對應的隨機變量y的概率密度函數爲p y ( y ) p_y(y) p y ( y ) 。有:
p y ( y ) = p x ( g ( y ) ) ∣ g ′ ( y ) ∣
p_y(y)=p_x(g(y))|g'(y)|
p y ( y ) = p x ( g ( y ) ) ∣ g ′ ( y ) ∣
即如果對隨機變量X進行非線性變化 ,其概率密度取到最大值的位置會發生改變。結合練習1.4可以對此有更好的理解。
1.2.2 期望和協方差
期望的數學定義如下:
E [ f ] = ∑ x p ( x ) f ( x ) = ∫ p ( x ) f ( x ) d x
E[f] = \sum_x p(x)f(x) = \int p(x)f(x) \mathrm{d}x
E [ f ] = x ∑ p ( x ) f ( x ) = ∫ p ( x ) f ( x ) d x
條件期望:
E x [ f ∣ y ] = ∑ x p ( x ∣ y ) f ( x ) = ∫ p ( x ∣ y ) f ( x ) d x
E_x[f|y] = \sum_x p(x|y)f(x) = \int p(x|y)f(x) \mathrm{d}x
E x [ f ∣ y ] = x ∑ p ( x ∣ y ) f ( x ) = ∫ p ( x ∣ y ) f ( x ) d x
方差的數學定義如下:
v a r [ f ] = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ]
\mathrm{var}[f] = E[(f(x) - E[f(x)])^2]
v a r [ f ] = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ]
方差的常用性質:
v a r [ f ] = E [ f ( x ) 2 ] − E [ f ( x ) ] 2
\mathrm{var}[f] = E[f(x)^2] - E[f(x)]^2
v a r [ f ] = E [ f ( x ) 2 ] − E [ f ( x ) ] 2
協方差的數學定義如下:
c o v [ x , y ] = E [ ( x − E [ x ] ) ( y − E [ y ] ) ] = E [ x , y ] − E [ x ] E [ y ]
\mathrm{cov}[x,y] = E[(x - E[x])(y-E[y])] = E[x,y] - E[x]E[y]
c o v [ x , y ] = E [ ( x − E [ x ] ) ( y − E [ y ] ) ] = E [ x , y ] − E [ x ] E [ y ]
x和y相互獨立時,二者協方差爲0。
1.2.3 貝葉斯概率
觀測數據集爲D = { t 1 , t 2 , ⋯ , t N } D=\{t_1,t_2,\cdots,t_N\} D = { t 1 , t 2 , ⋯ , t N } ,一組參數爲w \boldsymbol{w} w ,根據貝葉斯定理有:
p ( w ∣ D ) = p ( D ∣ w ) p ( w ) p ( D )
p(\boldsymbol{w}|D)=\frac{p(D|\boldsymbol{w})p(\boldsymbol{w})}{p(D)}
p ( w ∣ D ) = p ( D ) p ( D ∣ w ) p ( w )
其中p ( w ∣ D ) p(\boldsymbol{w}|D) p ( w ∣ D ) 稱爲後驗概率,用於在觀測到數據集D D D 後估計w \boldsymbol{w} w 的不確定性。對應地,p ( w ) p(\boldsymbol{w}) p ( w ) 則稱先驗概率。p ( D ∣ w ) p(D|\boldsymbol{w}) p ( D ∣ w ) 稱似然函數(Likelihood Function),表示了在不同的參數向量w \boldsymbol{w} w 下觀測到數據集D D D 的可能性。用自然語言描述即爲“先驗概率 正比於 似然函數 * 先驗概率”。
常用的一種估計參數w \boldsymbol{w} w 的方法爲最大似然估計(Maximum Likelihood Estimation, MLE),即尋找一組參數w \boldsymbol{w} w 使得似然函數p ( D ∣ w ) p(D|\boldsymbol{w}) p ( D ∣ w ) 取得最大值,對應於使得觀測到的數據集出現的概率達到最大的參數。
1.2.4 高斯分佈
一元變量的高斯分佈定義:
N ( x ∣ μ , σ 2 ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2
\mathcal{N}(x|\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
N ( x ∣ μ , σ 2 ) = 2 π σ 1 e − 2 σ 2 ( x − μ ) 2
其中μ \mu μ 爲均值或期望,σ 2 \sigma^2 σ 2 爲方差,β = 1 σ 2 \beta = \frac{1}{\sigma^2} β = σ 2 1 ,稱爲精度(Precision)。
對於一個D維的向量x \boldsymbol{x} x ,其高斯分佈的定義:
N ( x ∣ μ , σ ) = 1 ( 2 π ) D / 2 1 ∣ σ ∣ 1 / 2 e − 1 2 ( x − μ ) T σ − 1 ( x − μ )
\mathcal{N}(\boldsymbol{x}|\boldsymbol{\mu}, \boldsymbol{\sigma})=\frac{1}{(2\pi)^{D/2}} \frac{1}{|\boldsymbol{\sigma}|^{1/2}} e^{-\frac{1}{2} (\boldsymbol{x}-\boldsymbol{\mu})^T \boldsymbol{\sigma}^{-1} (\boldsymbol{x}-\boldsymbol{\mu})}
N ( x ∣ μ , σ ) = ( 2 π ) D / 2 1 ∣ σ ∣ 1 / 2 1 e − 2 1 ( x − μ ) T σ − 1 ( x − μ )
其中μ \boldsymbol{\mu} μ 爲D維均值向量,σ \boldsymbol{\sigma} σ 爲協方差矩陣,∣ σ ∣ |\boldsymbol{\sigma}| ∣ σ ∣ 爲協方差矩陣的行列式,σ − 1 \boldsymbol{\sigma}^{-1} σ − 1 爲協方差矩陣的逆矩陣。
對於一個一元變量x的高斯分佈,已經觀察到一個數據集x = { x 1 , x 2 , ⋯ , x n } x=\{x_1,x_2,\cdots,x_n\} x = { x 1 , x 2 , ⋯ , x n } ,則這個數據集的似然函數即爲:
p ( x ∣ μ , σ 2 ) = Π i = 1 n N ( x i ∣ μ , σ 2 )
p(x|\mu,\sigma^2)=\Pi_{i=1}^n \mathcal{N}(x_i|\mu,\sigma^2)
p ( x ∣ μ , σ 2 ) = Π i = 1 n N ( x i ∣ μ , σ 2 )
對似然函數取對數,之後按照最大似然法,可以求得μ \mu μ 和σ 2 \sigma^2 σ 2 的最大似然解:
μ M L = ∑ i = 1 n x i n
\mu_{ML} = \frac{\sum_{i=1}^n x_i}{n}
μ M L = n ∑ i = 1 n x i
σ M L 2 = ∑ i = 1 n ( x i − μ M L ) 2 n
\sigma_{ML}^2 = \frac{\sum_{i=1}^n (x_i - \mu_{ML})^2 }{n}
σ M L 2 = n ∑ i = 1 n ( x i − μ M L ) 2
可以看出方差的最大似然解是有偏差 的,實際應該用樣本方差S 2 = 1 n − 1 ∑ i = 1 n ( x i − μ M L ) 2 S^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \mu_{ML})^2 S 2 = n − 1 1 ∑ i = 1 n ( x i − μ M L ) 2 估計總體方差。
1.2.5 重新考察曲線擬合問題
現在假設1.1中的多項式擬合問題中,y是x的一個多項式線性映射y ( x , w ) y(x,w) y ( x , w ) ,在一個具體的x下目標變量t服從正態分佈,其均值爲y ( x , w ) y(x,w) y ( x , w ) ,即:
p ( t ∣ x , w , β ) = N ( t ∣ y ( x , w ) , β − 1 )
p(t|x, \boldsymbol{w}, \beta) = \mathcal{N}(t | y(x, \boldsymbol{w}), \beta^{-1})
p ( t ∣ x , w , β ) = N ( t ∣ y ( x , w ) , β − 1 )
上述假設等同於假設t等於x的一個多項式擬合值加上一個服從高斯分佈的“噪聲”,即t = y ( x , w ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) t = y(x,w) + \epsilon, \epsilon \sim N(0,\sigma^2) t = y ( x , w ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) 。
按照如上假設,對於一個訓練數據集{ x , t } \{\mathbf{x},\mathbf{t}\} { x , t } ,可以獲知該數據集的似然函數(即聯合概率)爲:
p ( t ∣ x , w , β ) = ∏ n = 1 N N ( t n ∣ y ( x n , w ) , β − 1 )
p(\mathbf{t} | \mathbf{x}, \boldsymbol{w}, \beta)=\prod_{n=1}^{N} \mathcal{N}\left(t_{n} | y\left(x_{n}, \boldsymbol{w}\right), \beta^{-1}\right)
p ( t ∣ x , w , β ) = n = 1 ∏ N N ( t n ∣ y ( x n , w ) , β − 1 )
同樣依照最大化似然函數的思路,可以獲得與最小二乘法一致的參數向量w \boldsymbol{w} w 的解,也可以估計出高斯分佈精度參數β \beta β (即方差的倒數)。進而可以根據估計出的參數獲得目標變量t針對不同x值的條件分佈。
在此向貝葉斯方法更進一步,查看參數向量w \boldsymbol{w} w 的後驗概率分佈。爲了計算後驗概率,先假設參數的先驗概率爲如下的高斯分佈:
p ( w ∣ α ) = N ( w ∣ 0 , α − 1 I ) = ( α 2 π ) M + 1 2 e − α 2 w T w
p(\boldsymbol{w}|\alpha) = \mathcal{N}(\boldsymbol{w} | \boldsymbol{0}, \alpha^{-1} \boldsymbol{I}) = \left( \frac{\alpha}{2\pi} \right)^{\frac{M+1}{2}} e^{-\frac{\alpha}{2} \boldsymbol{w}^T\boldsymbol{w}}
p ( w ∣ α ) = N ( w ∣ 0 , α − 1 I ) = ( 2 π α ) 2 M + 1 e − 2 α w T w
α \alpha α 爲參數先驗分佈的精度(爲一種超參數),M爲多項式的最大階數。則根據貝葉斯定理,可知後驗概率正比於先驗分佈和似然函數的乘積:
p ( w ∣ x , t , α , β ) ∝ p ( t ∣ x , w , β ) p ( w ∣ α )
p(\boldsymbol{w}| \mathbf{x}, \mathbf{t}, \alpha, \beta) \propto p(\mathbf{t} | \mathbf{x}, \boldsymbol{w}, \beta)p(\boldsymbol{w} | \alpha)
p ( w ∣ x , t , α , β ) ∝ p ( t ∣ x , w , β ) p ( w ∣ α )
通過最大化該後驗概率來估計參數向量w \boldsymbol{w} w ,該方法稱爲最大後驗法(Maximum Posterior, MAP)。對該後驗概率取負對數,則可以推知最大化該後驗概率等同於最小化下式:
β 2 ∑ n = 1 N { y ( x n , w ) − t n } 2 + α 2 w T w
\frac{\beta}{2} \sum_{n=1}^{N}\left\{y\left(x_{n}, w\right)-t_{n}\right\}^{2}+\frac{\alpha}{2} w^{T} w
2 β n = 1 ∑ N { y ( x n , w ) − t n } 2 + 2 α w T w
在此可以看到通過MAP方法求得的參數與正則化後的最小二乘法一致,正則化參數即爲λ = α β \lambda = \frac{\alpha}{\beta} λ = β α 。
1.2.6 貝葉斯曲線擬合
機器學習中的問題往往是預測一個新的x的觀測值對應的目標變量t的值。按照上一小節的思路,最大似然法(最大化似然函數)或最大後驗法(最大化後驗概率),都是對參數向量的點估計。可以將估計出的參數向量帶入模型t = y ( x , w ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) t = y(x,w) + \epsilon, \epsilon \sim N(0,\sigma^2) t = y ( x , w ) + ϵ , ϵ ∼ N ( 0 , σ 2 ) 中計算對應的目標向量t。但不管哪種方法估計出的參數向量都是點估計 ,參數向量還是有可能取到其他值,而且會對目標向量的分佈有所影響。因此真正的貝葉斯觀點是在已知的訓練集{ x , t } \{\mathbf{x}, \mathbf{t}\} { x , t } 和要預測的新的x值的條件下,計算目標變量t的條件概率 ,即預測分佈 :
p ( t ∣ x , x , t ) = ∫ p ( t ∣ x , w ) p ( w ∣ x , t ) d w
p(t | x, \mathbf{x}, \mathbf{t})=\int p(t | x, \boldsymbol{w}) p(\boldsymbol{w} | \mathbf{x}, \mathbf{t}) \mathrm{d} \boldsymbol{w}
p ( t ∣ x , x , t ) = ∫ p ( t ∣ x , w ) p ( w ∣ x , t ) d w
該條件分佈也是高斯分佈,3.3節會對其做詳細說明。
1.3 模型選擇
根據上面對多項式擬合的討論就可以看到解決一個問題可以有多種模型,一個模型中也可能會有多種參數。比如最簡單的多項式模型,其多項式階數就是一個很重要的參數。正則化多項式模型中的正則化係數和高斯噪聲模型中的精度。往往可以通過交叉驗證(Cross Validation)方法對模型進行評估。即將數據集分成兩部分,一部分作爲訓練集訓練模型,另一部分作爲測試集對模型進行測試,衡量泛化能力。再通過置換訓練集和測試集反覆進行訓練和測試。從而對模型進行比較。
但往往數據是不夠的,因此有一些信息準則被提出,可以僅通過訓練數據估計模型的準確度。常用的有赤池信息準則(Akaike Information Criterionn, AIC),即在使用最大似然法訓練模型的過程中使用如下量爲模型評分:
l n p ( D ∣ w M L ) − M
\mathrm{ln}p(D|\boldsymbol{w}_{ML}) - M
l n p ( D ∣ w M L ) − M
其中p ( D ∣ w M L ) p(D|\boldsymbol{w}_{ML}) p ( D ∣ w M L ) 即爲似然函數,M爲模型中可調節參數的數量(多項式迴歸中即爲多項式的階數加一)。AIC有個變體爲貝葉斯信息準則(Bayesian Information Criterion, BIC),會在3.4節詳細討論。
1.4 維度災難
上述多項式擬合的例子只有一個輸入變量x,但實際問題往往需要根據更多的輸入變量進行擬合。如有兩個輸入變量x 1 , x 2 x_1,x_2 x 1 , x 2 ,對其進行二階多項式擬合建模就如下:
y ( x , w ) = w 0 + w 1 x 1 + w 2 x 2 + w 11 x 1 2 + w 12 x 1 x 2 + w 21 x 2 x 1 + w 22 x 2 2
y(\boldsymbol{x}, \boldsymbol{w})=w_0 + w_1x_1 + w_2x_2 + w_{11}x_1^2 + w_{12}x_1x_2 + w_{21}x_2x_1 + w_{22}x_2^2
y ( x , w ) = w 0 + w 1 x 1 + w 2 x 2 + w 1 1 x 1 2 + w 1 2 x 1 x 2 + w 2 1 x 2 x 1 + w 2 2 x 2 2
對於D個輸入變量,三階多項式模型爲:
y ( x , w ) = w 0 + ∑ i = 1 D w i x i + ∑ i = 1 D ∑ j = 1 D w i j x i x j + ∑ i = 1 D ∑ j = 1 D ∑ k = 1 D w i j k x i x j x k
y(\boldsymbol{x}, \boldsymbol{w}) = w_0 + \sum_{i=1}^Dw_ix_i + \sum_{i=1}^D\sum_{j=1}^D w_{ij}x_ix_j + \sum_{i=1}^D\sum_{j=1}^D\sum_{k=1}^D w_{ijk}x_ix_jx_k
y ( x , w ) = w 0 + i = 1 ∑ D w i x i + i = 1 ∑ D j = 1 ∑ D w i j x i x j + i = 1 ∑ D j = 1 ∑ D k = 1 ∑ D w i j k x i x j x k
在此就可以看出,隨着輸入變量維度D的增加,和多項式階數M的增加,係數參數w \boldsymbol{w} w 的長度就越來越多,而且其增長速度近似D M D^M D M 。結合練習1.14~1.16,可以通過數學歸納法證明,對於D維輸入向量,建立的M階多項式模型,其係數參數的長度爲:
N ( D , M ) = ( D + M ) ! D ! M !
N(D,M) = \frac{(D+M)!}{D!M!}
N ( D , M ) = D ! M ! ( D + M ) !
總之就是說明隨着維度的增長,模型會越來越笨重,也越來越難解決。並且結合練習1.18~1.20,可以獲知在高維空間中的很多幾何性質與三維空間很不一樣。比如高維空間中球體的體積絕大部分集中在最外面的薄球殼上,高緯高斯分佈的概率密度也同樣如此。這些均被統稱爲維度災難(Curse of Dimensionality)。
1.5 決策論
對於分類問題,最後分類的結果往往對應某個決策。因此決策問題實際上就是統計推斷問題。
1.5.1 最小化錯誤分類率
最常用的思路就是最小化錯誤分類的概率,對於二分類問題,假設x在區域R 1 R_1 R 1 時被分在C 1 C_1 C 1 類,在區域R 2 R_2 R 2 時被分在C 2 C_2 C 2 ,則錯誤分類率爲:
p ( mistake ) = p ( x ∈ R 1 , C 2 ) + p ( x ∈ R 2 , C 1 ) = ∫ R 1 p ( x , C 2 ) d x + ∫ R 2 p ( x , C 1 ) d x
p(\text{mistake}) = p(x \in R_1, C_2) + p(x \in R_2, C_1) = \int_{R_1} p(x, C_2) \mathrm{d}x + \int_{R_2} p(x, C_1) \mathrm{d}x
p ( mistake ) = p ( x ∈ R 1 , C 2 ) + p ( x ∈ R 2 , C 1 ) = ∫ R 1 p ( x , C 2 ) d x + ∫ R 2 p ( x , C 1 ) d x
最小化上式即可獲得對x進行分類的分界點。對於多分類問題,則往往通過最大化正確分類率。如對於將x分類至K個類別,其正確率爲:
p ( correct ) = ∑ i = 1 K p ( x ∈ R i , C i ) = ∑ i = 1 K ∫ R i p ( x , C i ) d x = ∑ i = 1 K ∫ R i p ( C i ∣ x ) p ( x ) d x
p(\text{correct}) = \sum_{i=1}^K p(x \in R_i, C_i) = \sum_{i=1}^K \int_{R_i} p(x, C_i) \mathrm{d}x = \sum_{i=1}^K \int_{R_i} p(C_i | x)p(x) \mathrm{d}x
p ( correct ) = i = 1 ∑ K p ( x ∈ R i , C i ) = i = 1 ∑ K ∫ R i p ( x , C i ) d x = i = 1 ∑ K ∫ R i p ( C i ∣ x ) p ( x ) d x
由上式可以看出最大化正確率,也就等同於最大化後驗概率p ( C i ∣ x ) p(C_i | x) p ( C i ∣ x ) ,即把每個x分到後驗概率最大的類別中,正確率最高。
1.5.2 最小化期望損失
實際問題中,各種錯誤的分類造成的影響不一樣。比如將癌症患者錯分爲正常人,和將正常人錯分爲癌症患者的影響顯然是不一樣的。因此常常通過損失矩陣(loss matrix)來對不同的分類結果給出損失的權重。如對於癌症診斷,可以給出如下的損失矩陣實例,每行代表真實情況,每列代表預測分類情況:
即若實際爲癌症患者,但分類到正常情況,損失爲1000;若實際爲正常人,但卻分類到癌症患者,損失僅爲1。當然,正常分類的話損失均爲0。
據此可以構建損失函數(Loss Function),或稱代價函數(Cost Function):
E [ L ] = ∑ k ∑ j ∫ R j L k j p ( x , C k ) d x = ∑ k ∑ j ∫ R j L k j p ( C k ∣ x ) p ( x ) d x
E[L] = \sum_k \sum_j \int_{Rj} L_{kj}p(x,C_k) \mathrm{d}x = \sum_k \sum_j \int_{Rj} L_{kj}p(C_k | x)p(x) \mathrm{d}x
E [ L ] = k ∑ j ∑ ∫ R j L k j p ( x , C k ) d x = k ∑ j ∑ ∫ R j L k j p ( C k ∣ x ) p ( x ) d x
即加和每種輸入和不同分類的聯合概率p ( x , C k ) p(x,C_k) p ( x , C k ) 與對應損失矩陣中的權重值的乘積,實際上就是損失的加權平均值,稱爲期望損失。最小化期望損失即獲得x的分類界限。實際上也可以轉化爲最小化後驗概率p ( C i ∣ x ) p(C_i | x) p ( C i ∣ x ) 與對應損失權重的乘積。
1.5.3 拒絕選項
即使通過獲取x對應的最大後驗概率p ( C i ∣ x ) p(C_i | x) p ( C i ∣ x ) 獲取x所屬類別,也有可能犯錯。因此可以規定一個閾值θ \theta θ ,當最大的後驗概率也小於該值時,認爲該樣本較難分類,拒絕對其進行分類,留待人工查看。對應不同的閾值,被拒絕的x所在的區域R R R 被稱爲拒絕域(Reject Region)。根據定義也比較容易推知,當θ = 1 \theta = 1 θ = 1 時,所有的樣本都會被拒絕(所有的概率都不會大於1);若有K個類別,則θ < 1 K \theta \lt \frac{1}{K} θ < K 1 時,則沒有樣本會被拒絕(一個類別的後驗概率變小的時候,肯定會有其他某個類別的概率增加)。
1.5.4 推斷和決策
上述方法往往都需要計算後驗概率p ( C i ∣ x ) p(C_i | x) p ( C i ∣ x ) ,則對於分類決策問題,可以分爲三類方法:
根據每個類別確定類條件概率p ( x ∣ C i ) p(x|C_i) p ( x ∣ C i ) ,再根據訓練數據集計算每個類別的先驗概率p ( C i ) p(C_i) p ( C i ) ,最後根據貝葉斯定律計算後驗概率:
p ( C i ∣ x ) = p ( x ∣ C i ) p ( C i ) p ( x )
p(C_i | x) = \frac{p(x|C_i)p(C_i)}{p(x)}
p ( C i ∣ x ) = p ( x ) p ( x ∣ C i ) p ( C i )
該方法稱爲生成式模型(Generative Model)。
直接推斷後驗概率密度p ( C i ∣ x ) p(C_i|x) p ( C i ∣ x ) ,對x進行分類,該方法稱爲判別式模型(Discriminative Model)。
最簡單的方法還是直接訓練出一個函數f ( x ) f(x) f ( x ) ,函數的值對應分類標籤。如對二分類問題,f ( x ) = 0 f(x)=0 f ( x ) = 0 時分類爲C 1 C_1 C 1 ;f ( x ) = 1 f(x)=1 f ( x ) = 1 時分類爲C 2 C_2 C 2 。該函數稱爲判別函數(Discriminant Function)。
小結這三類方法,明顯複雜度和計算量是從上而下依次遞減的,但對應的信息量也一樣依次遞減了。最後一種方法學習的函數直接對應分類結果,但其中的過程也自然成了“黑盒子”。而且在數據和模型發生細微變動時,三類方法需要調整的量也就依次遞增了,最後一個判別函數則需要重新學習。
1.5.5 迴歸問題的損失函數
其實分類問題本質上等同於迴歸問題,只是迴歸的目標值爲離散的(類別)。因此對於迴歸問題,可以採用類似於分類問題中最小化期望損失的思路,定義一個損失函數L ( t , y ( x ) ) L(t, y(\boldsymbol{x})) L ( t , y ( x ) ) ,計算平均損失:
E [ L ] = ∫ ∫ L ( t , y ( x ) ) p ( x , t ) d x d t
E[L] = \int\int L(t, y(\boldsymbol{x})) p(\boldsymbol{x},t) \mathrm{d}x\mathrm{d}t
E [ L ] = ∫ ∫ L ( t , y ( x ) ) p ( x , t ) d x d t
然後最小化該平均損失來確定模型參數。其中最常用的一個損失函數即爲平方損失函數L ( t , y ( x ) ) = [ y ( x ) − t ] 2 L(t, y(\boldsymbol{x})) = [y(\boldsymbol{x})-t]^2 L ( t , y ( x ) ) = [ y ( x ) − t ] 2 。在將損失函數定義爲平方損失函數時,通過最小化平均損失,獲得迴歸函數(Regression Function)y ( x ) y(\boldsymbol{x}) y ( x ) 的最優解爲:
y ( x ) = ∫ t p ( t ∣ x ) d t = E [ t ∣ x ]
y(\boldsymbol{x}) = \int tp(t|\boldsymbol{x}) \mathrm{d}t = E[t|\boldsymbol{x}]
y ( x ) = ∫ t p ( t ∣ x ) d t = E [ t ∣ x ]
E [ t ∣ x ] E[t|\boldsymbol{x}] E [ t ∣ x ] 稱爲條件均值,即在對應的x條件下,目標變量的均值。
平方損失函數有可能獲得的結果並不準確,另一個常用的損失函數稱爲閔可夫斯基損失函數(Minkowski Loss Function),即∣ y ( x − t ) ∣ q |y(\boldsymbol{x} - t)|^q ∣ y ( x − t ) ∣ q 。當q = 2 q=2 q = 2 時,即爲平方損失函數,最優解爲條件均值;當q = 1 q = 1 q = 1 時,最優解是條件中位數;當q → 0 q \rightarrow 0 q → 0 時,最優解爲條件衆數。
1.6 信息論
定義一個事件X的信息量即爲在該事件發生時,讓我們感到的“驚訝程度”。即事件發生的概率越小,信息量越大。在此定義信息熵以衡量事件的信息量。熱力學中,熵表示一個系統的“混亂程度”;信息熵則在統計學角度衡量了一個事件的“不確定性”。一個事件發生的概率越小,也就越不確定,對應的信息熵也就越大。定義信息熵如下:
h ( x ) = − log 2 p ( x )
h(x) = -\log_2 p(x)
h ( x ) = − log 2 p ( x )
根據定義就可以推知信息熵的幾個特點:
信息熵位於0到正無窮:h ( x ) ∈ [ 0 , + ∞ ] h(x) \in [0, +\infty] h ( x ) ∈ [ 0 , + ∞ ] ;
信息熵爲0表示該事件爲必然事件(沒有不確定性);
兩個獨立事件 同時發生的信息熵等於兩個事件信息熵的和:h ( x , y ) = h ( x ) + h ( y ) h(x,y) = h(x) + h(y) h ( x , y ) = h ( x ) + h ( y )
以2作爲對數底時,信息熵的單位是比特(binary digit, bit)。而以自然對數e e e 爲底時,信息熵的單位爲納特(natural digit, nat)。
一個隨機變量X的熵(Entropy),即爲該隨機變量在各個取值下的信息熵的期望:
H [ X ] = − ∑ x p ( x ) log 2 p ( x )
H[X] = - \sum_x p(x)\log_2 p(x)
H [ X ] = − x ∑ p ( x ) log 2 p ( x )
隨機變量的熵則表示了在傳輸該該隨機變量時所需要的平均信息量 。注意傳輸該隨機變量所需的信息量越大,也就表示描述該隨機變量所需要的信息量越多。這往往由於我們對其瞭解得很少,或其自身包含的信息量很少。往往通過自然對數爲底表示信息熵,即:
H [ X ] = − ∑ i p ( x i ) ln p ( x i )
H[X] = - \sum_{i} p(x_i)\ln p(x_i)
H [ X ] = − i ∑ p ( x i ) ln p ( x i )
可以使用拉格朗日乘數法獲知,一個離散型隨機變量的熵取最大值時,所有的p ( x i ) p(x_i) p ( x i ) 相等。即對於離散型隨機變量來說,均勻分佈的熵值最大,其自身包含的信息量最少,因此描述均勻分佈的隨機變量所需要的信息量最大。
對於連續型隨機變量X,把x分爲寬度爲Δ \Delta Δ 的區間,則其熵可以化爲:
H = − ∑ i p ( x i ) Δ ln p ( x i ) − ln Δ
H = - \sum_i p(x_i)\Delta \ln p(x_i) - \ln \Delta
H = − i ∑ p ( x i ) Δ ln p ( x i ) − ln Δ
在Δ → 0 \Delta \rightarrow 0 Δ → 0 時,右側第一項可以轉化爲:
lim Δ → 0 { − ∑ i p ( x i ) Δ ln p ( x i ) } = ∫ p ( x ) ln p ( x ) d x
\lim_{\Delta \rightarrow 0} \left\{ - \sum_i p(x_i)\Delta \ln p(x_i) \right\}
= \int p(x)\ln p(x) \mathrm{d}x
Δ → 0 lim { − i ∑ p ( x i ) Δ ln p ( x i ) } = ∫ p ( x ) ln p ( x ) d x
這被稱爲微分熵(Differential Entropy),是有一個具體值的。不過當Δ → 0 \Delta \rightarrow 0 Δ → 0 時,熵的第二項− ln Δ -\ln \Delta − ln Δ 則趨近於正無窮。這也就對應了一個事實:對於連續型隨機變量,確定其爲某個具體值的概率爲0,往往關注的是其值落在某個區域內的概率。
同樣通過拉格朗日乘數法,可以解得微分熵最大時,連續型隨機變量的概率分佈爲高斯分佈。也就是說對於連續型隨機變量,正態分佈是信息熵最大的。並且正態分佈的微分熵爲:
H [ N ( μ , σ 2 ) ] = 1 2 [ 1 + ln ( 2 π σ 2 ) ]
H[N(\mu, \sigma^2)] = \frac{1}{2} \left[ 1 + \ln(2\pi\sigma^2) \right]
H [ N ( μ , σ 2 ) ] = 2 1 [ 1 + ln ( 2 π σ 2 ) ]
可以看到微分熵與方差σ 2 \sigma^2 σ 2 正相關,這也與直覺一致:分佈越離散的分佈不確定性越高。
在此提出自己的一些理解。根據熱力學第二定律,一個孤立系統的熵是不會減少的。對應地,對於離散型隨機變量,均勻分佈熵值最大;對於連續型隨機變量,高斯分佈熵值最大。因此可以確定這兩種分佈不確定性最大,但也最穩定、最常見。我想這也就是爲什麼古典概型、正態分佈也是最常用的基本假設。當我們對一個隨機變量知道的越少時,我們就對它越不確定,描述它所需的信息量也就越大,熵也就越大。
現在考慮兩個隨機變量X和Y,在隨機變量X取x的條件下,需要確定對應y值所需的附加信息量爲− ln p ( y ∣ x ) -\ln p(y|x) − ln p ( y ∣ x ) ,因此定義條件熵如下:
H [ y ∣ x ] = − ∫ ∫ p ( y , x ) ln p ( y ∣ x ) d x d y
H[y|x] = -\int\int p(y,x) \ln p(y|x) \mathrm{d}x\mathrm{d}y
H [ y ∣ x ] = − ∫ ∫ p ( y , x ) ln p ( y ∣ x ) d x d y
條件熵滿足如下關係:
H [ x , y ] = H [ y ∣ x ] + H [ x ]
H[x,y] = H[y|x] + H[x]
H [ x , y ] = H [ y ∣ x ] + H [ x ]
其中H [ x , y ] H[x,y] H [ x , y ] 是聯合分佈p ( x , y ) p(x,y) p ( x , y ) 的微分熵,H [ x ] H[x] H [ x ] 是邊緣分佈p ( x ) p(x) p ( x ) 的微分熵。這也符合直覺,即x和y共同發生所需要的信息量,是確定x的信息量,加上確定x條件下確定y的信息量。
1.6.1 相對熵和互信息
我們往往通過建模去估計隨機變量的分佈,但估計出的分佈與真實分佈往往存在差異。因此定義真實分佈p ( x ) p(x) p ( x ) 和近似分佈q ( x ) q(x) q ( x ) 之間的相對熵(Relative Entropy)來衡量傳輸該隨機變量X時所需要平均附加的信息量(即二者信息量的差值):
K L ( p ∣ ∣ q ) = − ∫ p ( x ) ln q ( x ) d x − ( − ∫ p ( x ) ln p ( x ) d x ) = − ∫ p ( x ) ln [ q ( x ) p ( x ) ] d x
KL(p||q) = - \int p(x) \ln q(x) \mathrm{d}x - \left( - \int p(x) \ln p(x) \mathrm{d}x \right)
= - \int p(x) \ln \left[ \frac{q(x)}{p(x)} \right] \mathrm{d}x
K L ( p ∣ ∣ q ) = − ∫ p ( x ) ln q ( x ) d x − ( − ∫ p ( x ) ln p ( x ) d x ) = − ∫ p ( x ) ln [ p ( x ) q ( x ) ] d x
該值也稱Kullback-Leibler散度(Kullback-Leibler Divergence),簡稱KL散度。注意該量並不對稱,即K L ( p ∣ ∣ q ) ≠ K L ( q ∣ ∣ p ) KL(p||q) \neq KL(q||p) K L ( p ∣ ∣ q ) = K L ( q ∣ ∣ p ) 。KL散度有如下性質:
K L ( p ∣ ∣ q ) ≥ 0 KL(p||q) \ge 0 K L ( p ∣ ∣ q ) ≥ 0 ;
當且僅當p ( x ) = q ( x ) p(x) = q(x) p ( x ) = q ( x ) 時,K L ( p ∣ ∣ q ) = 0 KL(p||q) = 0 K L ( p ∣ ∣ q ) = 0
KL散度衡量了兩個分佈之間信息量的差值,也就衡量了兩種分佈的不相似程度。因此可以利用KL散度來推斷兩個隨機變量X和Y是否獨立。若X和Y獨立,則有p ( x , y ) = p ( x ) p ( y ) p(x,y) = p(x)p(y) p ( x , y ) = p ( x ) p ( y ) ,聯合概率和概率乘積對應的KL散度爲:
I [ x , y ] = K L ( p ( x , y ) ∣ ∣ p ( x ) p ( y ) ) = − ∫ ∫ p ( x , y ) ln [ p ( x ) p ( y ) p ( x , y ) ] d x d y
I[x,y] = KL(p(x,y) || p(x)p(y))
= - \int\int p(x,y) \ln \left[ \frac{p(x)p(y)}{p(x,y)} \right] \mathrm{d}x\mathrm{d}y
I [ x , y ] = K L ( p ( x , y ) ∣ ∣ p ( x ) p ( y ) ) = − ∫ ∫ p ( x , y ) ln [ p ( x , y ) p ( x ) p ( y ) ] d x d y
這個定義稱爲隨機變量X和Y之間的互信息(Mutual Information)。互信息越小則說明二者獨立程度越高,互信息爲0時表示二者完全相互獨立。互信息和條件熵滿足如下關係:
I [ x , y ] = H [ x ] − H [ x ∣ y ] = H [ y ] − H [ y ∣ x ]
I[x,y] = H[x] - H[x|y] = H[y] - H[y|x]
I [ x , y ] = H [ x ] − H [ x ∣ y ] = H [ y ] − H [ y ∣ x ]
可以看出互信息體現出在已知y的條件下x的不確定性,比不知道y時x的不確定性的減少量;或在已知x的條件下y的不確定性,比不知道x時y的不確定性的減少量。