五個給機器學習和數據科學入門者的學習建議

2021-01-08 機器之心Pro

選自towardsdatascience

作者:Daniel Bourke

機器之心編譯

參與:韓放、一鳴

都說做一件事情最好的時機就是「現在」,但是從何開始往往會難倒一大批人,更不用說是想要入門數據科學和機器學習的朋友了。本文是一篇科普掃盲文章,作者以初學者的視角,為同樣想「入坑」的讀者們提供了一些建議,還有一些可以獲得的學習資源。

「我想學習機器學習和人工智慧,該從哪開始呢?」

從這裡開始。

兩年前,我開始在網上自學機器學習,並且通過 YouTube 和博客分享了我的學習過程。我並不知道我在做什麼,在決定開始學習機器學習之前我從沒寫過代碼。

當人們發現我的作品,他們通常會私信並提問。我不一定知道所有的答案,但我會儘量回復。人們最常問的問題是:「該從哪開始?」,其次是:「我需要多少數學基礎?」

今天早上我就回答了一堆這樣的問題。

有人告訴我他已經開始學習 Python 並打算學習機器學習了,但不知道下一步該做什麼。

「我已經學習了 Python,下一步該做什麼?」

我回復了一系列學習的步驟,並且複製到了這裡。如果你想成為一個機器學習從業者,卻不知道怎麼寫代碼的話,可以把本文當作一個大綱。我的學習風格是代碼優先:先把代碼運行起來,再根據需要學習理論、數學、統計以及概率等方面的東西,而不是一開始就學理論。

記住,開始學習機器學習你會面臨很多阻礙。別急,慢慢來。把這篇文章添加到收藏夾,以便隨時參考。

我傾向於使用 Python,因為我是從 Python 開始的,並且一直在持續使用它。你也可以用其他語言,但本文的所有步驟都是基於 Python 的。

學習 Python、數據科學工具和機器學習概念

問我問題的那些郵件作者們說他們已經學了一些 Python。但這一步也同樣適用於新手。花幾個月的時間學習 Python 編程和不同的機器學習概念。這兩部分知識你都會需要。

在學習 Python 編程的同時,練習使用 Jupyter 和 Anaconda 等數據科學工具。花幾個小時來研究一下,它們是用來做什麼的以及為什麼要使用它們。

學習資源

