宁夏免费建个人网站,公众号做成网站那样怎么做,网站运营效果分析怎么做,怎么用nat做网站2.1 线性代数#xff08;机器学习的核心#xff09;
线性代数是机器学习的基础之一#xff0c;许多核心算法都依赖矩阵运算。本章将介绍线性代数中的基本概念#xff0c;包括标量、向量、矩阵、矩阵运算、特征值与特征向量#xff0c;以及奇异值分解#xff08;SVD…2.1 线性代数机器学习的核心
线性代数是机器学习的基础之一许多核心算法都依赖矩阵运算。本章将介绍线性代数中的基本概念包括标量、向量、矩阵、矩阵运算、特征值与特征向量以及奇异值分解SVD。 2.1.1 标量、向量、矩阵
1. 标量Scalar
标量是一个单独的数例如
a 5在 Python 中
a 5 # 标量2. 向量Vector
向量是由多个数值组成的一维数组例如
v [2, 3, 5]Python 实现
import numpy as np
v np.array([2, 3, 5]) # 一维数组表示向量
print(v)3. 矩阵Matrix
矩阵是一个二维数组例如
A [[1, 2],[3, 4]]Python 实现
A np.array([[1, 2], [3, 4]]) # 二维数组表示矩阵
print(A)2.1.2 矩阵运算
1. 矩阵加法
两个相同形状的矩阵可以相加
A B [[1, 2], [[5, 6], [[6, 8],[3, 4]] [7, 8]] [10, 12]]Python 计算
A np.array([[1, 2], [3, 4]])
B np.array([[5, 6], [7, 8]])
C A B
print(C)2. 矩阵乘法
逐元素相乘Hadamard 乘积
A ⊙ B [[1×5, 2×6],[3×7, 4×8]] [[5, 12],[21, 32]]Python 实现
C A * B # 逐元素相乘
print(C)矩阵乘法点积
A × B [[1×5 2×7, 1×6 2×8],[3×5 4×7, 3×6 4×8]] [[19, 22],[43, 50]]Python 实现
C np.dot(A, B) # 矩阵乘法
print(C)3. 矩阵转置
矩阵转置是将行变成列
A^T [[1, 3],[2, 4]]Python 计算
A_T A.T # 计算转置
print(A_T)4. 逆矩阵
如果矩阵 A 是可逆的即 det(A) ≠ 0那么存在一个矩阵 A^(-1) 使得
A × A^(-1) I (单位矩阵)Python 计算
A_inv np.linalg.inv(A) # 计算逆矩阵
print(A_inv)2.1.3 特征值与特征向量
特征值Eigenvalue和特征向量Eigenvector在机器学习中用于主成分分析PCA等算法。
1. 定义
对于矩阵 A如果存在一个向量 v 和一个数 λ 使得
A × v λ × v那么 v 是 A 的特征向量λ 是对应的特征值。
2. Python 计算特征值和特征向量
eigenvalues, eigenvectors np.linalg.eig(A)
print(特征值:, eigenvalues)
print(特征向量:, eigenvectors)2.1.4 SVD奇异值分解
奇异值分解Singular Value Decomposition, SVD是矩阵分解的一种重要方法它可以表示为
A U × Σ × V^T其中
U 是左奇异向量矩阵Σ 是对角矩阵对角线上的元素称为奇异值V^T 是右奇异向量矩阵的转置
Python 计算 SVD
U, S, V_T np.linalg.svd(A)
print(U 矩阵:, U)
print(Σ 矩阵:, S)
print(V^T 矩阵:, V_T)SVD 在降维如 PCA中有重要应用后续章节将深入介绍。 总结
本章介绍了机器学习中常用的线性代数知识包括
标量、向量、矩阵 及其表示方式矩阵运算加法、乘法、转置、逆矩阵特征值与特征向量PCA 等算法的基础SVD奇异值分解在数据降维中的应用
掌握这些内容有助于理解机器学习的数学基础建议多实践代码加深理解