1. gzyueqian
      18078865874

      零基礎初學Python人工智能的四種學習方法

      更新時間: 2018-10-13 14:35:03來源: Python培訓瀏覽量:5932

          Python機器學習有很多方法,大多數(shù)人選擇從理論開始。

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



          要想有效地學習機器學習你必須學習相關(guān)理論,但是你可以利用你的興趣及對知識的渴望,來激勵你從實際例子學起,然后再步入對算法的數(shù)學理解。
          通過本文你可以學習到程序員初學機器學習的四種方式。這是給技術(shù)人員設計的實用方法,并以實驗為依據(jù),你需要做調(diào)研并且完成實驗才能建立自己的感性知識。
          初學機器學習的四種方法介紹
          這四種方法分別是:
          1. 學習一個機器學習工具
          2. 學習一個機器學習數(shù)據(jù)集
          3. 學習一個機器學習算法
          4. 實現(xiàn)一個機器學習算法
          你應該通讀一下這些方法的策略,然后選擇你覺得適合自己的一個,并且有選擇性地執(zhí)行。
          1. 學習一個機器學習工具
          選一個你喜歡的工具或者類庫,然后學著用好它。
          我推薦你從一個自帶數(shù)據(jù)預處理工具,機器學習算法并且能呈現(xiàn)結(jié)果的工作平臺開始學習。學習這樣一個工作平臺能讓你更熟悉機器學習從頭到尾的整個過程,這比學習一個特定的數(shù)據(jù)處理技術(shù)或者一個機器學習算法更有價值。
          或者,也許你感興趣的是一個特定技術(shù)或者一類技術(shù)。你可以利用這個機會更深入地學習一個提供這些方法的類庫或工具,掌握了提供這些技術(shù)的類庫能幫助你掌握相應的技術(shù)。
          一些你可以采取的策略有:
          比較一些可選的工具。
          總結(jié)你選定的那個工具的能力。
          閱讀并總結(jié)這個工具的文檔。
          完成學習這個工具的文字或視頻教程,并且總結(jié)每個教程中你重點學到了什么。
          制作關(guān)于這個工具的功能或者特性的教程。選一些你不太了解的功能,然后寫下得到結(jié)果的過程,或者把如何使用這個功能的過程錄個五分鐘的截屏視頻。
          一些值得考慮的工作平臺有:R, Weka, scikit-learn, waffles, 和 orange.
          2. 學習一個機器學習數(shù)據(jù)集
          選一個數(shù)據(jù)集,然后深入地理解它,發(fā)掘究竟哪類算法適合處理它。
          我推薦你選擇一個中等大小的,內(nèi)存能放下的,可能被很多人研究過的數(shù)據(jù)集。現(xiàn)在有很多非常好的包含數(shù)據(jù)的類庫,你可以瀏覽它們并且從中選擇。你的目的是嘗試理解這個數(shù)據(jù)集背后的問題,它的結(jié)構(gòu),和哪些種類的解決方法適合這個問題。
          用一個機器學習或者統(tǒng)計的工作平臺來研究這個數(shù)據(jù)集。這樣你能專心解答關(guān)于這個數(shù)據(jù)集你要研究的問題,而不是分心去學習某個特定的技術(shù)或者如何寫代碼來實現(xiàn)它。
          一些可以幫助你學習實驗性的機器學習數(shù)據(jù)集的策略有:
          1. 清晰地描述這個數(shù)據(jù)集所呈現(xiàn)的問題。
          2. 用描述性的統(tǒng)計數(shù)據(jù)來總結(jié)數(shù)據(jù)。
          3. 描述你從數(shù)據(jù)中觀察到的結(jié)構(gòu),并且提出對數(shù)據(jù)間關(guān)系的假設。
          4. 簡單地在這個數(shù)據(jù)集上測試一些常用的機器學習算法,然后發(fā)掘哪些類別的算法比其他的表現(xiàn)好
          5. 調(diào)整表現(xiàn)好的算法的參數(shù),然后發(fā)掘什么算法及算法參數(shù)設置在這個問題上表現(xiàn)得好
          你可以從這些包含高質(zhì)量數(shù)據(jù)集的庫中選擇:?UCI ML Repository,Kaggle?和?data.gov.
          3. 學習一個機器學習算法
          選擇一個算法,深入理解它,發(fā)掘什么樣的參數(shù)設置在不同數(shù)據(jù)集上都穩(wěn)定。
          我推薦你從一個中等復雜度的算法開始學起。選一個已經(jīng)被人充分理解了的,有許多可選的開源實現(xiàn),并且需要你探索的參數(shù)數(shù)目較少的算法。你的目的是建立有關(guān)這個算法在不同問題和不同參數(shù)設定下表現(xiàn)如何的直覺。
          使用一個機器學習平臺或者類庫。這樣能讓你把這個算法當成一個“系統(tǒng)”,專心研究它的表現(xiàn),而不是分心研究數(shù)學公式描述或者相關(guān)論文。
          一些學習你選定的機器學習算法時可采取的策略有:
          1. 總結(jié)系統(tǒng)的參數(shù),及它們對算法可能有什么影響
          2. 選一系列適合這個算法,可能導致不同表現(xiàn)的數(shù)據(jù)庫
          3. 選擇一些你認為能導致不同結(jié)果的算法的參數(shù)設置,然后列出你認為系統(tǒng)可能的表現(xiàn)
          4. 考慮在迭代過程或不同時間段內(nèi)能被監(jiān)察到的算法表現(xiàn)
          5. 用一個或多個數(shù)據(jù)集,算法設置和結(jié)果衡量方式來設計解決特定問題的小實驗,并且匯報結(jié)果
          你可以學簡單點,也可以學復雜點。想多學一點的話,你可以探索所謂的啟發(fā)式規(guī)則或經(jīng)驗法則來使用算法,并且以實驗為依據(jù)來展示它們好不好用,及如果好用的話在什么條件下他們與成功的結(jié)果有關(guān)聯(lián)。
      一些你可以考慮學習的算法有:小平方線性回歸,邏輯回歸,K近鄰分類算法,感知器算法。
          4. 實現(xiàn)一個機器學習算法
          選一個算法,然后選一個編程語言來實現(xiàn)它,或者把一個已有的實現(xiàn)移植到你選定的編程語言上。
          你應選擇一個中等復雜度的算法來實現(xiàn)。我推薦你仔細研究你想要實現(xiàn)的算法,或選擇一個你喜歡的已有實現(xiàn)然后把它移植到你選定的編程語言。
          從頭開始實現(xiàn)一個算法,是學習那些關(guān)于把算法描述轉(zhuǎn)換成一個可行的系統(tǒng)的過程中必須要做的無數(shù)的小決定的好方法。在不同算法上重復這個過程,很快你就能對讀懂論文和書里面算法的數(shù)學描述有感覺了。
      五個能幫助你從頭開始實現(xiàn)機器學習算法的策略有:
          1. 從代碼移植開始。把開源的算法實現(xiàn)從一種語言移植到另外一種語言能教會你算法是如何實現(xiàn)的,并且你能擁有并掌握它。這是開始學習的快的途徑,非常值得推薦。
          2. 從一個算法描述開始,然后采集一些其他的描述來幫助你排除歧義并且理解主要的那個參考材料。
          3. 多讀該算法的不同實現(xiàn)。學習不同程序員是如何理解算法描述并且如何把它轉(zhuǎn)換成代碼的。
          4. 不要陷入過炫的方法太深。許多機器學習算法的內(nèi)核用的都是優(yōu)化算法。不要嘗試重新實現(xiàn)這些方法,除非這就是你做這個項目的本意。5. 你應該用一個提供優(yōu)化算法的類庫,或者用一個更容易實現(xiàn)的或者類庫里就有的簡單點的優(yōu)化算法(如梯度下降算法)。
          小型項目方法論
          以上四個策略屬于我稱為“小型項目”的方法論。你用這個方法可以很快建立在技術(shù)領(lǐng)域(比如機器學習)方面的實用技能。大意就是你設計并且親手完成解決特定問題的小項目。
          小型項目在幾個方面應該足夠小,才能保證你能完成它們并且從中學習,然后好步入到下一個項目中去。下面是一些你應該考慮加在項目上的一些限制:
          1. 時間短:一個項目從頭到能有可展現(xiàn)的結(jié)果不應超過5-15小時。這樣利用一周中不上班的晚上和周末時間你就能完成一個小項目。
          2.范圍小:一個項目應該有意義,但同時應該是你感興趣的問題的范圍小的版本。舉個例子,與其解決廣義的“寫一個能告訴我微博是否會被轉(zhuǎn)發(fā)的程序”,還不如去研究這個問題在一個特定的賬號在一個特定的時間段內(nèi)的表現(xiàn)。
          3.所需資源少:一個項目應該能用你的可聯(lián)網(wǎng)的臺式或者筆記本電腦完成。你不應該需要奇葩的軟件,網(wǎng)絡架構(gòu),或者第三方數(shù)據(jù)或者服務。你應搜集需要的數(shù)據(jù),讀入內(nèi)存,用開源工具來解決你那個小問題。
      額外有關(guān)項目的小貼士
          這些策略的原則是讓你利用你的程序員技能開始行動。下面是三條幫助你調(diào)整思維模式,有助你開始行動的小貼士:
          1. 寫下你學到的東西。我推薦你每個步驟都產(chǎn)生一個有形的勞動成果。它可以是本子里的筆記,微博,博客文章或者是開源項目。每個勞動成果都可以作為一個里程碑或錨。
          2. 除非項目的目的是寫代碼,否則不要寫。這條不是那么顯而易見,但卻是能幫助你加快理解機器學習的速度的建議。
          3. 目的是學到東西,而不是產(chǎn)生的資源。不要管是否有人讀你關(guān)于一個算法的研究、教程或是筆記。這些都是你的觀點,是你的勞動成果,他們證明你現(xiàn)在掌握到了知識。
          總結(jié)
          下面是這些策略的一句話清晰總結(jié),可以幫助你選擇適合自己的那個:
          1. 學習一個機器學習工具:選擇一個你喜歡的工具或類庫,學習如何很好的使用它。。
          2. 學習一個機器學習數(shù)據(jù)集:選擇一個數(shù)據(jù)集,深入地離家它,發(fā)掘哪類算法處理它有效。
          3. 學習一個機器學習算法:選擇一個算法,深入理解它,發(fā)掘什么樣的參數(shù)設置在不同數(shù)據(jù)集上都穩(wěn)定。

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

          想要學習更多的Python應用技術(shù)那就加入我們吧!

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日本一区二区三区日本视频 | 亚洲欧美在线看h | 欧美国产在线一区 | 色综合久久久久久久久久 | 婷婷六月激情六月色六月 | 亚洲伊人久久久综合 |