香港腕表价格交流群

【干货】用于机器学习的线性代数速查表

ATYUN订阅号 2021-10-09 14:26:23

AiTechYun

编辑:yuxiangyu

NumPy,Python的数值计算库,它提供了许多线性代数函数。对机器学习从业人员用处很大。


在这篇文章中,你将看到对于机器学习从业者非常有用的处理矢量和矩阵的关键函数。

这是一份速查表,所有例子都很简短,假设你处于熟悉它们的阶段,建议收藏备用。


本教程分为7个部分; 他们是:


1. 数组

2. 矢量

3. 矩阵

4. 矩阵的类型

5. 矩阵运算

6. 矩阵分解

7. 统计

1.数组

创建NumPy数组有很多方法。


数组


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

零(用零填充数组)

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

一(用1填充数组)

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

2.矢量

矢量是一个标量的行或者列。


矢量加法

1c= a+ b

矢量减法

1c= a- b

矢量乘法

1c= a* b

矢量除法

1c= a/ b

矩阵点积

1c= a.dot(b)

矩阵乘以标量

1c= a* 2.2

向量范数

1from numpy.linalgimport norm
2l2= norm(v)

3.矩阵

矩阵是标量组成的二维数组。


矩阵加法

1C= A+ B

矩阵减法

1C= A- B

矩阵乘法(哈达马积)

1C= A* B

矩阵除法

1C= A/ B

矩阵乘以矩阵(点积)

1C= A.dot(B)

矩阵乘以向量(点积)

1C= A.dot(b)

矩阵乘以标量

1C= A.dot(2.2)

4.矩阵的类型

在更广泛的计算中经常使用不同类型的矩阵作为元素。


三角矩阵

1# lower
2from numpyimport tril
3lower= tril(M)
4# upper
5from numpyimport triu
6upper= triu(M)

对角矩阵

1from numpyimport diag
2d= diag(M)

单位矩阵

from numpy import identity
I = identity(3)

5.矩阵运算

矩阵操作通常用作更高级计算的基础。


矩阵转置

1B= A.T

矩阵求逆

1from numpy.linalgimport inv
2B= inv(A)

矩阵的迹

1from numpyimport trace
2B= trace(A)

矩阵行列式

1from numpy.linalgimport det
2B= det(A)

矩阵的秩

1from numpy.linalgimport matrix_rank
2r= matrix_rank(A)

6.矩阵分解

矩阵分解(matrix factorization或Matrix factorization)将矩阵分解为其组成部分,以使其他运算更简单,更稳定。


LU分解

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

QR分解

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

特征分解

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

奇异值分解

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

7.统计

统计数据总结了矢量或矩阵的内容,并且经常用作更广泛操作的组成部分。


均值

1from numpyimport mean
2result= mean(v)

方差

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

标准差(均方差)

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

协方差矩阵

1from numpyimport cov
2sigma= 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






Copyright © 香港腕表价格交流群@2017