機器學習中的基本線性代數

2021-10-02 17:53:32 字數 3612 閱讀 8210

import numpy as np
標量:是乙個單一的數字
#標量只是乙個單一的數字

scalar_value=

18print

(scalar_value)

#標量只是乙個單一的數字

scalar_value=

18scalar_np=np.array(scalar_value)

#轉換為陣列

print

(scalar_np,scalar_np.shape)

向量:是乙個有序的數字陣列
#向量是乙個有序的數字陣列

ve_value=[1

,2,3

]#這是乙個列表

ve_np=np.array(ve_value)

#轉換為陣列

print

(ve_np,ve_np.shape)

#shape顯示為一維陣列,既不是行向量,也不是列向量;

#行向量的矩陣表示

ve_row=np.array([[

1,2,

3]])

print

(ve_row,

'shape='

,ve_row.shape)

#一行三列的矩陣

#列向量的矩陣表示

ve_column=np.array([[

4],[

6],[

8]])

print

(ve_column,

'shape='

,ve_column.shape)

#三行一列的矩陣

矩陣:乙個有序的二維陣列
#矩陣是乙個有序的二維陣列,它有兩個索引。第乙個指向行,第二個指向列

m_list=[[

1,2,

3],[

4,5,

6]]m_np=np.array(m_list)

print

('m_list='

,m_list,

'\n'

,'m_np=\n'

,m_np,

'\n'

,'m_np.shape='

,m_np.shape)

#兩行三列的矩陣

**矩陣標量運算**
#矩陣和標量運算

m=np.array([[

1,2,

3],[

5,6,

7]])

print

(m,'shape='

,m.shape)

#兩行三列的矩陣

#矩陣*標量

n=m*

2print

(n,'shape='

,n.shape)

#矩陣+標量

n=m+

2print

(n,'shape='

,n.shape)

**矩陣-矩陣加法和減法**
#矩陣+矩陣

a=np.array([[

1,2,

3],[

4,5,

6]])

#2行3列

b=np.array([[

7,8,

9],[

1,2,

3]])

#2行3列

a+b

**矩陣-矩陣點乘(點積)**
#矩陣·矩陣(點乘),對應位置相乘,兩個矩陣行列數必須相等

a=np.array([[

1,2,

3],[

4,5,

6]])

b=np.array([[

7,8,

9],[

1,2,

3]])

a*b#與np.multiply等價

#矩陣·矩陣(點乘),對應位置相乘,兩個矩陣行列數必須相等

a=np.array([[

1,2,

3],[

4,5,

6]])

b=np.array([[

7,8,

9],[

1,2,

3]])

np.multiply(a,b)

**矩陣-矩陣相乘(叉乘)**
#矩陣·矩陣(叉乘)

#如果將乙個矩陣列的數量與第二個矩陣行數相匹配,才能將矩陣相乘

#結果將是乙個矩陣,它具有與第乙個矩陣相同的行數和與第二個矩陣相同的列數

a=np.array([[

1,2,

3],[

4,5,

6]])

#2行3列

b=np.array([[

7,8,

9],[

1,2,

3],[

1,2,

3]])

#3行3列

np.matmul(a,b)

**矩陣-向量乘法**
#矩陣向量的乘法

a=np.array([[

1,2,

3],[

4,5,

6]])

#2行3列

b=np.array([[

7],[

1],[

3]])

#3行1列

np.matmul(a,b)

**向量-向量乘法(列向量-行向量)**
a=np.array([[

1,2,

3]])

#1行3列

b=np.array([[

7],[

1],[

3]])

#3行1列

np.matmul(a,b)

**向量-向量乘法(行向量-列向量)**
a=np.array([[

7],[

1],[

3]])

#3行1列

b=np.array([[

1,2,

3]])

#1行3列

np.matmul(a,b)

**矩陣轉置**
#行列轉置

a=np.array([[

1,2,

3]])

#1行3列

print

(a,'shape='

,a.shape,

'\n'

,a.t,

'shape='

,a.t.shape)

機器學習中的線性代數知識(上)

as all we know,線性代數對於機器學習的重要性不言而喻。但縱觀國內的教材和課程,大部分線性代數的講解,一上來就堆滿了各種定義和公式,從而導致我們知其然而不知其所以然,不利於我們深入理解機器學習的演算法。因此,希望本篇博文能幫大家從另乙個角度理解線性代數。但是注意,閱讀本篇博文,最好已經有...

線性代數在機器學習中的作用

在學習機器學習知識的時候,我們會進行很多數學知識的學習,而這些數學知識中有線性代數,且線性代數在機器學習中有很大的作用。那麼大家是否知道線性代數在機器學習中的作用是什麼呢?下面我們就給大家解答一下這個問題。線性代數的第乙個作用就是能夠將具體事物抽象為數學物件。其實對於線性代數來說,我們可以對它做乙個...

機器學習(線性代數)筆記

機器學習中的 向量 是指的只有一列的 矩陣 這個矩陣有多少行就稱其為有多少維度 1.某行加上或減去另一行的幾倍,行列式的值不變 2.某行乘k,等於k乘此行列式,例如 3.互換兩行,行列式變號 4.兩行 列 成比例時,行列式的值為0 5.某行 列 為兩項相加減時,行列式可拆成兩個行列式相加減。例如 6...