資料統計學習的5個基本流程
統計學、大資料應用很廣泛,常常被提及!統計學習也有一定的規律流程,下面我們大聖眾包小編分享一位朋友關於統計學習流程步驟的看法,看看他怎麼說。
統計學習現在市面上談論到的資料探勘基本上都是基於統計學習的監督學習或非監督學習問題。尤其以監督學習應用面更廣。
統計學習的一般流程
得到一個有限的資料集合
確定所有的學習模型集合
確定模型選擇的準則,就是學習的策略
實現求解最優模型的演算法並通過學習方法選擇最優模型
利用學習得到的最優模型對新資料進行分析或預測
步驟一:得到一個有限的資料集合
涉及到以下多個流程:
1、資料的採集
2、原始資料的格式化、標準化
3、原始去噪,去掉錯誤的值(而不是誤差值,這裡又涉及到一個複雜的問題,如何界定錯誤資料)
4、預處理(針對具體需要研究的問題、抽取相應地特徵組成需要研究的資料集合)
步驟二:確定所有的學習模型集合
這個問題取決於我們選擇怎麼樣的學習方法。常見得學習方法有:
1、感知機模型
2、k近鄰法
3、樸素貝葉斯法
4、決策樹
5、邏輯斯諦迴歸和最大熵模型
6、支援向量機
7、提升方法AdaBoost
8、EM演算法
9、隱馬爾可夫模型
10、條件隨機場
而且這些演算法還可以進行變異、組合然後形成新的演算法模型。也是通常認為中資料探勘比較核心的部分。
步驟三:確定模型選擇的策略
一般來說,當你確定了你的學習方法後,在學習的過程中會產生很多個模型。而如何在這些模型中間挑選最優的模型,成為了我們亟待解決的問題。
一般衡量一個模型的優秀程度我們使用兩個指標:
1、擬合能力
2、泛化能力
擬合能力
表示模型的計算結果和實際結果的相差程度,我們一般使用風險函式來衡量。而風險函式是損失函式的期望。所以我們其實是使用損失函式來衡量一個模型的期望。
常見的損失函式:
1、0-1損失函式
2、平分損失函式
3、絕對值損失函式
4、對數損失函式
損失函式越小,模型的擬合能力就越好。
泛化能力泛化能力是指模型對新資料的預測能力。一般來說,越複雜的模型的擬合能力越強,但是泛化能力越弱。所以我們需要選擇一個適當複雜度的模型,使其泛化能力和擬合能力都足夠強。
而衡量一個模型同時具有較好地泛化能力和擬合能力,我們一般用結構風險函式。
結構風險函式是在風險函式的基礎上面加上一個罰項。通過罰項來降低複雜度高的模型的結構風險函式值。從而達到篩選出合適的複雜度的模型的目的。
罰項一般取特徵空間w的範數,一般有:
1、L0範數
2、L1範數
3、L2範數
4、核範數…
步驟四:實現求解最優模型的演算法並通過學習方法選擇最優模型
求解最優模型的演算法其實就是求解結構風險函式最小值得演算法,即結構風險函式最優化的問題。
如果結構風險函式在我們所關心的區域中是凸函式的話,那麼任何區域性最小解也是全域性最優解。現在已經有穩定,快速的數值計算方法來求二次可微地凸函式的最小值。
然而,很多時候我們沒有辦法通過結構風險函式直接算出它的最小值。我們只能通過一些迭代的方式獲得區域性最優解。
常見的通過迭代的方式獲得區域性最優解的演算法有:
1、梯度下降法
2、牛頓法
3、共軛梯度法
4、線性搜尋
5、置信域方法
另外還有一些演算法:
1、模擬退火
2、遺傳演算法
3、類免疫演算法
4、演化策略
5、差異演化演算法
6、微粒群演算法
7、神經網路
8、支援向量機
步驟五:利用學習得到的最優模型對新資料進行分析或預測
到這一步一般來說已經成功了,然後往往現實是殘酷的,辛辛苦苦20年,一朝回到解放前。
往往學習得到的模型在實際使用過程當中並不是那麼的理想。這裡面有很多種原因:
有可能是原始資料的原因
有可能是特徵選擇的原因
有可能是模型的原因
有可能是最優模型演算法的問題
有可能是程式碼錯誤
總之,以上的所有步驟的所有細節都可能導致你的模型不夠優秀。這就需要你再次的思考這個問題,去不斷的優化你的模型。直到得到一個不錯的模型。
小結
其實資料探勘涉及的東西遠比我上面說的這點東西多的多,我上面提到的還只是監督學習。就光我上面提到的幾個步驟。其實每一個步驟都有很多很多東西可以講,可以研究,工程方面的、演算法理論方面的等等等等。
一入資料探勘深似海,從此奮鬥到天明。
資料探勘還是很有意思的,你可以用機器的力量、數學的力量理解世界的執行規律。去預測他或者利用你研究到的東西做一些有意思的事情。