真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

NumPy線性代數(shù)的使用方法是什么

本篇內(nèi)容介紹了“NumPy線性代數(shù)的使用方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、拜城網(wǎng)站維護、網(wǎng)站推廣。

NumPy是Python的一個科學計算庫,是許多庫(比如Pandas)的基礎。


線性代數(shù)中的對象類型

線性代數(shù)中的對象(或數(shù)據(jù)結構)類型:

  • 標量:單個數(shù)字

  • 向量:數(shù)字數(shù)組

  • 矩陣:二維數(shù)字數(shù)組

  • 張量:N>2的N維數(shù)列

標量就是一個數(shù)字。我們將在下面的示例中看到,它可以用于向量化操作。

向量是一組數(shù)字。例如,5個元素的向量:

NumPy線性代數(shù)的使用方法是什么

我們可以在向量化運算中使用標量。對向量的每個元素執(zhí)行指定的操作。例如

NumPy線性代數(shù)的使用方法是什么

矩陣是二維向量

NumPy線性代數(shù)的使用方法是什么

它看起來像是一個包含行和列的pandas數(shù)據(jù)框。實際上,pandas數(shù)據(jù)幀被轉換成矩陣,然后輸入到機器學習模型中。

張量是一個N維數(shù)數(shù)組,其中N大于2。張量主要用于輸入數(shù)據(jù)為三維的深度學習模型。

NumPy線性代數(shù)的使用方法是什么

很難用數(shù)字來表示,但是可以把T看成3個3x2形狀的矩陣。

shape方法可用于檢查numpy數(shù)組的形狀。

NumPy線性代數(shù)的使用方法是什么

數(shù)組的大小是通過乘以每個維度的大小來計算的。

NumPy線性代數(shù)的使用方法是什么


常用矩陣術語

如果行數(shù)等于列數(shù),矩陣稱為方陣。因此,上面的矩陣A是一個方陣。

單位矩陣,表示為I,是一個方陣,對角線上有是,其他位置全是0。NumPy的identity函數(shù)可以用來創(chuàng)建任意大小的單位矩陣。

NumPy線性代數(shù)的使用方法是什么

一個單位矩陣的特殊之處在于矩陣乘上它不會改變。從這個意義上講,它與實數(shù)中的數(shù)字1相似。我們將在這篇文章的矩陣乘法部分用單位矩陣做例子。

矩陣的逆矩陣是與原始矩陣相乘得到單位矩陣的矩陣。

NumPy線性代數(shù)的使用方法是什么

不是每個矩陣都有一個逆矩陣。如果矩陣A有一個逆矩陣,那么它被稱為可逆或非奇異


點乘與矩陣乘法

點乘和矩陣乘法是復雜機器學習和深度學習模型的組成部分,因此對它們進行全面的了解是非常有價值的。

兩個向量的點積是元素相對于其位置的乘積之和。第一個向量的第一個元素乘以第二個向量的第一個元素,依此類推。這些積的和就是點積。在NumPy中計算點積的函數(shù)是dot()。

讓我們首先以numpy數(shù)組的形式創(chuàng)建兩個簡單的向量并計算點積。

NumPy線性代數(shù)的使用方法是什么

點積計算為(1*2)+(2*4)+(3*6),即28。

因為我們在相同的位置相乘,所以這兩個向量的長度必須相同才能得到點積。

在數(shù)據(jù)科學領域,我們主要處理矩陣。矩陣是一組以結構化方式組合的行和列向量。因此,兩個矩陣的相乘涉及向量的許多點積運算。我們再看一些例子就會更清楚了。我們先用NumPy創(chuàng)建兩個2x2矩陣。

NumPy線性代數(shù)的使用方法是什么

NumPy線性代數(shù)的使用方法是什么

2x2矩陣有2行2列。行和列的索引以0開頭。例如,A(索引為0的行)的第一行是[4,2]的數(shù)組。A的第一列是[4,0]的數(shù)組。第一行和第一列的元素是4。

我們可以訪問單個行、列或元素,如下所示:

NumPy線性代數(shù)的使用方法是什么

這些是理解矩陣乘法的重要概念。

兩個矩陣的相乘涉及到第一個矩陣的行和第二個矩陣的列之間的點乘。第一步是A的第一行和B的第一列之間的點積。這個點積的結果是在位置[0,0](即第一行,第一列)處得到的矩陣的元素。

NumPy線性代數(shù)的使用方法是什么

因此,得到的矩陣C在第一行和第一列將有一個 (4*0) + (2*4) 。C[0,0]=18。

下一步是A的第一行和B的第二列的點積。

NumPy線性代數(shù)的使用方法是什么

C在第一行和第二列有一個(4*0)+(2*4)。C[0,1]=8。

第一行A已完成,因此我們從A的第二行開始,并遵循相同的步驟。

NumPy線性代數(shù)的使用方法是什么

C在第二行和第一列有一個(0*4)+(3*1)。C[1,0]=3。

最后一步是A的第二行和B的第二列之間的點積。

NumPy線性代數(shù)的使用方法是什么

C在第二行和第二列有一個(0*0)+(3*4)。C[1,1]=12。

我們已經(jīng)看到它是如何一步一步完成的。所有這些操作都是用np.dot操作:

NumPy線性代數(shù)的使用方法是什么

你可能還記得,我們已經(jīng)提到過,單位矩陣乘以任何矩陣時不會改變矩陣。讓我們舉個例子。

NumPy線性代數(shù)的使用方法是什么

我們還提到,當一個矩陣乘以它的逆矩陣時,結果就是單位矩陣。讓我們先創(chuàng)建一個矩陣,然后求它的逆矩陣。我們可以利用NumPy函數(shù)**linalg.inv()**求矩陣的逆。

NumPy線性代數(shù)的使用方法是什么

用B的逆矩陣C乘以B:

NumPy線性代數(shù)的使用方法是什么

我們得到了單位矩陣。


正如我們在向量點積中回憶的那樣,兩個向量的長度必須相同才能有一個點積。矩陣乘法中的每個點積運算都必須遵循這個規(guī)則。點積是在第一個矩陣的行和第二個矩陣的列之間進行的。因此,第一個矩陣的行和第二個矩陣的列的長度必須相同。

矩陣乘法的要求是第一個矩陣的列數(shù)必須等于第二個矩陣的行數(shù)。

例如,我們可以用一個3x2矩陣乘以一個2x3矩陣。

NumPy線性代數(shù)的使用方法是什么

結果矩陣的形狀將是3x3,因為我們對A的每一行進行3點積運算,A有3行。確定結果矩陣形狀的一種簡單方法是從第一個矩陣中提取行數(shù),從第二個矩陣中提取列數(shù):

  • 3x2和2x3相乘返回3x3

  • 3x2和2x2相乘返回3x2

  • 2x4和4x3相乘返回2x3

“NumPy線性代數(shù)的使用方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


分享文章:NumPy線性代數(shù)的使用方法是什么
當前鏈接:http://weahome.cn/article/jdsosc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部