入門| 從線性回歸到無監督學習,數據科學家需要掌握的十大統計技術

2020-12-05 機器之心Pro

選自KDnuggets

作者:James Le

機器之心編譯

參與:路雪、劉曉坤、蔣思源

「數據科學家比程式設計師擅長統計,比統計學家擅長編程。」本文介紹了數據科學家需要掌握的十大統計技術,包括線性回歸、分類、重採樣、降維、無監督學習等。

不管你對數據科學持什麼態度,都不可能忽略分析、組織和梳理數據的重要性。Glassdoor 網站根據大量僱主和員工的反饋數據製作了「美國最好的 25 個職位」榜單,其中第一名就是數據科學家。儘管排名已經頂尖了,但數據科學家的工作內容一定不會就此止步。隨著深度學習等技術越來越普遍、深度學習等熱門領域越來越受到研究者和工程師以及僱傭他們的企業的關注,數據科學家繼續走在創新和技術進步的前沿。

儘管具備強大的編程能力非常重要,但數據科學不全關於軟體工程(實際上,只要熟悉 Python 就足以滿足編程的需求)。數據科學家需要同時具備編程、統計學和批判思維能力。正如 Josh Wills 所說:「數據科學家比程式設計師擅長統計學,比統計學家擅長編程。」我自己認識很多軟體工程師希望轉型成為數據科學家,但是他們盲目地使用 TensorFlow 或 Apache Spark 等機器學習框架處理數據,而沒有全面理解其背後的統計學理論知識。因此他們需要系統地研究統計機器學習,該學科脫胎於統計學和泛函分析,並結合了資訊理論、最優化理論和線性代數等多門學科。

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

線性回歸模型

感知機

k 近鄰法

樸素貝葉斯法

決策樹

Logistic 回歸於最大熵模型

支持向量機

提升方法

EM 算法

隱馬爾可夫模型

條件隨機場

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

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

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

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

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

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

1. 線性回歸

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

簡單線性回歸使用一個自變量通過擬合最佳線性關係來預測因變量的變化情況。多元線性回歸使用多個自變量通過擬合最佳線性關係來預測因變量的變化趨勢。

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

我下一年月支出是多少?

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

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

2. 分類

分類是一種數據挖掘技術,為數據分配類別以幫助進行更準確的預測和分析。分類是一種高效分析大型數據集的方法,兩種主要的分類技術是:logistic 回歸和判別分析(Discriminant Analysis)。

logistic 回歸是適合在因變量為二元類別的回歸分析。和所有回歸分析一樣,logistic 回歸是一種預測性分析。logistic 回歸用於描述數據,並解釋二元因變量和一或多個描述事物特徵的自變量之間的關係。logistic 回歸可以檢測的問題類型如下:

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

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

在判別分析中,兩個或多個集合和簇等可作為先驗類別,然後根據度量的特徵把一個或多個新的觀察結果分類成已知的類別。判別分析對每個對應類中的預測器分布 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):

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

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

通常對於線性模型而言,普通最小二乘法是擬合數據時主要的標準。下面 3 個方法可以提供更好的預測準確率和模型可解釋性。

4. 子集選擇

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

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

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

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

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

5. Shrinkage

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

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

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

6. 降維

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

。算法執行包括計算變量的>

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

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

7. 非線性模型

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

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

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

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

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

8. 基於樹的方法

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

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

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

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

9. 支持向量機

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

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

10. 無監督學習

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

主成分分析:通過保留具備最大方差和互相不相關的特徵之間的線性連接,而幫助生成數據集的低維表示。該線性降維技術有助於理解無監督學習中的隱變量交互。

k 均值聚類:根據數據到集群中心的距離將其分成 k 個不同的集群。

層次聚類:通過數據的層級表示而構建不同的集群。

本文為機器之心編譯, 轉載請聯繫本公眾號獲得授權 。

------------------------------------------------

加入機器之心(全職記者/實習生):hr@jiqizhixin.com

投稿或尋求報導:content@jiqizhixin.com

廣告&商務合作:bd@jiqizhixin.com

