【深度学习】0-1 深度学习相关数学概念的简单总结-线性代数

news2024/10/7 10:19:10

线性代数

标量(scalar)
标量就是一个单独的数,只具有数值大小,而没有方向,部分有正负之分。一般用小写的变量名称表示,如a、x等。

向量(vector)
一个向量就是一列数,这些数是有序排列的。
可以把向量看作空间中的点,每个元素是不同坐标轴上的坐标。
当需要明确表示向量中的元素时,我们一般将元素排列成一个方括号包围的纵列:
在这里插入图片描述

向量在python中的实现如下:

a=np.array([1,2,4,3,8])

矩阵(matrix)
矩阵是一个二维数组,通常会赋予矩阵粗体的大写变量名称,比如 A。
矩阵在python中的实现如下:

A=np.array([[1,2,3],[4,5,6]])

张量(tensor)
一般的,一个数组的元素分布在若干维坐标的规则网格中,称之为张量。
可以将标量视为零阶张量,向量视为一阶张量,那么矩阵就是二阶张量,三阶就称为三阶张量

转置(transpose)
转置是矩阵的重要操作之一。矩阵的转置是以对角线为轴的镜像,这条从左上角到右下角的对角线被称为主对角线。定义如下:
在这里插入图片描述
如:
在这里插入图片描述

矩阵乘法
为了使乘法可被定义,矩阵A的列数必须和矩阵 B的行数相等。如果矩阵A的形状是 m x n,矩阵B的形状是n x p,那C的形状是m x p。

特殊矩阵
单位矩阵
单位矩阵的结构很简单,就是所有沿主对角线上的元素都是1,而其他位置元素都是0的方阵(行数等于列数的矩阵)

可逆矩阵
矩阵的逆矩阵,矩阵和逆矩阵相乘得到单位举证

对角矩阵
对角矩阵只有在主对角线上才有非零元素,其余都是0。
下面这个就是对角矩阵
在这里插入图片描述
对称矩阵
对称矩阵,对于任意一个n阶方阵A,若A满足:A=AT成立,则称方阵A为对称矩阵。

范数(norm)
经常使用称为范数的数来衡量向量大小范数是将向量映射到非负值的函数。直观上来说,向量x的范数衡量从原点到点x的距离。在某些机器学习应用中,区分恰好是零的元素和非零但值很小的元素是很重要的。
实际编程中如何计算向量的范数,看下面代码:

import numpy as np
import numpy.linalg as LA   #导入Numpy中线性代数库
x=np.arange(0,1,0.1)  #自动生成一个[0,1)间的10个数,步长为0.1
print(x)
x1= LA.norm(x,1)      #计算1范数
x2= LA.norm(x,2)      #计算2范数
xa=LA.norm(x,np.inf)    #计算无穷范数
print(x1)
print(x2)
print(xa)

打印结果如下:

[ 0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
4.5
1.68819430161
0.9

最大范数(max norm)
这个范数表示向量中具有最大幅值的元素的绝对值

特征分解(cigendecomposition)
特征分解是使用最广的矩阵分解之一,即将矩阵分解成一组特征向量和特征值。
方阵A的特征向量是指与A相乘后当于对该向量进行缩放的非零量v:
在这里插入图片描述
这里我们介绍了给定一个方阵时,如何求该方阵的特征向量和特征值,以及如何用编程语言实现。具体请看如下示例:

import numpy as np 
a = np.array([[1,2],[3,4]]) # 示例矩阵
A1 = np.linalg.eigvals(a)  # 得到特征值
A2, V1 = np.linalg.eig(a)   # 其中A2也是特征值,B为特征向量
print(A1)
print(A2)
print(V1)

说明:
在numpy.linalg模块中:
eigvals():计算矩阵的特征值。
eig():返回包含特征值和对应特征向量的元组。

奇异值分解
一般矩阵的分解方法,称为奇异值分解,奇异值分解是将矩阵分解为奇异向量和奇异值。通过奇异值分解,会得到一些与特征分解相同类型的信息。然而,奇异值分解有更广泛的应用。每个实数矩阵都有一个奇异值分解,但不一定有特征分解。
在这里插入图片描述
假设A是一个m×n矩阵,那么U是一个m×m矩阵,D是一个m×n矩阵,V是一个n×n矩阵。这些矩阵每一个都拥有特殊的结构,其中U和V都是正交矩阵,D是对角矩阵(注意,D不一定是方阵)。对角矩阵D对角线上的元素被称为矩阵A的奇异值。矩阵U的列向量被称为左奇异向量,矩阵V的列向量被称右奇异向量。
SVD最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。
用Python的实现如下:

import numpy as np
Data=np.mat([[1,1,1,0,0],
             [2,2,2,0,0],
             [3,3,3,0,0],
             [5,5,3,2,2],
             [0,0,0,3,3],
             [0,0,0,6,6]])
u,sigma,vt = np.linalg.svd(Data)

print(sigma)
#转换为对角矩阵
diagv=np.mat([[sigma[0],0,0],[0,sigma[1],0],[0,0,sigma[2]]])
print(diagv)

结果如下:

[ 1.09824632e+01  8.79229347e+00  1.03974857e+00  1.18321522e-15
    2.13044868e-32]
[[ 10.98246322  0.      0.    ]
 [ 0.      8.79229347  0.    ]
 [ 0.      0.      1.03974857]]

迹运算
迹运算返回的是矩阵对角元素的和:
在这里插入图片描述
迹运算在某些场合非常有用。若不使用求和符号,有些矩阵运算很难描述,而通过矩阵乘法和迹运算符号可以清楚地表示。
利用Python的NumPy对矩阵求迹

C = np.array([[1,2,3],[4,5,6],[7,8,9]])
TrC = np.trace(C)
D=C-2
TrCT = np.trace(C.T)
TrCD = np.trace(np.dot(C,D))
TrDC = np.trace(np.dot(D,C))
print(TrC)
print(TrCT)
print(TrCD)
print(TrDC)

打印结果

15
15
171
171

用Python实现主成分分析
主成分分析(Principal Component Analysis,PCA)是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
可以参考:https://blog.csdn.net/wyn1564464568/article/details/125898241

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes集群添加新集群节点

Kubernetes集群添加新集群节点 添加worker节点 参考文档https://gitee.com/open-hand/kubeadm-ha/blob/release-1.21/docs/02/%E6%B7%BB%E5%8A%A0%20worker%20%E8%8A%82%E7%82%B9.md 添加工作节点与集群安装时初始化工作节点一样,可以在主节点上执行,也可以在要加…

【ArcGIS Pro二次开发】(39):选择面要素并统计面积(含椭球面积)

写在最前面的话: 这个工具的原型是博主学学GIS做的一个工具 ,用于统计当前所选择的面要素的面积,主要是为了解决“亩”的转换,确实是一个很方便好用的工具。大家可移步原贴参观: ArcGIS Pro 加载项(5&…

上线新装ap

1.查找ap型号 1.1视频完整版 1.得到这个ap是在5教汇聚的2/0/8口连着的,且这个口是一个互连口 <NYIST-5#J-QY-HuiJu>dis mac-address 9820-449B-10A0<NYIST-5#J-QY-HuiJu>dis lldp neighbor-information list3.得到5教汇聚的2/0/8口所连接的交换机的ip地址为192.…

直播网站如何实现?

现在的年轻人基本都爱刷 B 站和抖音&#xff0c;空闲时间还喜欢去拉勾教育看看大厂面试、热门技术分享直播&#xff0c;以及各类游戏直播。不知道你有没有思考过&#xff0c;我们每天看到的这么多音视频内容&#xff0c;是如何从采集端&#xff0c;最终呈现到我们的手机 App 上…

华为OD机试真题 JavaScript 实现【Linux 发行版的数量】【2023Q1 100分】

一、题目描述 Linux 操作系统有多个发行版&#xff0c;distrowatch.com 提供了各个发行版的资料。这些发行版互相存在关联&#xff0c;例如 Ubuntu 基于 Debian 只开发而 Mint 又基于 Ubuntu 开发&#xff0c;那么我们认为 Mint 同 Debian 也存在关联。 发行版集是一个或多个…

openEuler 开源汇智赢未来|2023开放原子全球开源峰会 openEuler 论坛成功召开

2023年6月12日&#xff0c;开放原子全球开源峰会OpenAtom openEuler论坛成功召开。论坛以“openEuler汇众智&#xff0c;奔涌向前赢未来”为主题&#xff0c;众多openEuler社区成员、重磅开发者用户以及技术专家参与本次论坛。论坛充分展示了openEuler 社区的最新成果&#xff…

LabVIEW开发呼吸分析系统

LabVIEW开发呼吸分析系统 在日常生活中&#xff0c;许多人都在练习调息法&#xff0c;但大多数人都不知道如何以完美的方式做。不当的做法不会带来适当的结果。一种使用LabVIEW分析呼吸信号的方法&#xff0c;以使人们以完美的方式练习调息。这有助于从业者按照系统指定的说明…

Linux 用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

文章目录 一、问题原因二、处理方案&#xff1a;1. 编辑修改网卡配置文件2. 在文件末尾&#xff08;或中间&#xff09;追加DNS3. 重启网络4. 验证&#xff0c;安装想要安装的软件 一、问题原因 如下&#xff1a; 出现这个问题是因为yum在安装包的过程中&#xff0c;虽然已经联…

【NOR闪存】MT25TL256BBA8ESF-0AAT 256Mbit、MT25TL01GBBB8ESF-0AAT 1Gbit 16-SOP

器件说明&#xff1a; Micron串行NOR闪存可满足消费电子、工业、有线通信以及计算应用的需求。这些器件采用行业标准封装、引脚分配、命令集和芯片组兼容性&#xff0c;易于为各类设计所采用。这样可节省宝贵的开发时间&#xff0c;同时确保与现有和未来设计的兼容性。 这些串…

超越科幻:揭秘马斯克公司在AI、机器人、脑机接口和太空探索领域的重大突破

原创 | 文 BFT机器人 得益于特斯拉股价暴涨&#xff0c;马斯克今年财富增长超过553亿美元。 根据彭博亿万富翁指数&#xff0c;马斯克目前的净资产约为1923亿美元&#xff0c;超过前世界首富Bernard Arnault的1866亿美元&#xff0c;重回世界首富。 马斯克一直以来都是科技领域…

【JavaWeb】使用Servlet实现输出 hello world

文章目录 1. 前言2. 重写doGet方法3. Smart Tomcat的下载和使用4. 访问时出现问题 1. 前言 之前讲过如何使用IDEA创建Servlet项目. 因此创建项目这一步就不过多介绍了 有需要的可以看一下➡IDEA专业版和社区版创建Servlet项目 今天介绍如何使用Servlet输出一个"hello wo…

深度学习-小目标检测训练技巧

强烈感谢 公众号CVHub 提供的文章思路&#xff0c;该文章仅作为学习记录。 导读 小目标检测是计算机视觉领域中的一个极具挑战性的问题。随着深度学习和计算机视觉领域的不断发展&#xff0c;越来越多的应用场景需要对小目标进行准确的检测和识别。本文将从小目标的定义、意义…

被抄袭声明

我&#xff08;受害者&#xff09;的博客主页&#xff1a; ChuckieZhu的博客_CSDN博客-MATLAB,Python,Django领域博主 抄袭者&#xff08;施害者&#xff09;博客主页&#xff1a; 洋洋菜鸟的博客_CSDN博客-python实例,数学建模,python基础领域博主 问题说明&#xff1a; …

优思学院|什么是六西格玛?一文解答你对六西格玛最常见的疑问

什么是六西格玛&#xff1f; 六西格玛&#xff08;Six Sigma&#xff09;是一种管理方法和质量改进体系&#xff0c;旨在减少组织过程中的变异性&#xff0c;提高业务绩效&#xff0c;并实现客户满意度的持续提升。它是由美国Motorola公司在20世纪80年代发展起来的&#xff0c…

公司新来了个测试开发,据说是00后,上来一顿操作给我惊呆了.....

开年公司新来了个同事&#xff0c;听说大学是学的广告专业&#xff0c;因为喜欢IT行业就找了个培训班&#xff0c;后来在一家小公司实习半年&#xff0c;现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍&#xff0c;服务器缩减一半&#xff0c;性能反而提升4倍!给公司…

Roxel 创世 NFT 作品集

Roxel 宇宙中的 Roxel 机器人、复古未来主义设备和生动机器的集合。在 Roxel 游戏的第一关「The Ascension」中&#xff0c;与它们一起玩耍或对抗&#xff0c;解锁访问独家内容。 该系列于北京时间 6 月 5 日晚上 11 点在 The Sandbox 市场平台上线。 作品一览 巨大的机械挖掘机…

QT学习之旅 - 自定义控件

文章目录 QT中horizontalLayout组件中调整长度在其他组件中使用自定义控件关于ComboBox控件关于QStringList ico添加失败获取windows端口号pro文件(添加)cpp文件(添加) 关于表格设置背景布(ui界面)设置网格.h文件 我们选择 widget 以上是选QT Froms的模板 我们可以选择QT设计师…

基于html+css的图展示124

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Python 基于招聘数据可视化界面

1 简介 随着国内的经济不断的快速发展&#xff0c;现在学生的就业压力也在逐年增加&#xff0c;网络上的招聘信息非常的丰富&#xff0c;但是对于学生而言岗位是否适合&#xff0c;自身技能是否满足企业需要等仍然需要进一步的进行研究。本次的开发就是帮助应届毕业生在选择工…

012 - STM32学习笔记 - DMA_存储器到存储器

011 - STM32学习笔记 - DMA直接存储器 1、DMA简介 我们知道stm32在实际应用过程中具有很强大的功能&#xff0c;包含数据的采集、处理、逻辑功能的运算等&#xff0c;因此stm32一直在处理大量的事务&#xff0c;但是在实际使用过程中&#xff0c;我们知道有些事情实际上不需要…