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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀如何研究學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法?
如何研究學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法?
2016-03-28
收藏

如何研究學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法?

機(jī)器學(xué)習(xí)算法的運(yùn)行實(shí)驗(yàn),會(huì)使你對(duì)于不同類(lèi)型問(wèn)題得出的實(shí)驗(yàn)結(jié)論,并對(duì)實(shí)驗(yàn)結(jié)論與算法參數(shù)兩者的因果關(guān)系有一個(gè)直觀認(rèn)識(shí)。

在這篇文章中,你將會(huì)知道怎么研究學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法。你將會(huì)學(xué)到5個(gè)簡(jiǎn)單步驟,你可以用來(lái)設(shè)計(jì)和完成你的第一個(gè)機(jī)器學(xué)習(xí)算法實(shí)驗(yàn)

你會(huì)發(fā)現(xiàn)機(jī)器學(xué)習(xí)實(shí)驗(yàn)不光是學(xué)者們的專(zhuān)利,你也可以;你也會(huì)知道實(shí)驗(yàn)是通往精通的必經(jīng)之路,因?yàn)槟憧梢詮慕?jīng)驗(yàn)中學(xué)到因果關(guān)系的知識(shí), 這是其它地方學(xué)不到的。

什么是研究機(jī)器學(xué)習(xí)算法

當(dāng)研究一個(gè)機(jī)器學(xué)習(xí)算法的時(shí)候,你的目標(biāo)是找到可得到好結(jié)果的機(jī)器算法行為,這些結(jié)果是可以推廣到多個(gè)問(wèn)題或者多個(gè)類(lèi)型的問(wèn)題上。

你通過(guò)對(duì)算法狀態(tài)做系統(tǒng)研究來(lái)研究學(xué)習(xí)機(jī)器學(xué)習(xí)算法。這項(xiàng)工作通過(guò)設(shè)計(jì)和運(yùn)行可控實(shí)驗(yàn)來(lái)完成

一旦你完成了一項(xiàng)實(shí)驗(yàn),你可以對(duì)結(jié)論作出解釋和提交。這些結(jié)論會(huì)讓你得以管窺在算法變化中因果關(guān)系。這就是算法行為和你獲得的結(jié)論間的關(guān)系。

怎樣研究學(xué)習(xí)機(jī)器學(xué)習(xí)算法

在這一部分,我們將學(xué)到5個(gè)簡(jiǎn)單的步驟,你可以通過(guò)它來(lái)研究學(xué)習(xí)一個(gè)機(jī)器算法

1.選擇一個(gè)算法

選擇一個(gè)你有疑問(wèn)的算法

這個(gè)算法可能是你正在某個(gè)問(wèn)題上應(yīng)用的,或者你發(fā)現(xiàn)在其他環(huán)境中表現(xiàn)很好,將來(lái)你想使用

就實(shí)驗(yàn)的意圖來(lái)說(shuō),使用現(xiàn)成的算法是有幫助的。這會(huì)給你一個(gè)底線:存在bug幾率最低

自己實(shí)現(xiàn)一個(gè)算法可能是了解算法過(guò)程的一個(gè)好的方式,但是,實(shí)驗(yàn)期間,會(huì)引入額外的變量,比如bug,和大量必須為算法所做的微觀決策

2.確定一個(gè)問(wèn)題

你必須有一個(gè)你試圖尋找答案的研究問(wèn)題。問(wèn)題越明確,問(wèn)題越有用

給出的示例問(wèn)題包括以下幾個(gè)方面:

KNN算法中,作為樣本空間中的一部分的K值在增大時(shí)有什么影響?

SVM算法中,選擇不同的核函數(shù)在二分類(lèi)問(wèn)題上有什么影響 ?

在二分類(lèi)問(wèn)題中,邏輯回歸上的不同參數(shù)的縮放有什么影響 ?

隨機(jī)森林模型中,在訓(xùn)練集上增加任意屬性對(duì)在分類(lèi)準(zhǔn)確性上有什么影響?

針對(duì)算法,設(shè)計(jì)你想回答的問(wèn)題。仔細(xì)考慮,然后列出5個(gè)逐漸演變的問(wèn)題,并且深入推敲那個(gè)最精確的

3.設(shè)計(jì)實(shí)驗(yàn)

從你的問(wèn)題中挑選出關(guān)鍵元素然后組成你的實(shí)驗(yàn)內(nèi)容。 例如,拿上面的示例問(wèn)題為例:“二元分類(lèi)問(wèn)題中邏輯回歸上的不同的參數(shù)縮放有什么影響?”

你從這個(gè)問(wèn)題中挑出來(lái)用來(lái)設(shè)計(jì)實(shí)驗(yàn)的元素是:

屬性縮放法:你可以采用像正態(tài)化、標(biāo)準(zhǔn)化,將某一屬性提升至乘方、取對(duì)數(shù)等方法

邏輯回歸:你想使用哪種已經(jīng)實(shí)現(xiàn)的邏輯回歸。

二元分類(lèi)問(wèn)題:存在數(shù)值屬性不同的二分類(lèi)問(wèn)題標(biāo)準(zhǔn)。需要準(zhǔn)備多種問(wèn)題,其中一些問(wèn)題的規(guī)模是相同的(像電離層),然而其他一些問(wèn)題的屬性有不同的縮放值(像糖尿病問(wèn)題)。

性能: 類(lèi)似分類(lèi)準(zhǔn)確性的模型性能分?jǐn)?shù)是需要的

花時(shí)間仔細(xì)挑選你問(wèn)題中的組成元素以便為你的問(wèn)題給出最佳解答。

4. 進(jìn)行試驗(yàn)并且報(bào)告你的結(jié)論

完成你的實(shí)驗(yàn)

如果算法是隨機(jī)的,你需要多次重復(fù)實(shí)驗(yàn)操作并且記錄一個(gè)平均數(shù)和標(biāo)準(zhǔn)偏差

如果你試圖尋找在不同實(shí)驗(yàn)(比如帶有不同的參數(shù))之間結(jié)果的差異,你可能想要使用一種統(tǒng)計(jì)工具來(lái)標(biāo)明差異是否統(tǒng)計(jì)上顯著的(就像學(xué)生的t檢驗(yàn))

一些工具像R和scikit-learn/SciPy完成這些類(lèi)型的實(shí)驗(yàn),但是你需要把它們組合在一起,并且為實(shí)驗(yàn)寫(xiě)腳本。其他工具像Weka帶有圖形用戶界面,你所使用的工具不要影響問(wèn)題和你實(shí)驗(yàn)設(shè)計(jì)的嚴(yán)密

總結(jié)你的實(shí)驗(yàn)結(jié)論。你可能想使用圖表。單獨(dú)呈現(xiàn)結(jié)果是不夠的,他們只是數(shù)字。你必須將數(shù)字和問(wèn)題聯(lián)系起來(lái),并且通過(guò)你的實(shí)驗(yàn)設(shè)計(jì)提取出它們的意義

對(duì)實(shí)驗(yàn)問(wèn)題來(lái)說(shuō),實(shí)驗(yàn)結(jié)果又暗示著什么呢?

保持懷疑的態(tài)度。你的結(jié)論上有留什么樣的漏洞和局限呢。不要逃避這一部分。知道局限性和知道實(shí)驗(yàn)結(jié)果一樣重要

5. 重復(fù)

重復(fù)操作

繼續(xù)研究你選擇的算法。你甚至想要重復(fù)帶有不同參數(shù)或者不同的測(cè)試數(shù)據(jù)集的同一個(gè)實(shí)驗(yàn)。你可能想要處理你試驗(yàn)中的局限性

不要只停留在一個(gè)算法上,開(kāi)始建立知識(shí)體系和對(duì)算法的直覺(jué)

通過(guò)使用一些簡(jiǎn)單工具,提出好的問(wèn)題,保持嚴(yán)謹(jǐn)和懷疑的態(tài)度,你對(duì)機(jī)器算法行為的理解很快就會(huì)到達(dá)世界級(jí)的水平

研究學(xué)習(xí)算法不僅僅是學(xué)者才能做的

你也可以學(xué)習(xí)研究機(jī)器學(xué)習(xí)算法。

你不需要一個(gè)很高的學(xué)位,你不需要用研究的方式訓(xùn)練,你也不需要成為一名學(xué)者

對(duì)每個(gè)擁有計(jì)算機(jī)和濃厚興趣的人來(lái)說(shuō),機(jī)器學(xué)習(xí)算法的系統(tǒng)研究學(xué)習(xí)是開(kāi)放的。事實(shí)上,如果你主修機(jī)器學(xué)習(xí),你一定會(huì)適應(yīng)機(jī)器學(xué)習(xí)算法的系統(tǒng)研究。知識(shí)根本不會(huì)自己出來(lái),你需要靠自己的經(jīng)驗(yàn)去得到

當(dāng)談?wù)撃愕陌l(fā)現(xiàn)的適用性時(shí),你需要保持懷疑和謹(jǐn)慎

你不一定提出獨(dú)一無(wú)二的問(wèn)題。通過(guò)研究一般的問(wèn)題,你也將會(huì)收獲很多,例如根據(jù)一些一般的標(biāo)準(zhǔn)數(shù)據(jù)集總結(jié)出一個(gè)參數(shù)的普遍影響。你保不住會(huì)發(fā)現(xiàn)某些具有最優(yōu)方法的常例的局限性甚至反例。

行動(dòng)步驟

在本篇文章中,通過(guò)可控實(shí)驗(yàn)?zāi)阒懒搜芯繉W(xué)習(xí)機(jī)器學(xué)習(xí)算法行為的重要性。你掌握了簡(jiǎn)單的5個(gè)步驟,你可以在一個(gè)機(jī)器學(xué)習(xí)算法上設(shè)計(jì)和運(yùn)行你的第一項(xiàng)實(shí)驗(yàn)

采取行動(dòng)。使用你在這篇博文中學(xué)到的步驟,來(lái)完成你的第一個(gè)機(jī)器學(xué)習(xí)實(shí)驗(yàn)。一旦你完成了一個(gè),甚至是很小的一個(gè),你將會(huì)獲得自信,工具、能力來(lái)完成第二個(gè)以及更多。

數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

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

OK
客服在線
立即咨詢(xún)
客服在線
立即咨詢(xún)
') } 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(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }