'還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章'

"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


機器學習是基於經驗的學習。舉個例子,它就像一個人通過觀察別人下棋來學習下棋。通過這種方式,計算機可以通過提供經過訓練的信息來編程,從而獲得高概率識別個體或其特徵的能力。

首先,你需要知道機器學習分為這些不同的階段:

  • 數據收集
  • 數據排序
  • 數據分析
  • 算法開發
  • 檢查生成的算法
  • 使用算法進一步得出結論

關於提取模式,不同的算法被使用,這些算法被分為兩類:

  • 無監督學習
  • 有監督學習

在無監督學習的情況下,機器只接收一組輸入數據。此後,機器將決定輸入數據與任何其他假定數據之間的關係。與監督學習不同的是,當機器被提供一些用於學習的驗證數據時,獨立的無監督學習意味著計算機本身將發現不同數據集之間的模式和關係。無監督學習可以進一步分為聚類和關聯學習。

有監督學習意味著計算機能夠根據提供的樣本識別元素。計算機對其進行研究,並開發基於這些數據識別新數據的能力。例如,可以訓練你的計算機根據以前收到的信息過濾垃圾郵件。

一些監督學習算法包括:

  • 決策樹
  • 支持向量機
  • 樸素貝葉斯分類器
  • K近鄰
  • 線性迴歸

第1步 複習 Python 數學庫所需要的數學技能

一個在人工智能和機器學習領域工作的不懂數學的人就像一個不懂說服技巧的政客。

如果沒有起碼的數學知識基礎,你就無法處理機器學習(Machine Learning,ML)和數據科學項目。然而,並不是說需要有數學學位。根據我的個人經驗,每天至少花 30-45 分鐘學習就會很有收穫,你會更快地理解和學習 Python 的應用數學和統計主題。

你需要不斷閱讀或更新基礎理論。不需要閱讀整個教程,只需要關注關鍵的概念。

以下是數據分析和機器學習所需數學的3個步驟:

1. 用於數據分析的線性代數:標量、向量、矩陣和張量

例如,對於主成分法,你需要了解特徵向量,而回歸方法需要知道矩陣乘法。此外,機器學習通常使用高維數據(包含許多變量的數據)。這種數據類型最好由矩陣表示。

2. 數學分析:導數和梯度

數學分析是許多機器學習算法的基礎。優化問題需要理解導數和梯度。例如,最常見的優化方法之一就是梯度下降。為了快速學習線性代數和數學分析,我推薦以下課程:

  • Khan Academy 提供線性代數和數學分析的短期實戰課程,基本涵蓋了最重要的內容。
  • MIT OpenCourseWare 為機器學習提供了很棒的數學學習課程,提供了所有視頻講座和學習材料。

3. 梯度下降:從頭開始構建一個簡單的神經網絡


"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


機器學習是基於經驗的學習。舉個例子,它就像一個人通過觀察別人下棋來學習下棋。通過這種方式,計算機可以通過提供經過訓練的信息來編程,從而獲得高概率識別個體或其特徵的能力。

首先,你需要知道機器學習分為這些不同的階段:

  • 數據收集
  • 數據排序
  • 數據分析
  • 算法開發
  • 檢查生成的算法
  • 使用算法進一步得出結論

關於提取模式,不同的算法被使用,這些算法被分為兩類:

  • 無監督學習
  • 有監督學習

在無監督學習的情況下,機器只接收一組輸入數據。此後,機器將決定輸入數據與任何其他假定數據之間的關係。與監督學習不同的是,當機器被提供一些用於學習的驗證數據時,獨立的無監督學習意味著計算機本身將發現不同數據集之間的模式和關係。無監督學習可以進一步分為聚類和關聯學習。

有監督學習意味著計算機能夠根據提供的樣本識別元素。計算機對其進行研究,並開發基於這些數據識別新數據的能力。例如,可以訓練你的計算機根據以前收到的信息過濾垃圾郵件。

一些監督學習算法包括:

  • 決策樹
  • 支持向量機
  • 樸素貝葉斯分類器
  • K近鄰
  • 線性迴歸

第1步 複習 Python 數學庫所需要的數學技能

一個在人工智能和機器學習領域工作的不懂數學的人就像一個不懂說服技巧的政客。

如果沒有起碼的數學知識基礎,你就無法處理機器學習(Machine Learning,ML)和數據科學項目。然而,並不是說需要有數學學位。根據我的個人經驗,每天至少花 30-45 分鐘學習就會很有收穫,你會更快地理解和學習 Python 的應用數學和統計主題。

你需要不斷閱讀或更新基礎理論。不需要閱讀整個教程,只需要關注關鍵的概念。

以下是數據分析和機器學習所需數學的3個步驟:

1. 用於數據分析的線性代數:標量、向量、矩陣和張量

例如,對於主成分法,你需要了解特徵向量,而回歸方法需要知道矩陣乘法。此外,機器學習通常使用高維數據(包含許多變量的數據)。這種數據類型最好由矩陣表示。

2. 數學分析:導數和梯度

數學分析是許多機器學習算法的基礎。優化問題需要理解導數和梯度。例如,最常見的優化方法之一就是梯度下降。為了快速學習線性代數和數學分析,我推薦以下課程:

  • Khan Academy 提供線性代數和數學分析的短期實戰課程,基本涵蓋了最重要的內容。
  • MIT OpenCourseWare 為機器學習提供了很棒的數學學習課程,提供了所有視頻講座和學習材料。

3. 梯度下降:從頭開始構建一個簡單的神經網絡


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


數據分析和機器學習領域學習數學的最好方法之一是從零開始構建一個簡單的神經網絡。你將會使用線性代數來表示網絡,並使用數學分析來優化它。特別是,你將從零開始創建一個梯度下降過程。不需要太擔心神經網絡間的細微差別。只按照說明編寫代碼就可以了。

以下是一些很好的練習:

《Python中的神經網絡(Neural Network in Python )》

https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906 

這是一個很棒的教程,會教會你從頭構建一個簡單的神經網絡。你也能夠找到有用的插圖來理解梯度下降是如何工作的。

有些更短的教程也能夠幫助你逐步掌握神經網絡:

《如何在Python中從零開始構建自己的神經網絡(How to build your own Neural Network from scratch in Python)》 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

《在Python中從零實現一個神經網絡——導論(Implementing a Neural Network from Scratch in Python — An Introduction)》 http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

《面向初學者的機器學習:神經網絡導論(Machine Learning for Beginners: An Introduction to Neural Networks )》 https://victorzhou.com/blog/intro-to-neural-networks/ 關於神經網絡如何工作以及如何在Python中從零開始實現的一個很棒的簡明解釋。

第2步 學習Python語法的基礎知識

好消息是:你不需要完整的學習課程,因為 Python 和數據分析並不是同義詞。


"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


機器學習是基於經驗的學習。舉個例子,它就像一個人通過觀察別人下棋來學習下棋。通過這種方式,計算機可以通過提供經過訓練的信息來編程,從而獲得高概率識別個體或其特徵的能力。

首先,你需要知道機器學習分為這些不同的階段:

  • 數據收集
  • 數據排序
  • 數據分析
  • 算法開發
  • 檢查生成的算法
  • 使用算法進一步得出結論

關於提取模式,不同的算法被使用,這些算法被分為兩類:

  • 無監督學習
  • 有監督學習

在無監督學習的情況下,機器只接收一組輸入數據。此後,機器將決定輸入數據與任何其他假定數據之間的關係。與監督學習不同的是,當機器被提供一些用於學習的驗證數據時,獨立的無監督學習意味著計算機本身將發現不同數據集之間的模式和關係。無監督學習可以進一步分為聚類和關聯學習。

有監督學習意味著計算機能夠根據提供的樣本識別元素。計算機對其進行研究,並開發基於這些數據識別新數據的能力。例如,可以訓練你的計算機根據以前收到的信息過濾垃圾郵件。

一些監督學習算法包括:

  • 決策樹
  • 支持向量機
  • 樸素貝葉斯分類器
  • K近鄰
  • 線性迴歸

第1步 複習 Python 數學庫所需要的數學技能

一個在人工智能和機器學習領域工作的不懂數學的人就像一個不懂說服技巧的政客。

如果沒有起碼的數學知識基礎,你就無法處理機器學習(Machine Learning,ML)和數據科學項目。然而,並不是說需要有數學學位。根據我的個人經驗,每天至少花 30-45 分鐘學習就會很有收穫,你會更快地理解和學習 Python 的應用數學和統計主題。

你需要不斷閱讀或更新基礎理論。不需要閱讀整個教程,只需要關注關鍵的概念。

