美文网首页我爱编程
用于机器学习的线性代数速查表

用于机器学习的线性代数速查表

作者: AiTechYun | 来源:发表于2018-03-09 08:53 被阅读0次

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

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

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

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

    数组

    矢量

    矩阵

    矩阵的类型

    矩阵运算

    矩阵分解

    统计

    1.数组

    创建NumPy数组有很多方法。

    数组

    from numpy import array

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

    零(用零填充数组)

    from numpy import zeros

    A = zeros([3,5])

    一(用1填充数组)

    from numpy import 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.linalg import 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 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)

    5.矩阵运算

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

    矩阵转置

    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)

    6.矩阵分解

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

    LU分解

    from scipy.linalg import lu

    P, L, U = lu(A)

    QR分解

    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)

    7.统计

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

    均值

    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)

    附:

    NumPy API

    线性代数:http://www.atyun.com/17061_用于机器学习的线性代数速查表&=6.html

    统计:http://www.atyun.com/17061_用于机器学习的线性代数速查表&=6.html

    其他速查表

    http://www.atyun.com/17061_用于机器学习的线性代数速查表&=6.html

    原文网址:http://www.atyun.com/17061_用于机器学习的线性代数速查表&=6.html

    关于人工智能,如果想了解更多,可关注微信公众号:atyun_com或者网站AiTechYun(http://www.atyun.com/),最快获得第一手信息。

    相关文章

      网友评论

        本文标题:用于机器学习的线性代数速查表

        本文链接:https://www.haomeiwen.com/subject/fwsyfftx.html