当前位置: 首页 > wzjs >正文

吕梁做网站公司百度搜索引擎关键词

吕梁做网站公司,百度搜索引擎关键词,中企动力做网站要全款,军事新闻最新头条线性代数基础 线性代数是深度学习的重要基础,本章节将介绍深度学习中常用的线性代数概念和操作。 1. 标量、向量、矩阵与张量 1.1 标量(Scalar) 标量是单个数值,用 x ∈ R x \in \mathbb{R} x∈R 表示。在深度学习中常用于表…

人工智能

线性代数基础

线性代数是深度学习的重要基础,本章节将介绍深度学习中常用的线性代数概念和操作。

1. 标量、向量、矩阵与张量

1.1 标量(Scalar)

标量是单个数值,用 x ∈ R x \in \mathbb{R} xR 表示。在深度学习中常用于表示权重、偏置等参数。

import numpy as np# 创建标量
x = np.array(5)# 标量运算
print("标量加法:", x + 3)  # 5+3=8
print("标量减法:", x - 2)  # 5-2=3
print("标量数乘:", 2 * x)  # 2×5=10
print("标量除法:", x / 2)  # 5/2=2.5

1.2 向量(Vector)

向量是有序的一维数组,由多个标量组成,用列向量表示:

x = [ x 1 x 2 ⋮ x n ] ∈ R n \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \in \mathbb{R}^n x= x1x2xn Rn

其中, x 1 , x 2 , . . . , x i x_1, x_2, ..., x_i x1,x2,...,xi 是向量 x \mathbf{x} x 的元素。 x i x_i xi表示向量的第 i i i个元素。

在代码中,可以使用下标索引来访问向量的元素:

# 创建列向量(推荐显式声明二维结构)
x_col = np.array([[1], [2], [3]])  # 3×1列向量
x_row = np.array([1, 2, 3])        # 1×3行向量(严格来说是1维数组)# 向量运算
print("向量加法:\n", x_col + np.array([[4], [5], [6]]))  # 对应元素相加
print("向量数乘:\n", 2 * x_col)                          # 标量乘法
print("向量点积:", np.dot(x_row, np.array([4, 5, 6])))    # 1×3 ⋅ 3×1 = 标量

1.3 矩阵(Matrix)

矩阵是二维数组,由多个向量组成,用大写字母表示:
A = [ a 11 a 12 a 21 a 22 ] ∈ R m × n A = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \in \mathbb{R}^{m \times n} A=[a11a21a12a22]Rm×n

# 创建矩阵
A = np.array([[1, 2], [3, 4]])  # 2×2矩阵
B = np.array([[5, 6], [7, 8]])# 矩阵运算
print("矩阵加法:\n", A + B)          # 对应元素相加
print("矩阵乘法:\n", A @ B)          # 标准矩阵乘法
print("矩阵转置:\n", A.T)            # 行列互换

1.4 张量(Tensor)

张量是多维数组(三维及以上),常用于表示批量数据:
X ∈ R b × h × w × c \mathcal{X} \in \mathbb{R}^{b \times h \times w \times c} XRb×h×w×c
(b: 批次大小, h: 高度, w: 宽度, c: 通道数)

# 创建三维张量(2个样本,每个样本2×2矩阵)
X = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])# 张量运算
print("张量加法:\n", X + 1)                     # 广播机制
print("张量转置:\n", X.transpose((0, 2, 1)))     # 交换最后两个维度

2. 矩阵运算

2.1 基本运算

  • 加减法:要求相同维度
    C = A + B 其中 c i j = a i j + b i j C = A + B \quad \text{其中} \quad c_{ij} = a_{ij} + b_{ij} C=A+B其中cij=aij+bij

  • 数乘
    B = k A 其中 b i j = k ⋅ a i j B = kA \quad \text{其中} \quad b_{ij} = k \cdot a_{ij} B=kA其中bij=kaij

  • 矩阵乘法 A ∈ R m × n , B ∈ R n × p A \in \mathbb{R}^{m \times n}, B \in \mathbb{R}^{n \times p} ARm×n,BRn×p
    C = A B 其中 c i j = ∑ k = 1 n a i k b k j C = AB \quad \text{其中} \quad c_{ij} = \sum_{k=1}^n a_{ik}b_{kj} C=AB其中cij=k=1naikbkj


2.2 特殊运算

  • 哈达玛积(Hadamard Product)
    C = A ⊙ B 其中 c i j = a i j ⋅ b i j C = A \odot B \quad \text{其中} \quad c_{ij} = a_{ij} \cdot b_{ij} C=AB其中cij=aijbij

  • 矩阵范数

    • Frobenius范数: ∥ A ∥ F = ∑ i , j a i j 2 \|A\|_F = \sqrt{\sum_{i,j} a_{ij}^2} AF=i,jaij2
    • L1范数: ∥ A ∥ 1 = max ⁡ j ∑ i ∣ a i j ∣ \|A\|_1 = \max_j \sum_i |a_{ij}| A1=maxjiaij
    • 谱范数(L2): ∥ A ∥ 2 = σ max ( A ) \|A\|_2 = \sigma_{\text{max}}(A) A2=σmax(A)
# 哈达玛积
print("哈达玛积:\n", A * B)# 矩阵范数
print("Frobenius范数:", np.linalg.norm(A, 'fro'))  # √(1²+2²+3²+4²)=√30≈5.477
print("L1范数:", np.linalg.norm(A, 1))            # 最大列和:max(1+3, 2+4)=6
print("谱范数:", np.linalg.norm(A, 2))             # 最大奇异值≈5.464

3. 线性方程组

形如 A x = b A\mathbf{x} = \mathbf{b} Ax=b,其中 A ∈ R n × n A \in \mathbb{R}^{n \times n} ARn×n为系数矩阵。

解法:使用NumPy的np.linalg.solve()

A = np.array([[2, 1], [1, 3]])
b = np.array([4, 5])
x = np.linalg.solve(A, b)
print("解向量:", x)  # [1. 2.]

4. 行列式与逆矩阵

4.1 行列式(Determinant)

行列式表征矩阵的可逆性:

  • det ( A ) ≠ 0 ⇔ A \text{det}(A) \neq 0 \Leftrightarrow A det(A)=0A可逆
  • 几何意义:线性变换的缩放因子
det_A = np.linalg.det(A)
print("行列式:", round(det_A, 2))  # 2×3 - 1×1 = 5

4.2 逆矩阵(Inverse Matrix)

A A A可逆,则存在 A − 1 A^{-1} A1满足:
A − 1 A = A A − 1 = I A^{-1}A = AA^{-1} = I A1A=AA1=I

inv_A = np.linalg.inv(A)
print("逆矩阵:\n", inv_A)
# 验证乘积接近单位矩阵
print("验证:\n", np.round(A @ inv_A, 10))  # 四舍五入消除浮点误差

5. 特征值与特征向量

对矩阵 A ∈ R n × n A \in \mathbb{R}^{n \times n} ARn×n,若存在标量 λ \lambda λ和非零向量 v \mathbf{v} v满足:
A v = λ v A\mathbf{v} = \lambda\mathbf{v} Av=λv
则称 λ \lambda λ为特征值, v \mathbf{v} v为对应的特征向量。

eigenvalues, eigenvectors = np.linalg.eig(A)
print("特征值:", eigenvalues)   # [1.382, 3.618]
print("特征向量:\n", eigenvectors)# 验证特征方程(结果应近似相等)
for i in range(len(eigenvalues)):lhs = A @ eigenvectors[:, i]rhs = eigenvalues[i] * eigenvectors[:, i]print(f"验证 {i+1}:", np.allclose(lhs, rhs))  # 使用容差比较

应用实例:主成分分析(PCA)

数学原理

  1. 标准化数据: X scaled = X − μ σ X_{\text{scaled}} = \frac{X - \mu}{\sigma} Xscaled=σXμ
  2. 计算协方差矩阵: C = 1 n − 1 X scaled T X scaled C = \frac{1}{n-1}X_{\text{scaled}}^T X_{\text{scaled}} C=n11XscaledTXscaled
  3. 特征分解: C = V Λ V T C = V\Lambda V^T C=VΛVT
  4. 选择前 k k k大特征值对应的特征向量组成投影矩阵 W W W
  5. 降维: X pca = X scaled W X_{\text{pca}} = X_{\text{scaled}}W Xpca=XscaledW
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler# 加载数据
iris = load_iris()
X = iris.data# 标准化
X_scaled = StandardScaler().fit_transform(X)# 协方差矩阵
cov_matrix = np.cov(X_scaled.T)# 特征分解
eigenvalues, eigenvectors = np.linalg.eig(cov_matrix)# 按特征值降序排序
sorted_idx = np.argsort(eigenvalues)[::-1]
eigenvalues = eigenvalues[sorted_idx]
eigenvectors = eigenvectors[:, sorted_idx]# 选择前两个主成分
W = eigenvectors[:, :2]# 投影降维
X_pca = X_scaled @ Wprint("降维数据形状:", X_pca.shape)  # (150, 2)
http://www.dtcms.com/wzjs/485502.html

相关文章:

  • 网站加速百度一下百度网页官
  • 做网站荣耀体验服官网互联网营销师考试题库
  • 河南外贸网站建设哪个网站百度收录快
  • 网站 网络推广品牌营销策划有限公司
  • 兄弟网络(西安网站建设制作公司)数据分析师培训机构
  • 伍佰亿书画网网站黄金网站app视频播放画质选择
  • 给公司起名字大全免费重庆seo整站优化设置
  • 代做网站作业免费h5制作网站
  • 三亚手机台app二十条优化措施
  • 网站建设价格是哪些方面决定的技术培训机构排名前十
  • 网站做搜索要用数据库吗百度客户端
  • 苏州建设交通招聘信息网站烟台seo外包
  • 网站的标题怎么做吸引人关键词调词平台哪个好
  • 北京市残疾人网上服务平台引擎优化
  • 如何做钓鱼网站做好网络推广
  • 烟台网站建设公司报价网站seo具体怎么做
  • 手机购物网站建设珠海seo排名收费
  • 做电商排名网站镇江百度推广
  • 阿里巴巴网站备案公司搭建网站
  • 网站建设方案word网站cms
  • 代理做网站合适吗营销型网站建设团队
  • 一个公司可以做两个网站推广吗哪里有seo排名优化
  • 四川网站建设设计公司哪家好焦作关键词优化排名
  • 株洲做网站多少钱合肥推广外包公司
  • 网上在线做家教网站夸克搜索引擎入口
  • 怎样做水族馆网站信息流广告投放平台
  • 六安网站开发seo优化设计
  • 网站备案信息真实性核验单 个人谷歌seo外链平台
  • 西安学校网站建设哪家好服务营销案例100例
  • 网站开发毕业实训总结淘宝摄影培训推荐