0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

初學(xué)機(jī)器學(xué)習(xí)的四種方法介紹

Hx ? 作者:工程師陳翠 ? 2018-07-05 08:34 ? 次閱讀

學(xué)習(xí)機(jī)器學(xué)習(xí)有很多方法,大多數(shù)人選擇從理論開始。

如果你是個(gè)程序員,那么你已經(jīng)掌握了把問題拆分成相應(yīng)組成部分及設(shè)計(jì)小項(xiàng)目原型的能力,這些能力能幫助你學(xué)習(xí)新的技術(shù)、類庫和方法。這些對(duì)任何一個(gè)職業(yè)程序員來說都是重要的能力,現(xiàn)在它們也能用在初學(xué)機(jī)器學(xué)習(xí)上。

要想有效地學(xué)習(xí)機(jī)器學(xué)習(xí)你必須學(xué)習(xí)相關(guān)理論,但是你可以利用你的興趣及對(duì)知識(shí)的渴望,來激勵(lì)你從實(shí)際例子學(xué)起,然后再步入對(duì)算法的數(shù)學(xué)理解。

通過本文你可以學(xué)習(xí)到程序員初學(xué)機(jī)器學(xué)習(xí)的四種方式。這是給技術(shù)人員設(shè)計(jì)的實(shí)用方法,并以實(shí)驗(yàn)為依據(jù),你需要做調(diào)研并且完成實(shí)驗(yàn)才能建立自己的感性知識(shí)。

這四種方法分別是:

1. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)工具

2. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)數(shù)據(jù)集

3. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法

4. 實(shí)現(xiàn)一個(gè)機(jī)器學(xué)習(xí)算法

你應(yīng)該通讀一下這些方法的策略,然后選擇你覺得最適合自己的一個(gè),并且有選擇性地執(zhí)行。

1. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)工具

選一個(gè)你喜歡的工具或者類庫,然后學(xué)著用好它。

推薦你從一個(gè)自帶數(shù)據(jù)預(yù)處理工具,機(jī)器學(xué)習(xí)算法并且能呈現(xiàn)結(jié)果的工作平臺(tái)開始學(xué)習(xí)。學(xué)習(xí)這樣一個(gè)工作平臺(tái)能讓你更熟悉機(jī)器學(xué)習(xí)從頭到尾的整個(gè)過程,這比學(xué)習(xí)一個(gè)特定的數(shù)據(jù)處理技術(shù)或者一個(gè)機(jī)器學(xué)習(xí)算法更有價(jià)值。

或者,也許你感興趣的是一個(gè)特定技術(shù)或者一類技術(shù)。你可以利用這個(gè)機(jī)會(huì)更深入地學(xué)習(xí)一個(gè)提供這些方法的類庫或工具,掌握了提供這些技術(shù)的類庫能幫助你掌握相應(yīng)的技術(shù)。

一些你可以采取的策略有:

比較一些可選的工具。

總結(jié)你選定的那個(gè)工具的能力。

閱讀并總結(jié)這個(gè)工具的文檔。

完成學(xué)習(xí)這個(gè)工具的文字或視頻教程,并且總結(jié)每個(gè)教程中你重點(diǎn)學(xué)到了什么。

制作關(guān)于這個(gè)工具的功能或者特性的教程。選一些你不太了解的功能,然后寫下得到結(jié)果的過程,或者把如何使用這個(gè)功能的過程錄個(gè)五分鐘的截屏視頻。

一些值得考慮的工作平臺(tái)有:R, Weka, scikit-learn, waffles, 和 orange.

2. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)數(shù)據(jù)集

選一個(gè)數(shù)據(jù)集,然后深入地理解它,發(fā)掘究竟哪類算法最適合處理它。

我推薦你選擇一個(gè)中等大小的,內(nèi)存能放下的,可能被很多人研究過的數(shù)據(jù)集?,F(xiàn)在有很多非常好的包含數(shù)據(jù)的類庫,你可以瀏覽它們并且從中選擇。你的目的是嘗試?yán)斫膺@個(gè)數(shù)據(jù)集背后的問題,它的結(jié)構(gòu),和哪些種類的解決方法最適合這個(gè)問題。

用一個(gè)機(jī)器學(xué)習(xí)或者統(tǒng)計(jì)的工作平臺(tái)來研究這個(gè)數(shù)據(jù)集。這樣你能專心解答關(guān)于這個(gè)數(shù)據(jù)集你要研究的問題,而不是分心去學(xué)習(xí)某個(gè)特定的技術(shù)或者如何寫代碼來實(shí)現(xiàn)它。

一些可以幫助你學(xué)習(xí)實(shí)驗(yàn)性的機(jī)器學(xué)習(xí)數(shù)據(jù)集的策略有:

1. 清晰地描述這個(gè)數(shù)據(jù)集所呈現(xiàn)的問題。

2. 用描述性的統(tǒng)計(jì)數(shù)據(jù)來總結(jié)數(shù)據(jù)。

3. 描述你從數(shù)據(jù)中觀察到的結(jié)構(gòu),并且提出對(duì)數(shù)據(jù)間關(guān)系的假設(shè)。

4. 簡(jiǎn)單地在這個(gè)數(shù)據(jù)集上測(cè)試一些常用的機(jī)器學(xué)習(xí)算法,然后發(fā)掘哪些類別的算法比其他的表現(xiàn)好

5. 調(diào)整表現(xiàn)好的算法的參數(shù),然后發(fā)掘什么算法及算法參數(shù)設(shè)置在這個(gè)問題上表現(xiàn)得好

你可以從這些包含高質(zhì)量數(shù)據(jù)集的庫中選擇:?UCI ML Repository,Kaggle?和?data.gov.

3. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法

選擇一個(gè)算法,深入理解它,發(fā)掘什么樣的參數(shù)設(shè)置在不同數(shù)據(jù)集上都穩(wěn)定。

我推薦你從一個(gè)中等復(fù)雜度的算法開始學(xué)起。選一個(gè)已經(jīng)被人充分理解了的,有許多可選的開源實(shí)現(xiàn),并且需要你探索的參數(shù)數(shù)目較少的算法。你的目的是建立有關(guān)這個(gè)算法在不同問題和不同參數(shù)設(shè)定下表現(xiàn)如何的直覺。

使用一個(gè)機(jī)器學(xué)習(xí)平臺(tái)或者類庫。這樣能讓你把這個(gè)算法當(dāng)成一個(gè)“系統(tǒng)”,專心研究它的表現(xiàn),而不是分心研究數(shù)學(xué)公式描述或者相關(guān)論文。

一些學(xué)習(xí)你選定的機(jī)器學(xué)習(xí)算法時(shí)可采取的策略有:

1. 總結(jié)系統(tǒng)的參數(shù),及它們對(duì)算法可能有什么影響

2. 選一系列適合這個(gè)算法,可能導(dǎo)致不同表現(xiàn)的數(shù)據(jù)庫

3. 選擇一些你認(rèn)為能導(dǎo)致不同結(jié)果的算法的參數(shù)設(shè)置,然后列出你認(rèn)為系統(tǒng)可能的表現(xiàn)

4. 考慮在迭代過程或不同時(shí)間段內(nèi)能被監(jiān)察到的算法表現(xiàn)

5. 用一個(gè)或多個(gè)數(shù)據(jù)集,算法設(shè)置和結(jié)果衡量方式來設(shè)計(jì)解決特定問題的小實(shí)驗(yàn),并且匯報(bào)結(jié)果

你可以學(xué)簡(jiǎn)單點(diǎn),也可以學(xué)復(fù)雜點(diǎn)。想多學(xué)一點(diǎn)的話,你可以探索所謂的啟發(fā)式規(guī)則或經(jīng)驗(yàn)法則來使用算法,并且以實(shí)驗(yàn)為依據(jù)來展示它們好不好用,及如果好用的話在什么條件下他們與成功的結(jié)果有關(guān)聯(lián)。

一些你可以考慮學(xué)習(xí)的算法有:最小平方線性回歸,邏輯回歸,K最近鄰分類算法,感知器算法。

4. 實(shí)現(xiàn)一個(gè)機(jī)器學(xué)習(xí)算法

選一個(gè)算法,然后選一個(gè)編程語言來實(shí)現(xiàn)它,或者把一個(gè)已有的實(shí)現(xiàn)移植到你選定的編程語言上。

你應(yīng)選擇一個(gè)中等復(fù)雜度的算法來實(shí)現(xiàn)。我推薦你仔細(xì)研究你想要實(shí)現(xiàn)的算法,或選擇一個(gè)你喜歡的已有實(shí)現(xiàn)然后把它移植到你選定的編程語言。

從頭開始實(shí)現(xiàn)一個(gè)算法,是學(xué)習(xí)那些關(guān)于把算法描述轉(zhuǎn)換成一個(gè)可行的系統(tǒng)的過程中必須要做的無數(shù)的小決定的好方法。在不同算法上重復(fù)這個(gè)過程,很快你就能對(duì)讀懂論文和書里面算法的數(shù)學(xué)描述有感覺了。

五個(gè)能幫助你從頭開始實(shí)現(xiàn)機(jī)器學(xué)習(xí)算法的策略有:

1. 從代碼移植開始。把開源的算法實(shí)現(xiàn)從一種語言移植到另外一種語言能教會(huì)你算法是如何實(shí)現(xiàn)的,并且你能擁有并掌握它。這是開始學(xué)習(xí)的最快的途徑,非常值得推薦。

2. 從一個(gè)算法描述開始,然后采集一些其他的描述來幫助你排除歧義并且理解主要的那個(gè)參考材料。

3. 多讀該算法的不同實(shí)現(xiàn)。學(xué)習(xí)不同程序員是如何理解算法描述并且如何把它轉(zhuǎn)換成代碼的。

4. 不要陷入過炫的方法太深。許多機(jī)器學(xué)習(xí)算法的內(nèi)核用的都是高級(jí)優(yōu)化算法。不要嘗試重新實(shí)現(xiàn)這些方法,除非這就是你做這個(gè)項(xiàng)目的本意。5. 你應(yīng)該用一個(gè)提供優(yōu)化算法的類庫,或者用一個(gè)更容易實(shí)現(xiàn)的或者類庫里就有的簡(jiǎn)單點(diǎn)的優(yōu)化算法(如梯度下降算法)。

小型項(xiàng)目方法論

以上四個(gè)策略屬于我稱為“小型項(xiàng)目”的方法論。你用這個(gè)方法可以很快建立在技術(shù)領(lǐng)域(比如機(jī)器學(xué)習(xí))方面的實(shí)用技能。大意就是你設(shè)計(jì)并且親手完成解決特定問題的小項(xiàng)目。

小型項(xiàng)目在幾個(gè)方面應(yīng)該足夠小,才能保證你能完成它們并且從中學(xué)習(xí),然后好步入到下一個(gè)項(xiàng)目中去。下面是一些你應(yīng)該考慮加在項(xiàng)目上的一些限制:

1. 時(shí)間短:一個(gè)項(xiàng)目從頭到最后能有可展現(xiàn)的結(jié)果不應(yīng)超過5-15小時(shí)。這樣利用一周中不上班的晚上和周末時(shí)間你就能完成一個(gè)小項(xiàng)目。

2. 范圍?。阂粋€(gè)項(xiàng)目應(yīng)該有意義,但同時(shí)應(yīng)該是你感興趣的問題的范圍最小的版本。舉個(gè)例子,與其解決廣義的“寫一個(gè)能告訴我微博是否會(huì)被轉(zhuǎn)發(fā)的程序”,還不如去研究這個(gè)問題在一個(gè)特定的賬號(hào)在一個(gè)特定的時(shí)間段內(nèi)的表現(xiàn)。

