1. 程式人生 > 其它 >【乾貨】用於機器學習的線性代數速查表

【乾貨】用於機器學習的線性代數速查表

NumPy,Python的數值計算庫,它提供了許多線性代數函式。對機器學習從業人員用處很大。

在這篇文章中,你將看到對於機器學習從業者非常有用的處理向量和矩陣的關鍵函式。

這是一份速查表,所有例子都很簡短,假設你處於熟悉它們的階段,建議收藏備用。

本教程分為7個部分; 他們是:

1. 陣列

2. 向量

3. 矩陣

4. 矩陣的型別

5. 矩陣運算

6. 矩陣分解

7. 統計

1.陣列

建立NumPy陣列有很多方法。

陣列

from numpyimport array
A= array([[1,2,3],[1,2,3],[1,2,3]])

零(用零填充陣列)

from numpyimport zeros
A= zeros([3,5])

一(用1填充陣列)

from numpyimport ones
A= ones([5,5])

2.向量

向量是一個標量的行或者列。

向量加法

c= a+ b

向量減法

c= a- b

向量乘法

c= a* b

向量除法

c= a/ b

矩陣點積

c= a.dot(b)

矩陣乘以標量

c= a* 2.2

向量範數

from numpy.linalgimport norm
l2= norm(v)

3.矩陣

矩陣是標量組成的二維陣列。

矩陣加法

C= A+ B

矩陣減法

C= A- B

矩陣乘法(哈達馬積)

C= A* B

矩陣除法

C= A/ B

矩陣乘以矩陣(點積)

C= A.dot(B)

矩陣乘以向量(點積)

C= A.dot(b)

矩陣乘以標量

C= A.dot(2.2)

4.矩陣的型別

在更廣泛的計算中經常使用不同型別的矩陣作為元素。

三角矩陣

# lower
from numpyimport tril
lower= tril(M)
# upper
from numpyimport triu
upper= triu(M)

對角矩陣

from numpyimport diag
d= diag(M)

單位矩陣

from numpy import identity I = identity(3)

5.矩陣運算

矩陣操作通常用作更高階計算的基礎。

矩陣轉置

B= A.T

矩陣求逆

from numpy.linalgimport inv
B= inv(A)

矩陣的跡

from numpyimport trace
B= trace(A)

矩陣行列式

from numpy.linalgimport det
B= det(A)

矩陣的秩

from numpy.linalgimport matrix_rank
r= matrix_rank(A)

6.矩陣分解

矩陣分解(matrix factorization或Matrix factorization)將矩陣分解為其組成部分,以使其他運算更簡單,更穩定。

LU分解

from scipy.linalgimport lu
P, L, U= lu(A)

QR分解

from numpy.linalgimport qr
Q, R= qr(A,'complete')

特徵分解

from numpy.linalgimport eig
values, vectors= eig(A)

奇異值分解

from scipy.linalgimport svd
U, s, V= svd(A)

7.統計

統計資料總結了向量或矩陣的內容,並且經常用作更廣泛操作的組成部分。

均值

from numpyimport mean
result= mean(v)

方差

from numpyimport var
result= var(v, ddof=1)

標準差(均方差)

from numpyimport std
result= std(v, ddof=1)

協方差矩陣

from numpyimport cov
sigma= cov(v1, v2)

線性最小二乘

from numpy.linalg import lstsq b = lstsq(X, y)

附:

NumPy API

  • 線性代數:https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.linalg.html
  • 統計:https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.statistics.html

其他速查表

  • https://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf
  • https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheet
  • https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Python_SciPy_Cheat_Sheet_Linear_Algebra.pdf