以下是數據分析和機器學習所需數學的3個步驟:

1. 用於數據分析的線性代數:標量、向量、矩陣和張量

例如,對於主成分法,你需要了解特徵向量,而回歸方法需要知道矩陣乘法。此外,機器學習通常使用高維數據(包含許多變量的數據)。這種數據類型最好由矩陣表示。

2. 數學分析:導數和梯度

數學分析是許多機器學習算法的基礎。優化問題需要理解導數和梯度。例如,最常見的優化方法之一就是梯度下降。為了快速學習線性代數和數學分析,我推薦以下課程:

  • Khan Academy 提供線性代數和數學分析的短期實戰課程,基本涵蓋了最重要的內容。
  • MIT OpenCourseWare 為機器學習提供了很棒的數學學習課程,提供了所有視頻講座和學習材料。

3. 梯度下降:從頭開始構建一個簡單的神經網絡


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


數據分析和機器學習領域學習數學的最好方法之一是從零開始構建一個簡單的神經網絡。你將會使用線性代數來表示網絡,並使用數學分析來優化它。特別是,你將從零開始創建一個梯度下降過程。不需要太擔心神經網絡間的細微差別。只按照說明編寫代碼就可以了。

以下是一些很好的練習:

《Python中的神經網絡(Neural Network in Python )》

https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906 

這是一個很棒的教程,會教會你從頭構建一個簡單的神經網絡。你也能夠找到有用的插圖來理解梯度下降是如何工作的。

有些更短的教程也能夠幫助你逐步掌握神經網絡:

《如何在Python中從零開始構建自己的神經網絡(How to build your own Neural Network from scratch in Python)》 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

《在Python中從零實現一個神經網絡——導論(Implementing a Neural Network from Scratch in Python — An Introduction)》 http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

《面向初學者的機器學習:神經網絡導論(Machine Learning for Beginners: An Introduction to Neural Networks )》 https://victorzhou.com/blog/intro-to-neural-networks/ 關於神經網絡如何工作以及如何在Python中從零開始實現的一個很棒的簡明解釋。

第2步 學習Python語法的基礎知識

好消息是:你不需要完整的學習課程,因為 Python 和數據分析並不是同義詞。


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


在開始深入研究語法之前,我想分享一個可以將你失敗可能性降到最低的建議。

通過閱讀有關游泳技巧的書籍來學習游泳是不可能的,但是在泳池訓練的同時閱讀這些書籍可以更有效地學會技能。

編程的學習也是類似的。只關注語法是不值當的,你很可能會因此而失去興趣。

你不需要記住所有的東西。嘗試邁出一小步,把理論知識和實踐結合起來。專注於直觀的理解,例如,在特定的情況下哪個函數是合適的,以及條件運算符是如何工作的。在編寫代碼的過程中,你會通過閱讀文檔逐步記住語法。很快你就不再需要谷歌這些東西了。

如果你對編程沒有任何瞭解,建議閱讀《用Python自動處理那些無聊的事情(Automate the Boring Stuff With Python)》。https://automatetheboringstuff.com/ 這本書為初學者提供了實用編程的解釋,並從零開始教學。閱讀第6章“字符串操作”,完成該課的實際任務,就足夠了。

記住,你越早開始做真正的項目,你就會越早學會它。無論如何,如果需要的話,你總能夠回頭繼續學習語法。

第3步 探索主要的數據分析庫


"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


機器學習是基於經驗的學習。舉個例子,它就像一個人通過觀察別人下棋來學習下棋。通過這種方式,計算機可以通過提供經過訓練的信息來編程,從而獲得高概率識別個體或其特徵的能力。

首先,你需要知道機器學習分為這些不同的階段:

  • 數據收集
  • 數據排序
  • 數據分析
  • 算法開發
  • 檢查生成的算法
  • 使用算法進一步得出結論

關於提取模式,不同的算法被使用,這些算法被分為兩類:

  • 無監督學習
  • 有監督學習

在無監督學習的情況下,機器只接收一組輸入數據。此後,機器將決定輸入數據與任何其他假定數據之間的關係。與監督學習不同的是,當機器被提供一些用於學習的驗證數據時,獨立的無監督學習意味著計算機本身將發現不同數據集之間的模式和關係。無監督學習可以進一步分為聚類和關聯學習。

有監督學習意味著計算機能夠根據提供的樣本識別元素。計算機對其進行研究,並開發基於這些數據識別新數據的能力。例如,可以訓練你的計算機根據以前收到的信息過濾垃圾郵件。

一些監督學習算法包括:

  • 決策樹
  • 支持向量機
  • 樸素貝葉斯分類器
  • K近鄰
  • 線性迴歸

第1步 複習 Python 數學庫所需要的數學技能

一個在人工智能和機器學習領域工作的不懂數學的人就像一個不懂說服技巧的政客。

如果沒有起碼的數學知識基礎,你就無法處理機器學習(Machine Learning,ML)和數據科學項目。然而,並不是說需要有數學學位。根據我的個人經驗,每天至少花 30-45 分鐘學習就會很有收穫,你會更快地理解和學習 Python 的應用數學和統計主題。

你需要不斷閱讀或更新基礎理論。不需要閱讀整個教程,只需要關注關鍵的概念。

以下是數據分析和機器學習所需數學的3個步驟:

1. 用於數據分析的線性代數:標量、向量、矩陣和張量

例如,對於主成分法,你需要了解特徵向量,而回歸方法需要知道矩陣乘法。此外,機器學習通常使用高維數據(包含許多變量的數據)。這種數據類型最好由矩陣表示。

2. 數學分析:導數和梯度

數學分析是許多機器學習算法的基礎。優化問題需要理解導數和梯度。例如,最常見的優化方法之一就是梯度下降。為了快速學習線性代數和數學分析,我推薦以下課程:

  • Khan Academy 提供線性代數和數學分析的短期實戰課程,基本涵蓋了最重要的內容。
  • MIT OpenCourseWare 為機器學習提供了很棒的數學學習課程,提供了所有視頻講座和學習材料。

3. 梯度下降:從頭開始構建一個簡單的神經網絡


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


數據分析和機器學習領域學習數學的最好方法之一是從零開始構建一個簡單的神經網絡。你將會使用線性代數來表示網絡,並使用數學分析來優化它。特別是,你將從零開始創建一個梯度下降過程。不需要太擔心神經網絡間的細微差別。只按照說明編寫代碼就可以了。

以下是一些很好的練習:

《Python中的神經網絡(Neural Network in Python )》

https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906 

這是一個很棒的教程,會教會你從頭構建一個簡單的神經網絡。你也能夠找到有用的插圖來理解梯度下降是如何工作的。

有些更短的教程也能夠幫助你逐步掌握神經網絡:

《如何在Python中從零開始構建自己的神經網絡(How to build your own Neural Network from scratch in Python)》 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

《在Python中從零實現一個神經網絡——導論(Implementing a Neural Network from Scratch in Python — An Introduction)》 http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

《面向初學者的機器學習:神經網絡導論(Machine Learning for Beginners: An Introduction to Neural Networks )》 https://victorzhou.com/blog/intro-to-neural-networks/ 關於神經網絡如何工作以及如何在Python中從零開始實現的一個很棒的簡明解釋。

第2步 學習Python語法的基礎知識

好消息是:你不需要完整的學習課程,因為 Python 和數據分析並不是同義詞。


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


在開始深入研究語法之前,我想分享一個可以將你失敗可能性降到最低的建議。

通過閱讀有關游泳技巧的書籍來學習游泳是不可能的,但是在泳池訓練的同時閱讀這些書籍可以更有效地學會技能。

編程的學習也是類似的。只關注語法是不值當的,你很可能會因此而失去興趣。

你不需要記住所有的東西。嘗試邁出一小步,把理論知識和實踐結合起來。專注於直觀的理解,例如,在特定的情況下哪個函數是合適的,以及條件運算符是如何工作的。在編寫代碼的過程中,你會通過閱讀文檔逐步記住語法。很快你就不再需要谷歌這些東西了。

如果你對編程沒有任何瞭解,建議閱讀《用Python自動處理那些無聊的事情(Automate the Boring Stuff With Python)》。https://automatetheboringstuff.com/ 這本書為初學者提供了實用編程的解釋,並從零開始教學。閱讀第6章“字符串操作”,完成該課的實際任務,就足夠了。

記住,你越早開始做真正的項目,你就會越早學會它。無論如何,如果需要的話,你總能夠回頭繼續學習語法。

第3步 探索主要的數據分析庫


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


