天天看點

當今最火10大統計算法,你用過幾個?

為什麼學習統計學習?了解不同技術背後的理念非常重要,它可以幫助你了解如何使用以及什麼時候使用。同時,準确評估一種方法的性能也非常重要,因為它能告訴我們某種方法在特定問題上的表現。此外,統計學習也是一個很有意思的研究領域,在科學、工業和金融領域都有重要的應用。最後,統計學習是訓練現代資料科學家的基礎組成部分。

統計學習方法的經典研究主題包括:

線性回歸模型

感覺機

k 近鄰法

樸素貝葉斯法

決策樹

Logistic 回歸與最大熵模型

支援向量機

提升方法

EM 算法

隐馬爾可夫模型

條件随機場

之後我将介紹 10 項統計技術,幫助資料科學家更加高效地處理大資料集的統計技術。在此之前,我想先厘清統計學習和機器學習的差別:

機器學習是偏向人工智能的分支。

統計學習方法是偏向統計學的分支。

機器學習更側重大規模應用和預測準确率。

統計學習側重模型及其可解釋性,以及精度和不确定性。

二者之間的差別越來越模糊。

1. 線性回歸

在統計學中,線性回歸通過拟合因變量和自變量之間的最佳線性關系來預測目标變量。最佳拟合通過盡量縮小預測的線性表達式和實際觀察結果間的距離總和來實作。沒有其他位置比該形狀生成的錯誤更少,從這個角度來看,該形狀的拟合是"最佳"。線性回歸的兩個主要類型是簡單線性回歸和多元線性回歸。

簡單線性回歸使用一個自變量通過拟合最佳線性關系來預測因變量的變化情況。

多元線性回歸使用多個自變量通過拟合最佳線性關系來預測因變量的變化趨勢。

當今最火10大統計算法,你用過幾個?

任意選擇兩個日常使用且相關的物體。比如,我有過去三年月支出、月收入和每月旅行次數的資料。現在我需要回答以下問題:

我下一年月支出是多少?

哪個因素(月收入或每月旅行次數)在決定月支出方面更重要?

月收入和每月旅行次數與月支出之間是什麼關系?

2. 分類

分類是一種資料挖掘技術,為資料配置設定類别以幫助進行更準确的預測和分析。分類是一種高效分析大型資料集的方法。

兩種主要的分類技術是:logistic 回歸和判别分析(Discriminant Analysis)。

logistic 回歸是适合在因變量為二進制類别的回歸分析。和所有回歸分析一樣,logistic 回歸是一種預測性分析。logistic 回歸用于描述資料,并解釋二進制因變量和一或多個描述事物特征的自變量之間的關系。logistic 回歸可以檢測的問題類型如下:

體重每超出标準體重一磅或每天每抽一包煙對得肺癌機率(是或否)的影響。

卡路裡攝入、脂肪攝入和年齡對心髒病是否有影響(是或否)?

當今最火10大統計算法,你用過幾個?

在判别分析中,兩個或多個集合和簇等可作為先驗類别,然後根據度量的特征把一個或多個新的觀察結果分類成已知的類别。判别分析對每個對應類中的預測器分布 X 分别進行模組化,然後使用貝葉斯定理将其轉換成根據 X 的值評估對應類别的機率。此類模型可以是線性判别分析(Linear Discriminant Analysis),也可以是二次判别分析(Quadratic Discriminant Analysis)。

線性判别分析(LDA):為每個觀察結果計算“判别值”來對它所處的響應變量類進行分類。這些分值可以通過找到自變量的線性連接配接來獲得。它假設每個類别的觀察結果都從多變量高斯分布中擷取,預測器變量的協方差在響應變量 Y 的所有 k 級别中都很普遍。

二次判别分析(QDA):提供另外一種方法。和 LDA 類似,QDA 假設 Y 每個類别的觀察結果都從高斯分布中擷取。但是,與 LDA 不同的是,QDA 假設每個類别具備自己的協方差矩陣。也就是說,預測器變量在 Y 的所有 k 級别中不是普遍的。

3. 重采樣方法

重采樣方法(Resampling)包括從原始資料樣本中提取重複樣本。這是一種統計推斷的非參數方法。即,重采樣不使用通用分布來逼近地計算機率 p 的值。

重采樣基于實際資料生成一個獨特的采樣分布。它使用經驗性方法,而不是分析方法,來生成該采樣分布。重采樣基于資料所有可能結果的無偏樣本擷取無偏估計。為了了解重采樣的概念,你應該先了解自助法(Bootstrapping)和交叉驗證(Cross-Validation):

當今最火10大統計算法,你用過幾個?

自助法(Bootstrapping)适用于多種情況,如驗證預測性模型的性能、內建方法、偏差估計和模型方差。它通過在原始資料中執行有放回取樣而進行資料采樣,使用"未被選中"的資料點作為測試樣例。我們可以多次執行該操作,然後計算平均值作為模型性能的估計。

