【AI数学基础】线性代数:内积和范数
(观前提醒,这是工科AI相关的数学基础的学习笔记,不是数学专业的文章,所以没有严谨的证明和定义,数院大神请勿批评)
2. 内积和范数
2.1 内积的定义
从代数的角度来说,内积是两个向量之间的一种运算,其结果是一个实数。
设由两个 n n n维向量:
x = [ x 1 x 2 ⋯ x n ] , y = [ y 1 y 2 ⋯ y n ] \mathbf{x}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \cdots \\ x_{n} \end{array}\right], \mathbf{y}=\left[\begin{array}{c} y_{1} \\ y_{2} \\ \cdots \\ y_{n} \end{array}\right] x= x1x2⋯xn ,y= y1y2⋯yn
令 x ⋅ y = x 1 y 1 + x 2 y 2 + ⋯ + x n y n \mathbf{x} \cdot \mathbf{y}=x_{1} y_{1}+x_{2} y_{2}+\cdots+x_{n} y_{n} x⋅y=x1y1+x2y2+⋯+xnyn, x ⋅ y \mathbf{x} \cdot \mathbf{y} x⋅y为向量 x \mathbf{x} x和向量 y \mathbf{y} y的内积。
内积具有下列性质(其中 x , y , z \mathbf{x},\mathbf{y},\mathbf{z} x,y,z为 n n n维向量, λ \lambda λ为实数):
- x ⋅ y = y ⋅ x \mathbf{x}\cdot\mathbf{y}=\mathbf{y}\cdot\mathbf{x} x⋅y=y⋅x;
- ( λ x ) ⋅ y = x ⋅ ( λ y ) (\lambda\mathbf{x})\cdot\mathbf{y}=\mathbf{x}\cdot(\lambda\mathbf{y}) (λx)⋅y=x⋅(λy);
- ( x + y ) ⋅ z = x ⋅ z + y ⋅ z (\mathbf{x}+\mathbf{y})\cdot\mathbf{z}=\mathbf{x}\cdot\mathbf{z}+\mathbf{y}\cdot\mathbf{z} (x+y)⋅z=x⋅z+y⋅z;
- 当 x = 0 \mathbf{x}=\mathbf{0} x=0时, x ⋅ x = 0 \mathbf{x}\cdot\mathbf{x}=0 x⋅x=0;当 x ≠ 0 \mathbf{x}\ne\mathbf{0} x=0时, x ⋅ x > 0 \mathbf{x}\cdot\mathbf{x}>0 x⋅x>0.
2.2 范数的定义
2.2.1范数的定义
范数定义了向量空间里的距离,范数能将一组实数列表(向量)映射成一个实数,它的出现使得向量之间的比较称为了可能。(其实就是向量的长度)

如果向量 x ∈ R n x\in\mathbb{R}^{n} x∈Rn的某个实值函数 f ( x ) = ∣ ∣ x ∣ ∣ f(x)=||x|| f(x)=∣∣x∣∣满足:
- 正定性: ∣ ∣ x ∣ ∣ ⩾ 0 ||x||\geqslant 0 ∣∣x∣∣⩾0且 ∣ ∣ x ∣ ∣ = 0 ||x||=0 ∣∣x∣∣=0当且仅当 x = 0 x=0 x=0;
- 齐次性:对任意实数 α \alpha α,都有 ∣ ∣ α x ∣ ∣ = ∣ α ∣ ⋅ ∣ ∣ x ∣ ∣ ||\alpha x||=|\alpha|\cdot||x|| ∣∣αx∣∣=∣α∣⋅∣∣x∣∣;
- 三角不等式:对任意 x , y ∈ R n x,y\in\mathbb{R}^{n} x,y∈Rn,都有 ∣ ∣ x + y ∣ ∣ ⩽ ∣ ∣ x ∣ ∣ + ∣ ∣ y ∣ ∣ ||x+y||\leqslant||x||+||y|| ∣∣x+y∣∣⩽∣∣x∣∣+∣∣y∣∣;
满足上述三条性质,则称 ∣ ∣ x ∣ ∣ ||x|| ∣∣x∣∣为 R n \mathbb{R}^{n} Rn上的一个向量范数。
2.2.2 常见的范数
常用的向量范数有:
- L1范数:也叫曼哈顿距离,其公式为 ∥ x ∥ 1 = ∑ i ∣ x i ∣ \|x\|_{1}=\sum\limits_{i}\left|x_{i}\right| ∥x∥1=i∑∣xi∣,它是一个向量中所有元素的绝对值之和;
- L2范数:也叫欧几里得距离,其公式为 ∥ x ∥ 2 = ∑ i x i 2 \|x\|_{2}=\sqrt{\sum\limits_{i} x_{i}^{2}} ∥x∥2=i∑xi2,对一个向量中所有元素取平方和,然后再开方。
2.3 内积的几何解释
知道范数的本质是距离之后,我们就可以从几何角度来解释内积,内积定义了向量空间里的角度。比如说,在向量空间中存在两个向量 u \mathbf{u} u和 v \mathbf{v} v,它们之间的夹角是 θ \theta θ.
u ∙ v = ∥ u ∥ ∥ v ∥ cos θ \mathbf{u} \bullet \mathbf{v}=\|\mathbf{u}\|\|\mathbf{v}\| \cos \theta u∙v=∥u∥∥v∥cosθ

相关文章:
【AI数学基础】线性代数:内积和范数
(观前提醒,这是工科AI相关的数学基础的学习笔记,不是数学专业的文章,所以没有严谨的证明和定义,数院大神请勿批评) 2. 内积和范数 2.1 内积的定义 从代数的角度来说,内积是两个向量之间的一种…...
Go语言的 的泛型(Generics)核心知识
Go语言的泛型(Generics)核心知识 引言 在编程语言的发展历程中,泛型是一项重要的特性。它使得程序员能够编写更加灵活和可重用的代码,减少了代码重复,提高了类型安全性和性能。从最初的C和Java,到现代的R…...
C++vector
1. vector 的介绍及使用 1.1vector的介绍 vector的文档介绍 1.vector是表示可变大小数组的序列容器 2.就像数组一样,vector也采用的连续存储空间来存储元素,也就是意味着可以采用下标对vector 的元素进行访问,和数组一样高效但是又不像数组…...
如何配置【Docker镜像】加速器+【Docker镜像】的使用
一、配置Docker镜像加速器 1. 安装/升级容器引擎客户端 推荐安装1.11.2以上版本的容器引擎客户端 2. 配置镜像加速器 针对容器引擎客户端版本大于1.11.2的用户 以root用户登录容器引擎所在的虚拟机 修改 "/etc/docker/daemon.json" 文件(如果没有…...
Docker--Docker Network(网络)
Docker Network(网络)是Docker容器之间和容器与外部网络之间的通信和连接的一种机制。以下是对Docker Network的详细解释: 一、Docker网络的重要性 Docker容器网络是为应用程序所创造的虚拟环境的一部分,它能让应用从宿主机操作…...
Vue项目中生成node_modules文件夹的两种常用方法及npm优势
在Vue项目中生成node_modules文件夹的过程非常简单,主要步骤如下: 1、使用 npm 安装依赖包; 2、使用 yarn 安装依赖包。其中,推荐使用npm安装依赖包,原因如下: 兼容性更广:npm是Node.js的默认包管理工具,具有更高的兼容性。社区支持:npm拥有更大的用户基础和社区支持,…...
如何在 Ubuntu 22.04 上安装 Cassandra NoSQL 数据库教程
简介 本教程将向你介绍如何在 Ubuntu 22.04 上安装 Cassandra NoSQL 数据库。 Apache Cassandra 是一个分布式的 NoSQL 数据库,旨在处理跨多个普通服务器的大量数据,并提供高可用性,没有单点故障。Apache Cassandra 是一个高度可扩展的分布…...
leetcode 面试经典 150 题:轮转数组
链接轮转数组题序号189题型数组解法1. 额外数组法,2. 原数组翻转法(三次翻转法)难度中等熟练度✅✅✅✅ 题目 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,…...
如何在 Mac 上轻松恢复语音备忘录
在 Mac 上丢失重要的语音备忘录可能会令人沮丧,但好消息是有多种方法可以恢复它们。无论您是意外删除它们还是由于系统故障而丢失,您都可以轻松地在 Mac 上恢复语音备忘录。 在本指南中,我们将探讨两种方法:在没有备份的情况下恢…...
C++ 基础概念: 未定义行为(Undefined Behavior)
文章目录 Intro如何正确认识 UB有多少未定义行为?对 UB 的误解 C 标准定义的几种行为1. 定义的行为 (defined behavior)2. 实现定义的行为 (implementation defined behavior)3. 未指定的行为 (unspecified behavior)4. 未定义行为 (undefined behavior)揭晓答案 C 中如何定义…...
Rad Studio 11.3 Alexandria 3236a(DELPHI 11.3)官方ISO/百度云盘 下载地址
Embarcadero很高兴地宣布RAD Studio 11 Alexandria Release 3的发布,也被称为RAD Studio 11.3,同时发布的还有Delphi 11.3和CBuilder 11.3。这个版本专注于质量和改进,建立在RAD Studio 11 Alexandria三个前版本的伟大的新功能上。 RAD Studi…...
vue3-watchEffect异步依赖收集
当 b 更新时 a 并不会更新,因为watchEffect的依赖收集在该案例中停止于await asyncFn(),也就是只会收集同步代码的依赖,await 之后的异步代码的依赖并不会收集到 <template> <div>a: {{ a }} <br>b: {{ b }} <br>&l…...
微信小程序中 “页面” 和 “非页面” 的区别
微信小程序中 “页面” 和 “非页面” 的区别,并用表格进行对比。 核心概念: 页面 (Page): 页面是微信小程序中用户可以直接交互的视图层,也是小程序的基本组成部分。每个页面都有自己的 WXML 结构、WXSS 样式和 JavaScript 逻辑…...
【蓝桥杯】43709.机器人繁殖
题目描述 X 星系的机器人可以自动复制自己。它们用 1 年的时间可以复制出 2 个自己,然后就失去复制能力。 每年 X 星系都会选出 1 个新出生的机器人发往太空。也就是说,如果 X 星系原有机器人 5 个,1 年后总数是:5 9 14…...
【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)
自监督学习是一种机器学习方法,介于监督学习和无监督学习之间。它通过数据本身生成标签,创建训练任务,从而学习数据的表征,而不需要人工标注的标签。这种方法在减少标注数据依赖、提高模型通用性等方面具有重要意义。 自监督学习的…...
R shiny app | 网页应用 空格分隔的文本文件在线转csv
shiny 能快速把R程序以web app的形式提供出来,方便使用,降低技术使用门槛。 本文提供的示例:把空格分隔的txt文件转为逗号分隔的csv文件。 前置依赖:需要有R环境(v4.2.0),安装shiny包(v1.9.1)。括号内是我使用的版本…...
三天速成微服务
微服务技术栈 总结 微服务技术对比 技术栈 SpringCloud SpringCloud是目前国内使用最广泛的微服务框架。官网地址:https://spring.io/projects/spring-cloud Springboot和SpringCould兼容性 代码目录结构如下 用于远程调用Bean 代码 package cn.itcast.order.config;//import …...
【踩坑记录】uni-app 微信小程序调试不更新问题解决指南
uni-app 微信小程序调试不更新问题解决指南 在使用 uni-app 开发微信小程序时,可能会遇到代码修改后无法更新或者不生效的问题。这种现象常见于调试阶段,通常与缓存、编译或代码错误有关。 本文将详细分析调试过程中常见的“不更新”问题,并…...
【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事?
【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事? 【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事? 文章目录 【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事&…...
PyTorch 中 coalesce() 函数详解与应用示例
PyTorch 中 coalesce() 函数详解与应用示例 coalesce: 美 [ˌkoʊəˈlɛs] 合并;凝聚;联结,注意发音 引言 在 PyTorch 中,稀疏张量(Sparse Tensor)是一种高效存储和操作稀疏数据的方式。稀疏…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
CMS内容管理系统的设计与实现:多站点模式的实现
在一套内容管理系统中,其实有很多站点,比如企业门户网站,产品手册,知识帮助手册等,因此会需要多个站点,甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...
