矩阵的相似性度量的常用方法

矩阵的相似性度量的常用方法

1,欧氏距离

欧式距离是最易于理解的一种距离计算方法,源自欧式空间中两点间的距离公式。

(1)二维平面上的点 a ( x 1 , y 1 ) a(x_1,y_1) a(x1,y1)和点 b ( x 2 , y 2 ) b(x_2,y_2) b(x2,y2)的欧式距离为

d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2} d=(x1x2)2+(y1y2)2

(2)三维平面上的点 a ( x 1 , y 1 , z 1 ) a(x_1,y_1,z_1) a(x1,y1,z1)和点 b ( x 2 , y 2 , z − 2 ) b(x_2,y_2,z-2) b(x2,y2,z2)的欧式距离为

d = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + ( z 1 − z 2 ) 2 d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2} d=(x1x2)2+(y1y2)2+(z1z2)2

不失一般性:

D ( X i , X j ) = ∑ l = 1 d ( x i l − x j l ) 2 D(X_i,X_j)=\sqrt{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi,Xj)=l=1d(xilxjl)2

其中:D表示样本间的距离, X i , X j X_i,X_j Xi,Xj代表一个向量,或称为样本点或者样本;l是样本特征的维数, x i l , x j l x_{il},x_{jl} xil,xjl表示一个变量,或成为属性;d表示样本的总维数,即样本特征的总数量(下同)。

2,切比雪夫距离

在二维空间中,切比雪夫距离的典型应用是解决国际象棋中的国王从一个格子走到另一个格子最少需要几步的问题。这种距离在模糊C-Means方法中得到了有效应用。切比雪夫距离的公式可以表示为:

D ( X i , X j ) = m a x l ( ∣ x i l − x j l ∣ ) D(X_i,X_j)=max_l(|x_{il}-x_{jl}|) D(Xi,Xj)=maxl(xilxjl)

此公式的另一种表示形式为:

D ( X i , X j ) = lim ⁡ p → + ∞ ∑ l = 1 d ( x i l − x j l ) 2 p D(X_i,X_j)=\lim_{p\rightarrow+\infty}\sqrt[p]{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi,Xj)=limp+pl=1d(xilxjl)2

3,曼哈顿距离

在城市生活中,只能沿着街道从一个地方走到另一个地方,为此,人们将生活中熟悉的城市街区距离形象地称为曼哈顿距离。该距离的表示公式为:

D ( X i , X j ) = ∑ l = 1 d ( ∣ x i l − x j l ∣ ) D(X_i,X_j)=\sum_{l=1}^d(|x_{il}-x_{jl}|) D(Xi,Xj)=l=1d(xilxjl)

曼哈顿距离在基于自适应谐振理论的同步聚类中有较好的应用;但是需要注意的是这种距离不再符合在特征空间中的转化和旋转的不变性。

4,闵可夫斯基距离

闵可夫斯基距离是一种p范数的形式,公式可以表示为:

D ( X i , X j ) = ∑ l = 1 d ( x i l − x j l ) 2 p D(X_i,X_j)=\sqrt[p]{\sum_{l=1}^d(x_{il}-x_{jl})^2} D(Xi,Xj)=pl=1d(xilxjl)2

从式中可以看出,若p为无穷大时,这种距离可以称为切比雪夫距离;若p=2时就是欧几里得距离;那么当p=1时就是曼哈顿距离。

5,马氏距离

马氏距离是一种关于协方差矩阵的距离度量表示方法,其公式为:

D ( X i , X j ) = ( X i − X j ) T S − 1 ( X i − X j ) D(X_i,X_j)=\sqrt{(X_i-X_j)^TS^{-1}(X_i-X_j)} D(Xi,Xj)=(XiXj)TS1(XiXj)

其中T表示转置,S为样本协方差矩阵。马氏距离的优点是距离与属性的量纲无关,并排除了属性之间的相关性干扰,若各个属性之间独立同分布,则协方差矩阵为单位矩阵。这样,平方马氏距离也就转化成了欧氏距离。

6,对称点距离

当聚类存在对称模式时,就可以使用对称点距离。其距离公式为:

