機器學習數學知識——矩陣加減運算及Python實現

2020-12-12 米粒教育

有下面兩個矩陣A和B,試求A+B和A-B

矩陣A和矩陣B相加減的規則是同行同列的元素進行加減操作,計算結果作為結果矩陣的同行同列的元素。

A+B計算過程如下所示:

A-B計算過程如下所示:

在上面計算A+B的過程中,A[1,1]與B[1,1]相加得7,7作為結果矩陣C[1,1]的值,A[1,2]與B[1,2]相加得5,5作為結果矩陣C[1,2]的值,A[1,3]與B[1,3]相加得1,1作為結果矩陣C[1,3]的值,A[2,1]與B[2,1]相加得11,11作為結果矩陣C[2,1]的值,……,依次類推,求出結果矩陣C。

同理,可以求出A-B的結果矩陣C。

兩個矩陣相減,也可以使用加法來解決。我們知道減去一個數,等於加上這個數的相反數。例如:

-1-(-7) = -1 + ((-1)(-7))= 6

求一個數的相反數,可以用-1去乘以這個數,因為互為相反數的兩個數的商為-1(0除外)。

兩個矩陣相減,也可以這麼計算:

A-B = A + (-1)* B

在線性代數中,常數也稱為標量,標量是一個單獨的數,只有數值沒有方向。後面的課程我們會講到向量,向量是一組數,既有大小也有方向。

標量與矩陣相乘,結果矩陣與原矩陣的行列數相同,其元素的值是原矩陣中每個對應元素與標量相乘的數值。

(-1)* B的計算過程如下所示:

在上面計算-1 * B的過程中,-1與B[1,1]相乘得-8,-8作為結果矩陣D[1,1]的值,-1與B[1,2]相乘得-2,-2作為結果矩陣D[1,2]的值,-1與B[1,3]相乘得1,1作為結果矩陣D[1,3]的值,-1與B[2,1]相乘得-6,-6作為結果矩陣D[2,1]的值,……,依次類推,求出結果矩陣D。

然後,計算A+D,A+D的結果就是A-B的結果。

注意:兩個矩陣的加減規則只能用於兩個行列數相同的矩陣,當兩個矩陣的行列數不同時,不能進行加減操作。

下面我們使用Python語言來實現A+B和A-B的計算過程

在Python語言中,矩陣可以使用兩層嵌套列表來存儲。第一層列表元素也是一個列表,第二層列表存儲矩陣的元素。使用雙重for循環可以遍歷矩陣的所有元素。

下面我們使用NumPy庫來實現A+B和A-B的計算過程。

NumPy對矩陣的初始化也是用了兩層嵌套列表,計算過程就簡單多了,矩陣的加減運算類似兩個數的加減運算。