3. 所需資源少:一個(gè)項(xiàng)目應(yīng)該能用你的可聯(lián)網(wǎng)的臺(tái)式或者筆記本電腦完成。你不應(yīng)該需要奇葩的軟件,網(wǎng)絡(luò)架構(gòu),或者第三方數(shù)據(jù)或者服務(wù)。你應(yīng)搜集需要的數(shù)據(jù),讀入內(nèi)存,用開源工具來解決你那個(gè)小問題。

額外有關(guān)項(xiàng)目的小貼士

這些策略的原則是讓你利用你的程序員技能開始行動(dòng)。下面是三條幫助你調(diào)整思維模式,有助你開始行動(dòng)的小貼士:

1. 寫下你學(xué)到的東西。我推薦你每個(gè)步驟都產(chǎn)生一個(gè)有形的勞動(dòng)成果。它可以是本子里的筆記,微博,博客文章或者是開源項(xiàng)目。每個(gè)勞動(dòng)成果都可以作為一個(gè)里程碑或錨。

2. 除非項(xiàng)目的目的是寫代碼,否則不要寫。這條不是那么顯而易見,但卻是最能幫助你加快理解機(jī)器學(xué)習(xí)的速度的建議。

3. 目的是學(xué)到東西,而不是產(chǎn)生獨(dú)一無二的資源。不要管是否有人讀你關(guān)于一個(gè)算法的研究、教程或是筆記。這些都是你的觀點(diǎn),是你的勞動(dòng)成果,他們證明你現(xiàn)在掌握到了知識(shí)。

總結(jié)

下面是這些策略的一句話清晰總結(jié),可以幫助你選擇適合自己的那個(gè):

1. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)工具:選擇一個(gè)你喜歡的工具或類庫,學(xué)習(xí)如何很好的使用它。。

2. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)數(shù)據(jù)集:選擇一個(gè)數(shù)據(jù)集,深入地離家它,發(fā)掘哪類算法處理它最有效。

3. 學(xué)習(xí)一個(gè)機(jī)器學(xué)習(xí)算法:選擇一個(gè)算法,深入理解它,發(fā)掘什么樣的參數(shù)設(shè)置在不同數(shù)據(jù)集上都穩(wěn)定。