人工智慧要素 (https://www.elementsofai.com/)—人工智慧和機器學習主要概念概述。Coursera 上的 Python 教程—(https://bit.ly/pythoneverybodycoursera) 從頭學習 Python。通過 freeCodeCamp 學習 Python (https://youtu.be/rfscVS0vtbw)—一個視頻涵蓋了 Python 所有主要概念。Corey Schafer 的 Anaconda 教程 (https://youtu.be/YJC6ldI3hWk)—一個視頻學會 Anaconda(數據科學和機器學習需要的配置環境)。Dataquest 的新手 Jupyter Notebook 教程 (https://www.dataquest.io/blog/jupyter-notebook-tutorial/)—一篇文章學會啟動和運行 Jupyter Notebook。Corey Schafer 的 Jupyter Note 教程 (https://www.youtube.com/watch?v=HW29067qVWk)—一個視頻學會使用 Jupyter Notebook。

學習通過 Pandas、Numpy 和 Matplotlib 進行數據分析、操作和可視化

一旦你已經掌握了一些 Python 技巧,就會開始想要學習如何處理和操作數據,為了實現這一目的,你需要熟悉 Pandas、Numpy 和 Matplotlib。

Pandas 可以幫助你處理二維數據,類似 Excel 文件裡的信息表,包含行和列。這類數據被稱為結構化數據。Numpy 可以幫助你進行數值計算。機器學習把你能想到的所有東西都轉化成數字,進而在這些數字中尋找模式。Matplotlib 可以幫助你繪製圖形和可視化數據。理解表格中的一堆數字對人類來說可能很困難。我們更喜歡看到有一條線穿過的圖。可視化可以更好得傳達你的發現。

學習資源

Cousera 上的 Python 應用數據科學 (http://bit.ly/courseraDS)—開始打磨數據科學方向的 Python 技能。10 分鐘入門 pandas (https://pandas.pydata.org/pandas-docs/stable/gettingstarted/10min.html)—快速概覽 pandas 庫及其部分最有用的函數。Codebasics 的 Python pandas 教程 (https://youtu.be/CmorAWRsCAw)—該 YouTube 系列介紹了 pandas 的所有主要功能。freeCodeCamp 的 NumPy 教程 (https://youtu.be/QUT1VHiLmmI)—一個 YouTube 視頻學會 NumPy。Sentdex 的 Matplotlib 教程 (https://www.youtube.com/watch?v=q7Bo_J8x_dw&list=PLQVvvaa0QuDfefDfXb9Yf0la1fPDKluPF)—YouTube 系列助你學會 Matplotlib 所有最有用的功能。

藉助 scikit-learn 學習機器學習

現在你已經掌握了操作和可視化數據的技能,是時候學習在數據中尋找模式了。scikit-learn 是一個 Python 庫,它內置了許多有用的機器學習算法供你使用,它還提供了許多其他有用的函數來探究學習算法的學習效果。

重點在於學習都有什麼樣的機器學習問題,比如分類和回歸,什麼樣的算法最適合解決這些問題。現在還不需要從頭開始理解每個算法,先學習如何應用它們。

學習資源

Data School 的基於 scikit-learn 的 Python 機器學習 (https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A)—一個 YouTube 播放列表教你 scikit-learn 的所有主要函數。Daniel Bourke 對探索性數據分析的簡要介紹 (https://towardsdatascience.com/a-gentle-introduction-to-exploratory-data-analysis-f11d843b8184)—把你在上述兩個步驟中學到的知識融合在一個項目中。提供代碼和視頻,助你開始第一個 Kaggle 競賽。Daniel Formosso 的基於 scikit-learn 的探索性數據分析筆記 (https://github.com/dformoso/sklearn-classification)—以上資源的更深入版本,附帶了一個實踐上述內容的端到端項目。

學習深度學習神經網絡

深度學習和神經網絡在沒有太多結構的數據上最有效。二維數據雖然有結構,圖像、視頻、音頻文件和自然語言文本也有,但不會太多。

小貼士:在大多數情況下,你會想對結構化數據使用一組決策樹(隨機森林或 XGBoost 之類的算法),而對於非結構化數據,你會想使用深度學習或遷移學習(使用預先訓練的神經網絡並將其用於你的問題)。

你可以開始把這樣的小貼士用一張便條記錄,然後邊學習邊收集這些信息。

學習資源

Cousera 上 Andrew Ng 的 deeplearning.ai (https://bit.ly/courseradl) (https://bit.ly/courseradl)—商業上最成功的從業者之一講授的深度學習課程。Jeremy Howard 的 fast.ai 深度學習課程 (https://course.fast.ai/) (https://bit.ly/courseradl)—工業界最好的實踐者之一講授的深度學習實際操作方法。

其他課程和書籍

在學習過程中,最理想的情況是你可以用自己的小項目來練習所學的東西。這不必是複雜的,需要改變世界的事情,但你可以說「我用 X 做了這個」。然後通過 github 或博客分享你的工作。github 用於展示你的代碼,博客文章用於展示你如何表達自己所做的工作。你應該為每個項目都發布一下這些內容。申請一份工作的最好方法是你已經做完了工作要求做的事情。分享你的工作是向未來的潛在僱主展示你能力的好方法。

在你熟悉了如何使用不同的機器學習和深度學習框架之後,你可以嘗試通過從頭開始構建它們來鞏固你的知識。你不必總是在生產或從事機器學習時這樣做,但是從內部了解事情是如何工作的將有助於你建立自己的工作。

學習資源

Daniel Bourke 的如何開始你自己的機器學習工程 (https://towardsdatascience.com/how-to-start-your-own-machine-learning-projects-4872a41e4e9c)—開始你自己的工程可能會很難,這篇文章可以給你一些指引。Jeremy Howard 的 fast.ai 深度學習基礎 (https://course.fast.ai/part2)—自上而下學習後,本課程將幫助你從下往上填補空白。Andrew Trask 的 Grokking Deep Learning (https://amzn.to/2H497My)—這本書將教你如何從頭開始構建神經網絡,以及為什麼你應該知道如何構建。Daniel Bourke 推薦的機器學習書籍 (https://www.youtube.com/watch?v=7R08MPXxiFQ)—該 YouTube 視頻整理了一些機器學習最佳書籍。

答疑

每一步需要多長時間?

你可能會花 6 個月或更長的時間。別著急,學習新事物需要時間。作為一名數據科學家或機器學習工程師,你正在培養的主要技能是如何針對數據提出好的問題,然後使用你的工具來嘗試尋找答案。

有時候你會覺得自己什麼都沒學到。甚至倒退。忽略它。不要以天為單位來衡量,看看你一年後有什麼樣的進步。

我在哪裡可以學到這些技能?

我在上面列出了一些資源,它們都是在線的,而且大部分都是免費的,類似的資源還有很多。

DataCamp (http://bit.ly/datacampmrdbourke) 是一個很好學習網站。另外,我的 Machine Learning and Artificial Intelligence resources database (https://bit.ly/AIMLresources) 整理了免費和付費的學習資料。

記住,作為數據科學家或機器學習工程師,很大一部分工作是要解決問題。通過你的第一個作業探索這裡的每一個步驟,並創建你自己的課程來幫助學習。

如果你想知道一個自我引導的機器學習課程的例子是什麼樣子的,看看我的 Self-Created AI Masters Degree (https://bit.ly/aimastersdegree)。這是我在過去 9 個月內從零編碼變成機器學習工程師的過程。它不是完美的,但是我的真實經歷,因此你可以試試。

統計怎麼辦?數學怎麼辦?概率呢?

實踐過程中你會學到這些東西的。先從代碼開始。把代碼運行起來。在運行代碼之前,嘗試學習所有的統計、數學、概率知識,就像是在試圖煮沸大海。它會讓你退縮。

如果代碼不運行,統計、數學和概率都不重要。先運行起來,然後用你的研究技巧來驗證它是否正確。

證書?

證書很好,但你不是為了證書而學習,而是為了提高技能。不要和我犯同樣的錯誤,不要認為證書越多代表技能越多,並不是這樣的。通過上述課程和資源建立知識基礎,然後通過自己的項目完善專業知識(這些是課程無法傳授的知識)。

參考連結:https://towardsdatascience.com/5-beginner-friendly-steps-to-learn-machine-learning-and-data-science-with-python-bf69e211ade5

相關焦點

  • 95後數據科學家教你從零自學機器學習,這有3本入門必看書籍
    曉查 發自 凹非寺 量子位 編譯 | 公眾號 QbitAI厭倦了現在的工作,想轉行做數據科學,但是卻沒有計算機專業的相關學歷,應該怎樣才能入門?這類的教程已經有很多。最近一位22歲的數據科學家Dario,以自學經歷中用到的資源告訴你,如何從零開始學習數據科學。
  • 機器學習、數據科學、人工智慧、深度學習和統計學之間的區別!
    作者:Vincent Granville,來源:機器之心 在本文中,數據科學家與分析師 Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。
  • 機器學習、數據科學、人工智慧、深度學習和統計學之間的區別
    Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學等領域的區別。在本文中,數據科學家與分析師 Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。
  • 你知道機器學習、數據科學、人工智慧、深度學習和統計學的區別嘛
    Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。
  • 這五個數據科學家和機器學習工程師油管博主,你必須關注
    這5個油管博主,筆者強烈安利,讓他們帶你去了解如何有效地規劃數據科學事業,或者在等待損失收斂的同時,學習如何增強對人類思想和意識起源的直覺吧。1.萊克斯·弗裡德曼萊克斯·弗裡德曼的油管頻道可以說是迄今為止機器學習從業者最具洞察力的頻道。
  • 數據科學入門指南:新手如何步入數據科學領域?
    一旦掌握了編程語法和其他基礎知識之後,你就可以開啟Python的中級和高級學習之旅。要做到在數據科學領域遊刃有餘,我建議你至少學完中級,這樣可以熟悉Python中的數據結構和文件系統。下一步。學習統計學和數學數據科學是分析數據並得出有用的和可操作的見解的技能。為此,必須具備基本的統計學和數學知識。雖然不要求你成為一個偉大的統計學家,但需要對數據分布和算法原理這些基礎知識有所了解。 話雖如此,來看看需要學習哪些內容。
  • 2020年 Top 20 機器學習和數據科學網站
    每天我都能看到瘋狂的信息流,不幸的是,有很多虛假或毫無價值的東西,尤其是在數據科學和ML上。哪裡可以找到所有相關和有用的材料?-這就是問題所在。和大家分享我整理的機器學習和數據科學網站。這個博客也不僅僅是為數據科學從業者,還包括安全和物聯網部分。#5 CodeMentor.io這是一個學習編程的在線指導平臺,我對此感到非常興奮。它的主要重點是為所有努力學習代碼的業餘愛好者提供教程,對於ML和數據科學來說,這一技能並不多餘。該網站提供來自高級開發人員的見解、定製的閱讀列表,以及與來自世界各地的開發人員建立聯繫的能力。
  • 5個數據科學及機器學習YouTube頻道推薦(附B站連結)
    ,也會聽說過,無數人的機器學習和神經網絡基本知識都是從這裡學到的,他們能讓學習數學變得非常簡單,從十幾分鐘的視頻中,你可以學到相當於大學裡幾個小時的課程。Ken Jee的"從頭開始學習數據科學項目"視頻系列在Youtube上非常有名氣,吸引了一大批愛好者跟著入門數據科學。
  • 數據科學和機器學習的最佳Python庫
    數據科學和機器學習是該時代最需求的技術,這一需求促使每個人都學習不同的庫和軟體包以實現它們。這篇博客文章將重點介紹用於數據科學和機器學習的Python庫。這些是您掌握市場上最被炒作的兩項技能的庫。以下是此博客中將涉及的主題列表:數據科學與機器學習導論為什麼要使用Python進行數據科學和機器學習?
  • Java 能用於機器學習和數據科學嗎?
    雖然 Python 和 R 已經成為構建機器學習和數據科學應用程式的首選,但許多組織正轉向使用 Java 開發來滿足他們的需求。請閱讀本文,了解如何做到的,以及為什麼要這樣做。近年來,機器學習、數據科學和人工智慧一直是人們談論最多的技術。這也是理所當然的。
  • 文科生 Python 與數據科學入門教材推薦
    從入門到精通,給你推薦幾本 Python 與數據科學好書。需求最近讀者數量增長了不少。有許多新讀者留言,說自己想入門 Python 與數據科學,希望我能夠推薦一些教材書籍。老讀者們都知道,我經常會在教程末尾的「資源」或者「小結」章節,推薦相關的書目。我推薦的書籍,有個特點,就是寫得簡明易懂,適合文科生閱讀。
  • 3 分鐘了解入門「機器學習」該學習什麼?
    對於這一類的入門者,我建議他們可以先看一些基礎課程。作為一個經歷了四年枯燥無味的數學理論知識摧殘的倖存者,我認為,人們在初接觸對自己而言艱澀無味的知識時,一個言之有物,循循善誘的老師,是十分有必要的。和前面提到的兩類不同,還有一類入門者是純粹的小白,他們之前從未從事過相關職業,也從未學習過相關知識。
  • 從零開始,最簡明扼要的數據科學學習路徑
    大數據文摘出品作者:蔣寶尚試圖入門一個新話題時,多數人會感到不知所措?這時候,一份明確的學習路徑可以幫你去除這一焦慮。數據科學當然也有這樣一套路徑。Vigilio稱,這篇帖子按照層次結構和複雜程度組織編寫,以便讓學習者對事物的運作方式有一個連貫的想法。另外,小哥還搞了個 Facebook 群組,並不斷往上面更新信息,鼓勵大家一起學習,互相激勵。5天前,這份github資料被名為@jiaxianhua 的同胞翻譯出了簡體中文版,讓不想費力讀英文的同學也可以輕鬆上手啦。
  • 終於有人把數據科學、機器學習和人工智慧講明白了
    導讀:本文討論與人工智慧相關的概念和技術,包括機器學習、深度學習、數據科學和大數據。還將討論人類和機器如何學習,及其與人工智慧當前和未來狀態之間的關係。最後介紹數據如何推動人工智慧,以及人工智慧成功所需數據的特點。
  • 機器學習的數據準備:終極資源指南
    以下文章為學習數據收集方法,數據集和數據改進提供了全面的基礎。如何獲取用於機器學習的帶注釋的數據:簡單直觀地了解可用於機器學習項目的數據收集方法,從Web抓取和合成數據集創建到管理內部數據和外包注意事項。
  • 2020年值得關注的20大機器學習和數據科學網站
    #4 DatafloqDatafloq提供信息,見解和機會,以大數據,區塊鏈,人工智慧和其他新興技術(例如數據科學)推動創新。 該網站的目標是成為閱讀高質量帖子,尋找大數據和技術供應商,與人才聯繫以及發布活動的中心。 Datafloq也提供在線培訓。 該博客不僅針對數據科學從業者,還包括有關安全性和物聯網的部分。
  • 機器學習漫遊指南 最完整的入門書單(外文版)
    在雷鋒網所篩選的學習資源中,這堪稱是迄今為止最全面、最完整、權威性比較高的一份 ML 書單,涵蓋了最值得學習者、從業者、開發者認真研讀的精品書目。這份指南適合多樣背景的讀者:從想要了解機器學習的普通人,到入門新手,再到高階開發者和學術研究人員。因此,雷鋒網對其進行編譯整理,特來與大家分享。
  • 如果能重來,我選擇這樣學習數據科學……
    因此,本文旨在為那些正在數據科學道路上迷茫徘徊的人提供一些指導和見解。因此,筆者建議在學習機器學習算法或數據科學應用程式之前先從構建區塊開始。如果對微積分和積分、線性代數和統計都沒有基本的了解,那麼你將很難理解各種算法背後的機制。同樣,如果對Python沒有基本的了解,那麼你將很難在現實中應用所學知識。
  • 【乾貨】數據分析、數據挖掘、數據科學、機器學習領域96個在線...
    連結:http://www.dataminingmasters.com/劉易斯大學數據科學36小時在線MS:提供兩個集中課程,為計算機科學家而學習的數據科學和為生命科學家而學習的數據科學。連結:http://www.umuc.edu/academic-programs/data-analytics/index.cfm馬裡蘭大學商業管理在線MS(信息系統專業和商業分析):在短短21個月內學習管理和分析數據,設計和實施信息系統。
  • 意料之外 情理之中:解讀Gartner 2020年數據科學和機器學習平臺...
    最近Gartner發布了數據科學和機器學習(DSML)平臺魔力象限報告。數據科學、機器學習和人工智慧的市場格局極為分散,競爭激烈且難以理解。Gartner嘗試根據明確定義的標準對廠商進行了排名。最近Gartner發布了數據科學和機器學習(DSML)平臺魔力象限報告。數據科學、機器學習和人工智慧的市場格局極為分散,競爭激烈且難以理解。