請點擊此處輸入圖片描述
找資料也是門學問, 別抓著機器學習就一擁而上。
作者 | Jason Brownlee
編譯 | AI100(ID:rgznai100)
來看個小故事:機器學習火了。
做開發的工程師小張,
工程師小張, 希望能在自己的軟體專案中加入機器學習。 而經理老王, 則希望在量化交易中, 更多借助機器學習的強大, 來處理交易, 從而佔據市場先機。
老王有著多年的程式設計經驗, 小張則是多年的開發經驗。 兩人分別讓周圍的朋友推薦一些書籍, 買來自學。
不過, 這兩人很快就讀不下去了, 連第一章都讀不下去。
怎麼回事?
難道是因為推薦的書籍不夠好嗎?
並不是。 朋友們推薦的課程和教材都很棒, 可是, 不適合。
這是目前一個非常普遍的問題——不匹配。
這些教材, 對於有4年數學基礎, 機器學習在讀的研究生來說, 特別適用。
但是, 但是, 對於有十年開發經驗和基金經驗的小張和老王來說,
你是不是也遇到同樣的問題?只想用好機器學習, 並不想追求其中的道道。
這篇文章就專門來回答:不同行業, 不同需求的人, 到底應該在什麼地方去獲取有用資料, 避免時間浪費。
以下來自澳大利亞機器學習大師 Jason Brownlee 的博客, 希望對你有所啟發。
本文, 列舉了10類人群, 並將其歸到4個小組。
無論你是機器學習專業的學生, 還是想借機器學習獲得商業問題優化方案的資料分析師, 還是軟體的開發工程師, 還是對機器學習感興趣的商務人士, 你都能在這篇文章中,
在我們開始今天的乾貨前, 先搞清楚你到底屬於哪一類, 以對症下藥。
以下是人群的分組列表:
商業人群
對機器學習感興趣的商務人士
在專案中應用機器學習的經理人
學術人群
機器學習專業的本科生或研究生
機器學習領域的研究人員
利用機器學習建模的其他領域的研究人員
工程人群
實現演算法的程式設計人員
交付一次性預測資訊的開發人員
改進軟體和服務的工程師
資料人群
希望獲得商業問題優化方案的資料科學家
希望能更好地解釋資料的資料分析師
➤商業人群
通常來講, 這類人群希望在商業上有效地使用機器學習, 但並不需要掌握其演算法或工具的實現細節。
在商業領域, 機器學習技術已經廣泛地用於預測分析。
對機器學習感興趣的商務人士
這類人群包括總經理及諮詢顧問, 對他們而言, 機器學習會對以後的項目和策劃起到戰略指導的作用
以下資源對此類人群做戰略思考會有幫助:
1.Gartner’s Magic Quadrant for Advanced Analytics Platforms, 2015
http://www.gartner.com/technology/reprints.do?id=1-2AHPOU0&ct=150225&st=sb
2.Gartner’s Machine Learning Drives Digital Business, 2014
https://www.gartner.com/doc/2820120/machine-learning-drives-digital-business
3.McKinsey’s An executive’s guide to machine learning, 2015
http://www.mckinsey.com/industries/high-tech/our-insights/an-executives-guide-to-machine-learning
在下一節針對“經理人”的推薦書籍, 也適用這個人群。
請點擊此處輸入圖片描述
專案經理人
機器學習對於這類人群負責的專案非常適用。 對他們來說, 有用的資料是關於各種問題和演算法的全面概括, 而不需要關注太多細節。
可以參考以下書籍:
1.Predictive Analytics: The Power to Predict Who Will Click, Buy, Lie, or Die
http://www.amazon.com/dp/1118356853?tag=inspiredalgor-20
2.Data Science for Business: What you need to know about data mining and data-analytic thinking
http://www.amazon.com/dp/1449361323?tag=inspiredalgor-20
3.Data Smart: Using Data Science to Transform Information into Insight
http://www.amazon.com/dp/111866146X?tag=inspiredalgor-20
請點擊此處輸入圖片描述
➤學術人群
通常來講,這類人群主要指學生,包括本科生、研究、博士後、研究助理等。
學術人群可能會花大量時間研究他們論文中的某個機器學習演算法。 在此,我推薦他們看一篇文章“How to Research a Machine Learning Algorithm”,瞭解關於演算法方面的研究。
How to Research a Machine Learning Algorithm
http://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/
機器學習專業的本科生或研究生
機器學習專業的學生通常會上一些關於技術和演算法的課程,因此他們對相關的具體問題會更感興趣。
學生一般比較專注,也有時間深入去鑽研。這類人群最好閱讀教科書。以下是機器學習領域裡最好的教科書:
Learning from Data
http://www.amazon.com/dp/B00C7EXC2A?tag=inspiredalgor-20
Machine Learning: A Probabilistic Perspective
http://www.amazon.com/dp/0262018020?tag=inspiredalgor-20
Pattern Recognition and Machine Learning
http://www.amazon.com/dp/0387310738?tag=inspiredalgor-20
The Elements of Statistical Learning: Data Mining. Inference. and Prediction
http://www.amazon.com/dp/B00GSCXVN2?tag=inspiredalgor-20
機器學習領域的研究人員
機器學習領域的研究人員會深入瞭解機器學習的某個方面,並努力去擴展該領域。
研究人員對本專業的研究論文、期刊、組織、網路等很感興趣。
教科書對他們來說,可就不適用了。
他們需要參考一些知名度高的期刊和論文集:
Journal of Machine Learning Research (JMLR)
http://www.jmlr.org/
Neural Information Processing Systems (NIPS)
https://nips.cc/
Knowledge Discovery and Data Mining (SIGKDD)
http://www.kdd.org/
International Conference on Machine Learning (ICML)
https://en.wikipedia.org/wiki/International_Conference_on_Machine_Learning
檢驗Quora上關於“機器學習最好的會議和期刊是什麼?”。
https://www.quora.com/What-are-the-best-conferences-and-journals-about-machine-learning
這兒有一個很方便的人工智慧排名前50位的期刊列表。
http://www.scimagojr.com/journalrank.php?category=1702
利用機器學習建模的其他領域的研究人員
其他領域的研究人員可能也會對機器學習感興趣,但是是把它當作工具。他們更關注用自己的資料建造描述性或預測性的模型。
例如,客戶研究、地質學、或者生物學領域的科學家有他們自己的資料集。他們會用建模的方法來預測未來可能會發生的問題。
相比於模型的準確度,他們更關注模型的可解釋性。因此,從統計學借鑒過來的簡單易懂的方法更易被接受,例如線性回歸和邏輯回歸。
當然,好的系統化過程仍然需要。
我會推薦“工程人群”裡提到的資源,尤其是“Developer Interested in Delivering One-Off Predictions”。另外可以看一下“資料人群”裡“資料科學家”那部分。
➤工程人群
工程人群基本上是開發人員,他們希望將機器學習用於自己專案的解決方案中。
對於開發人員,推薦一篇很好的文章“Machine Learning for Programmers”。
http://machinelearningmastery.com/machine-learning-for-programmers/
工程人群可以從答疑網站的機器學習社區中獲得很多幫助和支持。 更多的資訊,可以參考文章“Machine Learning Communities”。
http://machinelearningmastery.com/machine-learning-communities/
實現演算法的程式設計人員
對於程式設計人員來說,一個很好的掌握機器學習技能的方法是:從零基礎開始,利用現有的程式設計能力實現機器學習的演算法。
這個方法我講過很多次,也在我的博文“Understand Machine Learning Algorithms By Implementing Them From Scratch”中提供了很棒的小竅門和資源。
http://machinelearningmastery.com/understand-machine-learning-algorithms-by-implementing-them-from-scratch/
在這篇博文中,我還針對這個方法推薦了三本書
Data Science from Scratch: First Principles with Python
http://www.amazon.com/dp/149190142X?tag=inspiredalgor-20
Machine Learning in Action
http://www.amazon.com/dp/1617290181?tag=inspiredalgor-20
Machine Learning: An Algorithmic Perspective
http://www.amazon.com/dp/1466583282?tag=inspiredalgor-20
交付一次性預測資訊的開發人員
一個開發人員不一定得是很棒的程式師,而程式設計也不需要交付一個準確可靠的預測模型。
一個一次性的預測模型可以在商業環境中提供一套預測資訊。在自學、處理實際資料集甚至在機器學習競賽中,這種模型都算是非常理想的。
如果你經歷過系統地解決問題的全部過程,並提供出一個獨立的模型,你將獲益良多。
Data Mining: Practical Machine Learning Tools and Techniques
http://www.amazon.com/dp/0123748569?tag=inspiredalgor-20
Applied Predictive Modeling
http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20
你可以從我的博文“Process for working through Machine Learning Problems”中瞭解到端對端的解決機器學習問題的系統流程。
http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/
改進軟體和服務的工程師
一個工程師要想在他們的軟體專案中加入機器學習,需要掌握的知識包括演算法、端對端解決問題、以及在軟體實際運轉的情況下如何讓演算法可靠執行。
這類人群是從前面的兩類人群成長而來的,稱他們為機器學習工程師可能更恰當。他們致力於使用高速的演算法來提供準確可靠的結果,並在二者中尋求平衡。
這類人群也大量使用了機器學習書庫和基礎架構。
在啟動中的機器學習書庫中,包括如下有用的資源:
Building Machine Learning Systems with Python
http://www.amazon.com/dp/B00E7NC9D2?tag=inspiredalgor-20
Learning scikit-learn: Machine Learning in Python
http://www.amazon.com/dp/1783281936?tag=inspiredalgor-20
Practical Data Science with R
http://www.amazon.com/dp/1617291560?tag=inspiredalgor-20
Machine Learning with R
http://www.amazon.com/dp/1784393908?tag=inspiredalgor-20
另外,還可以參閱文章“Building a Production Machine Learning Infrastructure”。
http://machinelearningmastery.com/building-a-production-machine-learning-infrastructure/
➤資料人群
通常來說,這類人群主要跟資料打交道,但可能也需要用到機器學習的知識。
希望獲得商業問題優化方案的資料科學家
一名優秀的資料科學家,絕不能停止學習。
你必須瞭解最新的資料流程、技巧和演算法。這包括你需要用來描述資料和創建預測模型的機器學習技能。
從“工程部落”項下列出的更為實用的資源中,以及從“學術部落”項下列出的更為理論化的資源中,資料科學家可以獲取自己需要的資源。
但是一些以資料科學為主的機器學習資源既有實用性又有理論性,這些資源包括:
Applied Predictive Modeling
http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20
An Introduction to Statistical Learning: with Applications in R
http://www.amazon.com/dp/1461471370?tag=inspiredalgor-20
Machine Learning for Hackers
http://www.amazon.com/dp/1449303714?tag=inspiredalgor-20
希望能更好地解釋資料的資料分析師
資料分析員主要對商業利益背景下的資料解釋感興趣。有時,機器學習演算法有助於得出性能更好的模型。這些模型大多為描述模型,但是有時也包括預測模型。
和“普通研究人員”這個群體一樣,這個群體可能在統計學和統計推論上有著良好的基礎。另外,由於他們對描述模型最感興趣,因此掌握線性回歸和邏輯回歸之類的經典演算法可能就足夠了。相對於準確性,所得模型的解釋能力更好。
從統計推論的角度而言,上文提到的資源很很有用。
原文地址
http://machinelearningmastery.com/machine-learning-tribe/
➤學術人群
通常來講,這類人群主要指學生,包括本科生、研究、博士後、研究助理等。
學術人群可能會花大量時間研究他們論文中的某個機器學習演算法。 在此,我推薦他們看一篇文章“How to Research a Machine Learning Algorithm”,瞭解關於演算法方面的研究。
How to Research a Machine Learning Algorithm
http://machinelearningmastery.com/how-to-research-a-machine-learning-algorithm/
機器學習專業的本科生或研究生
機器學習專業的學生通常會上一些關於技術和演算法的課程,因此他們對相關的具體問題會更感興趣。
學生一般比較專注,也有時間深入去鑽研。這類人群最好閱讀教科書。以下是機器學習領域裡最好的教科書:
Learning from Data
http://www.amazon.com/dp/B00C7EXC2A?tag=inspiredalgor-20
Machine Learning: A Probabilistic Perspective
http://www.amazon.com/dp/0262018020?tag=inspiredalgor-20
Pattern Recognition and Machine Learning
http://www.amazon.com/dp/0387310738?tag=inspiredalgor-20
The Elements of Statistical Learning: Data Mining. Inference. and Prediction
http://www.amazon.com/dp/B00GSCXVN2?tag=inspiredalgor-20
機器學習領域的研究人員
機器學習領域的研究人員會深入瞭解機器學習的某個方面,並努力去擴展該領域。
研究人員對本專業的研究論文、期刊、組織、網路等很感興趣。
教科書對他們來說,可就不適用了。
他們需要參考一些知名度高的期刊和論文集:
Journal of Machine Learning Research (JMLR)
http://www.jmlr.org/
Neural Information Processing Systems (NIPS)
https://nips.cc/
Knowledge Discovery and Data Mining (SIGKDD)
http://www.kdd.org/
International Conference on Machine Learning (ICML)
https://en.wikipedia.org/wiki/International_Conference_on_Machine_Learning
檢驗Quora上關於“機器學習最好的會議和期刊是什麼?”。
https://www.quora.com/What-are-the-best-conferences-and-journals-about-machine-learning
這兒有一個很方便的人工智慧排名前50位的期刊列表。
http://www.scimagojr.com/journalrank.php?category=1702
利用機器學習建模的其他領域的研究人員
其他領域的研究人員可能也會對機器學習感興趣,但是是把它當作工具。他們更關注用自己的資料建造描述性或預測性的模型。
例如,客戶研究、地質學、或者生物學領域的科學家有他們自己的資料集。他們會用建模的方法來預測未來可能會發生的問題。
相比於模型的準確度,他們更關注模型的可解釋性。因此,從統計學借鑒過來的簡單易懂的方法更易被接受,例如線性回歸和邏輯回歸。
當然,好的系統化過程仍然需要。
我會推薦“工程人群”裡提到的資源,尤其是“Developer Interested in Delivering One-Off Predictions”。另外可以看一下“資料人群”裡“資料科學家”那部分。
➤工程人群
工程人群基本上是開發人員,他們希望將機器學習用於自己專案的解決方案中。
對於開發人員,推薦一篇很好的文章“Machine Learning for Programmers”。
http://machinelearningmastery.com/machine-learning-for-programmers/
工程人群可以從答疑網站的機器學習社區中獲得很多幫助和支持。 更多的資訊,可以參考文章“Machine Learning Communities”。
http://machinelearningmastery.com/machine-learning-communities/
實現演算法的程式設計人員
對於程式設計人員來說,一個很好的掌握機器學習技能的方法是:從零基礎開始,利用現有的程式設計能力實現機器學習的演算法。
這個方法我講過很多次,也在我的博文“Understand Machine Learning Algorithms By Implementing Them From Scratch”中提供了很棒的小竅門和資源。
http://machinelearningmastery.com/understand-machine-learning-algorithms-by-implementing-them-from-scratch/
在這篇博文中,我還針對這個方法推薦了三本書
Data Science from Scratch: First Principles with Python
http://www.amazon.com/dp/149190142X?tag=inspiredalgor-20
Machine Learning in Action
http://www.amazon.com/dp/1617290181?tag=inspiredalgor-20
Machine Learning: An Algorithmic Perspective
http://www.amazon.com/dp/1466583282?tag=inspiredalgor-20
交付一次性預測資訊的開發人員
一個開發人員不一定得是很棒的程式師,而程式設計也不需要交付一個準確可靠的預測模型。
一個一次性的預測模型可以在商業環境中提供一套預測資訊。在自學、處理實際資料集甚至在機器學習競賽中,這種模型都算是非常理想的。
如果你經歷過系統地解決問題的全部過程,並提供出一個獨立的模型,你將獲益良多。
Data Mining: Practical Machine Learning Tools and Techniques
http://www.amazon.com/dp/0123748569?tag=inspiredalgor-20
Applied Predictive Modeling
http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20
你可以從我的博文“Process for working through Machine Learning Problems”中瞭解到端對端的解決機器學習問題的系統流程。
http://machinelearningmastery.com/process-for-working-through-machine-learning-problems/
改進軟體和服務的工程師
一個工程師要想在他們的軟體專案中加入機器學習,需要掌握的知識包括演算法、端對端解決問題、以及在軟體實際運轉的情況下如何讓演算法可靠執行。
這類人群是從前面的兩類人群成長而來的,稱他們為機器學習工程師可能更恰當。他們致力於使用高速的演算法來提供準確可靠的結果,並在二者中尋求平衡。
這類人群也大量使用了機器學習書庫和基礎架構。
在啟動中的機器學習書庫中,包括如下有用的資源:
Building Machine Learning Systems with Python
http://www.amazon.com/dp/B00E7NC9D2?tag=inspiredalgor-20
Learning scikit-learn: Machine Learning in Python
http://www.amazon.com/dp/1783281936?tag=inspiredalgor-20
Practical Data Science with R
http://www.amazon.com/dp/1617291560?tag=inspiredalgor-20
Machine Learning with R
http://www.amazon.com/dp/1784393908?tag=inspiredalgor-20
另外,還可以參閱文章“Building a Production Machine Learning Infrastructure”。
http://machinelearningmastery.com/building-a-production-machine-learning-infrastructure/
➤資料人群
通常來說,這類人群主要跟資料打交道,但可能也需要用到機器學習的知識。
希望獲得商業問題優化方案的資料科學家
一名優秀的資料科學家,絕不能停止學習。
你必須瞭解最新的資料流程、技巧和演算法。這包括你需要用來描述資料和創建預測模型的機器學習技能。
從“工程部落”項下列出的更為實用的資源中,以及從“學術部落”項下列出的更為理論化的資源中,資料科學家可以獲取自己需要的資源。
但是一些以資料科學為主的機器學習資源既有實用性又有理論性,這些資源包括:
Applied Predictive Modeling
http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20
An Introduction to Statistical Learning: with Applications in R
http://www.amazon.com/dp/1461471370?tag=inspiredalgor-20
Machine Learning for Hackers
http://www.amazon.com/dp/1449303714?tag=inspiredalgor-20
希望能更好地解釋資料的資料分析師
資料分析員主要對商業利益背景下的資料解釋感興趣。有時,機器學習演算法有助於得出性能更好的模型。這些模型大多為描述模型,但是有時也包括預測模型。
和“普通研究人員”這個群體一樣,這個群體可能在統計學和統計推論上有著良好的基礎。另外,由於他們對描述模型最感興趣,因此掌握線性回歸和邏輯回歸之類的經典演算法可能就足夠了。相對於準確性,所得模型的解釋能力更好。
從統計推論的角度而言,上文提到的資源很很有用。
原文地址
http://machinelearningmastery.com/machine-learning-tribe/