4. 實(shí)現(xiàn)一個(gè)機(jī)器學(xué)習(xí)算法:選擇一個(gè)算法,用你選定的語言實(shí)現(xiàn)它或者是把已有的實(shí)現(xiàn)移植到你選定的語言上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    四種模擬輸入信號(hào)的保護(hù)電路實(shí)現(xiàn)方法

    本文介紹四種模擬輸入信號(hào)的保護(hù)電路的實(shí)現(xiàn)方法。
    發(fā)表于 03-28 09:55 ?1118次閱讀

    IO口的四種使用方法

    IO口的四種使用方法高阻態(tài)的典型應(yīng)用
    發(fā)表于 01-12 07:16

    Word技巧:快速實(shí)現(xiàn)雙面打印的四種方法

    Word技巧:快速實(shí)現(xiàn)雙面打印的四種方法 在日常辦公中要求對(duì)文檔進(jìn)行雙面打印是很常見的,在打印機(jī)沒有自帶雙面打印功能的情況下,
    發(fā)表于 12-29 10:31 ?1567次閱讀

    jquery四種選擇器介紹

      本文給大家匯總介紹了jQuery的四種選擇器的使用方法以及示例,非常的簡(jiǎn)單實(shí)用,希望對(duì)大家學(xué)習(xí)jquery能夠有所幫助。
    發(fā)表于 12-01 16:40 ?3026次閱讀
    jquery<b class='flag-5'>四種</b>選擇器<b class='flag-5'>介紹</b>

    可以讓工具再次變得偉大的四種方法

    坐在CES的地板上聽主題演講時(shí),我想到了一些思路,這些理念可以讓電子設(shè)備制造商們走的更遠(yuǎn)。 有四種方法可以讓工具再次變得偉大。
    的頭像 發(fā)表于 01-18 08:51 ?4159次閱讀

    如何延長(zhǎng)iPhone的壽命 告訴你四種方法

    本文主要介紹了如何延長(zhǎng)iPhone壽命的四種簡(jiǎn)單方法,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 03-31 07:19 ?7308次閱讀

    使用單片機(jī)四種方法實(shí)現(xiàn)的LED閃燈程序資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)四種方法實(shí)現(xiàn)的LED閃燈程序資料免費(fèi)下載。
    發(fā)表于 07-09 08:00 ?4次下載
    使用單片機(jī)<b class='flag-5'>四種方法</b>實(shí)現(xiàn)的LED閃燈程序資料免費(fèi)下載

    電路板上二極管型號(hào)確定的四種方法

    作為電路板上的二極管可以有四種方法確定它們的型號(hào)。
    發(fā)表于 04-06 15:48 ?2.9w次閱讀

    盤點(diǎn)工業(yè)機(jī)器四種控制方法

    目前,市場(chǎng)上應(yīng)用最廣泛的機(jī)器人是工業(yè)機(jī)器人,也是最成熟、最完善的一。工業(yè)機(jī)器人的應(yīng)用十分廣泛,因?yàn)樗卸喾N控制方法。根據(jù)不同的任務(wù),可以分
    發(fā)表于 07-30 16:24 ?1.1w次閱讀

    深度學(xué)習(xí)四種利用少量標(biāo)注數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別的方法

    整理介紹四種利用少量標(biāo)注數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別的方法。 面向少量標(biāo)注數(shù)據(jù)的NER方法分類 基于規(guī)則、統(tǒng)計(jì)機(jī)器
    的頭像 發(fā)表于 01-03 09:35 ?1w次閱讀
    深度<b class='flag-5'>學(xué)習(xí)</b>:<b class='flag-5'>四種</b>利用少量標(biāo)注數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別的<b class='flag-5'>方法</b>

    HT32F5232學(xué)習(xí)四種方法實(shí)現(xiàn)按鍵控制LED燈

    HT32F5232學(xué)習(xí)四種方法實(shí)現(xiàn)按鍵控制LED燈
    發(fā)表于 11-29 16:51 ?11次下載
    HT32F5232<b class='flag-5'>學(xué)習(xí)</b>之<b class='flag-5'>四種方法</b>實(shí)現(xiàn)按鍵控制LED燈

    改善您的模數(shù)轉(zhuǎn)換器系統(tǒng)電源抑制狀況的四種方法

    改善您的模數(shù)轉(zhuǎn)換器系統(tǒng)電源抑制狀況的四種方法
    發(fā)表于 11-04 09:51 ?1次下載
    改善您的模數(shù)轉(zhuǎn)換器系統(tǒng)電源抑制狀況的<b class='flag-5'>四種方法</b>

    四種方法實(shí)現(xiàn)LED點(diǎn)亮

    四種方法實(shí)現(xiàn)LED點(diǎn)亮程序分享
    發(fā)表于 12-28 10:03 ?3次下載

    測(cè)試電容器的四種方法有哪些

    測(cè)試電容器的四種方法 電容器是一非常常見的電子元件,它具有存儲(chǔ)電能的能力。測(cè)試電容器的方法也非常多,下面我們將詳細(xì)介紹四種常見的測(cè)試電容器
    的頭像 發(fā)表于 09-01 15:11 ?1.3w次閱讀

    pwm脈寬調(diào)制的四種方法有哪些

    于電機(jī)控制、LED調(diào)光、音頻處理等領(lǐng)域。以下是四種常見的PWM脈寬調(diào)制方法: 固定頻率PWM(Fixed-Frequency PWM) 固定頻率PWM是一最基本的PWM調(diào)制方法。在這
    的頭像 發(fā)表于 08-08 15:10 ?819次閱讀