下一個階段是進一步學習適用於數據科學的 Python 庫或框架。如前所述, Python 擁有大量的庫。庫是現成函數和對象的集合,你可以直接將它們導入到腳本中,從而節省時間。

如何使用庫?以下是我的建議:

  1. 打開Jupyter Notebook(見下文)。
  2. 大約用半小時把庫文件看一遍。
  3. 將該庫導入到您的 Jupyter Notebook 中。
  4. 按照分步的指南查看正在運行的庫。
  5. 檢查文檔,瞭解它的其他功能。

我不建議立即投入到學習庫中,因為當你開始在項目中使用它們時,你可能會忘記所學的大部分內容。相反,你應該試著弄明白用到的每個庫都能做些什麼。

Jupyter Notebook

Jupyter Notebook 是一款輕量級的 IDE,是分析師們的最愛。在大多數情況下,Python 的安裝包裡已經包含了 Jupyter Notebook。你可以通過Anaconda Navigator 打開一個新項目,它包含在 Anaconda 包中。

你可能會需要的Python庫

Numpy

安裝教程 https://docs.scipy.org/doc/numpy/user/
快速上手教程 https://docs.scipy.org/doc/numpy/user/quickstart.html

NumPy 由 Numerical Python 縮寫而來,它是專業人士和初學者最通用和使用最廣泛的庫。使用這個工具,你可以輕鬆舒適地操作多維數組和矩陣。像線性代數運算和數值轉換這樣的函數也是可用的。

Pandas

安裝教程 https://pandas.pydata.org/pandas-docs/stable/

快速上手教程 https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html

Pandas 是一個眾所周知的高性能數據框表示工具。使用它,你幾乎可以從任何數據源加載數據,計算各種函數並創建新的參數,使用類似於 SQL 的聚合函數構建對數據的查詢。此外,還有各種矩陣變換函數、滑動窗口法等從數據中獲取信息的方法。所以這個庫對於一個優秀的專家來說是必不可少的。

Matplotlib

安裝教程 https://matplotlib.org/contents.html
快速上手教程 https://matplotlib.org/users/pyplot_tutorial.html

Matplotlib 是一個用於創建圖形和可視化的靈活庫。它很強大,但有點笨重。你可以跳過 Matplotlib 並從使用 Seaborn 開始(請參閱下面的 Seaborn)。

Scikit-Learn

安裝教程 https://scikit-learn.org/stable/documentation.html
快速上手教程 https://elitedatascience.com/python-machine-learning-tutorial-scikit-learn

我可以說這是迄今為止我見過的設計得最完善的 ML 包。它實現了廣泛的機器學習算法,並使其易於嵌入到實際應用程序中。你可以使用庫中大量的函數,比如迴歸、聚類、模型選擇、預處理、分類等等。所以它值得全面學習和使用。它最大的優點是工作速度快,因此 Spotify、Booking.com、J.P.Morgan 等主流平臺都在使用 Scikit-Learn 是理所當然的。

第4步 開發結構化的項目

一旦掌握了基本語法和庫的基本知識,就可以開始自己完成項目了。多虧了這些項目,你將能夠學習新的東西,併為長遠的工作做投資。

已有足夠多的資源為結構化項目提供主題:

Dataquest——交互式地教授 Python 和數據科學。分析從中央情報局的文件到 NBA 比賽的統計數據等的一系列有趣的數據集,並開發包括神經網絡和決策樹在內的策略算法。https://www.dataquest.io/

Scikit 文檔——Python 的主要計算機訓練庫。https://scikit-learn.org/stable/documentation.html
CS109——哈佛大學數據科學的課程。https://cs109.github.io/2015/

第5步 做出你自己的項目

你可以發現許多新東西,但重要的是找到那些你真正感興趣的項目。然而,在找到理想工作的快樂時刻到來之前,你應該學會如何出色地處理程序中的錯誤。以下是在這方面最受歡迎的有用資源中,比較突出的一些:

StackOverflow —— 一個人們可以在上面討論所有可能的問題的多功能網站,提供了一系列問題和答案。此外,它受眾廣泛,所以你可以詢問你的錯誤並從大量用戶那裡得到答案

Python 文檔 —— 另一個搜索參考資料的好地方

不言而喻,你也不應該忽視任何機會或合作的邀請。儘可能參與所有與 Python 相關的活動,並找到從事有趣項目的人員。順便說一下, Github 是實現這一目標的絕佳場所。學習新知識並在同類中不斷調整 —— 所有這些都將有助於提高你的水平!

