深度學習預備知識:Python (V2+) 的 Numpy Stack

Numpy、Scipy、Pandas 和 Matplotlib Stack (堆棧):為深度學習、機器學習和人工慧做準備

想要學習使用 Python 實作深度學習/機器學習,這個課程講師在課程說明有列出學習順序課程。

報名參加課程 

已經上過這門課程?

🔥歡迎來參加這個活動 – 上課心得分享與獎勵說明 :分享就贈送一門線上課程

從這 6 小時的課程 ,你會學到

  • 使用 Scikit-Learn 通過實際示例了解受監督的機器學習(分類和迴歸)
  • 使用Numpy Stack 理解和編寫程式
  • 利用 Numpy、Scipy、Matplotlib 和 Pandas 實現數值演算法(  numerical algorithms )
  • 了解各種機器學習模型的優缺點,包括深度學習、決策樹、隨機森林、線性迴歸、Boosting 等!

規定為何?

  • 了解線性代數和高斯分佈( Gaussian distribution )
  • 熟悉 Python 程式設計
  • 已經知道點積( dot product )、矩陣求逆和高斯機率分佈之類等“為什麼”有用以及它們可以用於什麼

課程說明

歡迎!這是深度學習、機器學習和資料科學的先修知識課程:Python 的Numpy Stack。

我經常得到許多人們想要學習深度學習和數據科學關心的一個問題,他/她們參加了這些課程,但是他/她們進度落後了,因為他們對於 Numpy Stack  的了解不足夠,以將這些概念轉換為程式碼。

即使我是全職在寫程式,如果不了解 Numpy,那麼它的程式碼仍然很難閱讀。

本課程目的在消除這個障礙 – 以展示如何使用 Numpy Stack 做深度學習( deep learning )和資料科學( data science )中經常需要用到的知識。

那麼這些東西是什麼?

Numpy – 形成一切的基礎。Numpy 的中心物件是 Numpy 陣列(  array ),你可以在其上進行各種運算。

關鍵是Numpy 陣列不僅僅是一個如在 Java 或 C ++ 語言中看到的一般陣列,而是像一個數學物件,例如一個向量或是一個矩陣。

這意味著你可以進行向量和矩陣運算,如加法、減法和乘法。

Numpy 陣列的最重要的部分是它們針對速度進行了優化。所以我們要做一個演示,我向你證明,使用Numpy向量化操作比使用Python列表更快。

然後,我們將看一些更複雜的矩陣運算,如乘積,反轉,決定因子和求解線性系統。

Pandas – Pandas 是很棒的工具,因為它在幕後做了許許多多的事情,讓你的生活更輕鬆,因為你之後不需要再手動編寫這些東西。

Pandas 使得處理資料組很像 R,如果你熟悉 R 的話.

R 和 Pandas 中的中心物件是 DataFrame。

我們將看看使用 Pandas 加載資料組比試圖手動加載更容易。

然後,我們將看一些 DataFrame 操作,例如按欄位過濾、按行過濾、應用函數和 joins,joins 看起來很像 SQL joins 功能。

所以如果你有使用過 SQL 背景,你會喜歡使用 tables,然後 Pandas 將是下一個主要的東西需要學習。

由於 Pandas 教我們如何載入資料,下一步就是查看資料。為此,我們將使用 Matplotlib

在本節中,我們將討論一些常見的圖表,即折線圖( line chart ),散點圖( scatter plot )和直方圖 ( histogram )。

我們還會看看如何使用 Matplotlib 顯示圖像。

99%的時間,你將使用以上的圖表形式。

Scipy.

我喜歡Scipy作為Numpy的增益程式庫。

鑑於 Numpy 提供了基本的建構區塊( building blocks ),如向量,矩陣和對它們的操作,Scipy使用那些一般的建構區塊( building blocks )來做特定的事情。

例如,Scipy可以進行許多常見的統計計算,包括獲取PDF值,CDF值,從分佈中取樣,以及統計測試。

它有信號處理工具,所以它可以做迴旋( convolution )和傅立葉變換。

總結:

如果你參加了深度學習或機器學習課程,並且你理解了這個理論,你可以看到程式碼,但是你無法將這些演算法變成實際運行的程式碼之間的連接,這個課程是為你設計的。

所有這個課程的程式碼可以從我的 github /lazyprogrammer/machine_learning_examples目錄numpy_class 下載

確定你總是使用 “git pull ”,所以你會有最新的版本!

“如果你無法應用,那你應該還沒理解”

  • 或正如偉大的物理學家理查德·費曼(Richard Feynman)所說:“我無法創造,如果我沒有理解”。
  • 我的課程是唯一會帶你將從基礎開始學習如何實現機器學習演算法的課
  • 其他課程將教你如何將資料插入程式庫中,但是你真的需要 3 行程式碼來幫你嗎?
  • 對 10 個資料集執行相同的操作後,你意識到自己沒有學習 10 件事。你只學會 1 件事,並且只重複了相同的 3 行程式碼 10 次…

在學習本課程前你需要具備:

  • 矩陣算術
  • 可能性的 Python: if/else, loops, lists, dicts, sets
  • 應該已經知道點積、矩陣求逆和高斯機率分佈之類的“為什麼”有用,以及它們可用於什麼

小技巧(為了完成課程):

  • 使用 2x 倍速觀看
  • 採取手寫筆記。這將大大提高您保留資訊的能力。
  • 在討論板上提出很多問題。越多越好!
  • 意識到大多數練習需要幾天或幾週才能完成。

有用的課程順序

講師簡介  

Lazy Programmer Inc  資料科學家和大數據工程師

我是一名資料科學家、大數據工程師和全端軟體工程師。

我擁有計算機工程碩士學位,專門從事機器學習和模式 ( pattern ) 識別。

我曾在網路廣告和數位媒體擔任過資料科學家和大數據工程師,圍繞所述的資料構建各種高流量的 web 服務。我曾經使用 Hadoop / Pig / MapReduce 建立了新的大數據管道,也曾建立了機器學習模型來預測點擊率,使用線性迴歸、Bayesian Bandits 和協作篩選建立新聞推薦系統,並使用A / B測試驗證結果。

我在大學與研究所如哥倫比亞大學、紐約大學、Humber College 和 The New School 教過 資料科學、統計學、機器學習、演算法、微積分、電腦圖學和物理學。

多家企業已經從我的 Web 程式設計專業知識中受益。我做所有的後端(伺服器)、前端(HTML / JS / CSS)和操作/佈署工作。我使用的一些技術是:Python、Ruby / Rails、PHP、Bootstrap、jQuery(Javascript)、Backbone 和  Angular。至於儲存/資料庫,我使用MySQL、Postgres、Redis、MongoDB 等。

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

報名參加課程 

980086_196d_2

Sponsored by Udemy

也許你會有興趣

Soft & Share 網站加值服務

找線上課程?試看看 Soft & Share 網站搜尋引擎

✍ 搜尋結果太多?可參考 Soft & Share 搜尋引擎使用技巧


幫我們個小忙!

使用 e-mail 追蹤 Soft & Share

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: