張帥
(天津財經(jīng)大學(xué),天津 300222)
?
統(tǒng)計學(xué)習(xí)方法概述以及部分分類算法的R實現(xiàn)
張帥
(天津財經(jīng)大學(xué),天津 300222)
首先本文簡單地概述了統(tǒng)計學(xué)習(xí)的一些基本理論,然后對于統(tǒng)計學(xué)習(xí)中一些常見的方法我們探索性地使用了R軟件來進行了實現(xiàn),統(tǒng)計學(xué)習(xí)方法是我們在機器學(xué)習(xí)領(lǐng)域的入門知識,比起其它的機器學(xué)習(xí)方面的書籍和理論,這是更適合初學(xué)者的,統(tǒng)計學(xué)習(xí)方法是機器學(xué)習(xí)領(lǐng)域的一個重要的分支,它是計算機基于數(shù)據(jù)構(gòu)建概率統(tǒng)計模型并用統(tǒng)計模型進行預(yù)測分析的學(xué)科。我們用統(tǒng)計學(xué)習(xí)方法進行預(yù)測分析。書中主要提到了各種不同的分類算法,包括感知機,決策樹,樸素貝葉斯,k近鄰等,本文對統(tǒng)計學(xué)習(xí)方法的基本內(nèi)容進行了概述,并對部分分類算法作了簡單介紹和R軟件的實現(xiàn)。
統(tǒng)計學(xué)習(xí)方法;分類算法;R實現(xiàn)
對象:統(tǒng)計學(xué)習(xí)的對象是數(shù)據(jù)。我們從數(shù)據(jù)中提取特征,抽象出數(shù)據(jù)的模型,從數(shù)據(jù)中發(fā)現(xiàn)知識,利用得到的知識對新的數(shù)據(jù)進行預(yù)測、分析。這就是我們的機器學(xué)習(xí)算法經(jīng)常做的事。然而這一切是有一個前提的,數(shù)據(jù)中存在一定的統(tǒng)計規(guī)律性。這是我們進行機器學(xué)習(xí)、數(shù)據(jù)挖掘的先決條件。倘若數(shù)據(jù)中不存在規(guī)律性,那我們就沒有挖掘、學(xué)習(xí)的必要。當然這個所謂的規(guī)律也有一個特點——我們知道它存在但是很難準確描述或者根本沒法描述出它到底是什么樣的。我們只能用模型來近似表達它。當然這就會牽扯到一些概率統(tǒng)計方面的知識,所以我們在學(xué)習(xí)統(tǒng)計學(xué)習(xí)方法是需要具備一定的概率知識。
方法:這里所說的統(tǒng)計學(xué)習(xí)方法,不單單指某一個模型、某一個學(xué)習(xí)算法。這里的方法指的是一個機器學(xué)習(xí)解決方法。統(tǒng)計學(xué)習(xí)方法可以分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、強化學(xué)習(xí)等類型。主要的兩類是監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。我們在統(tǒng)計學(xué)習(xí)中討論的主要都是監(jiān)督學(xué)習(xí)的問題。監(jiān)督學(xué)習(xí)是統(tǒng)計學(xué)習(xí)極其重要的分支,也是統(tǒng)計學(xué)習(xí)中內(nèi)容最豐富、應(yīng)用最廣泛的部分。
下面給出一些定義:
* 假設(shè)要學(xué)習(xí)的模型為某個函數(shù)空間,將這個空間稱為假設(shè)空間
* 我們應(yīng)用某個準則,從假設(shè)空間中選取一個最優(yōu)的函數(shù) f(x) 作為模型(最優(yōu)的函數(shù)意味著在給定的準則下有最優(yōu)的結(jié)果)
實現(xiàn)統(tǒng)計學(xué)習(xí)方法的步驟:
* 得到數(shù)據(jù)集,并對數(shù)據(jù)進行預(yù)處理
* 確定假設(shè)空間,即確定模型的集合
* 確定模型選擇的準則,即確定模型選擇的策略
* 確定、實現(xiàn)模型最優(yōu)解的求解方法,即確定求解模型的算法
* 得到最優(yōu)模型
* 用得到的模型進行預(yù)測、分析,并評估模型
* 輸入空間:輸入空間是指我們的輸入數(shù)據(jù)的空間,它應(yīng)當包含所有可能出現(xiàn)的輸入數(shù)據(jù)(即使在你暫時給定的輸入數(shù)據(jù)中有些值還沒有出現(xiàn))。我們把一條輸入數(shù)據(jù)稱為一個樣本或?qū)嵗?,通常我們用x來表示輸入數(shù)據(jù)。此處x是一個n維向量。
* 輸出空間:輸出空間取決于預(yù)測任務(wù)。若是分類問題,往往輸出空間是一個離散值的集合,特別的,如果是二分類問題,我們通常有{+1,-1}集合和{1,0}集合。選取其中的哪種視具體情況而定,在實際意義上來說這兩者沒區(qū)別。如果是回歸問題,輸出空間往往是R,即一個實數(shù)空間。對于生成模型,則要復(fù)雜一些,例如決策樹,輸出的就是一棵樹。
* 假設(shè)空間:這個前面有提到,指的是模型的空間?;蛘吒鼜V泛一點的,我們說是從輸入空間到輸出空間的映射的空間。
三要素
對于統(tǒng)計學(xué)習(xí)方法李航先生有個很精煉的描述:
統(tǒng)計學(xué)習(xí)方法=模型+策略+算法
模型:模型是一個抽象概念,同時它又是事物的抽象表示。當然這是比較具體的模型。它是對實物的簡化、縮小化。但是我們說的模型,是對事物本身和事物之間的聯(lián)系的一個描述。通常我們在統(tǒng)計學(xué)習(xí)中所說的模型指的是一個函數(shù)或者是一組函數(shù),以及各種各樣的相關(guān)信息。這些都是數(shù)學(xué)模型。模型描述的是輸入空間到輸出空間的映射。而且模型基本都是有參數(shù)的,拿一個我們最熟悉的模型來說:y=x。它的原型是y=kx+b,它的參數(shù)是:k和b。
我們所謂的學(xué)習(xí),說是學(xué)習(xí)模型,其實真正學(xué)習(xí)的是學(xué)習(xí)模型參數(shù)。在我們通過訓(xùn)練數(shù)據(jù)得到一個假設(shè)空間后,通過訓(xùn)練規(guī)則確定了模型參數(shù),也就確定了一個唯一的最優(yōu)模型。在統(tǒng)計學(xué)習(xí)方法中,模型分為兩類。一種是概率模型,通常由條件概率表示。一種是決策模型,它是非概率模型。
算法:在統(tǒng)計學(xué)習(xí)方法中,我們可以看到,在我們通過思路構(gòu)建出模型,在用我們的策略——求出經(jīng)驗損失后,我們需要去優(yōu)化我們的經(jīng)驗損失函數(shù)。即使得經(jīng)驗損失函數(shù)最小化,來逐步降低我們的訓(xùn)練誤差,使模型逐步逼近真實模型。通常我們在得到期望損失的時候,都會提出一個最優(yōu)化目標,我們的優(yōu)化目標就是最優(yōu)化期望損失。接下來要做的就是求解這個最優(yōu)化問題(在推導(dǎo)過程中一般都會用到最優(yōu)化理論的知識)。很多情況下,我們的問題并沒有解析解。我們無法通過直接解析問題得到一個解的表達式。這時候我們的算法就該幫助我們求解問題。由于計算機的特性——計算速度快、可以并行計算。為了充分發(fā)揮我們計算機的長處,我們的算法通常都具有迭代若干次這一特點。
下面我們介紹一下機器學(xué)習(xí)里面一種簡單并且廣泛使用的分類技術(shù):
決策樹
機器學(xué)習(xí)中,決策樹是一個預(yù)測模型;他代表的是對象屬性與對象值之間的一種映射關(guān)系。樹中每個節(jié)點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值,而每個葉結(jié)點則對應(yīng)從根節(jié)點到該葉節(jié)點所經(jīng)歷的路徑所表示的對象的值。決策樹僅有單一輸出,若欲有復(fù)數(shù)輸出,可以建立獨立的決策樹以處理不同輸出。
我們用R中比較經(jīng)典的數(shù)據(jù)集iris來建立一個決策樹,對于iris這里就不做過多介紹了。
首先我們需要調(diào)用party包中的ctree( )函數(shù),并且將iris數(shù)據(jù)集分為兩部分,70%用于訓(xùn)練,30%用于預(yù)測
代碼如下:
>set.seed(1,2,3,4)
ind<-sample(2,nrow(iris),replace=TRUE,prob=c(0.7,0.3))
traindata<-iris[ind==1,]
testdata<-iris[ind==2,]
2加載party包來建立一個決策樹,并進行預(yù)測。
代碼如下:
myformula<-Species~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width
iris_tree<-ctree(myformula,data=traindata)
table(predict(iris_tree),traindata$Species)
3下一步打印決策樹
代碼如下:
print(iris_tree)
plot(iris_tree)
plot(iris_tree,type=“simple”)
這兩個plot函數(shù)代表分別畫出兩種不一樣的圖
(3)加強風險規(guī)范管理。強化數(shù)據(jù)分析應(yīng)用,推進財產(chǎn)行為稅風險管理,加強信息比對,完善各稅種風險特征庫、管理模型和指標體系,建立財產(chǎn)行為稅風險管理機制,不斷提高風險管理的規(guī)范化水平。
4在測試集上測試決策樹
代碼如下:
testpred<-predict(iris_tree,newdata=testdata)
table(testpred,testdata$Species)
隨機森林
隨機森林,指的是利用多棵樹對樣本進行訓(xùn)練并預(yù)測的一種分類器。該分類器最早由Leo Breiman和Adele Cutler提出。簡單來說,隨機森林就是由多棵CART構(gòu)成的。對于每棵樹,它們使用的訓(xùn)練集是從總的訓(xùn)練集中有放回采樣出來的,這意味著,總的訓(xùn)練集中的有些樣本可能多次出現(xiàn)在一棵樹的訓(xùn)練集中,也可能從未出現(xiàn)在一棵樹的訓(xùn)練集中。在訓(xùn)練每棵樹的節(jié)點時,使用的特征是從所有特征中按照一定比例隨機地無放回的抽取的。
我們?nèi)匀皇褂螟S尾花數(shù)據(jù)集iris,并調(diào)用R中的randomForest()包
代碼如下:
ind<-sample(2,nrow(iris),prob=c(0.7,0.3),replace=TRUE)
trainData<-iris[ind==1,]
testData<-iris[ind==2,]
library(randomForest)
fit<-randomForest(Species~.,data=trainData,ntree=100,proximate=TRUE)
table(predict(fit),trainData$Species)
最后在測試集上進行測試
IrisPred<-predict(fit,newdata=testData)
table(IrisPred,testData$Species)
繪制每一個觀測值被判斷正確的概率
plot(margin(fit,testData$Species))
[1]毛國君等編著.數(shù)據(jù)挖掘原理與算法[M].清華大學(xué)出版社,2005.
[2]李志強,宋曉兵.小樣本統(tǒng)計決策理論,統(tǒng)計學(xué)習(xí)理論[J].統(tǒng)計教育,2005(08).
[3]Michael Steinbach.Introduction to Data Mining.
張帥(1991-),男,漢族,山東濟南人,統(tǒng)計學(xué)碩士,天津財經(jīng)大學(xué)研究生院統(tǒng)計學(xué)專業(yè),研究方向:經(jīng)濟統(tǒng)計。
C31
A
1671-1602(2016)18-0202-02