寫在最後以及一點鼓勵


"

有很多想要學習Python卻找不到途徑的朋友,我這裡整理了一些關於Python的學習資料,從基礎到入門到實戰都要。有需要的朋友可以關注並私信“01”免費獲取...

機器學習是人工智能領域的一個重要研究課題,近年來一直倍受關注。這一領域可能會提供有吸引力的機會,而且在這一領域開始職業生涯並不像乍看上去那麼困難。即使你在數學或編程方面沒有任何經驗,也不是問題。學會的最重要的因素純粹是你自己的興趣和學習所有這些東西的動機。

如果你是一個新手,不知道從哪裡開始學習、為什麼需要機器學習、以及為什麼它最近越來越受歡迎,看本文就對了!我已經收集了所有必要信息和有用資源來幫助你學到新的知識和完成你的第一個項目。

為什麼選擇Python?

如果你的目標是成為一名成功的程序員,你需要知道很多事情。但是,對於機器學習和數據科學來說,掌握至少一種編程語言並能夠自信地運用它就足夠了。所以,冷靜點,你不必成為編程天才。

成功的機器學習之旅需要從一開始就選擇適當的編程語言,因為你的選擇將決定你的未來。在這一步,你必須有計劃地思考,正確安排優先事項,不要把時間花在不必要的事情上。

我的觀點是:Python 對於初學者來說是一個完美的選擇,可以讓你專注於機器學習和數據科學領域。它是一種極簡且直觀的語言,具有全功能的工具庫線(也稱為框架),大大減少了獲得第一個結果所需的時間。

你也可以考慮使用 R 語言,但就個人而言,我更傾向於使用 Python。你可以在以下鏈接讀到我對這個問題的詳細解釋:

Python vs R. Choosing the Best Tool for AI, ML & Data Science.

https://medium.com/datadriveninvestor/python-vs-r-choosing-the-best-tool-for-ai-ml-data-science-7e0c2295e243

第0步 你需要了解的ML流程的簡要概述


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


機器學習是基於經驗的學習。舉個例子,它就像一個人通過觀察別人下棋來學習下棋。通過這種方式,計算機可以通過提供經過訓練的信息來編程,從而獲得高概率識別個體或其特徵的能力。

首先,你需要知道機器學習分為這些不同的階段:

  • 數據收集
  • 數據排序
  • 數據分析
  • 算法開發
  • 檢查生成的算法
  • 使用算法進一步得出結論

關於提取模式,不同的算法被使用,這些算法被分為兩類:

  • 無監督學習
  • 有監督學習

在無監督學習的情況下,機器只接收一組輸入數據。此後,機器將決定輸入數據與任何其他假定數據之間的關係。與監督學習不同的是,當機器被提供一些用於學習的驗證數據時,獨立的無監督學習意味著計算機本身將發現不同數據集之間的模式和關係。無監督學習可以進一步分為聚類和關聯學習。

有監督學習意味著計算機能夠根據提供的樣本識別元素。計算機對其進行研究,並開發基於這些數據識別新數據的能力。例如,可以訓練你的計算機根據以前收到的信息過濾垃圾郵件。

一些監督學習算法包括:

  • 決策樹
  • 支持向量機
  • 樸素貝葉斯分類器
  • K近鄰
  • 線性迴歸

第1步 複習 Python 數學庫所需要的數學技能

一個在人工智能和機器學習領域工作的不懂數學的人就像一個不懂說服技巧的政客。

如果沒有起碼的數學知識基礎,你就無法處理機器學習(Machine Learning,ML)和數據科學項目。然而,並不是說需要有數學學位。根據我的個人經驗,每天至少花 30-45 分鐘學習就會很有收穫,你會更快地理解和學習 Python 的應用數學和統計主題。

你需要不斷閱讀或更新基礎理論。不需要閱讀整個教程,只需要關注關鍵的概念。

以下是數據分析和機器學習所需數學的3個步驟:

1. 用於數據分析的線性代數:標量、向量、矩陣和張量

例如,對於主成分法,你需要了解特徵向量,而回歸方法需要知道矩陣乘法。此外,機器學習通常使用高維數據(包含許多變量的數據)。這種數據類型最好由矩陣表示。

2. 數學分析:導數和梯度