D ( X i , X r ) = m a x j = 1 , 2 , … , N , j ≠ i ∣ ∣ ( X i − X r ) + ( X j − X r ) ∣ ∣ ∣ ∣ ( X i − X r ) ∣ ∣ + ∣ ∣ ( X j − X r ) ∣ ∣ D(X_i,X_r)=max_{j=1,2,…,N,j≠i}\frac{||(X_i-X_r)+(X_j-X_r)||}{||(X_i-X_r)||+||(X_j-X_r)||} D(Xi,Xr)=maxj=1,2,,N,j=i∣∣(XiXr)∣∣+∣∣(XjXr)∣∣∣∣(XiXr)+(XjXr)∣∣

对称点距离就是该点到对称点和其他点距离的最小值。

7,相关系数

距离度量也可以源于相关系数,如皮尔逊相关系数的定义为:

ρ x i x j = C o v ( X i , X j ) D ( X i ) D ( X j ) ρ_{x_ix_j}=\frac{Cov(X_i,X_j)}{\sqrt{D(X_i)}\sqrt{D(X_j)}} ρxixj=D(Xi) D(Xj) Cov(Xi,Xj)

8,余弦相似度

最后一种直接计算相似性的方法是余弦相似度。其表示形式为:

S ( X i , X j ) = c o s α = X i T X j ∣ ∣ X i ∣ ∣ ∣ ∣ X j ∣ ∣ S(X_i,X_j)=cosα=\frac{X_i^TX_j}{||X_i||\ ||X_j||} S(Xi,Xj)=cosα=∣∣Xi∣∣ ∣∣Xj∣∣XiTXj

这里,S表示样本之间的相似性(以下同)。在特征空间中,两个样本越相似,则他们越趋向于平行,那么他们的余弦值也就越大。

(附:为什么大模型每个层之间要加入Layer Normalization?原因就是因为神经网络的基本计算就是点积相似度计算,而点积相似度的取值范围是没有约束的,这导致神经网络结构很难学习,因为variance太大了。所以引入Layer Normalization之后,可以让点积相似度变成了余弦相似度。当然中间有一个系数就是根号的输入向量的维度,这也就是为什么transformer架构中为什么要除以根号的输入向量的维度的原因,因为除以根号的输入向量的维度之后,Norm之后的向量,神经元的点积相似度就等于余弦相似度了。所以,让没有取值范围约束的点积相似度有了约束,【-1,1】,从而可以让神经网络稳定的训练。)

需要注意的是最后三类相似度计算方法不再符合对称性,非负性与反身性的要求,即属于非可度量的范畴。连续性变量的相似性度量方法在不同聚类算法中的应用如下图所示。

在这里插入图片描述

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

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

相关文章

【网络】抓包工具Wireshark下载安装和基本使用教程

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助&#x1…

javaee ssm框架项目整合thymeleaf2.0 更多thymeleaf标签用法 项目结构图

创建ssmthymeleaf项目 创建ssmthymeleaf项目参考此文 thymeleaf更多常用标签 <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><title>Title</title> …

怎么压缩ppt文件?

怎么压缩ppt文件&#xff1f;造成ppt文件体积太大的原因主要有两个&#xff1a;① 图片和媒体文件&#xff0c;PPT中使用高分辨率、大尺寸的图片或视频文件会增加文件大小。如果未经压缩或优化&#xff0c;这些文件可能会占用较大的存储空间&#xff1b;② 动画和特效&#xff…

Super-jacoco应用统计代码覆盖率及问题处理

一、原文地址 滴滴开源Super-jacoco&#xff1a;java代码覆盖率收集平台 - 掘金 二、背景 我要使用Super-jacoco&#xff0c;对手工测试&#xff0c;进行代码覆盖率的统计。 为什么使用Super-jacoco&#xff0c;而不是直接使用jacoco&#xff0c;因为Super-jacoco解决了增量…

STC89C51基础及项目第13天:小车go、软件调速

1. 小车散件组装_推荐相同接线&#xff08;259.104&#xff09; 2. L9110s电机控制器接线&#xff08;260.105&#xff09; L9110s电机模块开发 接通VCC&#xff0c;GND 模块电源指示灯亮&#xff0c; 以下资料来源官方&#xff0c;但是不对&#xff0c;根据下节课实际调试 …

WPF向Avalonia迁移(一、一些通用迁移项目)

通用变更 WPF&#xff1a;Visibility 其他参考文档 WPF&#xff1a; <TextBlock Visibility"Visible"/><TextBlock Visibility"Collapsed"/><TextBlock Visibility"Hidden"/>Avalonia &#xff1a; <TextBlock IsVisib…

POI 和 EasyExcel 操作 Excel

一、概述 目前操作 Excel 比较流行的就是 Apache POI 和阿里巴巴的 easyExcel。 1.1 POI 简介 Apache POI 是用 Java 编写的免费开源的跨平台的 Java API&#xff0c;Apache POI 提供 API 给 Java 程序对 Microsoft Office 格式文档读和写的常用功能。POI 为 “Poor Obfuscati…

20231008工作心得:sql

1.SQL语句里的if的嵌套使用 if(product A and brand_name B,C,if(product A and brand_name !B,D,product)) as product if&#xff08;A,B,C&#xff09;。SQL里if函数&#xff0c;如果条件A成立&#xff0c;就显示B的值&#xff0c;否则就显示C。 这个代码的意思的&#x…

RabbitMQ 介绍与 SpringBootAMQP使用

一、MQ概述 异步通信的优点&#xff1a; 耦合度低吞吐量提升故障隔离流量削峰 异步通信的缺点&#xff1a; 依赖于Broker的可靠性、安全性、吞吐能力架构复杂&#xff0c;业务么有明显的流程线&#xff0c;不方便追踪管理 什么是的MQ MQ&#xff08;Message Queue&#xf…

ARM-day5作业

.text .global _start _start: 1、设置GPIOE、GPIOF寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R0,0x50000a28 LDR R1,[R0] ORR R1,R1,#(0x3<<4) STR R1,[R0]2、设置PE10、PF10、PE8管脚为输出模式 GPIOE_MODER[21:20]->01 0x50006000…

Flask与PyQt结合使用时候,阻塞,界面卡死

一.问题起因 做了个服务端, 使用到了python的PYQT6和Flask, PYQT做的是个简单的设置界面: 但是在点击开始运行, 写入flask run的代码的时候, PYQT界面卡死了 代码如下: # 生产环境模式server make_server(0.0.0.0, ser_port, app)server.serve_forever()app.run() 二.问题产…

【Python】WebUI自动化—如何用Selenium IDE录制脚本生成单元测试代码(基于Chrome)(17)

一.Selenium IDE介绍 Selenium IDE是Chrome和FireFox浏览器中的插件&#xff0c;Selenium IDE结合浏览器提供脚本录制、脚本回放、脚本编辑、元素定位等功能&#xff0c;使用Selenium IDE可以将录制的脚本生成相应单元测试框架的自动化测试脚本&#xff0c;录制脚本支持导出Py…

Meta分析的流程及方法

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…

【数据结构】栈和队列-- OJ

目录 一 用队列实现栈 二 用栈实现队列 三 设计循环队列 四 有效的括号 一 用队列实现栈 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;typedef struct …

使用docker搭建nacos单机、集群 + mysql

单机搭建 1 拉取mysql镜像 docker pull mysql:5.7.40 2 启动mysql容器 docker run -d --namemysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 mysql:5.7.40 3 执行nacos的数据库脚本 /* * Copyright 1999-2018 Alibaba Group Holding L…

ctfshow web入门 php特性 web136-web140

1.web136 还有一种写文件的命令时tee命令 payload&#xff1a; : ls /|tee 1 访问1下载查看文件1发现根目录下有flag cat /f149_15_h3r3|tee 2 访问下载查看文件22.web137 call_user_func <?php class myclass {static function say_hello(){echo "He…

Graphviz 作图工具

选择 Graphviz 作为作图工具&#xff0c;主要是想通过代码创建图标&#xff0c;按照 Graphviz 的代码规范就可以生成 svg 的图片。当然&#xff0c;这样的工具也有很多&#xff0c;有些 markdown 编辑器也做了集成&#xff0c;比如&#xff1a; flowchart.jsMermaid 了解 Gra…

打印字节流和字符流

打印字节流和字符流 printStream/ printWriter的构造器和方法都是一样的 package printfile;import java.io.FileOutputStream; import java.io.OutputStream; import java.io.PrintStream; import java.io.PrintWriter; import java.nio.charset.Charset;public class Prin…

Postgresql中的C/C++混编(JIT)

1 Postgresql编译JIT 整体上看使用了GCC、G编译文件&#xff0c;最后用G汇总&#xff1a; GCC编译的三个.o文件llvmjit、llvmjit_deform、llvmjit_expr llvmjit.c -> llvmjit.o gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -…

深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…