電影《駭客帝國》的經典場景
你一定看過好萊塢的經典科幻影片《駭客帝國》,裡面超級強大的AI已經統治了世界,而人類隻能躲在陰暗的地下與之對抗。不過,你可能不知道,《駭客帝國》這個酷酷的名字,是引進這部影片時國内新起的,而這部電影的英文原名,就是“矩陣(matrix)”。可見,矩陣對于人工智能是多麼重要的概念。
電影的名字就是矩陣!
什麼是矩陣在機器學習裡面,矩陣是非常非常重要且基礎的概念。理解矩陣,可以從我們日常生活中經常看到的表格開始。
下面的這個表格,是本屆世界杯法國隊部分球員的數據:
2018年世界杯法國足球隊主力球員
我們可以把上面的這個表格裡的數據抽象成一個矩陣:
我們一般把某個矩陣稱之為m×n矩陣,m是行數,n是列數。比如上面這個矩陣,有5行4列,我們稱之為5×4矩陣。
使用NumPy創建矩陣在NumPy裡面,創建矩陣一般用mat這個方法,應該是英文matrix的簡稱。下面演示幾種常見的創建矩陣操作。
使用mat方法創建一個2X3矩陣:
創建一個2X3矩陣
使用zeros方法創建全零矩陣:
創建全零矩陣
使用ones方法創建全1矩陣:
創建全1矩陣
使用random.rand方法創建2×3的随機矩陣:
使用random.rand方法創建2×3的随機矩陣
使用eye方法創建單位矩陣:
如果一個矩陣對角線上的元素全為1,其他元素全為0時,我們稱之為單位矩陣。顯然,單位矩陣的行數和列數是相等的,也就是通常說的方陣。在矩陣的運算裡,單位矩陣經常扮演普通數學計算中“1”的角色。
使用eye方法創建單位矩陣
NumPy的基本矩陣運算接下來我們聊聊如何用NumPy實現一些基本的矩陣運算。
矩陣的數乘:
矩陣的數乘是指的一個數字乘以一個矩陣,其結果就是矩陣的每個元素與這個數相乘形成的新的矩陣。
矩陣的數乘
矩陣的加減法:
矩陣的加減法就是兩個矩陣對應的元素相加減所形成的新的矩陣,這裡要求兩個矩陣行列數相等。
下面以加法舉例。
矩陣加法
矩陣的轉置:
矩陣的轉置是把矩陣的行和列調換,相當于倒過來。代碼的實現方式如下:
mat.T
矩陣的轉置
矩陣的點積:
矩陣的點積是非常重要的矩陣運算,注意不要和後面的矩陣乘法搞混,矩陣的點積類似矩陣加減法,就是對應元素相乘形成新的矩陣。這裡要求兩個矩陣的行列數相等。代碼的實現如下,使用multiply這個方法來實現兩個矩陣的點積:
np.multiply(mat1, mat2)
矩陣的點積
矩陣的乘法:
矩陣的乘法是最複雜的一個矩陣運算,簡單的說就是第一個矩陣的行的每個元素乘以第二個矩陣列的每個元素然後相加而成。下面是百度百科裡面的定義:
矩陣乘法的定義
下面這個動圖可能會讓你更加理解矩陣乘法:
矩陣的乘法使用代碼實現就是把兩個矩陣直接相乘:
mat1 * mat2
矩陣乘法的計算比較怪異,特别是有幾個怪異的性質:
- 矩陣乘法必須在第一個矩陣的列數等于第二個矩陣的行數才可以進行。
- 矩陣乘法不滿足交換律,也就是說相乘的兩個矩陣不能調換位置。
本文介紹了矩陣的基本概念以及一些簡單操作,希望對你有所幫助。之後我們會繼續深入學習其他的矩陣知識。
其他熱門文章:
五分鐘就能學會!手把手教你搭建機器學習開發環境
手把手教你搭建機器學習開發環境—Python與NumPy的超簡安裝教程
手把手教你配置最漂亮的PyCharm界面,Python程序員必備!
一句話解釋區塊鍊,你卻為什麼聽不懂?
麻将、區塊鍊以及去中心化
科普:比特币的密碼就像潑出去的水,丢了就永遠找不回來!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!