數學分析是許多機器學習算法的基礎。優化問題需要理解導數和梯度。例如,最常見的優化方法之一就是梯度下降。為了快速學習線性代數和數學分析,我推薦以下課程:

  • Khan Academy 提供線性代數和數學分析的短期實戰課程,基本涵蓋了最重要的內容。
  • MIT OpenCourseWare 為機器學習提供了很棒的數學學習課程,提供了所有視頻講座和學習材料。

3. 梯度下降:從頭開始構建一個簡單的神經網絡


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


數據分析和機器學習領域學習數學的最好方法之一是從零開始構建一個簡單的神經網絡。你將會使用線性代數來表示網絡,並使用數學分析來優化它。特別是,你將從零開始創建一個梯度下降過程。不需要太擔心神經網絡間的細微差別。只按照說明編寫代碼就可以了。

以下是一些很好的練習:

《Python中的神經網絡(Neural Network in Python )》

https://www.amazon.com/Neural-Network-Projects-Python-ultimate/dp/1789138906 

這是一個很棒的教程,會教會你從頭構建一個簡單的神經網絡。你也能夠找到有用的插圖來理解梯度下降是如何工作的。

有些更短的教程也能夠幫助你逐步掌握神經網絡:

《如何在Python中從零開始構建自己的神經網絡(How to build your own Neural Network from scratch in Python)》 https://towardsdatascience.com/how-to-build-your-own-neural-network-from-scratch-in-python-68998a08e4f6

《在Python中從零實現一個神經網絡——導論(Implementing a Neural Network from Scratch in Python — An Introduction)》 http://www.wildml.com/2015/09/implementing-a-neural-network-from-scratch/

《面向初學者的機器學習:神經網絡導論(Machine Learning for Beginners: An Introduction to Neural Networks )》 https://victorzhou.com/blog/intro-to-neural-networks/ 關於神經網絡如何工作以及如何在Python中從零開始實現的一個很棒的簡明解釋。

第2步 學習Python語法的基礎知識

好消息是:你不需要完整的學習課程,因為 Python 和數據分析並不是同義詞。


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


在開始深入研究語法之前,我想分享一個可以將你失敗可能性降到最低的建議。

通過閱讀有關游泳技巧的書籍來學習游泳是不可能的,但是在泳池訓練的同時閱讀這些書籍可以更有效地學會技能。

編程的學習也是類似的。只關注語法是不值當的,你很可能會因此而失去興趣。

你不需要記住所有的東西。嘗試邁出一小步,把理論知識和實踐結合起來。專注於直觀的理解,例如,在特定的情況下哪個函數是合適的,以及條件運算符是如何工作的。在編寫代碼的過程中,你會通過閱讀文檔逐步記住語法。很快你就不再需要谷歌這些東西了。

如果你對編程沒有任何瞭解,建議閱讀《用Python自動處理那些無聊的事情(Automate the Boring Stuff With Python)》。https://automatetheboringstuff.com/ 這本書為初學者提供了實用編程的解釋,並從零開始教學。閱讀第6章“字符串操作”,完成該課的實際任務,就足夠了。

記住,你越早開始做真正的項目,你就會越早學會它。無論如何,如果需要的話,你總能夠回頭繼續學習語法。

第3步 探索主要的數據分析庫


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


下一個階段是進一步學習適用於數據科學的 Python 庫或框架。如前所述, Python 擁有大量的庫。庫是現成函數和對象的集合,你可以直接將它們導入到腳本中,從而節省時間。

如何使用庫?以下是我的建議:

  1. 打開Jupyter Notebook(見下文)。
  2. 大約用半小時把庫文件看一遍。
  3. 將該庫導入到您的 Jupyter Notebook 中。
  4. 按照分步的指南查看正在運行的庫。
  5. 檢查文檔,瞭解它的其他功能。

我不建議立即投入到學習庫中,因為當你開始在項目中使用它們時,你可能會忘記所學的大部分內容。相反,你應該試著弄明白用到的每個庫都能做些什麼。

Jupyter Notebook

Jupyter Notebook 是一款輕量級的 IDE,是分析師們的最愛。在大多數情況下,Python 的安裝包裡已經包含了 Jupyter Notebook。你可以通過Anaconda Navigator 打開一個新項目,它包含在 Anaconda 包中。

你可能會需要的Python庫

Numpy