相關焦點

  • 機器學習的數學 之 python 矩陣運算
    一、 什麼是矩陣一個 m × n 的矩陣是一個由 m 行 n 列元素排列成的矩形陣列。以下是一個由 6 個數字元素構成的 2 行 3 列的矩陣:矩陣屬於線性代數數學分支。線性代數是關於向量空間和線性映射的一個數學分支。它包括對線、面和子空間的研究,同時也涉及到所有的向量空間的一般性質。
  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    本文從向量的概念與運算擴展到矩陣運算的概念與代碼實現,對機器學習或者是深度學習的入門者提供最基礎,也是最實用的教程指導,為以後的機器學習模型開發打下基礎。在我們學習機器學習時,常常遇到需要使用矩陣提高計算效率的時候。如在使用批量梯度下降迭代求最優解時,正規方程會採用更簡潔的矩陣形式提供權重的解析解法。
  • 教程 | 基礎入門:深度學習矩陣運算的概念和代碼實現
    本文從向量的概念與運算擴展到矩陣運算的概念與代碼實現,對機器學習或者是深度學習的入門者提供最基礎,也是最實用的教程指導,為以後的機器學習模型開發打下基礎
  • Python學習第116課——numpy.dot和矩陣相乘的數學運算
    【每天幾分鐘,從零入門python編程的世界!】在後面的物理、Fintech(科技金融)、圖像識別、機器學習等方面,都可以用到矩陣。因此矩陣的數學原理也是非常重要的,感興趣的話可以去看看。現在我們只做一些最簡單的演示,如果現在對矩陣了解的不是很深入也沒關係,也沒有必要在現在的階段花很大精力去學習,我們後面的學習中會不斷的去重複和推演。
  • 數學運算、矩陣和圖像
    那個時候沒有接觸微積分、沒有接觸矩陣論、沒有接觸圖像處理,也沒有接觸機器學習。我們不知道我們未來做什麼。但我們的目的是搭建一個體系,這個體系中基本上都是最基礎的知識,主要以數學為主。 從最開始的加、減、乘、除開始,有很多種數學運算,還有加權和、開方、指數、以e為底、log等運算。再到後面,有均值、方差、標準差、最值等。這些都是數學專業最最基礎的運算。
  • 矩陣乘法的純Python實現 | 離開Python庫!!
    在《這篇文章》中,我們有簡單提到「矩陣乘法」的相關知識,如果你不記得了,可以複習一下這張圖片。想起來了沒?本篇文章將深入探討在沒有機器學習庫的情況下如何從零實現矩陣乘法!你有沒有想過在沒有任何複雜的機器學習庫的情況下處理機器學習問題?
  • 數學推導+純Python實現機器學習算法28:奇異值分解SVD
    Python機器學習算法實現Author:louwillMachine
  • Python編程基礎,數字及數學運算
    小學的數學運算先來小學的數學運算,加減乘除這個比較容易理解,畢竟咱們都是讀過小學的人。和數學不同的是,乘不是×,而*,除不是÷,而是/數學裡面有個運算優先級,先乘除後加減,先括號內,再括號外。都是一樣一樣的。然後這裡可以看到有些運算結果沒有小數點(如2,-2),有些有小數點(8.2、3.0、1.0、1.66666666)沒有小數的為整數類型,有小數部分的為浮點數類型。
  • 什麼是運算符和表達式,在python中是如何處理數學運算的?
    又到了和大家分享的時刻了,初識python,相信很多編程愛好者們對程序的解義在心裡應該有一個概念了吧,對於pycharm的用法與進位的認知,在大家的心裡是否還有印象?前面我們提到了python的核心數據(整數型、浮點型、複數等),那麼大家是否知道,這些數據是用來幹什麼的呢?
  • 算法應用|機器學習python應用,初識機器學習是怎樣滴感受?
    實際上並不需要,Python有scikit-learn模塊等可以直接進行建模的調用包,基本只需要學會python的各種基礎的知識和應用,熟悉scikit-learn的相關模型用法,以及包括numpy、pandas、matplotlib模塊在內的常用的數據處理和可視化包,就可以實現各種機器學習算法了。
  • 徹底解決數學問題-《機器學習的數學》出版了
    雖然現在有AutoML等自動化機器學習工具(如貝葉斯優化等算法)來實現自動調參,但在有些時候它們不一定能滿足你的實際要求。很多同學認為學了本科3門數學課-高等數學,線性代數,概率論與數理統計,就足以學好機器學習了,這種觀點其實是不準確的。且不說最優化方法,隨機過程等課程大部分人並沒學過,即使是這3門課,機器學習中所用的數學知識也經常會超出工科乃至數學系教材的範疇。
  • Python 技巧 —— 矩陣操作
    歡迎關注 「小白玩轉Python」,發現更多 「有趣」使用 NumPy 學習矩陣和求解線性方程組的完整指南矩陣作為一種數學資源被用於一些現實世界的應用。在本文中,您將使用強大的 NumPy 庫學習 Python 中的矩陣,如下所示:另外:我們還將探討如何使用 Python 中的矩陣來計算線性方程模型。
  • 如何使用python完成數學建模常見算法
    在數學建模中主流的程式語言是MATLAB,但隨著python/R中數學軟體包的不斷完善,熟悉這兩種程式語言的同學也可以快速數學建模的編程環節。後面我們將介紹幾種常見數學建模算法的python實現,旨在展示python在本領域的強大威力。
  • Python機器學習算法入門之梯度下降法實現線性回歸
    進一步的推導來自從@鄒博_機器學習的機器學習課件。        所以求maxL(θ)的過程,就變成了求minJ(θ)的過程,從理論上解釋了誤差函數J(θ)的由來。3 最小二乘法求誤差函數最優解        最小二乘法(normal equation)相信大家都很熟悉,這裡簡單進行解釋並提供python實現。
  • MATLAB01:基本的數學運算與矩陣運算
    若微信排版有問題,請點擊閱讀原文查看MATLAB01:基本的數學運算與矩陣運算MATLAB基本語法變量變量名保留變量不適合做變量名變量不應當覆蓋內置函數變量類型數字型變量的顯示格式
  • 【Python 第53課】 數學運算
    今天從打飛機遊戲裡中斷一下,說些python的基礎。python的數學運算模塊叫做math,再用之前,你需要import mathmath包裡有兩個常量:math.pi圓周率π:3.141592...math.e自然常數:2.718281...
  • 斐波那契數列與矩陣乘法的聯繫以及其python實現
    (況且在python中實際列表所佔地址空間會大於其可見長度。)所以這種方式顯然不是可取的方式。但是在斐波那契數列數列需要經常進行運算且n較小的時候,直接採取已經定義好的列表看起來的確是個一勞永逸的方法。但是如果面試官要求你不使用列表,即儘可能減少內存佔用呢?這裡問題就可以簡化為只使用兩個變量。
  • Python科學計算入門書籍推薦
    話說回來,這近些日子,隨著機器學習的熱潮,python也算是程序界的蒂花之秀了,幾乎到處都能看到它的聲影。算下來,我也有「幾乎4年」的python開發時間了,期間還使用python來參加全國研究生數學建模比賽並連續兩年拿到了國二。都說python入門簡單,網上也有很多學習資源。但是大多數都比較亂,沒有一個明確的順序和方向。
  • 【機器學習基礎】數學推導+純Python實現機器學習算法21:馬爾可夫鏈蒙特卡洛
    19:PCA降維數學推導+純Python實現機器學習算法18:奇異值分解SVD數學推導+純Python實現機器學習算法17:XGBoost數學推導+純Python實現機器學習算法16:Adaboost>數學推導+純Python實現機器學習算法15:GBDT數學推導+純Python實現機器學習算法14:Ridge嶺回歸數學推導+純Python實現機器學習算法13:Lasso回歸
  • R與數學專題矩陣運算
    請點擊上方藍字關注我們:)上一期我們主要給大家介紹了R在數學方面的基本運算,主要包括加減乘除四則運算