統計學、大數據應用很廣泛,常常被提及!統計學習也有一定的規律流程,下面我們大圣眾包小編分享一位朋友關于統計學習流程步驟的看法,看看他怎么說。
統計學習現在市面上談論到的數據挖掘基本上都是基于統計學習的監督學習或非監督學習問題。尤其以監督學習應用面更廣。
統計學習的一般流程
得到一個有限的數據集合
確定所有的學習模型集合
確定模型選擇的準則,就是學習的策略
實現求解最優模型的算法并通過學習方法選擇最優模型
利用學習得到的最優模型對新數據進行分析或預測
步驟一:得到一個有限的數據集合
涉及到以下多個流程:
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年,一朝回到解放前。
往往學習得到的模型在實際使用過程當中并不是那么的理想。這里面有很多種原因:
有可能是原始數據的原因
有可能是特征選擇的原因
有可能是模型的原因
有可能是最優模型算法的問題
有可能是代碼錯誤
總之,以上的所有步驟的所有細節都可能導致你的模型不夠優秀。這就需要你再次的思考這個問題,去不斷的優化你的模型。直到得到一個不錯的模型。
小結
其實數據挖掘涉及的東西遠比我上面說的這點東西多的多,我上面提到的還只是監督學習。就光我上面提到的幾個步驟。其實每一個步驟都有很多很多東西可以講,可以研究,工程方面的、算法理論方面的等等等等。
一入數據挖掘深似海,從此奮斗到天明。
數據挖掘還是很有意思的,你可以用機器的力量、數學的力量理解世界的運行規律。去預測他或者利用你研究到的東西做一些有意思的事情。
原文地址:http://www.dashengzb.cn/articles/a-369.html
(更多大數據與商業智能領域干貨、或電子書,可添加個人微信號(dashenghuaer))