安裝教程 https://docs.scipy.org/doc/numpy/user/
快速上手教程 https://docs.scipy.org/doc/numpy/user/quickstart.html

NumPy 由 Numerical Python 縮寫而來,它是專業人士和初學者最通用和使用最廣泛的庫。使用這個工具,你可以輕鬆舒適地操作多維數組和矩陣。像線性代數運算和數值轉換這樣的函數也是可用的。

Pandas

安裝教程 https://pandas.pydata.org/pandas-docs/stable/

快速上手教程 https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html

Pandas 是一個眾所周知的高性能數據框表示工具。使用它,你幾乎可以從任何數據源加載數據,計算各種函數並創建新的參數,使用類似於 SQL 的聚合函數構建對數據的查詢。此外,還有各種矩陣變換函數、滑動窗口法等從數據中獲取信息的方法。所以這個庫對於一個優秀的專家來說是必不可少的。

Matplotlib

安裝教程 https://matplotlib.org/contents.html
快速上手教程 https://matplotlib.org/users/pyplot_tutorial.html

Matplotlib 是一個用於創建圖形和可視化的靈活庫。它很強大,但有點笨重。你可以跳過 Matplotlib 並從使用 Seaborn 開始(請參閱下面的 Seaborn)。

Scikit-Learn

安裝教程 https://scikit-learn.org/stable/documentation.html
快速上手教程 https://elitedatascience.com/python-machine-learning-tutorial-scikit-learn

我可以說這是迄今為止我見過的設計得最完善的 ML 包。它實現了廣泛的機器學習算法,並使其易於嵌入到實際應用程序中。你可以使用庫中大量的函數,比如迴歸、聚類、模型選擇、預處理、分類等等。所以它值得全面學習和使用。它最大的優點是工作速度快,因此 Spotify、Booking.com、J.P.Morgan 等主流平臺都在使用 Scikit-Learn 是理所當然的。

第4步 開發結構化的項目

一旦掌握了基本語法和庫的基本知識,就可以開始自己完成項目了。多虧了這些項目,你將能夠學習新的東西,併為長遠的工作做投資。

已有足夠多的資源為結構化項目提供主題:

Dataquest——交互式地教授 Python 和數據科學。分析從中央情報局的文件到 NBA 比賽的統計數據等的一系列有趣的數據集,並開發包括神經網絡和決策樹在內的策略算法。https://www.dataquest.io/

Scikit 文檔——Python 的主要計算機訓練庫。https://scikit-learn.org/stable/documentation.html
CS109——哈佛大學數據科學的課程。https://cs109.github.io/2015/

第5步 做出你自己的項目

你可以發現許多新東西,但重要的是找到那些你真正感興趣的項目。然而,在找到理想工作的快樂時刻到來之前,你應該學會如何出色地處理程序中的錯誤。以下是在這方面最受歡迎的有用資源中,比較突出的一些:

StackOverflow —— 一個人們可以在上面討論所有可能的問題的多功能網站,提供了一系列問題和答案。此外,它受眾廣泛,所以你可以詢問你的錯誤並從大量用戶那裡得到答案

Python 文檔 —— 另一個搜索參考資料的好地方

不言而喻,你也不應該忽視任何機會或合作的邀請。儘可能參與所有與 Python 相關的活動,並找到從事有趣項目的人員。順便說一下, Github 是實現這一目標的絕佳場所。學習新知識並在同類中不斷調整 —— 所有這些都將有助於提高你的水平!

寫在最後以及一點鼓勵


還在用最笨的辦法用 Python 進行機器學習?看來你需要這篇文章


你可能會問:“為什麼我要投身於機器學習領域;也許已經有很多其他優秀的專家了。”

知道嗎?我也曾落入這個陷阱,但現在我可以大膽地說——這類想法不會給你帶來任何好處而是你成功的巨大障礙。

根據摩爾定律,集成電路上的晶體管數量每24個月翻一番。這意味著,我們的計算機性能每年都在進步,也意味著以前無法觸及的知識邊界再次“向右移動”——大數據和機器學習算法的研究還有空間!

誰知道將來會發生什麼。也許這些數字會增加得更多,機器學習也會變得更重要?很可能是的!

最可怕的就是你誤認為你的位置已經被其他專家取代了。

我希望你有足夠的意願和力量去學習,然後擁有那些能點燃你內心之光的項目!在評論中分享你的經驗吧!

"

相關推薦

推薦中...