UA MATH574M 统计学习II 二元分类例子与高维问题
UA MATH574M 統計學習II 二元分類例子與高維問題
- 數值例子
- 高維數據的二分類問題
- Independence Rule
數值例子
用模擬數值做一個二分類的例子。
library(MASS)## generate training sample set.seed(2000) Sigma <- matrix(c(1,0,0,1),2,2) class1 <- mvrnorm(n=100, c(2,1), Sigma) class2 <- mvrnorm(n=100, c(1,2), Sigma)## draw scatterplot to show the two class plot(class1[,1],class1[,2],col="green",pch=0,xlab = "X1",ylab = "X2") points(class2[,1],class2[,2],col="red",pch=4)## generate test sample set.seed(2014) class1_test <- mvrnorm(n=500, c(2,1), Sigma) class2_test <- mvrnorm(n=500, c(1,2), Sigma)
兩組隨機樣本均服從二元Gauss分布,具有相同的協方差矩陣,但均值不同。先把Bayes分類器的邊界算出來。損失函數為
L=C(1,0)I(Y=1,f(X)=0)+C(0,1)I(Y=0,f(X)=1)L=C(1,0)I(Y=1,f(X)=0)+C(0,1)I(Y=0,f(X)=1) L=C(1,0)I(Y=1,f(X)=0)+C(0,1)I(Y=0,f(X)=1)
所以風險函數為
R=E(X,Y)L=EXE(Y∣X)L=EX[C(1,0)P(Y=1│X)I(f(X)=0)+C(0,1)P(Y=0│X)I(f(X)=1)]R=E_{(X,Y)} L=E_X E_{(Y|X)} L \\ =E_X [C(1,0)P(Y=1│X)I(f(X)=0)+C(0,1)P(Y=0│X)I(f(X)=1)] R=E(X,Y)?L=EX?E(Y∣X)?L=EX?[C(1,0)P(Y=1│X)I(f(X)=0)+C(0,1)P(Y=0│X)I(f(X)=1)]
貝葉斯規則要求對于給定的X=xX=xX=x,最小化E(Y∣X)LE_{(Y|X)} LE(Y∣X)?L,可以得
f?(x)=I(C(1,0)P(Y=1│X=x)>C(0,1)P(Y=0│X=x))=I(P(Y=1│X=x)P(Y=0│X=x)>C(0,1)C(1,0))f^* (x)=I(C(1,0)P(Y=1│X=x)>C(0,1)P(Y=0│X=x)) \\ =I\left(\frac{P(Y=1│X=x)}{P(Y=0│X=x)}>\frac{C(0,1)}{C(1,0)}\right) f?(x)=I(C(1,0)P(Y=1│X=x)>C(0,1)P(Y=0│X=x))=I(P(Y=0│X=x)P(Y=1│X=x)?>C(1,0)C(0,1)?)
Bayes分類器的邊界為
P(Y=1│X=x)P(Y=0│X=x)=C(0,1)C(1,0)\frac{P(Y=1│X=x)}{P(Y=0│X=x)}=\frac{C(0,1)}{C(1,0)} P(Y=0│X=x)P(Y=1│X=x)?=C(1,0)C(0,1)?
假設equal cost,在已知這兩類的分布時可以計算
P(Y=1│X=x)P(Y=0│X=x)=g1(x)g0(x)=exp?(?1/2[(x1?2)2+(x2?1)2])exp?(?1/2[(x1?1)2+(x2?2)2])=1?x1=x2\frac{P(Y=1│X=x)}{P(Y=0│X=x)} = \frac{g_1 (x)}{g_0 (x)} = \frac{exp?(-1/2 [(x_1-2)^2+(x_2-1)^2 ])}{exp?(-1/2 [(x_1-1)^2+(x_2-2)^2 ]) }=1 \\ \leftrightarrow x_1 = x_2 P(Y=0│X=x)P(Y=1│X=x)?=g0?(x)g1?(x)?=exp?(?1/2[(x1??1)2+(x2??2)2])exp?(?1/2[(x1??2)2+(x2??1)2])?=1?x1?=x2?
也就是說過原點的四十五度線就是貝葉斯分類器的邊界,
按貝葉斯規則,線下方的應該被劃分為綠點,線上方的應該被劃分為紅點,因此線下方的紅點和線上方的綠點數目除以訓練集樣本數就是0-1損失下的訓練誤差。在測試集中,線下方的紅點和線上方的綠點數目除以訓練集樣本數就是0-1損失下的測試誤差。
現在再考慮上線性分類器
將綠色點標記為0,紅色點標記為1(記為LM1),下面那根藍色的線就是線性分類器的邊界,顯然線性分類器對紅色的點是比較友好的。然而如果將綠色點標記為1,紅色點標記為0(記為LM2):
得到的線性分類器的邊界會與上一種情況平行,但截距更大,對兩種點相對更公平一點。但由此可以看出線性分類器最大的問題在于線性回歸模型會把標記值當成數值變量而不是類型變量,即使只是給兩個類別交換一下label,最后的結果都會有很大不同,但LDA、Logistics回歸是把標記值處理成類型變量的,因此結果不會受標記值影響。下面這段代碼計算LDA和Logistics回歸的訓練誤差與測試誤差
以上模型的訓練誤差與測試誤差為
| 訓練誤差 | 0.215 | 0.265 | 0.220 | 0.220 | 0.215 |
| 測試誤差 | 0.239 | 0.271 | 0.235 | 0.235 | 0.236 |
因為是隨機生成的兩組正態的數據,所以這些模型表現都非常接近。
高維數據的二分類問題
一般一個樣本對應的feature特別多,甚至超過了樣本數,這類數據就是高維數據。高維數據最大的問題在于相同樣本規模,高維數據總是比低維數據更稀疏,除了高維映射本身的復雜性外,數據的稀疏性是造成高維問題難處理的主要原因。可以用一個簡單的例子說明為什么高維情況下數據會更稀疏。
假設從一個ppp維的球心在原點的單位球中隨機選取nnn個點,記RiR_iRi?表示第iii個點到球心的距離。如果x∈Rpx \in \mathbb{R}^px∈Rp表示點坐標,則
f(x1,?,xp)=Γ(1+p2)πp/2f(x_1,\cdots,x_p)=\frac{\Gamma{(1+\frac{p}{2})}}{\pi^{p/2}}f(x1?,?,xp?)=πp/2Γ(1+2p?)?
所以
P(x12+?+xp2≤r)=∫x12+?+xp2≤rf(x1,?,xp)dx1?dxpP(\sqrt{x_1^2 + \cdots + x_p^2}\le r) = \int_{\sqrt{x_1^2 + \cdots + x_p^2}\le r}f(x_1,\cdots,x_p)dx_1\cdots dx_pP(x12?+?+xp2??≤r)=∫x12?+?+xp2??≤r?f(x1?,?,xp?)dx1??dxp?
FR(r)=Γ(1+p2)πp/2∫x12+?+xp2≤rdx1?dxp=rp,r∈[0,1]F_R(r)=\frac{\Gamma{(1+\frac{p}{2})}}{\pi^{p/2}} \int_{\sqrt{x_1^2 + \cdots + x_p^2}\le r}dx_1\cdots dx_p = r^p,r \in [0,1]FR?(r)=πp/2Γ(1+2p?)?∫x12?+?+xp2??≤r?dx1??dxp?=rp,r∈[0,1]
P(R(1)≤r)=1?P(R1>r,?,Rn>r)=1?(1?FR(r))nP(R_{(1)}\le r) =1- P(R_1 > r,\cdots,R_n > r) = 1 - (1-F_R(r))^n P(R(1)?≤r)=1?P(R1?>r,?,Rn?>r)=1?(1?FR?(r))n
FR(1)=1?(1?rp)n,r∈[0,1]F_{R_{(1)}} = 1-(1-r^p)^n,r \in [0,1]FR(1)??=1?(1?rp)n,r∈[0,1]
這個式子是離原點最近的點離原點的距離的分布,可以計算一下它到原點的中位數是
1?(1?rp)n=0.5?r=[1?(12)1n]1p1-(1-r^p)^n=0.5 \Rightarrow r = \left[1-(\frac{1}{2})^{\frac{1}{n}}\right]^{\frac{1}{p}} 1?(1?rp)n=0.5?r=[1?(21?)n1?]p1?
顯然這個值是與ppp成正比的,因為這個是離原點最近的點到原點距離的中位數,所以顯然這個例子說明樣本數目一樣的時候維數越大數據會越稀疏。
高維數據還會帶來計算上的困難,參數的數目是隨維數指數增加的,數據維數越高,模型待估計的參數量就越多。比如在LDA模型中,
ln?P(Y=1∣X=x)P(Y=0∣X=x)=xTβ\ln{\frac{P(Y=1|X=x)}{P(Y=0|X=x)}} = x^T \beta lnP(Y=0∣X=x)P(Y=1∣X=x)?=xTβ
其中
β0=ln?π1π0?12(μ0+μ1)TΣ?1(μ1?μ0)β1=Σ?1(μ1?μ0)β=[β0,β1]T\beta_0 = \ln \frac{\pi_1}{\pi_0} - \frac{1}{2}(\mu_0+\mu_1)^T \Sigma^{-1} (\mu_1-\mu_0) \\ \beta_1 = \Sigma^{-1} (\mu_1-\mu_0) \\ \beta = [\beta_0,\ \beta_1]^T β0?=lnπ0?π1???21?(μ0?+μ1?)TΣ?1(μ1??μ0?)β1?=Σ?1(μ1??μ0?)β=[β0?,?β1?]T
假設樣本數為nnn,特征維數為ddd,當處理的是高維數據時,d>nd>nd>n,Σ\SigmaΣ不是滿秩的矩陣,因此Σ?1\Sigma^{-1}Σ?1不具有唯一性,這個LDA模型無法正常估計。下面這個方法是對LDA的一個簡單改進,使其能適應高維問題。
Independence Rule
一個比較樸素的想法是把協方差矩陣換成可逆的矩陣,最簡單的操作就是假設不同特征是不相關的,也就是用D^=diag(Σ^)\hat{D}=diag(\hat{\Sigma})D^=diag(Σ^)代替協方差矩陣。另外給均值的每個元素加上一個調整參數。
μ^kjIR=(1?rjn)+μ^kj,k=0,1;j=1,?,d\hat{\mu}^{IR}_{kj} = (1-r_{jn}) + \hat{\mu}_{kj},k=0,1;j=1,\cdots,d μ^?kjIR?=(1?rjn?)+μ^?kj?,k=0,1;j=1,?,d
因此LDA的參數估計為
β0=ln?π1π0?12(μ^0IR+μ^1IR)TD^?1(μ^1IR?μ^0IR)β1=D^?1(μ^1IR?μ^0IR)β=[β0,β1]T\beta_0 = \ln \frac{\pi_1}{\pi_0} - \frac{1}{2}(\hat{\mu}^{IR}_0+\hat{\mu}^{IR}_1)^T \hat{D}^{-1} (\hat{\mu}^{IR}_1-\hat{\mu}^{IR}_0) \\ \beta_1 = \hat{D}^{-1}(\hat{\mu}^{IR}_1-\hat{\mu}^{IR}_0) \\ \beta = [\beta_0,\ \beta_1]^T β0?=lnπ0?π1???21?(μ^?0IR?+μ^?1IR?)TD^?1(μ^?1IR??μ^?0IR?)β1?=D^?1(μ^?1IR??μ^?0IR?)β=[β0?,?β1?]T
Bickel and Levina (2004)提出了IR,他們認為這個模型比要考慮特征相關性的模型具有更強的泛化能力。
總結
以上是生活随笔為你收集整理的UA MATH574M 统计学习II 二元分类例子与高维问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UA MATH571B 试验设计IV R
- 下一篇: UA MATH566 统计理论5 假设检