當前位置:
首頁 > 知識 > GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

打開今日頭條,查看更多圖片

作者 | 琥珀

出品 | AI科技大本營(ID:rgznai100)

近日,一個在 GitHub 上開源即收穫了 3700+ Star 的項目,引起了業界的注意。據介紹,該項目以 TensorFlow 和 Scikit-learn 的機器學習框架的基礎庫為例,詳細介紹了如何成為一名機器學習工程師的成長路徑。

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

該項目的作者還是一位來自義大利的 IT 工程師,名叫 Giacomo Ciarlini,十分帥氣的有沒有?

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!


GitHub 傳送門:

https://github.com/clone95/Machine-Learning-Study-Path-March-2019/tree/master/Career%20Paths/Machine%20Learning%20Engineer%20Career%20Path

作者首先強烈推薦了《Scikit-Learn 與 TensorFlow 機器學習實用指南》一書。之外,他還上傳了全球頂尖大學和開源組織的學習資源,並收集了理論和示例,以及對選擇最佳資源的建議。

內容主要分為四大部分:

一、先決條件

  • Python
  • Jupyter Notebook
  • 需要掌握的基本數學知識
  • 機器學習全貌

二、使如何使用 Scikit-Learn 進行機器學習

  • 為什麼是 Scikit-Learn?
  • 端到端機器學習項目
  • 線性回歸
  • 分類
  • 訓練模型
  • 支持向量機
  • 決策樹
  • 合奏學習和隨機森林
  • 無監督學習
  • 結語和期待

三、通過 TensorFlow 訓練的神經網路

  • 為何選擇 TensorFlow?
  • 使用 TensorFlow
  • ANN - 人工神經網路
  • CNN - 卷積神經網路
  • RNN - 遞歸神經網路
  • 訓練網路:最佳實踐
  • 自動編碼
  • 強化學習

四、工具

  • 機器學習項目
  • 數據科學工具
  • 博客 / YouTube 頻道 / 網站

每個標籤下,作者都有詳細的解釋並給出了實戰操作的資源,實乃良心之作!下面來詳細介紹下這個項目里有哪些值得一看的資源(並附上部分教程鏈接)。

先決條件

  • Python

基礎知識:

https://pythonprogramming.net/introduction-learn-python-3-tutorials/

作者還建議,除了對 Python 熟悉掌握外,還可以了解下 Numpy,它是數學運算的重要模塊,可以有助於你在後面 Python 環境中導入 Tensor 數據類型。

Python3 安裝地址:

https://realpython.com/installing-python/

PyCharm Community Edition(一個用於 Python 開發的完整 IDE,為實驗設置一個新的 Python 虛擬環境)

安裝地址:

https://www.jetbrains.com/pycharm/download/#section=windows

  • Jupyter Notebook

是一個開源的 Web 應用程序,幫助用戶創建和共享文檔,包括 live code,方程,可視化,敘述文本。例如,數據清洗、數值模擬、統計建模、數據可視化、機器學習等。

  • 需要掌握的基本數學知識

在作者看來,數學是機器學習背後的重要基礎。但重要的是,掌握主要概念並認識到這些數學方法的應用領域和局限性。

他給出了三個課程鏈接,分別是:

線性代數:

https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

概率基礎和統計:

https://www.edx.org/course/introduction-to-probability-0

其他數學資源:

https://explained.ai/matrix-calculus/index.html#sec4.5

  • 機器學習全貌

最後,還要通過一篇科普讀物,了解整個機器學習全貌:

https://www.oreilly.com/library/view/hands-on-machine-learning/9781491962282/ch01.html

如何使用 Scikit-Learn 進行機器學習?

  • 安裝 Scikit-Learn

python pip install -U scikit-learn

如果安裝時遇到一些問題,可能是你更新到最新版本的 pip,所以在同一個文件夾內運行:

python -m pip install --upgrade pip

  • 為什麼是 Scikit-Learn?

Scikit-Learn 是機器學習任務中最完整、最成熟,且記錄完整的庫之一。它開箱即用,具有強大而先進的模型。

  • 端到端機器學習項目

Kaggle,作為機器學習和通用數據科學項目的首選平台,它提供了大量免費數據集,以及有趣的挑戰和 ML 模型實驗。

  • 線性回歸