交叉驗證用于驗證模型性能,通過将訓練資料分成 k 部分來執行。我們将 k-1 部分作為訓練集,"留出"的部分作為測試集。将該步驟重複 k 次,最後取 k 次分值的平均值作為性能估計。

通常對于線性模型而言,普通最小二乘法是拟合資料時主要的标準。下面 3 個方法可以提供更好的預測準确率和模型可解釋性。

4. 子集選擇

該方法将挑選 p 個預測因子的一個子集,并且我們相信該子集和所需要解決的問題十分相關,然後我們就能使用該子集特征和最小二乘法拟合模型。

當今最火10大統計算法,你用過幾個?

最佳子集的選擇:我們可以為 p 個預測因子的每個組合拟合單獨的 OLS 回歸,然後再考察各模型拟合的情況。該算法分為兩個階段:(1)拟合包含 k 個預測因子的所有模型,其中 k 為模型的最大長度;(2)使用交叉驗證預測損失選擇單個模型。使用驗證或測試誤差十分重要,且不能簡單地使用訓練誤差評估模型的拟合情況,這因為 RSS 和 R^2 随變量的增加而單調遞增。最好的方法就是通過測試集中最高的 R^2 和最低的 RSS 來交叉驗證地選擇模型。

前向逐漸地選擇會考慮 p 個預測因子的一個較小子集。它從不含預測因子的模型開始,逐漸地添加預測因子到模型中,直到所有預測因子都包含在模型。添加預測因子的順序是根據不同變量對模型拟合性能提升的程度來确定的,我們會添加變量直到再沒有預測因子能在交叉驗證誤差中提升模型。

後向逐漸選擇先從模型中所有 p 預測器開始,然後疊代地移除用處最小的預測器,每次移除一個。

混合法遵循前向逐漸方法,但是在添加每個新變量之後,該方法可能還會移除對模型拟合無用的變量。

5. Shrinkage

這種方法涉及到使用所有 p 個預測因子進行模組化,然而,估計預測因子重要性的系數将根據最小二乘誤差向零收縮。這種收縮也稱之為正則化,它旨在減少方差以防止模型的過拟合。由于我們使用不同的收縮方法,有一些變量的估計将歸零。是以這種方法也能執行變量的選擇,将變量收縮為零最常見的技術就是Ridge 回歸和 Lasso 回歸。

當今最火10大統計算法,你用過幾個?

Ridge 回歸非常類似于最小二乘法,隻不過它通過最小化一個稍微不同的數值來估計系數。Ridge 回歸和 OLS 一樣尋求減少 RSS 的系數估計。然而當系數收縮逼近零值時,它們都會對這種收縮進行懲罰。我們不需要數學分析就能看出 Ridge 回歸很擅長于将特征收縮到最小的可能空間中。如主成分分析,Ridge 回歸将資料投影到低維空間,并在系數空間内收縮較低方差的成分而保留有較高方差的成分。

Ridge 回歸至少有一個缺點,它需要包含最終模型所有 p 個預測因子,這主要是因為罰項将會令很多預測因子的系數逼近零,但又一定不會等于零。這對于預測準确度來說通常并不是什麼問題,但卻令模型的結果更難以解釋。Lasso 就克服了這一缺點,因為它在 s 足夠小的時候能迫使一些預測因子的系數歸零。因為 s = 1 将導緻正規的 OLS 回歸,而當 s 逼近 0 時,系數将收縮到零。是以 Lasso 回歸同樣是執行變量選擇的一個好方法。

6. 降維

降維算法将 p+1 個系數的問題簡化為 M+1 個系數的問題,其中 M

當今最火10大統計算法,你用過幾個?

主成分回歸(PCR)可以看成一種從大型變量集合中導出低維特征集合的方法。資料中的第一主成分(first principal component)是指觀察資料沿着這個變量方向的變化最大。換言之,第一主成分是最接近拟合資料的線,總共可以用 p 個不同的主成分拟合。第二主成分是和第一主成分不相關的變量的線性組合,且在該限制下有最大的方差。其主要思想是主成分能在各個互相垂直的方向使用資料的線性組合捕捉到最大的方差。使用這種方法,我們還能結合相關變量的效應從資料中擷取更多的資訊,畢竟在正常的最小二乘法中需要舍棄其中一個相關變量。

上面描述的 PCR 方法需要提取 X 的線性組合,以獲得預測器的最優表征。由于 X 的輸出 Y 不能用于幫助決定主成分方向,這些組合(方向)使用無監督方法提取。即,Y 不能監督主成分的提取,進而無法保證這些方向是預測器的最優表征,也無法保證能獲得最優預測輸出(雖然通常假定如此)。偏最小二乘法(PLS)是一種監督方法,作為 PCR 的代替方法。和 PCR 類似,PLS 也是一種降維方法,它首先提取一個新的較小的特征集合(原始特征的線性組合),然後通過最小二乘法将原來的模型拟合為一個新的具有 M 個特征的線性模型。

