≪統計學習精要(The Elements of Statistical Learning)≫課堂筆記(三)
照例文章第一段跑題,先附上個段子(轉載的哦~):
I hate CS people. They don't know linear algebra but want to teach projective geometry. They don't know any probability but want to use graphical models. They don't understand stats at all but still do machine learning like crazy.
喵,最近被問了好幾次machine learning 和statistical learning的區別在哪裏,我覺得大致如上吧。這也是為什麼,對後麵這個詞我的好感稍稍好於前麵那個的原因...科學總是有意義的嘛,不能總是依靠強力亂猜是不是嘛。
免責聲明:以下個人見解部分局限於我個人的見識和思考範圍,不適用於所有場景。請大家棄糟粕取精華,不可一言全信之。
-------------筆記+隨想開始------------
高維空間問題
這一段主要是說大名鼎鼎的"維數災難"。我們都知道有兩個數字決定著OLS中X矩陣的大小,這就是 觀測數目N 和觀測變量的個數p 。一般說來,我們都喜歡N比較大,這樣可以很容易的應用大數定律什麼的。然而對於p,卻是既愛又恨—我們當然喜歡可以觀察到個體的很多個特征,但是所謂"亂花漸欲迷人眼",特征越多噪音也越多,搞不好預測的時候就會有麻煩(關於變量的選擇問題,應該是下一節課的內容。心急的可以先看看我以前的一篇自學筆記)。
為什麼維數增多的時候會麻煩呢?這裏主要是隨著維數增多帶來的高維空間數據稀疏化問題。簡單地說:
- p=1,則單位球(簡化為正值的情況)變為一條[0,1]之間的直線。如果我們有N個點,則在均勻分布的情況下,兩點之間的距離為1/N。其實平均分布和完全隨機分布的兩兩點之間平均距離這個概念大致是等價的,大家可稍微想象一下這個過程。
- p=2,單位球則是邊長為1的正方形,如果還是隻有N個點 ,則兩點之間的平均距離為1N√。換言之,如果我們還想維持兩點之間平均距離為1/N,那麼則需N2個點。
- 以此類題,在p維空間,N個點兩兩之間的平均距離為N−1/p,或者需要Np個點來維持1/N的平均距離。
由此可見,高維空間使得數據變得更加稀疏。這裏有一個重要的定理:N個點在p為單位球內隨機分布,則隨著p的增大,這些點會越來越遠離單位球的中心,轉而往外緣分散。這個定理源於各點距單位球中心距離的中間值計算公式:
d(p,N)=(1−21/N)1/p
當p→∞時,d(p,N)→1。(很顯然,當N變大時,這個距離趨近於0。直觀的理解就是,想象我們有一堆氣體分子,p變大使得空間變大,所以這些分子開始遠離彼此;而N變大意味著有更多氣體分子進來,所以兩兩之間難免更擠一些。看過《三體》的,大概會覺得這個很熟悉的感覺吧...四維空間下的"水滴"再也不完美的無懈可擊,而一張一維的紙片就毀滅了整個地球呢。)
這個距離公式的推導就暫時不寫了,好麻煩...大致是利用了各個點獨立同分布的特性(完全隨機情況下),把median距離變為以1/2概率大於中位數的概率集合公式,再進一步展開為單點距離累乘公式。
比如當p=10, N=500的時候,d(p,N)約為0.52,也就意味著有一半多的點離中心的距離大於1/2。
高維問題為什麼是問題呢?回顧一下K近鄰算法,我們用x的鄰居來代替x,這樣就希望他的鄰居們不要離他太遠。顯然高維空間使得點和點之間越來越遠。所以說,knn更適合小p大N即低維多觀測量的情況,而在高維空間下可能會變得很麻煩。
這樣,statistical learning的主要兩個問題就總結完了:
- 過擬合:為了控製預測誤差,我們要選擇適合的函數類。
- 高維空間:隨著維數的增多,我們麵臨著維數災難。這對很多算法都有波及,主要體現在高維數據稀疏化。
回歸的線性方法
這裏主要是一些linear regression的東西,作為被計量經濟學折磨了這麼多年的孩子,我表示很淡定...此外還加上我們俗稱的generalized linear models,即GLM。一些線性變換而已,無傷大雅。
這裏一定要強調的是,在這裏我們親愛的X居然不是隨機變量!多大的一個坑啊,我就華麗麗的掉下去了還問老師為什麼無偏性不需要假設均值獨立什麼的... X不是隨機變量意味著什麼呢?X是人為設定或者決定的,比如我一天澆200 ml 或者500 ml水,然後看對於植物生長的影響。當時我真的是想"一口老血噴出來",這也太舒服了吧!要知道大多數情況下X也是隨機變量哇,比如身高體重什麼的。如果它不是隨機變量而隻有擾動項是獨立的隨機變量的話,整個計量經濟學怕是要刪掉好多篇幅了呢。我想說的隻有,這群搞statistical learning的好幸福...
X不是隨機變量的時候,為了滿足無偏性的假設,隻需要擾動項不相關且期望方差存在就可以了。期望不為0不要緊,回歸的時候放進去常數項就可以了。
此外,對於任意一個正定陣W,我們都可以直接在回歸方程兩邊乘以W,從而β^=(X′W′WX)−1X′W′Y。也就是說,我們可以給X進行加權處理,加權矩陣W之後可以進行新的OLS估計,且可能會有對應的優良性質。加權最小二乘法我就不在這裏複習了,學過計量的應該很熟悉,比如處理異方差什麼的。
再就是我們可以給β加上一些約束條件,這樣的話最小化問題後麵就可以簡單的使用拉格朗日乘子法來解。
這次的收獲之一就是OLS估計量的計算。在實踐中,我們計算OLS估計值並不是直接使用β^=(X′X)−1X′Y,而是會事先進行QR分解(利用特征值來算)。即,我們把X分解為化為正交(酉)矩陣Q與實(複)上三角矩陣R的乘積。這樣一來,
β^=(X′X)−1X′Y=(R′Q′QR)−1R′Q′Y=R−1(Q′Y)
這樣可解Rβ=Q′Y,計算時候的穩定性比直接求逆矩陣來的好很多,因為計算機必竟有數字長度的限製,各種位數帶來的精度損耗最後會累積到估計量上。
最後就是高斯-馬爾科夫定理,就是我們常說的BLUE估計量。我就直接拷貝這個定理了:
在誤差零均值,同方差,且互不相關的線性回歸模型中,回歸係數的最佳無偏線性估計(BLUE)就是最小方差估計。一般而言,任何回歸係數的線性組合的最佳無偏線性估計就是它的最小方差估計。在這個線性回歸模型中,誤差既不需要假定正態分布,也不需要假定獨立(但是需要不相關這個更弱的條件),還不需要假定同分布
進一步的,如果假設擾動項服從正態分布,比如白噪聲,那麼β^的估計值也服從正態分布,y的預測值也服從正態分布,因此可以直接做一係列基於正態分布的假設檢驗。特別的,在大樣本情況下,就算擾動項不是正態分布,我們也還是可以利用大數定律和中心極限定理...事實上一般也是這麼做的。
本節課到此結束。老師沒有一一推導無偏性最小方差這些性質,我倒是覺得對回歸方法感興趣的還是直接去看計量經濟學吧。這東西水還是蠻深的。
最後更新:2017-04-03 05:46:49