線性回歸是最簡單的機器學習形式,也是模型訓練的起點。

可以參看吳恩達的理論課程:

https://www.youtube.com/watch?v=W46UTQ_JDPk&list=PLoR5VjrKytrCv-Vxnhp5UyS1UjZsXP0Kj&index=2

  • 分類

如果想要從不同的可能性中預測結果,分類則是最重要的機器學習任務之一。最簡單的情況是二元分類問題。

  • 訓練模型

作者列舉了 ML 任務中訓練模型的一些技術,在 Google Crash 教程中可以找到:

梯度下降:

https://developers.google.com/machine-learning/crash-course/reducing-loss/gradient-descent

學習率:

https://developers.google.com/machine-learning/crash-course/reducing-loss/learning-rate

SGD:

https://developers.google.com/machine-learning/crash-course/reducing-loss/stochastic-gradient-descent

正則化:

https://www.youtube.com/watch?v=Q81RR3yKn30

  • 支持向量機

是創建 ML 模型的另一種經典演算法。

除了理論解釋外,還有更多實戰策略:

https://www.youtube.com/watch?v=g8D5YL6cOSE

  • 決策樹
  • 集成學習和隨機森林

集成學習(Ensemble Learning)的思路是利用了幾款 ML 模型的所有不同特徵、優劣勢,以期得到最有可能性的預測結果。

集成學習基礎知識:

https://www.youtube.com/watch?v=9VmKYwX_U7s

隨機森林最經典實踐:

https://www.youtube.com/watch?v=3kYujfDgmNk

  • 無監督學習

涵蓋了無監督學習的介紹、解釋,以及與監督學習、強化學習之間的差別。

關於涉及的兩個重要技術:關聯規則(Association Rules)和聚類,作者分別提供了示例和教程。

通過 TensorFlow 訓練的神經網路

在本節中,作者主力推薦斯坦福大學深度學習課程以及其他網路教程,幫助學習者快速了解這些內容。其中包括 ANN、CNN、RNN 等不同種類的機器學習模型。實際上,作者花了很長時間去理解神經網路的理論和應用,包括閱讀博客、官網論壇、學習路徑。

他給出了「三步走」的建議:

  1. 通過斯坦福大學教程了解神經網路的主要概念,不要過多擔心一些數學解釋,而要關注什麼和為什麼;
  2. 使用理論 + 教程 + 示例(如 RNN 理論 + RNN 教程 + RNN 示例),每次只深度探討一個主題;
  3. 每探討完一個主題,就回溯一遍斯坦福大學的課程。這種方式將幫助你完全理解所有公式,並將課程中提到的 「數學」 相關知識聯繫起來,觸類旁通。

作者表示,以上這種方式可根據需要重複多次,然後在你的頭腦中構建一個良好的通用模型。

斯坦福大學課程 PPT 地址:

http://cs231n.stanford.edu/slides/2018/

  • 為何選擇 TensorFlow?

目前,TensorFlow 已經企業里實現機器學習演算法的事實標準。

在安裝 TensorFlow 庫之前,你只需在 Python 安裝文件夾中打開一個終端並運行此命令:

python pip install tensorflow

  • ANN - 人工神經網路
  • CNN - 卷積神經網路
  • RNN - 遞歸神經網路
  • 訓練網路:最佳實踐
  • 自動編碼
  • 強化學習

以上細節就不一一細講了。

其他資源

除了上述內容之外,作者還收集了大量文章、網路應用程序、最佳實踐、項目和存儲庫。

  • 機器學習項目

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

  • 工具

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

  • YouTube 頻道

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

  • 博客

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

以及,其他值得一看的網站:

GitHub 超全機器學習工程師成長路線圖,開源兩日收穫3700+Star!

作者最後表示,將在接下來的時間裡對不同的主題進行擴充,包括:無監督學習、機器學習心態框架(如何像數據科學家一樣思考)、使用 Pandas 進行數據處理和準備、特徵選擇、特色工程、擴展參數優化部分、Keras 庫、TensorFlow 2.0、如何在 AWS、Azure 上部署模型等。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

Python 爬蟲分析豆瓣 TOP250 告訴你程序員業餘該看什麼書?
5G 是未來的唯一選擇?| 暢言

TAG:CSDN |