相關焦點

  • 數據科學家需要掌握的10個基本統計技術
    隨著機器學習等技術變得越來越普遍,深度學習等新興領域對研究人員和工程師的需求得到了巨大的推動,數據科學家們在創新和技術進步的浪潮中再次嶄露頭角。編碼能力強大是很重要的,但數據科學並不專職於軟體工程(事實上,對Python很熟悉就足夠了)。數據科學家生活在編碼、統計學和批判性思維的交叉點上。
  • 李航《統計學習方法》第二版上線,6 年耕耘增加無監督學習
    統計學習即機器學習,是計算機及其應用領域的一門重要學科。此前,李航老師完成的《統計學習方法》是了解機器學習最好的教材之一,該書從 2005 年開始寫作一直到 2012 年完成,包含了眾多主要的監督學習算法與模型。最近,《統計學習方法》第二版正式發布,通過 6 年時間的努力,在第一版的基礎上又增加了無監督學習的主要算法與模型。
  • 如果你想轉型數據科學家,可能要掌握這幾個統計學技術
    Glassdoor利用龐大的就業數據和員工反饋信息,統計了美國25個最佳職位排行榜,其中,數據科學家排名第一。這個工作的重要性可見一斑。毫無疑問,數據科學家所做的事情是不斷變化和發展的。隨著機器學習的普遍應用,數據科學家們將繼續在創新和技術進步浪潮中獨領風騷。雖然編碼能力很重要,但數據科學並不都是研究軟體工程的。他們生活在編碼、統計學和批判性思維的交叉點上。
  • 線性回歸分析詳解10(完結篇):線性回歸分析預測的十大步驟
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第10章,這是本專欄的最後一章,是專欄的完結篇:用線性回歸分析做預測,多元線性回歸分析預測的十大步驟。本章,我將詳細講解用多元線性回歸分析進行需求預測的十大步驟:數據收集、數據清洗、列出所有的變量、確定納入回歸方程的自變量、確定並消除多重共線性、求解多元線性回歸方程、確認回歸方程的精度、顯著性驗證、計算置信區間、正式預測。一、數據收集。我們做統計,進行數據分析,首先的,都是需要有數據。有數據才能統計,有數據才能進行數據分析。
  • 成為偉大的數據科學家需要掌握的基本數學
    現代數據科學的幾乎所有技術,包括機器學習,都有深厚的數學基礎。毫無疑問,想要成為一個頂級的數據科學家,需要在各個方面都具有優勢如編程能力、一定的商業智慧、以及獨特的分析能力等。但了解「引擎蓋下的機械原理」總是有好處的。對算法背後的數學機制有一個深入的理解,將使你在同行中具有優勢。
  • 想入門機器學習?機器之心為你準備了一份中文資源合集
    機器學習主要需要的數學基礎就是微積分、線性代數、概率論,我們感覺只需要掌握大學中常見的高數、線性代數、概率論與數理統計三門課程,基本上概念的理解就沒什麼問題了。如果再學一點數值計算和最優化等,我們基本上就能理解機器學習的學習過程推導。機器學習方法建議(面向初學者)特徵工程開始機器學習的第一步是理解如何評估和改進數據集的質量。
  • 【技術必備】解讀 2016 年十大機器學習算法及其應用
    這篇文章,我想分享一些我所學到的、最常見的機器學習算法。 我從這個課程中學到了很多,並決定繼續學習這一專業內容。不久前,我在舊金山聽了幾個關於深度學習、神經網絡、數據架構方面的技術演講,包括在一個機器學習大會上和很多領域知名專家一起。最重要的是,我六月份註冊了Udacity 的機器學習入門的在線課程,近期已經完成了。
  • 數據科學家成長指南:從入門到被逼瘋
    可是你確定想好要成為一名數據科學家了嗎?你知道成為一名DS,需要具備什麼技能嗎?那就請準備好,下面我們要開車了! 你可能已經從媒體鋪天蓋地的報導中,了解到數據科學家這個抬頭非常火。根據UiPath數據顯示,2018年12113個崗位爭奪AI人才,數據科學家需求量排名第二。
  • SPSS統計分析案例:一元線性回歸
    二統計按鈕參數設置默認勾選回歸係數的【估算值】,要求SPSS軟體為我們輸出回歸係數,也就是模型中的參數b,同時默認勾選【模型模擬】,要求軟體幫助我們建議回歸模型是否具有統計學意義。以上這兩個參數是線性回歸分析必選設置,不能忽略不計。在此基礎上,我們可以根據實際需要選擇其他參數。
  • 機器學習十大算法都是何方神聖?
    通過這門課程我學到了很多知識,在將來我還要繼續學習。最近幾周,我有幸在舊金山的舉辦的機器學習大會上與眾多機器學習大牛交談,我和他們聊了很多關於深度學習、神經網絡、數據結構的內容。此外,我還在網上選修了一門機器學習入門課程,正巧剛剛修完。在接下來內容中,我將和大家分享我在這門課程中所學到的機器學習常用算法。機器學習算法分為三類:有監督學習、無監督學習、增強學習。
  • 入門機器學習之線性回歸
    若求解回歸方程.分別代入x1,x2,…xk的數值,預n 測y的值。第二,「因子分析」。因子分析是根據回歸分析結果,得出各個自變量對目標變量產生的影響,因此,需要求出各個自變量的影響程度。希望初學者在閱讀接下來的文章之前,首先學習一元回歸分析、相關分析、多元回歸分析、數量化理論等知識。
  • 小白學數據:教你用Python實現簡單監督學習算法
    監督學習作為運用最廣泛的機器學習方法,一直以來都是從數據挖掘信息的重要手段。即便是在無監督學習興起的近日,監督學習也依舊是入門機器學習的鑰匙。這篇監督學習教程適用於剛入門機器學習的小白。當然了,如果你已經熟練掌握監督學習,也不妨快速瀏覽這篇教程,檢驗一下自己的理解程度~什麼是監督學習?
  • 資源| 自學數據科學&機器學習?19個數學和統計學公開課推薦
    這門課並不需要你提前掌握一些統計學知識,現開放註冊。預備知識:無3.中等數學與統計學這個時候,你應該已經知道了一個數據科學家需要知道的所有基礎概念。是時候把你的數學知識提升到下一個級別了。1.然後,你會學習 Frequentist 和貝葉斯方法的統計推斷、選擇最優分布的方法、離散數據的模型以及連續數據的貝葉斯分析。上此課程需要之前需要掌握統計概念的知識,課程開始於 2017 年 1 月 16 日。預備知識:基礎與高級統計學2.
  • 數據科學家必會10個統計分析方法
    著名求職網站Glassdoor根據龐大的就業數據和員工反饋信息,將數據科學家排名為美國最佳的25個工作之首。雖然名頭不小,但毫無疑問,數據科學家所做的具體工作是不斷發展變化的。隨著機器學習等技術越來越普及,像深度學習這樣的新興領域在研究人員、工程師以及聘用他們的公司中成為新寵,數據科學家們將繼續在創新浪潮和技術進步中嶄露頭角。
  • 線性回歸:簡單線性回歸詳解
    【導讀】本文是一篇專門介紹線性回歸的技術文章,討論了機器學習中線性回歸的技術細節。線性回歸核心思想是獲得最能夠擬合數據的直線。
  • 新手如何快速入門數據分析?
    如果你的自學能力很強,那麼你可以參考網上的推薦書籍,自己拿起書本,找些案例開始學習。如果你需要前輩的指導,那麼你可以按照CDA數據分析研究院的老師推薦的學習方法來學習數據分析:首先,數據分析師需要三個方面的能力:技術(編程),數據分析方法,行業知識。
  • 入門| 貝葉斯線性回歸方法的解釋和優點
    本文對比了頻率線性回歸和貝葉斯線性回歸兩種方法,並對後者進行了詳細的介紹,分析了貝葉斯線性回歸的優點和直觀特徵。我認為貝葉斯學派和頻率學派之間的紛爭是「可遠觀而不可褻玩」的學術爭論之一。與其熱衷於站隊,我認為同時學習這兩種統計推斷方法並且將它們應用到恰當的場景之下會更加富有成效。
  • 深入淺出:如何從0開始學習大數據挖掘分析?
    很多人認為數據挖掘需要掌握複雜高深的算法,需要掌握技術開發,才能把數據挖掘分析做好,實際上並非這樣。1、分類問題用戶流失率、促銷活動響應、評估用戶度都屬於數據挖掘的分類問題,我們需要掌握分類的特點,知道什麼是有監督學習,掌握常見的分類方法:決策樹、貝葉斯、KNN、支持向量機、神經網絡和邏輯回歸等。
  • 一文教你全面掌握用Python實現線性回歸
    全文共4968字,預計學習時長15分鐘或更長本文旨在為讀者理解和應用線性回歸時提供參考。雖然線性回歸算法很簡單,但是只有少數人能真正理解其基本原則。本文首先會深入挖掘線性回歸理論,理解其內在的工作機制,然後利用Python實現該算法,為商業問題建模。理論線性回歸或許是學習統計學最簡單的方法。在學習更高級的方法之前,這是一個很好的入門方法。
  • 數據分析入門學習指南,零基礎小白都能輕鬆看懂
    這裡我們需要從基礎的統計理論(描述性統計、區間估計、假設檢驗等)出發,到基本的統計分析(T 檢驗、方差分析等),最後到商業常用的模型(回歸分析、方差分析等),學習數據分析背後的邏輯,掌握實用統計學的概念和會利用統計的思維去思考問題。