程式設計師初學機器學習演算法

2021-06-22 06:33:49 字數 2540 閱讀 8602

英文原文:

4 self-study machine learning projects

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

如果你是個程式設計師,那麼你已經掌握了把問題拆分成相應組成部分及設計小專案原型的能力,這些能力能幫助你學習新的技術、類庫和方法。這些對任何乙個職業程式設計師來說都是重要的能力,現在它們也能用在初學機器學習上。

要想有效地學習機器學習你必須學習相關理論,但是你可以利用你的興趣及對知識的渴望,來激勵你從實際例子學起,然後再步入對演算法的數學理解。

通過本文你可以學習到程式設計師初學機器學習的四種方式。這是給技術人員設計的實用方法,並以實驗為依據,你需要做調研並且完成實驗才能建立自己的感性知識。

這四種方法分別是:

學習乙個機器學習工具

學習乙個機器學習資料集

學習乙個機器學習演算法

實現乙個機器學習演算法

你應該通讀一下這些方法的策略,然後選擇你覺得最適合自己的乙個,並且有選擇性地執行。

1. 學習乙個機器學習工具

選乙個你喜歡的工具或者類庫,然後學著用好它。

我推薦你從乙個自帶資料預處理工具,機器學習演算法並且能呈現結果的工作平台開始學習。學習這樣乙個工作平台能讓你更熟悉機器學習從頭到尾的整個過程,這比學習乙個特定的資料處理技術或者乙個機器學習演算法更有價值。

或者,也許你感興趣的是乙個特定技術或者一類技術。你可以利用這個機會更深入地學習乙個提供這些方法的類庫或工具,掌握了提供這些技術的類庫能幫助你掌握相應的技術。

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

一些值得考慮的工作平台有:r, weka, scikit-learn, waffles, 和 orange.

2. 學習乙個機器學習資料集

選乙個資料集,然後深入地理解它,發掘究竟哪類演算法最適合處理它。

我推薦你選擇乙個中等大小的,記憶體能放下的,可能被很多人研究過的資料集。現在有很多非常好的包含資料的類庫,你可以瀏覽它們並且從中選擇。你的目的是嘗試理解這個資料集背後的問題,它的結構,和哪些種類的解決方法最適合這個問題。

用乙個機器學習或者統計的工作平台來研究這個資料集。這樣你能專心解答關於這個資料集你要研究的問題,而不是分心去學習某個特定的技術或者如何寫**來實現它。

一些可以幫助你學習實驗性的機器學習資料集的策略有:

你可以從這些包含高質量資料集的庫中選擇: uci ml repository,kaggle 和 data.gov.

3. 學習乙個機器學習演算法

選擇乙個演算法,深入理解它,發掘什麼樣的引數設定在不同資料集上都穩定。

我推薦你從乙個中等複雜度的演算法開始學起。選乙個已經被人充分理解了的,有許多可選的開源實現,並且需要你探索的引數數目較少的演算法。你的目的是建立有關這個演算法在不同問題和不同引數設定下表現如何的直覺。

使用乙個機器學習平台或者類庫。這樣能讓你把這個演算法當成乙個「系統」,專心研究它的表現,而不是分心研究數學公式描述或者相關**。

一些學習你選定的機器學習演算法時可採取的策略有:

你可以學簡單點,也可以學複雜點。想多學一點的話,你可以探索所謂的啟發式規則或經驗法則來使用演算法,並且以實驗為依據來展示它們好不好用,及如果好用的話在什麼條件下他們與成功的結果有關聯。

一些你可以考慮學習的演算法有:最小平方線性回歸,邏輯回歸,k最近鄰分類演算法,感知器演算法。

4. 實現乙個機器學習演算法

選乙個演算法,然後選乙個程式語言來實現它,或者把乙個已有的實現移植到你選定的程式語言上。

你應選擇乙個中等複雜度的演算法來實現。我推薦你仔細研究你想要實現的演算法,或選擇乙個你喜歡的已有實現然後把它移植到你選定的程式語言。

從頭開始實現乙個演算法,是學習那些關於把演算法描述轉換成乙個可行的系統的過程中必須要做的無數的小決定的好方法。在不同演算法上重複這個過程,很快你就能對讀懂**和書裡面演算法的數學描述有感覺了。

五個能幫助你從頭開始實現機器學習演算法的策略有:

小型專案方**

以上四個策略屬於我稱為「小型專案」的方**。你用這個方法可以很快建立在技術領域(比如機器學習)方面的實用技能。大意就是你設計並且親手完成解決特定問題的小專案。

額外有關專案的小貼士

這些策略的原則是讓你利用你的程式設計師技能開始行動。下面是三條幫助你調整思維模式,有助你開始行動的小貼士:

總結

下面是這些策略的一句話清晰總結,可以幫助你選擇適合自己的那個。

學習乙個機器學習工具:選擇乙個你喜歡的工具或類庫,學習如何很好的使用它。。

學習乙個機器學習資料集:選擇乙個資料集,深入地離家它,發掘哪類演算法處理它最有效。

學習乙個機器學習演算法:選擇乙個演算法,深入理解它,發掘什麼樣的引數設定在不同資料集上都穩定。

實現乙個機器學習演算法:選擇乙個演算法,用你選定的語言實現它或者是把已有的實現移植到你選定的語言上。

選乙個吧!

pdf 指導手冊

小專案方**:學習並實踐應用機器學習

作者還建立了乙個包含 90 個專案想法的清單,作為附加福利加在這個指導裡面了。

程式設計師初學機器學習的四種方式

學習機器學習有很多方法,大多數人選擇從理論開始。如果你是個程式設計師,那麼你已經掌握了把問題拆分成相應組成部分及設計小專案原型的能力,這些能力能幫助你學習新的技術 類庫和方法。這些對任何乙個職業程式設計師來說都是重要的能力,現在它們也能用在初學機器學習上。要想有效地學習機器學習你必須學習相關理論,但...

PHP程式設計師初學Vue

筆者是php開發出身,前端掌握的技術只有基礎的html css js jq,之前一直以為vue就是另乙個jquery,就沒有去認真了解這門技術。最近組裡乙個前端大佬在專案中引入了vue並封裝了一些元件,為了推廣使用新技術,筆者這才去菜鳥教程認認真真學了一遍vue基礎,在學習過程中慢慢體驗到vue和j...

黑馬程式設計師 OC語言初學

android培訓 ios培訓 期待與您交流!c語言的基礎上,增加了一層最小的物件導向語法 完全相容c語言 可以在oc 中混入c語言 甚至是c 可以使用oc開發mac os x平台和ios平台的應用程式 基本上所有關鍵字都是以 開頭 下面列舉一些常見的關鍵字,看一眼就行了,不用去翻資料查詢它們的含義...