最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python深度學習線性代數(shù)示例詳解

 更新時間:2021年10月11日 09:47:51   作者:Supre_yuan  
這篇文章主要為大家講解了Python深度學習中線性代數(shù)的示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

標量

標量由普通小寫字母表示(例如,x、y和z)。我們用 R \mathbb{R} R表示所有(連續(xù))實數(shù)標量的空間。

標量由只有一個元素的張量表示。下面代碼,我們實例化了兩個標量,并使用它們執(zhí)行一些熟悉的算數(shù)運算,即加法、乘法、除法和指數(shù)。

import torch
x = torch.tensor([3.0])
y = torch.tensor([2.0])
x + y, x * y, x / y, x ** y
tensor([5]), tensor([6]), tensor([1.5]), tensor([9])

向量

向量是標量值組成的列表,我們將這些標量值稱為向量的元素或分量。
在數(shù)學表示法中,我們通常將向量記為粗體、小寫的符號(例如, x \mathbf{x} x、 y \mathbf{y} y和 z \mathbf{z} z)

我們通過一維張量處理向量。一般來說,張量可以具有任意長度,最大長度取決于機器的內存限制。

x = torch.arange(4)
tensor([0, 1, 2, 3])

大量文獻認為列向量是向量的默認方向。在數(shù)學中,向量 x \mathbf{x} x可以寫為:

在這里插入圖片描述

我們可以通過張量的索引來訪問任一元素。

x[3]
tensor(3)

長度、維度和形狀

在數(shù)學表示法中,如果我們想說一個向量 x \mathbf{x} x由 n n n個實值標量組成,我們可以將其表示為 x ∈ R n \mathbf{x} \in \mathbb{R}^{n} x∈Rn。向量的長度通常稱為向量的維度。

與普通的Python數(shù)組一樣,我們可以通過調用Python的內置len()函數(shù)來訪問張量的長度。

len(x)
4

當用張量表示一個向量(只有一個軸)時,我們也可以通過.shape屬性訪問向量的長度。形狀(shape)是一個元組,列出了張量沿每個軸的長度(維數(shù))。對于只有一個軸的張量,形狀只有一個元素。

x.shape
torch.Size([4])

注意,維度(dimension)這個詞在不同上下文時往往會有不同的含義,這經常會使人感到困惑。為了清楚起見,我們在此明確一下。向量或軸的維度被用來表示向量或軸的長度,即向量或軸的元素數(shù)量。然而,張量的維度用來表示張量具有的軸數(shù)。在這個意義上,張量的某個軸的維數(shù)就是這個軸的長度。

矩陣

在這里插入圖片描述

當矩陣具有相同數(shù)量的行和列時,其形狀將變?yōu)檎叫?;因此,它被稱為方矩陣。

當調用函數(shù)來實例化張量時,我們可以通過指定兩個分量m和n來創(chuàng)建一個形狀為 m×n的矩陣。

A = torch.arange(20).reshape(5, 4)
tensor([[0, 1, 2, 3],
        [4, 5, 6, 7],
        [8, 9, 10, 11],
        [12, 13, 14, 15],
        [16, 17, 18, 19]])

在這里插入圖片描述

A.T
tensor([[0, 4, 8, 12, 16],
        [1, 5, 9, 13, 17],
        [2, 6, 10, 14, 18],
        [3, 7, 11, 15, 19]])

矩陣是有用的數(shù)據(jù)結構:它們允許我們組織具有不同變化模式的數(shù)據(jù)。例如,我們矩陣中的行可能對應于不同的房屋(數(shù)據(jù)樣本),而列可能對應于不同的屬性。因此,盡管單個向量的默認方向是列向量,但在表示表格數(shù)據(jù)集的矩陣中,將每個數(shù)據(jù)樣本作為矩陣中的行向量更為常見。

張量

張量為我們提供了描述具有任意數(shù)量軸的 n n n維數(shù)組的通用方法。

當我們開始處理圖像時,張量將變得更加重要,圖像以 n n n維數(shù)組形式出現(xiàn),其中3個軸對應于高度、寬度以及一個通道(channel)軸,用于堆疊顏色通道(紅色、綠色和藍色)?,F(xiàn)在,我們將跳過高階張量,集中在基礎知識上。