7. 非線性模型

在統計學中,非線性回歸屬于一種回歸分析形式,其中,觀測資料使用模型參數的非線性組合的函數(依賴于一個或多個獨立變量)模組化。其使用逐次逼近法拟合資料。下方是幾種處理非線性模型的重要技術。

階梯函數(step function),變量為實數,可以寫成區間的訓示函數的有限線性組合的形式。非正式的解釋是,階梯函數是一種分段常數函數,隻有有限的部分。

分段函數(piecewise function)通過多個子函數定義,每一個子函數被定義在主函數定義域的确定的區間上。分段實際上是一種表示函數的方式,而不是函數自身的特征,但通過額外的限定條件,它可以用于描述函數的本質。例如,一個分段多項式函數是一個在每一個子定義上為多項式的函數,其中每一個多項式都可能是不同的。

當今最火10大統計算法,你用過幾個?

樣條曲線(spline)是一種用多項式分段定義的特殊函數。在計算機圖形學中,樣條曲線是一種分段多項式參數化曲線。由于結構的簡單性、評估的簡易和高精度、通過曲線拟合和互動曲線設計以逼近複雜曲線的能力,樣條曲線很常用。

廣義加性模型(generalized additive model)是一種廣義線性模型,其中線性預測器線性依賴于某些預測器變量的未知平滑函數,其主要作用就是推測這些平滑函數。

8. 基于樹的方法

基于樹的方法可以用于回歸和分類問題,包括将預測器空間分層或分割成幾個簡單區域。由于用于預測器空間的分離規則集合可以總結為一個樹,這類方法被稱為決策樹方法。以下的方法是幾種不同的樹,它們可以組合起來輸出單個一緻的預測。

bagging能減少預測的方差,即通過從原始資料中生成額外的資料(通過組合和重複生成和原始資料大小相同的多段資料)用于訓練。通過增大訓練集無法提高模型的預測能力,隻能減小方差,仔細地調整預測以得到期望的輸出。

boosting是一種計算輸出的方法,即使用多個不同的模型,然後使用權重平均的方法對結果取平均值。我們一般通過改變這些方法所占的權重而結合各方法的優勢,此外,我們還可以使用不同的精細調整獲得對更寬泛輸入資料的預測能力。

當今最火10大統計算法,你用過幾個?

随機森林算法(random forest algorithm)實際上和 bagging 算法很相似,同樣是對訓練集提取随機 bootstrap 樣本。然而,除了 bootstrap 樣本以外,還可以提取特征的随機子集以訓練單個樹;而在 bagging 中,需要給每個樹提供整個特征集。由于特征選擇是随機的,相比正常的 bagging 算法,每個樹之間更加獨立,進而通常能獲得更好的預測性能(得益于更好的方差—偏差權衡)。且計算速度也更快,因為每個樹隻需要學習特征的一個子集。

9. 支援向量機

當今最火10大統計算法,你用過幾個?

支援向量機(SVM)是一種常用的監督學習分類技術。通俗地說,它用于尋找對兩類點集做出最佳分離的超平面(hyperplane,在 2D 空間中是線,在 3D 空間中是面,在高維空間中是超平面。更正式的說法是,一個超平面是一個 n 維空間的 n-1 維子空間)。而支援向量機是保留最大的間隔的分離超平面,是以本質上,它是一個限制最優化問題,其中支援向量機的間隔在限制下被最大化,進而完美地對資料進行分類(硬間隔分類器)。

那些"支援"着超平面的資料點被稱為"支援向量"。在上圖中,填充藍色圓和兩個填充方塊就是支援向量。在兩類資料不是線性可分的例子中,資料點将被投射到一個更高維空間中,使得資料變得線性可分。包含多個類别的資料點的問題可以分解成多個"一對一"(one-versus-one)或"一對剩餘"(one-versus-rest)的二分類問題。

10. 無監督學習

目前為止,我們都隻讨論過監督學習技術,其中資料分類都是已知的,且提供給算法的經驗都是實體和其分類的關系。當資料的分類是未知的時候,就需要使用另一種技術了。它們被稱為無監督的,因為它們需要自己去發現資料中的模式。聚類(clustring)是無監督學習的一種,其中資料将根據相關性被分為多個群集。下方是幾種最常用的無監督學習算法:

當今最火10大統計算法,你用過幾個?

主成分分析:通過保留具備最大方差和互相不相關的特征之間的線性連接配接,而幫助生成資料集的低維表示。該線性降維技術有助于了解無監督學習中的隐變量互動。

k 均值聚類:根據資料到叢集中心的距離将其分成 k 個不同的叢集。

層次聚類:通過資料的層級表示而建構不同的叢集。