資源|用Python和NumPy學習《深度學習》中的線性代數基礎

2020-12-25 機器之心Pro

本文系巴黎高等師範學院在讀博士 Hadrien Jean 的一篇基礎學習博客,其目的是幫助初學者/高級初學者基於深度學習和機器學習來掌握線性代數的概念。掌握這些技能可以提高你理解和應用各種數據科學算法的能力。

對於初學者而言,《深度學習》(Ian Goodfellow、Yoshua Bengio、Aaron Courville)中的理論基礎部分可能過於簡略。作者按照這本書的第二章的線性代數內容來逐一介紹機器學習中的線性代數基礎,讀者可以在原書、中譯版或中文筆記中查看每個小節的基礎介紹,或直接參考該博客的推導部分。作者除了對部分概念進行詳細推導之外,還添加了多個示例,並給出了 python/numpy 的實現代碼。

博客地址:https://hadrienj.github.io/posts/Deep-Learning-Book-Series-Introduction/GitHub 地址:https://github.com/hadrienj/deepLearningBook-Notes《深度學習》中文版下載地址:https://github.com/exacity/deeplearningbook-chinese

《深度學習》第二章目錄。

博客目錄。

純符號的公式推導可能令人覺得過於抽象,在博客中作者一般先列出具體案例,再給出符號表述。

例如,用帶彩色的數字方陣來解釋基本定義:

標量、向量、矩陣、張量的區別。

符號表述:

再給出 python/numpy 示例代碼:

用 numpy 構建數組。

對某些運算關係,作者給出了直觀可理解的圖示:

單位圓和由矩陣 A 變換後的橢圓,其中的向量是 A 的兩個特徵向量。

對於某些較為複雜的對象,作者還給出了函數可視化和交互界面。例如,在特徵值分解的二次型變換問題中,二次型函數

其正定型、負定型、不定型的可視化:

正定型函數的交互界面:

最後一個小節的 PCA(主成分分析)問題,是對之前介紹概念的綜合運用,讀者可以將其作為自主練習。

PCA 作為坐標系統變換問題。

協方差矩陣的特徵向量。

旋轉數據以在一個軸上得到最大方差。

祝大家學習愉快!

