原文: https://machinelearningmastery.com/linear-algebra-cheat-sheet-for-machine-learning/
。
名为 NumPy 的 Python 数值计算库提供了许多线性代数函数,可用作机器学习从业者。
在本教程中,您将发现使用向量和矩阵的关键函数,您可能会发现这些函数可用作机器学习从业者。
这是一个备忘单,所有示例都很简短,假设您熟悉正在执行的操作。
您可能希望为此页面添加书签以供将来参考。
用于机器学习的线性代数备忘单 照片由 Christoph Landers 拍摄,保留一些权利。
本教程分为 7 个部分;他们是:
- 数组
- 向量
- 矩阵
- 矩阵的类型
- 矩阵运算
- 矩阵分解
- 统计
有很多方法可以创建 NumPy 数组。
from numpy import array
A = array([[1,2,3],[1,2,3],[1,2,3]])
from numpy import empty
A = empty([3,3])
from numpy import zeros
A = zeros([3,5])
from numpy import ones
A = ones([5, 5])
向量是标量的列表或列。
c = a + b
c = a - b
c = a * b
c = a / b
c = a.dot(b)
c = a * 2.2
from numpy.linalg import norm
l2 = norm(v)
矩阵是标量的二维数组。
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)
不同类型的矩阵通常用作更广泛计算中的元素。
# lower
from numpy import tril
lower = tril(M)
# upper
from numpy import triu
upper = triu(M)
from numpy import diag
d = diag(M)
from numpy import identity
I = identity(3)
矩阵运算通常用作更广泛计算中的元素。
B = A.T
from numpy.linalg import inv
B = inv(A)
from numpy import trace
B = trace(A)
from numpy.linalg import det
B = det(A)
from numpy.linalg import matrix_rank
r = matrix_rank(A)
矩阵分解或矩阵分解将矩阵分解为其组成部分,以使其他操作更简单,数值更稳定。
from scipy.linalg import lu
P, L, U = lu(A)
from numpy.linalg import qr
Q, R = qr(A, 'complete')
from numpy.linalg import eig
values, vectors = eig(A)
from scipy.linalg import svd
U, s, V = svd(A)
统计量总结了向量或矩阵的内容,通常用作更广泛操作的组件。
from numpy import mean
result = mean(v)
from numpy import var
result = var(v, ddof=1)
from numpy import std
result = std(v, ddof=1)
from numpy import cov
sigma = cov(v1, v2)
from numpy.linalg import lstsq
b = lstsq(X, y)
如果您希望深入了解,本节将提供有关该主题的更多资源。
在本教程中,您发现了线性代数的关键函数,您可能会发现这些函数可用作机器学习从业者。
您是否使用或了解其他关键的线性代数函数? 请在下面的评论中告诉我。
你有任何问题吗? 在下面的评论中提出您的问题,我会尽力回答。