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

【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= x1x2xn ,y= y1y2yn
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} xy=x1y1+x2y2++xnyn x ⋅ y \mathbf{x} \cdot \mathbf{y} xy为向量 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} xy=yx
  • ( λ 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=xz+yz
  • x = 0 \mathbf{x}=\mathbf{0} x=0时, x ⋅ x = 0 \mathbf{x}\cdot\mathbf{x}=0 xx=0;当 x ≠ 0 \mathbf{x}\ne\mathbf{0} x=0时, x ⋅ x > 0 \mathbf{x}\cdot\mathbf{x}>0 xx>0.

2.2 范数的定义

2.2.1范数的定义

范数定义了向量空间里的距离,范数能将一组实数列表(向量)映射成一个实数,它的出现使得向量之间的比较称为了可能。(其实就是向量的长度)

如果向量 x ∈ R n x\in\mathbb{R}^{n} xRn的某个实值函数 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,yRn,都有 ∣ ∣ 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| x1=ixi,它是一个向量中所有元素的绝对值之和;
  • L2范数:也叫欧几里得距离,其公式为 ∥ x ∥ 2 = ∑ i x i 2 \|x\|_{2}=\sqrt{\sum\limits_{i} x_{i}^{2}} x2=ixi2 ,对一个向量中所有元素取平方和,然后再开方。

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 uv=u∥∥vcosθ

相关文章:

【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 并不会更新&#xff0c;因为watchEffect的依赖收集在该案例中停止于await asyncFn()&#xff0c;也就是只会收集同步代码的依赖&#xff0c;await 之后的异步代码的依赖并不会收集到 <template> <div>a: {{ a }} <br>b: {{ b }} <br>&l…...

微信小程序中 “页面” 和 “非页面” 的区别

微信小程序中 “页面” 和 “非页面” 的区别&#xff0c;并用表格进行对比。 核心概念&#xff1a; 页面 (Page)&#xff1a; 页面是微信小程序中用户可以直接交互的视图层&#xff0c;也是小程序的基本组成部分。每个页面都有自己的 WXML 结构、WXSS 样式和 JavaScript 逻辑…...

【蓝桥杯】43709.机器人繁殖

题目描述 X 星系的机器人可以自动复制自己。它们用 1 年的时间可以复制出 2 个自己&#xff0c;然后就失去复制能力。 每年 X 星系都会选出 1 个新出生的机器人发往太空。也就是说&#xff0c;如果 X 星系原有机器人 5 个&#xff0c;1 年后总数是&#xff1a;5 9 14&#xf…...

【机器学习】机器学习的基本分类-自监督学习(Self-supervised Learning)

自监督学习是一种机器学习方法&#xff0c;介于监督学习和无监督学习之间。它通过数据本身生成标签&#xff0c;创建训练任务&#xff0c;从而学习数据的表征&#xff0c;而不需要人工标注的标签。这种方法在减少标注数据依赖、提高模型通用性等方面具有重要意义。 自监督学习的…...

R shiny app | 网页应用 空格分隔的文本文件在线转csv

shiny 能快速把R程序以web app的形式提供出来&#xff0c;方便使用&#xff0c;降低技术使用门槛。 本文提供的示例&#xff1a;把空格分隔的txt文件转为逗号分隔的csv文件。 前置依赖&#xff1a;需要有R环境(v4.2.0)&#xff0c;安装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 开发微信小程序时&#xff0c;可能会遇到代码修改后无法更新或者不生效的问题。这种现象常见于调试阶段&#xff0c;通常与缓存、编译或代码错误有关。 本文将详细分析调试过程中常见的“不更新”问题&#xff0c;并…...

【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事?

【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事&#xff1f; 【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事&#xff1f; 文章目录 【Adobe Acrobat PDF】Acrobat failed to connect to a DDE server.是怎么回事&…...

PyTorch 中 coalesce() 函数详解与应用示例

PyTorch 中 coalesce() 函数详解与应用示例 coalesce&#xff1a; 美 [ˌkoʊəˈlɛs] 合并&#xff1b;凝聚&#xff1b;联结&#xff0c;注意发音 引言 在 PyTorch 中&#xff0c;稀疏张量&#xff08;Sparse Tensor&#xff09;是一种高效存储和操作稀疏数据的方式。稀疏…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...