相關焦點

  • 深度學習和機器學習的線性代數入門
    本文目錄引言機器學習ML和深度學習NN中的線性代數矩陣向量矩陣乘法轉置矩陣逆矩陣正交矩陣對角矩陣在模型構建過程中,我們經常設計各種概念,例如維數災難、正則化、二進位、多分類、有序回歸等。神經元是深度學習的基本單位,該結構完全基於數學概念,即輸入和權重的乘積和。至於Sigmoid,ReLU等等激活函數也依賴於數學原理。
  • Python學習第116課——numpy.dot和矩陣相乘的數學運算
    關於numpy中數組的相乘,我們學習了對位相乘(用numpy.multiply、或*直接相乘,比如數組a和b的對位相乘就是numpy.multiply(a,b)或a*b)和一維數組的點乘(dot product,也有人叫inner product,比如一維數組a和b的點乘就是a.b)。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • Python學習第117課——numpy中dot的運用舉例
    【每天幾分鐘,從零入門python編程的世界!】上節我們學習了最基礎的matrix的運算,可能有小夥伴覺得這都要涉及高等數學知識了,確實如果你想做數據科學、做人工智慧,統計學、概率論等數學知識,尤其是算法是繞不過去的坎,但是不要怕!!!
  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    本文由機器之心編輯,「機器之心」專注生產人工智慧專業性內容,適合開發者和從業者閱讀參考。點擊右上角即刻關注。本文從向量的概念與運算擴展到矩陣運算的概念與代碼實現,對機器學習或者是深度學習的入門者提供最基礎,也是最實用的教程指導,為以後的機器學習模型開發打下基礎。
  • Python求解特徵向量和拉普拉斯矩陣
    學過線性代數和深度學習先關的一定知道特徵向量和拉普拉斯矩陣,這兩者是很多模型的基礎,有著很重要的地位,那用python要怎麼實現呢?numpy和scipy兩個庫中模塊中都提供了線性代數的庫linalg,scipy更全面些。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    原標題:機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用高級研修班通信和信息技術創新人才培養工程項目辦公室 通人辦〔2018〕 第5號 機器學習、深度學習算法原理與案例實踐暨Python
  • Python最佳經典學習路線
    如何學習Python python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例) (1)Python3入門,數據類型,字符串 (2)判斷/循環語句,函數,
  • 從Scratch開始零基礎編程學習、用Python入門
    現代社會計算機、信息技術日益發大,也著實影響和改變我們每一個人的生活中。有人朋友以前沒有任何的編程基礎,但是也想通過編程來實現自己的一些想法,做些工具解決自己的工具。那麼如何從零開始學習編程呢?筆者整理了下自己總結的回答資料,所以就有這篇文章。
  • 深度學習教程2,Anaconda安裝和使用命令
    (小玲說人工智慧----深度學習吧https://sdxx8.com)我們學習AI,最好的語言目前是python,而,學習AI要安裝各種各樣的程序庫,如果都手動安裝管理,將會非常麻煩,所以有個組織,開發了Anaconda的軟體,準確來說,這個軟體就是一個
  • 好程式設計師Python培訓分享numpy簡介
    好程式設計師Python培訓分享numpy簡介:一、numpy簡介:NumPy是一個功能強大的Python庫,主要用於對多維數組執行計算。NumPy這個詞來源於兩個單詞-- Numerical和Python。NumPy提供了大量的庫函數和操作,可以幫助程式設計師輕鬆地進行數值計算。
  • 這麼全面的Python數據科學小抄,趕緊收藏吧!
    python作為數據分析領域發展最快的程式語言,是入門數據科學的不二之選。可以說,在21世紀每個人都應該掌握編程和數據分析能力,才能更好地在大數據時代生存。首先Python是一門高級程式語言,語法簡單,可以編寫複雜的分析代碼;其次Python開發社區非常強大,開源了很多優秀的數據科學第三方庫,比如:pandas、numpy、matplotlib、sklearn、keras等等。有了這些庫,python才在數據科學領域獨領風騷。
  • 人工智慧、深度學習、Python?到底有何關聯
    以下,我就帶著大家細說一下,人工智慧、深度學習、Python的區別和聯繫。在介紹人工智慧之前,我們首先來說一下什麼非人工智慧,一個正常的程序如果不是人工智慧的會是怎麼樣的?例如,需要編寫一個判斷圖片中有沒有貓的程序。那麼人工智慧呢?它是研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。翻譯成正常人話,就是人造的聰明的東西。人工智慧主要邏輯類似人的學習過程,就是學習現有知識,建立模型,面對新問題的時候,利用現有模型去處理,得出結果。
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。Python 軟體包(如 numpy、scipy 和 Cython)來擴展 PyTorch。
  • 關於機器學習,這可能是目前最全面最無痛的入門路徑和資源!
    雲盤中三份之二資源,是李傑克已經看過並且覺得對於大家有幫助才放進去的,那些對現階段的大家沒有太大幫助的資料我都過濾掉了,畢竟為了看起來全而各種塞大家可能永遠都不會用上的資源沒有任何意義,我想做的是降低大家篩選學習資源的成本。
  • python應用之基於tensorflow的數據擬合:深度學習之預測入門篇
    實驗目的:1、了解python在深度學習領域的應用2、學習安裝python第三方依賴庫實驗環境:已正確安裝python3.5以及依賴庫tensorflow、matplotlib預測過程展示:1、應用領域
  • python初學者必看的學習路線 Python是近幾年比較火的程式語言
    Python是近幾年比較火的程式語言之一,因為人工智慧的火爆,讓很多人都想從事python開發。很多零基礎學員在學習python的時候都會走一些彎路,下面小編就為大家分享python學習路線圖,幫助零基礎學員在學習的時候少走彎路。 很多人都在問Python學習步驟應該如何安排?
  • java、php、python誰更容易學習呢?
    就市場前景而言,三者都有著廣闊的就業前景,薪資也都很不錯,java、php、python誰更容易學習呢?今天千鋒就從學習路線方面給大家分析一下。如果你選擇學習java,需要經歷四大階段。一階段為基礎階段,包括php課程介紹、HTML5、CSS3、php基礎應用;二階段為中級課,包括面向對象、設計模式、composer;三階段為高級課,包括H5和前端基礎,如JavaScript、jQuery、Ajax,thinkPHP框架和Laravel框架、微信公眾號開發、移動端API開發以及移動端Vue框架開發;四階段為特級課,包括Linux基礎知識、大並發架構、Swoole框架、以及熱門的php
  • 量化交易工程師,帶你學習量化交易入門!量化交易環境Python安裝
    從最開始的海龜交易法則,到人工智慧深度學習的量化交易能力不斷創新。可能很多人不信,說量化交易不可能穩定盈利,它只是一個口號,一個炒作。可是,正如機器人阿爾法狗已經打敗人腦,徹底改變歷史長河中機器人在圍棋上已經無法戰勝人類的事實。量化交易取代人工交易,成為一個成熟的頂尖的交易思維方法系統還有什麼不可能呢?
  • windows下python 3.9 Numpy scipy和matlabplot的安裝
    學習python過程中想使用python的matlabplot繪圖功能,遇到了一大批問題,然後一路過關斬將,最終安裝成功,實為不易,發帖留念。