99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)統(tǒng)計學習的5個基本流程
數(shù)據(jù)統(tǒng)計學習的5個基本流程
2018-03-19
收藏

數(shù)據(jù)統(tǒng)計學習的5個基本流程

統(tǒng)計學、大數(shù)據(jù)應用很廣泛,常常被提及!統(tǒng)計學習也有一定的規(guī)律流程,下面我們大圣眾包小編分享一位朋友關(guān)于統(tǒng)計學習流程步驟的看法,看看他怎么說。

統(tǒng)計學習現(xiàn)在市面上談論到的數(shù)據(jù)挖掘基本上都是基于統(tǒng)計學習的監(jiān)督學習或非監(jiān)督學習問題。尤其以監(jiān)督學習應用面更廣。

統(tǒng)計學習的一般流程

得到一個有限的數(shù)據(jù)集合

確定所有的學習模型集合

確定模型選擇的準則,就是學習的策略

實現(xiàn)求解最優(yōu)模型的算法并通過學習方法選擇最優(yōu)模型

利用學習得到的最優(yōu)模型對新數(shù)據(jù)進行分析或預測

步驟一:得到一個有限的數(shù)據(jù)集合

涉及到以下多個流程:

1、數(shù)據(jù)的采集

2、原始數(shù)據(jù)的格式化、標準化

3、原始去噪,去掉錯誤的值(而不是誤差值,這里又涉及到一個復雜的問題,如何界定錯誤數(shù)據(jù))

4、預處理(針對具體需要研究的問題、抽取相應地特征組成需要研究的數(shù)據(jù)集合)

步驟二:確定所有的學習模型集合

這個問題取決于我們選擇怎么樣的學習方法。常見得學習方法有:

1、感知機模型

2、k近鄰法

3、樸素貝葉斯

4、決策樹

5、邏輯斯諦回歸和最大熵模型

6、支持向量機

7、提升方法AdaBoost

8、EM算法

9、隱馬爾可夫模型

10、條件隨機場

而且這些算法還可以進行變異、組合然后形成新的算法模型。也是通常認為中數(shù)據(jù)挖掘比較核心的部分。

步驟三:確定模型選擇的策略

一般來說,當你確定了你的學習方法后,在學習的過程中會產(chǎn)生很多個模型。而如何在這些模型中間挑選最優(yōu)的模型,成為了我們亟待解決的問題。

一般衡量一個模型的優(yōu)秀程度我們使用兩個指標:

1、擬合能力

2、泛化能力

擬合能力

表示模型的計算結(jié)果和實際結(jié)果的相差程度,我們一般使用風險函數(shù)來衡量。而風險函數(shù)是損失函數(shù)的期望。所以我們其實是使用損失函數(shù)來衡量一個模型的期望。

常見的損失函數(shù):

1、0-1損失函數(shù)

2、平分損失函數(shù)

3、絕對值損失函數(shù)

4、對數(shù)損失函數(shù)

損失函數(shù)越小,模型的擬合能力就越好。

泛化能力泛化能力是指模型對新數(shù)據(jù)的預測能力。一般來說,越復雜的模型的擬合能力越強,但是泛化能力越弱。所以我們需要選擇一個適當復雜度的模型,使其泛化能力和擬合能力都足夠強。

而衡量一個模型同時具有較好地泛化能力和擬合能力,我們一般用結(jié)構(gòu)風險函數(shù)。

結(jié)構(gòu)風險函數(shù)是在風險函數(shù)的基礎上面加上一個罰項。通過罰項來降低復雜度高的模型的結(jié)構(gòu)風險函數(shù)值。從而達到篩選出合適的復雜度的模型的目的。

罰項一般取特征空間w的范數(shù),一般有:

1、L0范數(shù)

2、L1范數(shù)

3、L2范數(shù)

4、核范數(shù)…

步驟四:實現(xiàn)求解最優(yōu)模型的算法并通過學習方法選擇最優(yōu)模型

求解最優(yōu)模型的算法其實就是求解結(jié)構(gòu)風險函數(shù)最小值得算法,即結(jié)構(gòu)風險函數(shù)最優(yōu)化的問題。

如果結(jié)構(gòu)風險函數(shù)在我們所關(guān)心的區(qū)域中是凸函數(shù)的話,那么任何局部最小解也是全局最優(yōu)解?,F(xiàn)在已經(jīng)有穩(wěn)定,快速的數(shù)值計算方法來求二次可微地凸函數(shù)的最小值。

然而,很多時候我們沒有辦法通過結(jié)構(gòu)風險函數(shù)直接算出它的最小值。我們只能通過一些迭代的方式獲得局部最優(yōu)解。

常見的通過迭代的方式獲得局部最優(yōu)解的算法有:

1、梯度下降法

2、牛頓法

3、共軛梯度法

4、線性搜索

5、置信域方法

另外還有一些算法:

1、模擬退火

2、遺傳算法

3、類免疫算法

4、演化策略

5、差異演化算法

6、微粒群算法

7、神經(jīng)網(wǎng)絡

8、支持向量機

步驟五:利用學習得到的最優(yōu)模型對新數(shù)據(jù)進行分析或預測

到這一步一般來說已經(jīng)成功了,然后往往現(xiàn)實是殘酷的,辛辛苦苦20年,一朝回到解放前。

往往學習得到的模型在實際使用過程當中并不是那么的理想。這里面有很多種原因:

有可能是原始數(shù)據(jù)的原因

有可能是特征選擇的原因

有可能是模型的原因

有可能是最優(yōu)模型算法的問題

有可能是代碼錯誤

總之,以上的所有步驟的所有細節(jié)都可能導致你的模型不夠優(yōu)秀。這就需要你再次的思考這個問題,去不斷的優(yōu)化你的模型。直到得到一個不錯的模型。

小結(jié)

其實數(shù)據(jù)挖掘涉及的東西遠比我上面說的這點東西多的多,我上面提到的還只是監(jiān)督學習。就光我上面提到的幾個步驟。其實每一個步驟都有很多很多東西可以講,可以研究,工程方面的、算法理論方面的等等等等。

一入數(shù)據(jù)挖掘深似海,從此奮斗到天明。

數(shù)據(jù)挖掘還是很有意思的,你可以用機器的力量、數(shù)學的力量理解世界的運行規(guī)律。去預測他或者利用你研究到的東西做一些有意思的事情。

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }