从毕达哥拉斯定理到向量距离和夹角的计算

1 毕达哥拉斯定理和余弦定理

1.1 毕达哥拉斯定理(勾股定理)

对于 毕达哥拉斯定理(勾股定理) 大家应该都比较熟悉,在一个直角三角形中,两条 直角边的平方之和 等于 斜边的平方
例如一个直角三角形两个直角边分别是 a 和 b, 斜边为 c,其数学表达式可以写为:
a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2

1.2 从毕达哥拉斯定理(勾股定理)到余弦定理

那么,我们可以很自然的推导出 ab 夹角是锐角和钝角的情况,如下表所示:

ab夹角表达式
< 90度 a 2 + b 2 − c 2 > 0 a^2 + b^2 - c^2 > 0 a2+b2c2>0
= 90度 a 2 + b 2 − c 2 = 0 a^2 + b^2 - c^2 = 0 a2+b2c2=0
> 90度 a 2 + b 2 − c 2 < 0 a^2 + b^2 - c^2 < 0 a2+b2c2<0

将上述表达式除以 2ab 消除边长对计算结果的影响,使计算结果落在 -1 - 1之间,由此我们便从毕达哥拉斯定理出发得到了余弦定理的公式
cos ⁡ γ = a 2 + b 2 − c 2 2 a b \cos\gamma=\frac{a^2+b^2-c^2}{2ab} cosγ=2aba2+b2c2

2.向量距离和夹角余弦的计算

机器学习中常用的向量距离夹角余弦的计算使用上述两个公式便可以很容易的计算出来。

本文中关于 向量的距离 仅仅讨论 欧氏距离

2.1 向量的距离计算

2.1.1 以二维空间为例推导

假设有两个二维向量 ( x 1 , x 2 ) , ( y 1 , y 2 ) (x_1, x_2) , (y_1, y_2) (x1,x2),(y1,y2),要计算这两个向量之间的欧式距离即为计算下图中 c 的长度,依据勾股定理便能轻松计算
在这里插入图片描述
a = y 1 − x 1 b = x 2 − y 2 带入毕达哥拉斯定理: c = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 a = y_1 - x_1 \\ b = x_2 - y_2 \\ 带入毕达哥拉斯定理:\\ c = \sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2} a=y1x1b=x2y2带入毕达哥拉斯定理:c=(x1y1)2+(x2y2)2

2.1.2 扩展到多维

E D ( x , y ) = ∑ i = 1 n ( x i − y i ) 2 ED(x,y)=\sqrt{\sum_{i=1}^n\left(x_i-y_i\right)^2} ED(x,y)=i=1n(xiyi)2

2.2 向量夹角余弦的计算

2.2.1 以二维空间为例推导

如下图所示,只要将 a, b, c的值带入 cos ⁡ γ = a 2 + b 2 − c 2 2 a b \cos\gamma=\frac{a^2+b^2-c^2}{2ab} cosγ=2aba2+b2c2 即可

a = x 1 2 + x 2 2 b = y 1 2 + y 2 2 c = ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 a = \sqrt{x_1^2 + x_2^2} \\ b = \sqrt{y_1^2 + y_2^2} \\ c = \sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2} a=x12+x22 b=y12+y22 c=(x1y1)2+(x2y2)2
带入 cos ⁡ γ = a 2 + b 2 − c 2 2 a b \cos\gamma=\frac{a^2+b^2-c^2}{2ab} cosγ=2aba2+b2c2

cos ⁡ γ = x 1 2 + x 2 2 2 + y 1 2 + y 2 2 2 − ( x 1 − y 1 ) 2 + ( x 2 − y 2 ) 2 2 2 ∗ x 1 2 + y 1 2 ∗ x 2 2 + y 2 2 \cos\gamma = \cfrac{ {\sqrt{x_1^2 + x_2^2}}^2 + {\sqrt{y_1^2 + y_2^2}}^2 - {\sqrt{(x_1 - y_1)^2 + (x_2 - y_2)^2}}^2}{2*\sqrt{x_1^2 + y_1^2}*\sqrt{x_2^2 + y_2^2}} cosγ=2x12+y12 x22+y22 x12+x22 2+y12+y22 2(x1y1)2+(x2y2)2 2

化简后得到:
cos ⁡ γ = x 1 y 1 + x 2 y 2 ( x 1 2 + x 2 2 ) ( y 1 2 + y 2 2 ) \cos\gamma =\cfrac{x_1 y_1 + x_2 y_2} {\sqrt{(x_1^2+x_2^2)(y_1^2 + y_2^2)}} cosγ=(x12+x22)(y12+y22) x1y1+x2y2
在这里插入图片描述

2.2.1 扩展到多维

c o s γ = ∑ i = 1 n ( x i × y i ) ∑ i = 1 n x i 2 × ∑ i = 1 n y i 2 \mathrm{ cos } γ =\frac{\sum_{i=1}^n(x_i\times y_i)}{\sqrt{\sum_{i=1}^nx_i^2\times\sum_{i=1}^ny_i^2}} cosγ=i=1nxi2×i=1nyi2 i=1n(xi×yi)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结合rpart包的决策树介绍

决策树与CART算法 决策树是一种基于树状结构的监督学习算法。它通过从根节点开始递归地对特征进行划分&#xff0c;构建出一棵树来进行决策。决策树的构建过程需要解决的重要问题有三个&#xff1a;如何选择自变量、如何选择分割点、确定停止划分的条件。解决这些问题是希望随…

Manus AI : Agent 元年开启.pdf

Manus AI : Agent 元年开启.pdf 是由华泰证券出品的一份调研报告&#xff0c;共计23页。报告详细介绍了Manus AI 及 Agent&#xff0c;主要包括Manus AI 的功能、优势、技术能力&#xff0c;Agent 的概念、架构、应用场景&#xff0c;以及 AI Agent 的类型和相关案例&#xff0…

Centos的ElasticSearch安装教程

由于我们是用于校园学习&#xff0c;所以最好是关闭防火墙 systemctl stop firewalld systemctl disable firewalld 个人喜欢安装在opt临时目录&#xff0c;大家可以随意 在opt目录下创建一个es-standonely-docker目录 mkdir es-standonely-docker 进入目录编辑yml文件 se…

Geo3D建筑材质切换+屋顶纹理

一、简介 基于Threejs开发封装建筑渲染管线&#xff0c;利用简单二维建筑矢量面轮廓程序化生成3D建筑&#xff0c;支持材质一键切换&#xff0c;支持多样化建筑墙面材质和屋顶材质&#xff0c;支持建筑透明&#xff0c;支持地形高程适配&#xff0c;支持按空间范围裁剪挖洞等。…

【移动WEB开发】流式布局

目录 1. 移动端基础 1.1 浏览器现状 1.2 手机屏幕现状 1.3 常见移动端屏幕尺寸 1.4 移动端调试方法 2. 视口 3. 二倍图 3.1 物理像素&物理像素比 3.2 多倍图 3.3 背景缩放 3.4 多倍图切图cutterman 4. 移动端开发选择 4.1 主流方案 4.2 单独制作 4.3 响应式…

江科大51单片机笔记【9】DS1302时钟可调时钟(下)

在写代码前&#xff0c;记得把上一节的跳线帽给插回去&#xff0c;不然LCD无法显示 一.DS1302时钟 1.编写DS1302.c文件 &#xff08;1&#xff09;重新对端口定义名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;&#xff08;2&#xff09;初始化 因为…

发行思考:全球热销榜的频繁变动

几点杂感&#xff1a; 1、单机游戏销量与在线人数的衰退是剧烈的&#xff0c;有明显的周期性&#xff0c;而在线游戏则稳定很多。 如去年的某明星游戏&#xff0c;最高200多万在线&#xff0c;如今在线人数是48名&#xff0c;3万多。 而近期热门的是MH&#xff0c;在线人数8…

PDF处理控件Aspose.PDF,如何实现企业级PDF处理

PDF处理为何成为开发者的“隐形雷区”&#xff1f; “手动调整200页PDF目录耗时3天&#xff0c;扫描件文字识别错误导致数据混乱&#xff0c;跨平台渲染格式崩坏引发客户投诉……” 作为开发者&#xff0c;你是否也在为PDF处理的复杂细节消耗大量精力&#xff1f;Aspose.PDF凭…

ubuntu22.04机器人开发环境配置

1. ros2环境配置&#xff08;humble&#xff09; #配置源 # https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl -y# …

期权帮|中证1000股指期权交割结算价怎么算?

期权帮锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 中证1000股指期权交割结算价怎么算&#xff1f; 一、按照最后交易日结算价&#xff1a; &#xff08;1&#xff09;计算方法&#xff1a;最后交易日标的指数&#xff08…

解锁STM32外设:开启嵌入式开发新世界

✨✨✨这里是小韩学长yyds的BLOG(喜欢作者的点个关注吧) ✨✨✨想要了解更多内容可以访问我的主页 小韩学长yyds-CSDN博客 目录 探索 STM32 强大的外设家族 初窥门径&#xff1a;STM32 外设开发基础 开发方式与工具 外设配置基础步骤 深入剖析&#xff1a;常见外设应用实例…

ReferenceError: xxx is not defined

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 &#x1f35a; 蓝桥云课签约作者、…

景联文科技:以专业标注赋能AI未来,驱动智能时代的精准跃迁

在人工智能技术重塑全球产业格局的今天&#xff0c;高质量训练数据已成为驱动算法进化的核心燃料。作为数据智能服务领域的领军者&#xff0c;景联文科技深耕数据标注行业多年&#xff0c;以全栈式数据解决方案为核心&#xff0c;构建起覆盖数据采集、清洗、标注、质检及算法调…

基于Spring Boot的校园失物招领系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

使用服务器搭建无门槛ChatGPT WEB应用LobeChat

一、服务器实例配置 ‌实例选型‌ ‌推荐配置‌&#xff1a;‌2核4GB内存‌&#xff0c;保障AI推理和并发访问的流畅性‌67。‌操作系统‌&#xff1a;选择 ‌Ubuntu 22.04 LTS‌&#xff0c;适配Docker环境与LobeChat依赖库‌23。‌安全组规则‌&#xff1a;开放以下端口&…

海量数据融合互通丨TiDB 在安徽省住房公积金监管服务平台的应用实践

导读 安徽省住房公积金监管服务平台通过整合全省 17 家公积金中心的数据&#xff0c;致力于实现数据共享、规范化管理与高效数据分析。为了应对海量数据处理需求&#xff0c;安徽省选择 TiDB 作为底层数据库&#xff0c;利用其分布式架构和 HTAP 能力&#xff0c;实现了快速的…

轻松上手 —— 通过 RPM 包快速部署 NebulaGraph

前言 在当今大数据时代&#xff0c;处理复杂关系数据的需求与日俱增&#xff0c;图数据库应运而生并逐渐崭露头角。NebulaGraph 作为一款高性能、分布式且易扩展的图数据库&#xff0c;专为应对大规模图数据处理而精心打造。它不仅具备丰富的查询语言&#xff0c;还拥有强大高效…

docker1

前言 技术架构 单机架构 应用数据分离架构 应用服务集群架构 读写分离/主从分离架构 写入主的时候&#xff0c;要同步Mysql从的数据才可以 冷热分离架构 写的时候要写入主和缓存数据库 读的时候先去缓存看有没有&#xff0c;没有的话就去从数据库读数据 主要就是看这个数据是…

豪越智慧消防安全:电气火灾监控系统守护用电安全

在当今社会&#xff0c;电气设备的广泛应用给人们的生活和工作带来了极大的便利&#xff0c;但同时也带来了电气火灾的潜在风险。豪越智慧消防的电气火灾监控系统&#xff0c;犹如一位忠诚的守护者&#xff0c;时刻关注着电气线路的安全&#xff0c;为保障场所用电安全发挥着重…

typora高亮方案+鼠标侧键一键改色

引言 在typora里面有一个自定义的高亮, <mark></mark>>但是单一颜色就太难看了, 我使用人工智能, 搜索全网艺术家, 汇集了几种好看的格式,并且方便大家侧键一键 调用, 是不是太方便啦 ! 示例 午夜模式 春意盎然 深海蓝调 石墨文档 秋日暖阳 蜜桃宣言 使用方法 …