【预备理论知识——2】深度学习:线性代数概述
简单地说,机器学习就是做出预测。
线性代数
- 线性代数是数学的一个分支,主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一,并且在物理学、工程学、计算机科学、经济学等领域有着广泛的应用。
标量
标量(Scalar)是数学和物理学中的一个基本概念,它是一种只有一个数值大小,而没有方向的量。与之相对的是向量,向量既有大小也有方向。
标量的一些特点:
数值表示:标量通常用单个数值表示,如温度、质量、时间等。
运算简单:标量之间的运算(加法、减法、乘法、除法)遵循基本的算术规则。
无需基底:标量不需要基底向量来表示,它们自身就是最基本的量。
与向量运算:标量可以与向量进行运算,如标量乘以向量会得到一个与原向量方向相同但大小不同的新向量。
在矩阵中:在矩阵理论中,标量可以看作是只有一行一列的矩阵,即1x1矩阵。
物理量:在物理学中,标量场的值是一个标量,例如温度场在每个点都有一个温度值。
与张量的关系:标量可以看作是0阶张量,因为它们在坐标变换下不改变。
在编程中:在计算机编程中,标量通常是指基本数据类型,如整数、浮点数等。
向量
向量(Vector)是数学中的一种基本概念,它是既有大小又有方向的量。向量在物理学、工程学、计算机科学等领域中有着广泛的应用。
特性:
- 大小(Magnitude):向量的大小或长度,可以是任意非负实数。
- 方向:向量的方向可以是任意的。
- 起点和终点:在几何学中,向量通常由起点(尾)和终点(头)定义。
- 相等性:只有当两个向量的大小和方向都相同时,它们才被认为是相等的。
表示方法:
- 几何表示:通常用带箭头的线段表示,箭头指向表示方向。
- 坐标表示:在n维空间中,向量可以表示为一个有序的数列,如下。
- 矩阵表示:向量也可以表示为矩阵的一行或一列。
基本操作:
加法:两个向量相加,结果是一个新向量,其大小和方向是两个向量相应分量的矢量和。
减法:两个向量相减,结果是一个新向量,表示从第一个向量的终点指向第二个向量的终点的向量。
数乘:一个向量与一个标量相乘,结果是一个新向量,其方向与原向量相同或相反,大小是原向量大小的标量倍。
点积(内积):两个向量的点积是一个标量,计算公式如下,其中 θ 是两个向量之间的夹角。
叉积(外积):仅在三维空间中定义,两个向量的叉积是一个向量,垂直于原来的两个向量,其大小等于原来两个向量构成的平行四边形的面积。
应用:
- 物理学:表示力、速度、加速度等。
- 计算机图形学:用于处理图形的旋转、缩放、平移等变换。
- 机器学习:在数据表示和算法中广泛使用,如支持向量机(SVM)。
- 工程学:在电气工程中表示电流、电压等,在土木工程中表示力和位移。
张量
张量(Tensor)是数学中的一种基本概念,它是多维数组的推广,用于表示高维数据和复杂的数学关系。张量可以是实数或复数,并且可以通过各种操作得到新的张量,例如加法、减法、乘法、转置和求和等。
张量的定义:
- 张量是一个定义在一些向量空间和一些对偶空间的笛卡尔积上的多重线性映射,其坐标是n维空间内,有n个分量的一种量。其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。
张量的性质:
- 张量可以表示高维数据,可以用来表示多个维度的信息。
- 张量可以表示复杂的数学关系,可以用来表示多个变量之间的关系。
- 张量可以通过各种操作得到新的张量,如加法、减法、乘法、转置、求和等。
- 在深度学习中,张量是数据的基本单位,用于表示神经网络中各种参数和变量。
张量与线性代数的关系:
- 张量与线性代数密切相关,张量可以看作是线性代数的一种推广。
- 线性代数主要研究的是二维矩阵和向量,而张量则泛化了这些概念,可以表示多维数据和复杂的数学关系。
- 在线性代数中,向量可以看作是一维张量,矩阵可以看作是二维张量。
张量的应用:
- 张量在机器学习、深度学习、计算机视觉、自然语言处理等领域有广泛应用。
- 在物理学中,张量提供了一个简明的数学框架用来描述和解决力学、电动力学、广义相对论物理问题。
- 在工程学中,例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。
张量的基本运算:
- 加法:对应线性代数中的向量加法和矩阵加法。
- 减法:对应线性代数中的向量减法和矩阵减法。
- 乘法:对应线性代数中的向量乘法和矩阵乘法。
- 转置:对应线性代数中的矩阵转置。
- 求和:对应线性代数中的矩阵求和。
张量的广播和拼接:
- 广播:当两个张量的尺寸不匹配时,可以使用广播来实现相加或相乘。
- 拼接:可以用来将两个或多个张量拼接在一起,可以是横向拼接或纵向拼接。
张量的梯度求导:
- 在深度学习中,张量的梯度求导是用于优化模型参数的关键操作。
张量的实现:
- 在现代机器学习框架中,如PyTorch或TensorFlow,张量是核心的数据结构,提供了丰富的API来支持张量的各种操作。
降维
在线性代数中,降维通常指的是将数据从高维空间映射到低维空间的过程,同时尽可能保留原始数据的重要信息。这在数据科学和机器学习中非常重要,因为它可以帮助减少计算复杂度、避免维度灾难,并提高算法的性能。以下是一些常用的线性代数降维技术:
主成分分析(PCA):
- PCA是一种统计方法,它通过正交变换将数据转换到新的坐标系统中,使得新坐标轴上的方差最大化。
- 它找到一组正交主成分,这些成分按方差递减的顺序排列,通常只保留前几个主成分以实现降维。
奇异值分解(SVD):
- SVD是一种因子分解方法,它可以用于矩阵近似,从而实现降维。
- 通过保留最大的几个奇异值及其对应的奇异向量,可以近似原始矩阵,实现降维。
线性判别分析(LDA):
- LDA是一种监督学习的降维技术,它不仅寻找数据的主要成分,还考虑了数据的分类标签。
- 它的目标是最大化类间可分性,同时最小化类内差异性。
多维尺度分析(MDS):
- MDS是一种将距离数据降维到二维或三维空间的技术,以便进行可视化。
- 它通过保持原始数据点之间的距离来寻找低维空间中的点配置。
t-分布随机邻域嵌入(t-SNE):
- t-SNE是一种非线性降维技术,特别适合于高维数据的可视化。
- 它通过概率分布来保持高维空间中的局部结构,并将其映射到低维空间。
自编码器(Autoencoders):
- 自编码器是一种使用神经网络来学习数据的有效表示(编码)的方法。
- 通过设计网络结构,可以在编码过程中实现降维。
因子分析(Factor Analysis):
- 因子分析是一种统计方法,用于描述可观测变量之间的变异性,通常用于探索大量变量背后的潜在结构。
线性映射:
- 简单的线性映射,如选择数据集中最重要的几个特征,也可以看作是一种降维方法。
点积
在线性代数中,点积(也称为内积或标量积)是定义在两个向量之间的一种二元运算。它将两个向量映射到一个标量(即一个单一的数值)。点积在不同的向量空间中可能有不同的定义,但在最常见的欧几里得向量空间中,两个向量的点积定义如下:
- 给定两个向量 a 和 b,它们在 n 维空间中的坐标分别为 (a1, a2, …, an) 和 (b1, b2, …, bn),它们的点积 a.b 计算如下:
点积的性质包括:
- 交换律:
- 分配律:
- 结合律:
- 正定性:
- 可数乘性:
点积的一个重要应用是计算两个向量之间的夹角。如果 θ 是向量 a 和 b 之间的夹角,则:
其中 ||a|| 和 ||b|| 分别是向量 a 和 b 的范数(或长度)。
矩阵-向量积
- 矩阵-向量积是线性代数中的一种基本运算,它描述了如何将一个矩阵与一个向量相乘。这种运算在多个领域中都有应用,包括计算机图形学、数据科学、机器学习等。
- 定义:给定一个 m x n 矩阵 A 和一个 n- 维列向量 x,矩阵-向量积 Ax 的结果是一个 m- 维列向量 y。具体地,如果 A 的元素为 aij,向量 x 的元素为xj,那么结果向量 y 的第 i个元素 yi 计算如下:
这里,yi 是通过对矩阵 A 的第 i 行与向量 x 的对应元素进行点积来计算的。- 例子:假设有一个矩阵 A 和一个向量 x:
那么矩阵-向量积 Ax计算如下:
- 性质
- 结合律:
- 分配律:
- 转置的乘法:
- 应用
- 线性变换:矩阵乘以向量可以表示一个线性变换,例如旋转、缩放、剪切等。
- 求解线性方程组:矩阵-向量积可以用来表示和求解线性方程组 Ax = b。
- 机器学习:在机器学习中,矩阵-向量积常用于计算特征变换、权重更新等。
矩阵-矩阵积
矩阵-矩阵积,也称为矩阵乘法,是线性代数中的一种基本运算,它定义了如何将两个矩阵相乘。这种运算在多个领域中都有应用,包括数学、物理学、工程学、计算机科学和数据科学。
定义:给定两个矩阵 A 和 B,其中 A 是一个 m x n 矩阵,B 是一个 n x p 矩阵,矩阵-矩阵积 AB 的结果是一个 m x p 矩阵 C。具体地,如果 A 的元素为 aij,B的元素为 bjk,那么结果矩阵 C 的元素 cik 计算如下:
这里,cik 是通过对 A 的第 i 行与 B 的第 k 列进行点积来计算的。例子:假设有两个矩阵 A 和 B:
那么矩阵-矩阵积 AB 计算如下:
性质:
1. 结合律:(AB)C = A(BC),其中 A、B 和 C 是可以相乘的矩阵。
2. 分配律:(A(B + C) = AB + AC 和 (B + C)A = BA + CA。
3. 转置的乘法:(AB)T = BTAT。
4. 标量乘法:(c A)B = A(cB) = c(AB),其中 c 是一个标量。
5. 零矩阵:A0 = 0 = 0A,其中 0 是零矩阵。应用:
- 线性变换:矩阵乘法可以表示一系列线性变换的组合。
- 求解线性方程组:矩阵乘法可以用来表示和求解线性方程组的系数矩阵。
- 矩阵分解:在数值线性代数中,矩阵分解是解决各种问题的关键,如 LU 分解、QR 分解等。
- 机器学习:在机器学习中,矩阵乘法用于计算特征变换、权重矩阵的更新等。
范数
- 在线性代数中,范数是一个函数,它定义了向量空间中向量的“大小”或“长度”。范数必须满足以下三个条件:
- 非负性:对于所有的向量 x,有 ||x|| ≥ 0,并且||x|| = 0当且仅当 x = 0(零向量)。
- 齐次性:对于所有的向量 x 和所有的标量 α,有 ||αx|| = |α|||x|| 。
- 三角不等式:对于所有的向量||x||和||y||,有 ||x+y|| ≤ ||x|| + ||y||。
相关文章:

【预备理论知识——2】深度学习:线性代数概述
简单地说,机器学习就是做出预测。 线性代数 线性代数是数学的一个分支,主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一,并且在物理学、工程学、计算机科学、经济学等领域有着…...

【目标检测】yolo的三种数据集格式
目标检测中数据集格式之间的相互转换--coco、voc、yolohttps://zhuanlan.zhihu.com/p/461488682?utm_mediumsocial&utm_psn1825483604463071232&utm_sourcewechat_session【目标检测】yolo的三种数据集格式https://zhuanlan.zhihu.com/p/525950939?utm_mediumsocial&…...

数据分析案例-机器学习工程师薪资数据可视化分析
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

Django连接Dify、ChatGPT4o并计算tokens数量方法
通过Dify可以连接很多模型国内、国外的都可以进行选择可以到Dify里创建一个空白应用,然后点击进入就可以看到API了api_url "http://192.168.15.131/v1/chat-messages" api_key "app-UtzTpVNwpTLUcGvRNnnK9QNY" headers {"Authorization…...

面试系列-淘天提前批面试
00-淘天提前批面试 在牛客上看到了淘天提前批的面试题目,这里分析一下淘天面试的问了有哪些内容,面试的重点 是偏向哪些方面 项目相关 1、秒杀架构如何设计? 问了秒杀的架构如何设计,对于秒杀的设计,秒杀符合 写多读少…...

计算机中科学中有哪些空间换时间的操作??
计算机中科学中有哪些空间换时间的操作?? 1. SPOOLing (Simultaneous Peripheral Operations On-Line) 原理:SPOOLing 是一种将输入/输出操作缓存到磁盘或内存中的技术,从而在后台处理它们。这可以防止 CPU 等待慢速的外部设备&…...

Mac安装Manim并运行
1.在macOS上创建Python虚拟环境,可以使用venv模块,这是Python自带的库,也可以使用conda。以下是使用venv创建和使用Python虚拟环境的步骤: 打开终端。 创建一个新的目录来存放你的项目,并进入该目录: mk…...

leetcode58:最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大 子字符串 。 示例 1: 输入:s "Hello World" 输出ÿ…...

18448 最小生成树
### 思路 使用Kruskal算法求解图的最小生成树。Kruskal算法通过对所有边按权值排序,然后逐步选择最小权值的边,确保不会形成环,直到构建出最小生成树。 ### 伪代码 1. 读取输入的结点数n和边数m。 2. 读取每条边的信息,存储在边列…...

前端工程化 - Vue
环境准备 Vue-cli是Vue官方提供的一个脚手架,用户快速生成一个Vue的项目模板。 Vue-cli提供了如下功能: 统一的目录结构本地调试热部署单元测试集成打包上线 需要安装Node.js 安装Vue-cli npm install -g vue/cli通过vue --version指令查看是否安装成…...

使用 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力
通过 NVIDIA H100 上的 Azure 机密计算释放隐私保护 AI 的潜力 文章目录 前言一、机密计算二、使用 NVIDIA H100 Tensor Core GPU 的 Azure 机密计算1. 安全功能2. 可扩展性和可编程性三、场景1. 模型机密性2. 推理/提示机密性3. 使用私有数据进行微调4. 多方培训结论前言 这是…...

目标检测与图像分类:有什么区别?各自的使用场景是什么?
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

Lua 数据类型
Lua 数据类型 Lua 是一种轻量级的编程语言,因其简单性和灵活性而广受欢迎。在 Lua 中,数据类型是编程的基础,它们决定了变量能够存储哪种类型的数据。Lua 的数据类型可以分为以下几个类别: 1. nil nil 是 Lua 中的一个特殊类型…...

复现文章:R语言复现文章画图
文章目录 介绍数据和代码图1图2图6附图2附图3附图4附图5附图6 介绍 文章提供画图代码和数据,本文记录 数据和代码 数据可从以下链接下载(画图所需要的所有数据): 百度云盘链接: https://pan.baidu.com/s/1peU1f8_TG2kUKXftkpYq…...

东方仙盟——软件终端架构思维———未来之窗行业应用跨平台架构
一、创生.前世今生 在当今的数字化时代,我们的服务覆盖全球,拥有数亿客户。然而,这庞大的用户规模也带来了巨大的挑战。安全问题至关重要,任何一处的漏洞都可能引发严重的数据泄露危机。网络带宽时刻面临考验,稍有不足…...

支持向量机(SVM)基础教程
一、引言 支持向量机(Support Vector Machine,简称SVM)是一种高效的监督学习算法,广泛应用 于分类和回归分析。SVM以其强大的泛化能力、简洁的数学形式和优秀的分类效果而备受机器学 习领域的青睐。 二、SVM基本原理 2.1 最大间…...

Python小示例——质地不均匀的硬币概率统计
在概率论和统计学中,随机事件的行为可以通过大量实验来研究。在日常生活中,我们经常用硬币进行抽样,比如抛硬币来决定某个结果。然而,当我们处理的是“质地不均匀”的硬币时,事情就变得复杂了。质地不均匀的硬币意味着…...

京东web 京东e卡绑定 第二部分分析
声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我删…...

【数据结构与算法】Greedy Algorithm
1) 贪心例子 称之为贪心算法或贪婪算法,核心思想是 将寻找最优解的问题分为若干个步骤每一步骤都采用贪心原则,选取当前最优解因为没有考虑所有可能,局部最优的堆叠不一定让最终解最优 贪心算法是一种在每一步选择中都采取在当前状态下最好…...

Ubuntu22.04之mpv播放器高频快捷键(二百七十)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...

新闻推荐系统:Spring Boot的可扩展性
6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…...

目录工具类 - C#小函数类推荐
此文记录的是目录工具类。 /***目录工具类Austin Liu 刘恒辉Project Manager and Software DesignerE-Mail: lzhdim163.comBlog: http://lzhdim.cnblogs.comDate: 2024-01-15 15:18:00***/namespace Lzhdim.LPF.Utility {using System.IO;/// <summary>/// The Objec…...

速盾:如何判断高防服务器的防御是否真实?
随着网络攻击日益增多和攻击手段的不断升级,保护网络安全变得越来越重要。高防服务器作为一种提供网络安全保护的解决方案,受到了越来越多的关注。然而,对于用户来说,如何判断高防服务器的防御是否真实,是否能够真正保…...

MySQL连接查询:联合查询
先看我的表结构 emp表 联合查询的关键字(union all, union) 联合查询 基本语法 select 字段列表 表A union all select 字段列表 表B 例子:将薪资低于5000的员工, 和 年龄大于50 岁的员工全部查询出来 第一种 select * fr…...

Gitea 数据迁移
一、从 Windows 迁移 Gitea 1. 备份 Gitea 数据 1.1 备份仓库文件 在 Windows 中,Gitea 仓库文件通常位于 C:\gitea\data\repositories。你可以使用压缩工具将该目录打包: 1.)右键点击 C:\gitea\data\repositories 目录,选择 “…...

MySQL 绪论
数据库相关概念 数据库(DB):存储数据的仓库数据库管理系统(DBMS):操纵和管理数据库的大型软件SQL:操纵关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准主流的关系型数…...

什么是 HTTP Get + Preflight 请求
当在 Chrome 开发者工具的 Network 面板中看到 GET Preflight 的 HTTP 请求方法时,意味着该请求涉及跨域资源共享 (CORS),并且该请求被预检了。理解这种请求的背景,主要在于 CORS 的工作机制和现代浏览器对安全性的管理。 下面是在 Chrome …...

(JAVA)开始熟悉 “二叉树” 的数据结构
1. 二叉树入门 符号表的增删查改操作,随着元素个数N的增多,其耗时也是线性增多的。时间复杂度都是O(n),为了提高运算效率,下面将学习 树 这种数据结构 1.1 树的基本定义 树是我们计算机中非常重要的一种数据结构…...

【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
文章目录 一、前言1.1、Linux的文件结构是一颗从 根目录/ 开始的一个多叉树。1.2、绝对路径与相对路径1.3、命令的本质是可执行文件。1.4、家目录 二、文件管理2.1、文件操作1、pwd2、ls3、cd4、touch5、mkdir6、cp7、rm8、mv9、rmdir 2.2、查看文件1、cat2、more3、less4、hea…...

Hadoop大数据入门——Hive-SQL语法大全
Hive SQL 语法大全 基于语法描述说明 CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION] path; SELECT expr, ... FROM tbl ORDER BY col_name [ASC | DESC] (A | B | C)如上语法,在语法描述中出现: [],表示可选,如上[LOCATI…...