X = torch.arange(24).reshape(2, 3, 4)
tensor([[[0, 1, 2, 3],
         [4, 5, 6, 7],
         [8, 9, 10, 11]],
        [[12, 13, 14, 15],
         [16, 17, 18, 19],
         [20, 21, 22, 23]]])

張量算法的基本性質

任何按元素的一元運算都不會改變其操作數(shù)的形狀。同樣,給定具有相同形狀的任意兩個張量,任何按元素二元運算的結果都將是相同形狀的張量。例如,將兩個相同形狀的矩陣相加會在這兩個矩陣上執(zhí)行元素的加法。

A = torch.arange(20, dtype=torch.float32).reshape(5,4)
B = A.clone
A, A + B
tensor([[0, 1, 2, 3],
        [4, 5, 6, 7],
        [8, 9, 10, 11],
        [12, 13, 14, 15],
        [16, 17, 18, 19]]),
tensor([[0, 2, 4, 6],
        [8, 10, 12, 14],
        [16, 18, 20, 22],
        [24, 26, 28, 30],
        [32, 34, 36, 38]])

具體而言,兩個矩陣按元素乘法稱為哈達瑪積。

A * B
tensor([[0, 1, 4, 9],
        [16, 25, 36, 49],
        [64, 81, 100, 121],
        [144, 169, 196, 225],
        [256, 289, 324, 361]])

將張量乘以或加上一個標量不會改變張量的形狀,其中張量的每個元素都將與標量相加或相乘。

降維

我們可以對任意張量進行一個有用的操作是計算其元素的和。在代碼中,我們可以調用計算求和的函數(shù):

x = torch.arange(4, dtype = torch.float32)
x.sum()
tensor(6)

默認的情況下,調用求和函數(shù)會沿所有的軸降低張量的維度,使它變?yōu)橐粋€標量。我們還可以指定張量沿哪一個軸來通過求和降低維度。以矩陣為例,為了通過求和所有行的元素來降維(軸0),我們可以在調用函數(shù)時指定axis = 0。由于輸入矩陣沿著0軸降維以生成輸出張量,因此輸入的軸0的維數(shù)在輸出形狀中丟失。

A.shape
torch.Size([5, 4])
A_sum_axis0 = A.sum(axis = 0)
A_sum_axis0, A_sum_axis0.shape
tensor([40, 45, 50, 55]), torch.Size([4])

指定axis = 1將通過匯總所有列的元素降維(軸1)。因此,輸入的軸1的維數(shù)在輸出形狀中消失。

A_sum_axis1 = A.sum(axis = 1)
A_sum_axis1, A_sum_axis1.shape
tensor([6, 22, 38, 54, 70]), torch.Size([5])

沿著行和列對矩陣求和,等價于對矩陣的所有元素進行求和。

A.sum(axis=[0, 1])
tensor(190)

一個與求和相關的量是平均值。在代碼中,我們可以調用函數(shù)來計算任意形狀張量的平均值。

A.mean()

同樣,計算平均值的函數(shù)也可以沿指定軸降低張量的維度。

A.mean(axis = 0)

點積

最基本的操作是點積。
給定兩個向量,點積是它們相同位置的按元素乘積的和。

y = torch.ones(4, dtype = torch.float32)
x, y, torch.dot(x, y)
tensor([0, 1, 2, 3]), tensor([1, 1, 1, 1]), tensor(6)

矩陣-矩陣乘法

在下面的代碼中,我們在A和B上執(zhí)行矩陣乘法。這里的A是一個5行4列的矩陣,B是一個4行3列的矩陣。相乘后,我們得到一個5行3列的矩陣。

B = torch.ones(4, 3)
torch.mm(A, B)

范數(shù)

線性代數(shù)中最有用的一些運算符是范數(shù)。非正式地說,一個向量的范數(shù)告訴我們一個向量有多大。這里考慮的大小(size)概念不涉及維度,而是分量的大小。

在線性代數(shù)中,向量范數(shù)是將向量映射到標量的函數(shù) f f f。向量范數(shù)要滿足一些屬性。給定任意向量 x \mathbf{x} x,第一個性質來說,如果我們按常數(shù)因子 α \alpha α縮放向量的所有元素,其范數(shù)也會按相同常數(shù)因子的絕對值縮放:

在這里插入圖片描述

第二個性質是我們熟悉的三角不等式:

在這里插入圖片描述

第三個性質簡單地說范數(shù)必須是非負的。

在這里插入圖片描述

最后一個性質要求范數(shù)最小為0,當且僅當向量全由0組成。

在這里插入圖片描述

在這里插入圖片描述

u = torch.tensor([3, 4])
torch.norm(u)

在這里插入圖片描述

u = torch.tensor([3, 4])
torch.abs(u).sum()
tensor(7)

在這里插入圖片描述

torch.norm(torch.ones((4, 9)))

范數(shù)和目標:

在深度學習中,我們經常試圖解決優(yōu)化問題:最大化分配給觀測數(shù)據(jù)的概率;最小化預測和真實觀測之間的距離。用向量表示物品(如單詞、產品或新聞文章),以便最小化相似項目之間的距離,最大化不同項目之間的距離。通常,目標,或許是深度學習算法最終要的組成部分(除了數(shù)據(jù)),被表達為范數(shù)。

以上就是Python深度學習線性代數(shù)示例詳解的詳細內容,更多關于Python線性代數(shù)的資料請關注腳本之家其它相關文章!

相關文章

  • python實現(xiàn)AI聊天機器人詳解流程

    python實現(xiàn)AI聊天機器人詳解流程

    事情是這樣的,最近認識的一位小姐姐有每天早晨看天氣預報的習慣。在我看來,很多人起床第一件事情就是看微信消息,既然這樣,我就勉為其難每天早晨給小姐姐發(fā)送一則天氣預報吧
    2021-11-11
  • 關于Python字符串顯示u...的解決方式

    關于Python字符串顯示u...的解決方式

    這篇文章主要介紹了關于Python字符串顯示u...的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python關于維卷積的理解

    Python關于維卷積的理解

    這篇文章主要介紹了Python關于維卷積的理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python中求對數(shù)方法總結

    Python中求對數(shù)方法總結

    這篇文章主要介紹了Python中求對數(shù)方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • python刪除列表中重復記錄的方法

    python刪除列表中重復記錄的方法

    這篇文章主要介紹了python刪除列表中重復記錄的方法,涉及Python操作列表的相關技巧,需要的朋友可以參考下
    2015-04-04
  • Python中的類與類型示例詳解

    Python中的類與類型示例詳解

    這篇文章主要給大家介紹了關于Python中類與類型的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • Python爬蟲之重放攻擊原理實例詳解

    Python爬蟲之重放攻擊原理實例詳解

    重放攻擊是一種網(wǎng)絡攻擊方式,攻擊者通過截獲合法用戶的請求,并將其重新發(fā)送,以模擬合法用戶的行為,在Python爬蟲領域,了解重放攻擊的原理和防范方法至關重要,本文將深入介紹重放攻擊的概念、示例代碼演示以及防范措施,幫助大家更好地理解和應對這一威脅
    2023-12-12
  • python jenkins 打包構建代碼的示例代碼

    python jenkins 打包構建代碼的示例代碼

    這篇文章主要介紹了python jenkins 打包構建代碼的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Python制作Windows系統(tǒng)服務

    Python制作Windows系統(tǒng)服務

    這篇文章主要為大家詳細介紹了Python制作Windows系統(tǒng)服務的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 從零學python系列之教你如何根據(jù)圖片生成字符畫

    從零學python系列之教你如何根據(jù)圖片生成字符畫

    網(wǎng)上有很多的字符畫,看起來很炫酷,下面就告訴你如何用Python做這么炫酷的事,
    2014-05-05

最新評論

农安县| 临安市| 朔州市| 安阳县| 荣成市| 湖南省| 自贡市| 拉萨市| 兰州市| 曲松县| 潢川县| 北票市| 攀枝花市| 高密市| 土默特右旗| 大名县| 景泰县| 蓬莱市| 乌审旗| 五大连池市| 洪雅县| 许昌市| 桑日县| 高青县| 民县| 神木县| 余干县| 湖南省| 信阳市| 米易县| 岳西县| 报价| 苗栗县| 涞水县| 屏东市| 旬邑县| 柘城县| 湄潭县| 玉田县| 五台县| 慈溪市|