Glassdoor利用龐大的就業(yè)數(shù)據(jù)和員工反饋信息,統(tǒng)計了美國25個最佳職位排行榜,其中,數(shù)據(jù)科學家排名第一。這個工作的重要性可見一斑。毫無疑問,數(shù)據(jù)科學家所做的事情是不斷變化和發(fā)展的。隨著機器學習的普遍應用,數(shù)據(jù)科學家們將繼續(xù)在創(chuàng)新和技術進步浪潮中獨領風騷。
雖然編碼能力很重要,但數(shù)據(jù)科學并不都是研究軟件工程的。他們生活在編碼、統(tǒng)計學和批判性思維的交叉點上。正如數(shù)據(jù)科學家喬?!ね査梗↗osh Wills)所說的:“數(shù)據(jù)科學家是程序員里最好的統(tǒng)計學家,也是統(tǒng)計學家里最好的程序員?!?/p>
我知道,很多軟件工程師想轉(zhuǎn)型數(shù)據(jù)科學家,他們盲目地使用機器學習框架TensorFlow或Apache Spark,而沒有透徹理解背后的統(tǒng)計理論。因此,統(tǒng)計學習從統(tǒng)計學和功能分析的角度出發(fā),提出了機器學習的理論框架。
了解各種技術背后的想法,知道如何以及何時使用它們,這一點非常重要。
首先,要從理解簡單的方法開始,以便把握更復雜的方法。
其次,準確地評估一種方法的性能,了解它的工作效果,也很重要。
此外,統(tǒng)計學習是令人興奮的研究領域,在科學、工業(yè)和金融領域有著重要應用。
最后,統(tǒng)計學習是培養(yǎng)現(xiàn)代數(shù)據(jù)科學家的基本要素。
屬于統(tǒng)計學習領域的問題包括:
確定前列腺癌的危險因素。
根據(jù)對數(shù)周期圖對錄制的音位進行分類。
根據(jù)人口統(tǒng)計、飲食和臨床測量,預測是否有人會發(fā)生心臟病。
自定義垃圾郵件檢測系統(tǒng)。
識別手寫郵政編碼中的數(shù)字。
根據(jù)組織樣本進行癌癥分類。
建立人口調(diào)查數(shù)據(jù)中工資與人口變量之間的關系。
我在大學最后一個學期進行了一項獨立研究,是關于數(shù)據(jù)挖掘的。內(nèi)容涉及三本書:《Intro to Statistical Learning》《Doing Bayesian Data Analysis》和《Time Series Analysis and Applications》。我們做了大量的貝葉斯分析,馬爾可夫鏈蒙特卡羅,分層建模,監(jiān)督和無監(jiān)督學習的練習。這一經(jīng)歷增加了我對數(shù)據(jù)挖掘的興趣,讓我堅定了投身這一領域的信心。
最近,我完成了斯坦福大學Lagunita 統(tǒng)計學習在線課程,該課程涵蓋了《An Introduction to Statistical Learning: with Applications in R》一書中的所有內(nèi)容。它的內(nèi)容是我搞獨立研究時讀過內(nèi)容的兩倍。我想分享本書中的10個統(tǒng)計技術,相信任何數(shù)據(jù)科學家都用得著。
在學習使用這10種技術之前,我想?yún)^(qū)分一下統(tǒng)計學習和機器學習。我之前寫過一篇關于機器學習的文章,廣受歡迎,所以我相信自己有足夠的專業(yè)知識,證明以下內(nèi)容:
機器學習是人工智能的一個子領域。
統(tǒng)計學習是統(tǒng)計學的一個分支。
機器學習更強調(diào)大規(guī)模應用和預測的準確性。
統(tǒng)計學習強調(diào)模型及其可解釋性,精確性和不確定性。
但是這種區(qū)別變得越來越模糊,并且存在很多“交叉領域”。
機器學習在商業(yè)領域占據(jù)上風!
在統(tǒng)計學中,線性回歸是一種通過擬合自變量與因變量之間最佳線性關系,來預測目標變量的方法。過程是給出一個點集,用函數(shù)擬合這個點集,使點集與擬合函數(shù)間的誤差最小。所謂的“最佳”線性關系是指在給定形狀的情況下,沒有其他位置會產(chǎn)生更少的誤差。
線性回歸的兩種主要類型是簡單線性回歸和多元線性回歸 。 簡單線性回歸使用一個獨立變量,通過擬合最佳線性關系來預測因變量。多元線性回歸使用多個獨立變量,通過擬合最佳線性關系來預測因變量。
舉例:任意選擇日常生活中相關的東西,比如,過去三年的月支出、月收入和月旅行次數(shù)?,F(xiàn)在回答以下問題:
我明年的每月支出是多少?
哪個因素(月收入或月旅行次數(shù))在決定我的月支出中更重要?
月收入和月旅行次數(shù)如何和月支出有什么關系?
分類是一種數(shù)據(jù)挖掘技術,它將類別分配給數(shù)據(jù)集合,幫助更準確地預測和分析。分類有時也稱為決策樹,它是用來分析大型數(shù)據(jù)集有效性的方法。兩種主要的分類技術是邏輯回歸和判別分析。
邏輯回歸是當因變量是二元時進行的適當回歸分析。像所有回歸分析一樣,邏輯回歸分析是一種預測分析。邏輯回歸用于描述數(shù)據(jù),并解釋二元因變量與一個或多個描述事物特征的自變量之間的關系。邏輯回歸可以檢驗的問題類型包括:
體重超重后,每增加一磅和每天吸一包煙草,患肺癌的可能性(是vs否)會發(fā)生怎樣的變化?
體重、卡路里攝入量、脂肪攝入量和參與者年齡對心臟病發(fā)作是否有影響?
在判別分析中,有兩個或兩個以上群集是已知的,新的觀測值根據(jù)特征,歸入已知群集。判別分析對類別中X的分布進行建模,然后使用貝葉斯定理轉(zhuǎn)換為對應概率。判別分析包括以下兩種類型。
線性判別分析(LDA):計算每一項觀測結果的“判別分數(shù)”,對其所處的響應變量類別進行分類。這些分數(shù)是通過尋找自變量的線性組合得到的。它假設每類中的觀測結果來自于一個多變量高斯分布,而預測變量的協(xié)方差在響應變量Y的所有k級別都是通用的。
二次判別分析(QDA):提供了一種替代方法。和LDA一樣,QDA假設每一類中Y的觀測結果都來自于高斯分布。然而,與LDA不同,QDA假設每個類別都有自己的協(xié)方差矩陣。換句話說,預測變量在Y中的每個k級別都沒有共同的方差。
重采樣是指從原始數(shù)據(jù)樣本中提取重復樣本的方法。這是一種非參數(shù)的統(tǒng)計推斷方法。換句話說,重采樣不利用通用分布計算近似的p概率值。
重采樣在實際數(shù)據(jù)的基礎上生成一個獨特的抽樣分布。它采用實驗方法,而不是分析方法,產(chǎn)生獨特的抽樣分布。它根據(jù)研究人員所研究的數(shù)據(jù)的所有可能結果的無偏樣本,得出無偏估計。為了理解重采樣的概念,應先了解Bootstrapping (自舉)和交叉驗證兩個術語。
Bootstrapping(自舉)可以幫助你在很多情況下驗證預測模型的性能、集成方法,估計模型的偏差和方差。它通過對原始數(shù)據(jù)進行有放回取樣,進行數(shù)據(jù)采樣,并將“ 未選擇 ”的數(shù)據(jù)點作為測試用例。我們可以多做幾次,計算出平均分,作為模型性能的估值。
交叉驗證是驗證模型性能的一種技術,它把訓練數(shù)據(jù)分成k個部分,以k1部分作為訓練集,其余部分作為測試集。依次重復,重復k次。最后,將k次分數(shù)的平均值作為模型性能的估值。
通常,對于線性模型,普通最小二乘法是擬合數(shù)據(jù)的主要標準。接下來的3種方法,可以為線性模型的擬合提供更好的預測精度和模型可解釋性。
此方法選擇一個我們認為能夠解決問題的預測因子p中的子集,然后,使用子集特征和最小二乘法,擬合一個模型。
最佳子集選擇:我們對每種可能的p預測因子組合進行OLS回歸,然后查看最終的模型擬合。
算法分為2個階段:
(1)擬合所有包含k個預測因子的模型,其中k是模型的最大長度。
(2)使用交叉驗證的預測誤差選擇單個模型。
由于 RSS 和 R^2 隨變量增加而單調(diào)遞增, 所以使用驗證或測試誤差, 且不用訓練誤差來評估模型的擬合情況是很重要的。最好的方法是選擇具有最高R^2和最低 RSS 的模型,交叉驗證。
向前逐步選擇:建一個模型,里面不含預測因子, 然后逐個添加, 直到所有預測因子都在模型中。添加因子的順序是可變的, 根據(jù)不同變量對模型性能提升程度來確定, 添加變量,直到預測因子不能在交叉驗證誤差中改進模型。
向后逐步選擇:將所有預測因子p納入模型,迭代刪除沒有用的預測因子,一次刪一個。
混合方法:遵循向前逐步選擇的方法,但是,在添加新變量之后,還可以去除對模型擬合沒有用的變量。
這種方法適用于所有預測因子p的建模,然而,相對于最小二乘估計,它估計的系數(shù)會趨于零。這種收縮,也就是正則化,有減少方差,防止模型過擬合的作用。根據(jù)執(zhí)行的收縮類型,一些系數(shù)可能被估計為零。因此,該方法也執(zhí)行變量選擇。兩種最著名的縮小系數(shù)的方法是嶺回歸和套索回歸。
嶺回歸類似最小二乘法,不過它通過最小化一個不同的量來估計系數(shù)。像OLS一樣,嶺回歸尋求降低RSS的系數(shù)估計,但是當系數(shù)接近于零時,它們也會有收縮懲罰。這個懲罰的作用是將系數(shù)估計收縮到零。不使用數(shù)學計算,我們就可以知道,嶺回歸會將特征縮小到最小空間。就像主成分分析,嶺回歸將數(shù)據(jù)轉(zhuǎn)換到低維空間,然后收縮系數(shù)空間內(nèi)較低方差的成分,保留較高方差的成分。
嶺回歸至少有一個缺點,它包括最終模型中的所有預測因子p。收縮懲罰將使它們中的許多接近于零,但從未等于零。這對預測的準確性來說不是問題,但它可能使模型難以解釋。
套索回歸則克服了這個缺點,能夠迫使一些系數(shù)歸零,只要s足夠小。由于s= 1會產(chǎn)生正規(guī)的OLS回歸,而當s接近0時,系數(shù)收縮為零。因此,套索回歸也執(zhí)行變量選擇。
降維算法將p 1個系數(shù)的問題簡化為M 1個系數(shù)的簡單問題,其中M < p,這是通過計算變量的M個不同的線性組合或投影得到的。然后,這些M投影被用作預測最小二乘法擬合線性回歸模型的預測因子。該任務的兩種方法是主成分回歸和偏最小二乘法。
主成分回歸(PCR)是從大量變量中導出低維特征集合的方法。數(shù)據(jù)的第一主成分方向是觀測數(shù)據(jù)變化最大的方向。換句話說,第一主成分是最接近擬合數(shù)據(jù)的線,可以適合p個不同的主成分擬合。第二主成分是與第一主成分不相關的變量的線性組合,并且在該約束下有最大方差。其思想是,主成分利用各個互相垂直方向上的數(shù)據(jù)的線性組合,捕捉數(shù)據(jù)中最大的方差。這樣,我們還可以結合相關變量的影響,從可用的數(shù)據(jù)中獲得更多的信息,而在常規(guī)的最小二乘法中,我們必須拋棄一個相關的變量。
PCR方法需要提取X的線性組合,它最能代表預測因子。這些組合(方向)以無監(jiān)督方式提取,因為X對應的Y不能確定主成分的方向。也就是說, Y不監(jiān)督主成分的提取,因此,最能解釋預測因子的方向,對于預測輸出來說不一定是最好的(即使經(jīng)常假設)。
偏最小二乘法(PLS)是PCR的一種替代方法。 與PCR一樣,PLS是 一種 降 維 方法,它首先識別一組新的較小的特征,這些特征是原始特征的線性組合,然后通過最小二乘法擬合一個線性模型,具備新的M個特征。 然而,與PCR不同的是,PLS利用Y變量來識別新的特征。
在統(tǒng)計學中,非線性回歸是回歸分析的一種形式,其中觀測數(shù)據(jù)是由一個函數(shù)建模的,該函數(shù)是模型參數(shù)的非線性組合,并取決于一個或多個自變量。數(shù)據(jù)通過逐次逼近的方法進行擬合。以下是一些處理非線性模型的重要技巧。
階躍函數(shù)的變量是實數(shù),它可以寫成區(qū)間的指示函數(shù)的有限線性組合。非正式地說,一個階躍函數(shù)是一個分段常數(shù)函數(shù),它只有有限的幾個部分。
分段函數(shù)是由多個子函數(shù)定義的函數(shù),每個子函數(shù)應用于主函數(shù)域的某個區(qū)間。分段實際上是一種表達函數(shù)的方式,不是函數(shù)本身的特性,而是附加的限定條件,它可以描述函數(shù)的性質(zhì)。例如,分段多項式函數(shù)是,在每個子域上,函數(shù)都是多項式函數(shù),并且每個多項式都是不同的。
樣條曲線是由多項式定義分段的特殊函數(shù)。在計算機圖形學中,樣條曲線是指一個分段多項式參數(shù)曲線。由于其結構簡單、評估簡單、精度高,以及通過曲線擬合和交互曲線設計近似復雜形狀的能力,樣條曲線是很受歡迎的曲線。
廣義加性模型是一種廣義線性模型,其中線性預測因子線性地依賴于某些預測變量的未知平滑函數(shù),它的作用就是推測這些平滑函數(shù)。
基于樹的方法可以用于回歸和分類問題,包括將預測空間劃分成多個簡單區(qū)域。由于用于分割預測空間的分割規(guī)則集可以在樹中總結,這些類型的方法稱為決策樹方法。下面的方法是幾種不同的樹,可以組合輸出一個單一的共識預測。
Bagging(套袋)是一種減少預測方差的方法,通過從原始數(shù)據(jù)集生成額外的數(shù)據(jù),重復組合,生成訓練數(shù)據(jù)。通過增加訓練集的大小,你不能提高模型的預測力,只是減小方差,將預測精確地調(diào)整到預期結果。
Boost(提升)是一種使用幾種不同模型計算輸出的方法,然后使用加權平均方法計算結果。結合這些方法的優(yōu)點和缺陷,通過改變加權公式,你可以使用不同的模型,為更大范圍的輸入數(shù)據(jù)提供良好的預測力。
隨機森林算法非常類似于Bagging(套袋)。在這里,你可以繪制隨機的自舉樣本。然而,除了自舉樣本之外,你還可以繪制一個隨機的子集,訓練單獨的樹。由于隨機特征選擇,與常規(guī)的Bagging(套袋)相比,每個樹更獨立,這通常會獲取更好的預測性能(由于更好的方差-偏置權衡),而且速度更快,因為每一個樹只從特征子集中學習。
支持向量機是機器學習中有監(jiān)督學習模型下的技術。通俗地說,它涉及尋找分離兩類點集的超平面(二維空間中是線,三維空間中是面,高維空間中是超平面)。本質(zhì)上,這是一個約束最優(yōu)化問題,在約束下間隔最大化,完美地對數(shù)據(jù)進行分類(硬邊界)。
這種“支持”這個超平面的數(shù)據(jù)點被稱為“支持向量”。在上圖中,實心藍色圓和兩個實心正方形是支持向量。對于兩類數(shù)據(jù)不是線性可分的情況,這些點被投射到一個爆炸(高維)空間,線性分離成為可能。涉及多個類的問題可以分解為多個一對一,或一對剩余的二分類問題。
到目前為止,我們只討論了監(jiān)督學習的技術,在這些技術中,數(shù)據(jù)類別是已知的,并且提供給算法的經(jīng)驗是實體和它們所屬的組之間的關系。當不知道數(shù)據(jù)類別時,可以使用另一組技術。在算法學習中,它們被稱為無監(jiān)督,要自己在提供的數(shù)據(jù)中找出模式。聚類是無監(jiān)督學習的一個例子,在這種學習中,不同的數(shù)據(jù)集被集中到一組密切相關的項目中。以下是最廣泛使用的無監(jiān)督學習算法。
主成分分析:通過識別一組具有最大方差且互不相關的特征的線性組合,從而產(chǎn)生數(shù)據(jù)集的低維表示。這種線性降維技術有助于理解無監(jiān)督環(huán)境中變量之間潛在的相互作用。
k-均值聚類:根據(jù)數(shù)據(jù)到集群中心的距離將數(shù)據(jù)劃分成k個不同的集群。
層次聚類:通過創(chuàng)建集群樹構建多層次的集群。
這是對一些基本的統(tǒng)計技術的簡單總結。這些技術可以幫助數(shù)據(jù)科學項目經(jīng)理和主管,更好地了解他們的數(shù)據(jù)科學團隊每天都在做什么。事實上,一些數(shù)據(jù)科學團隊純粹是通過python和R來運行算法的。他們中的大多數(shù)人甚至不需要考慮底層的數(shù)學問題。但是,能夠理解統(tǒng)計分析的基礎,可以讓團隊有更好的方法,對于細節(jié)有更深入的了解,便于操作和進行抽象思維。我希望這個基礎數(shù)據(jù)科學統(tǒng)計指南,能給你帶來不錯的理解方式!
聯(lián)系客服