首页 > 其他分享 >【深度学习基础|知识概述】基础数学和理论知识中的线性知识:矩阵与向量运算、特征值与特征向量、张量,附代码。

【深度学习基础|知识概述】基础数学和理论知识中的线性知识:矩阵与向量运算、特征值与特征向量、张量,附代码。

时间:2024-12-25 13:30:58浏览次数:5  
标签:特征值 运算 特征向量 知识 矩阵 张量 理论知识 向量

【深度学习基础|知识概述】基础数学和理论知识中的线性知识:矩阵与向量运算、特征值与特征向量、张量,附代码。

【深度学习基础|知识概述】基础数学和理论知识中的线性知识:矩阵与向量运算、特征值与特征向量、张量,附代码。


文章目录


欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议详细信息可参考:https://ais.cn/u/EbMjMn

前言

在深度学习中,基础数学知识,特别是线性代数,起到了至关重要的作用。线性代数为我们提供了处理数据、计算梯度、优化模型的理论基础。常见的数学概念包括矩阵与向量运算、特征值与特征向量、张量等。下面将详细论述这些基本概念,并提供相应的代码示例和公式来加深理解。

1. 矩阵与向量运算

1.1 向量(Vector)

向量是一个一维数组,通常用来表示数据的特征(如图像的像素值、文本的词向量等)。在深度学习中,向量广泛用于表示单一数据点的输入、权重以及网络中各层的激活值

  • 向量加法:两个向量按元素相加。
    在这里插入图片描述
  • 向量与标量相乘:向量的每个元素与标量相乘。
    在这里插入图片描述

1.2 矩阵(Matrix)

矩阵是一个二维数组,广泛用于表示输入数据、层间权重、转换操作等。矩阵的运算包括加法、乘法、转置等,尤其是矩阵乘法在神经网络中的前向传播和反向传播中尤为重要

  • 矩阵加法:两个矩阵按元素相加,要求形状相同。
    在这里插入图片描述

  • 矩阵乘法:两个矩阵的乘法遵循矩阵的内积规则,前一个矩阵的列数要等于后一个矩阵的行数。
    在这里插入图片描述

  • 矩阵与向量乘法:矩阵与向量的乘法,也就是将矩阵的每一行与向量做内积操作,常见于神经网络的前向传播中。

在这里插入图片描述

  • 代码示例:矩阵与向量乘法(使用NumPy)
import numpy as np

# 定义矩阵 A 和向量 v
A = np.array([[1, 2], [3, 4]])
v = np.array([5, 6])

# 矩阵与向量相乘
result = np.dot(A, v)
print(result)

2. 特征值与特征向量

2.1 特征值(Eigenvalue)与特征向量(Eigenvector)

特征值和特征向量是线性代数中最重要的概念之一,尤其在深度学习中,主成分分析(PCA)和降维方法中有广泛应用。

给定一个方阵 A A A,若存在非零向量 v v v 和标量 λ λ λ,使得:
在这里插入图片描述其中, v v v 被称为矩阵 A A A 的特征向量, λ λ λ 是对应的特征值。

2.2 特征值和特征向量的计算

在实际应用中,特征值和特征向量通常用于数据降维、特征提取等任务。通过对协方差矩阵进行特征值分解,我们可以得到数据的主成分。

  • 代码示例:计算矩阵的特征值和特征向量(使用NumPy)
import numpy as np

# 定义矩阵 A
A = np.array([[4, -2], [1,  1]])

# 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)

print("特征值:", eigenvalues)
print("特征向量:", eigenvectors)

3. 张量(Tensor)

3.1 张量的定义

张量是多维数组的一个扩展,是深度学习中的核心概念。标量是0维张量,向量是1维张量,矩阵是2维张量,而更高维度的数组就是高维张量

  • 标量:0维张量,表示一个数值。
    在这里插入图片描述

  • 向量:1维张量,表示一维数组。
    在这里插入图片描述

  • 矩阵:2维张量,表示二维数组。

在这里插入图片描述

  • 三维张量:3维数组,表示多个矩阵的集合。例如,在深度学习中,批量数据(如一批图像)通常以三维张量表示:批量大小 × 高度 × 宽度 × 通道数。

在这里插入图片描述

3.2 张量运算

张量的基本运算包括加法、乘法、转置等。深度学习中,大多数的运算(如卷积运算、矩阵乘法等)实际上都是在高维张量上进行的

  • 代码示例:使用TensorFlow操作张量
import tensorflow as tf

# 定义一个三维张量
T = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# 打印张量的形状
print("张量形状:", T.shape)

# 张量加法
T2 = tf.constant([[[1, 1], [1, 1]], [[1, 1], [1, 1]]])
result = tf.add(T, T2)
print("张量加法结果:", result)

总结

在深度学习中,基础数学特别是线性代数非常重要,尤其是矩阵与向量运算、特征值与特征向量、张量等。理解这些基础知识有助于理解神经网络的工作原理,尤其是在处理大规模数据时,它们在数据表示、模型训练和推理过程中扮演了关键角色。

欢迎铁子们点赞、关注、收藏!
祝大家逢考必过!逢投必中!上岸上岸上岸!upupup

大多数高校硕博生毕业要求需要参加学术会议,发表EI或者SCI检索的学术论文会议论文:
可访问艾思科蓝官网,浏览即将召开的学术会议列表。会议详细信息可参考:https://ais.cn/u/EbMjMn

标签:特征值,运算,特征向量,知识,矩阵,张量,理论知识,向量
From: https://blog.csdn.net/2401_89898861/article/details/144675293

相关文章

  • 你一定知道人工智能必须要掌握的知识点‘’具体‘’有哪些吗?
    数学基础概率论与数理统计:这是人工智能的基石之一。例如贝叶斯定理,它在机器学习的分类算法(如朴素贝叶斯分类器)中有广泛应用。通过已知的先验概率和条件概率来计算后验概率,从而对数据进行分类。像垃圾邮件过滤,根据邮件中出现的词汇(条件概率)和历史垃圾邮件的频率(先验概率)来判断......
  • Vue 核心知识:内联处理器中访问方法和访问事件参数
    让我们一起走向未来......
  • Java基础知识全面解析
    Java基础知识全面解析Java是一种广泛使用的、面向对象的编程语言,它被广泛应用于开发桌面应用、Web应用、企业级应用、移动应用以及嵌入式系统等。Java语言自诞生以来,一直以其跨平台、性能优异、开发高效等特点,深受开发者青睐。本文将从Java的基础知识入手,详细介绍Jav......
  • 【总结(三)】单片机重点知识总结记录(串口重定向+按键消抖+延时)
    一.串口重定向串口重定向代码如下注意:要添加头文件include"stdio.h"要勾选微库,即UseMicroLIB/**********重定向************///串口1intfputc(intch,FILE*f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xffff);returnch;}intfgetc(FILE*f){......
  • 浏览器基础知识点(二)
    一、浏览器输入一个URL并enter时,发生了什么?用户在浏览器输入一个URL,并按下enter键时,里面包含了非常多的技术细节。第一,DNS解析:用户输入的URL通常会是一个域名地址,直接通过域名是无法找到服务器的,因为服务器的本质上是一台拥有IP地址的主机。需要通过DNS服务器来解析域名,并获......
  • 【编译原理】编译原理知识点汇总·语法分析器(消除左递归、消除二义性、自顶向下语法分
    ......
  • USB2.0、USB3.x、USB4的这些基础知识你知道吗?
    本文参考《工业计算机硬件技术支持手册》第12章编写。1.USB2.0USB2.0是应用时间最长久的USB总线。虽然USB3.x已发布很久,USB4的2.0版都发布了,但USB2.0却还在广泛应用中。那么,对于用了这么久的USB2.0,你知道哪些基础知识呢?下面,我来为大家做个简要介绍:1.1USB2.0使用差分信......
  • 从实战的角度分析渗透测试究竟需要学习了解的知识点,黑客技术零基础入门到精通教程建议
    前言最近有很多人询问,自己明明OWASPTop10都学的差不多了,各种靶场也复现的差不多了,Burpsuite、goby、awvs、dirsearch等等工具也是用的丝滑,但为什么就是感觉挖不到洞呢基础知识已经准备的差不多了,现在可能缺乏的是挖洞时间的思路,针对特定场景下的渗透套路,这个一般可以学......
  • C#知识整理-类(Class)
    关键字:struct:结构体class:类interface:接口abstract:定义抽象类或抽象方法使用sealed:密封类,不可继承的类void:表示无返回值 抽象类(abstractclass)抽象类不能被实例化。抽象类的用途是提供一个可供多个派生类共享的通用基类定义。例如,类库可以定义一个抽象类,将其用作多个类......
  • K - 近邻模型知识点全览:构建智能预测的基石
    定义K-近邻(K-NearestNeighbors,KNN)模型是一种基于实例的监督学习算法。它的基本思想是给定一个训练数据集,对于一个新的输入实例,在训练数据集中找到与它最相似(距离最近)的K个实例,然后根据这K个实例的类别(对于分类问题)或数值(对于回归问题)来预测新实例的类别或数值。例如,在一......