千家信息网

常见的相似或相异程度计算方法

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,如何衡量数据点之间的相似或相异程度是聚类算法的基础问题,会直接影响聚类分析的效果,最直观的方法是使用距离函数或者相似性函数。常见的相似或相异程度计算方法。1.计算公式1.Minkowski dista
千家信息网最后更新 2025年02月02日常见的相似或相异程度计算方法

如何衡量数据点之间的相似或相异程度是聚类算法的基础问题,会直接影响聚类分析的效果,最直观的方法是使用距离函数或者相似性函数。

常见的相似或相异程度计算方法。

1.计算公式

1.Minkowski distance

很多距离计算方法都可以归结为基于向量p范数的距离,即Minkowski distance。

dij=(sumsh=1|xihxjh|p)1/pdij=(sumh=1s|xihxjh|p)1/p

2.Euclidean distance

参数p = 2,Minkowski distance退化为Euclidean distance,使用Euclidean distance的聚类算法大多只能发现低维空间中呈超球分布的数据,并且对数据集中的噪声比较敏感。

dij=(sumsh=1|xihxjh|2)1/2dij=(sumh=1s|xihxjh|2)1/2

3.City-block distance

参数p = 1,Minkowski distance演变为City-block distance,City-block distance可以有效提高模糊聚类算法对噪声或者孤立点的鲁棒性。

dij=sumsh=1|xihxjh|dij=sumh=1s|xihxjh|

4.Sup distance

参数p = 无穷,Minkowski distance演变为Sup distance。

dij=maxh|xihxjh|dij=maxh|xihxjh|

5.Cosine similarity

sij=xTixj||xi||||xj||sij=xiTxj||xi||||xj||

6.Mahalanobis distance

Mahalanobis distance为原特征空间中的数据在线性投影空间欧式距离,使用Mahalanobis distance能够使得聚类算法成功发现数据集里成超椭球型分布的类簇,但是Mahalanobis distance会带来较大的计算量。

dij=(xixj)TS1(xixj)dij=(xixj)TS1(xixj)

7.Alternative distance

Alternative distance对数据集里的噪声不敏感。

dij=1exp(β||xixj||2)dij=1exp(β||xixj||2)

8.Feature weighted distance

dij=(sumsh=1wah|xihxjh|)1/2dij=(sumh=1swha|xihxjh|)1/2

2.代码

代码,

import numpy as npa = np.array([1,2,3,4])b = np.array([4,3,2,1])print aprint b#Euclidean distancedistEu = np.sqrt(np.sum((a-b)**2))print "Euclidean distance = ",distEu#City-block distancedistCb = np.sum(np.abs(a-b))print "City-block distance = ",distCb#Sup distancedistSup = max(np.abs(a-b))print "Sup distance = ",distSup#Cosine similaritycosineSimi = np.dot(a,b) / (np.sqrt(np.sum(a**2)) * np.sqrt(np.sum(b**2)))print "Cosine similarity = ",cosineSimi#Alternative distancebeta = 0.5distAlter = 1 - np.exp(-beta * np.sqrt(np.sum((a - b)**2)))print "Alternative distance = ",distAlter#Feature weighted distanceweigh = np.array([0.5,0.3,0.1,0.1])distFea = np.sqrt(np.dot(weigh,np.abs(a-b)))print "Feature weighted distance = ",distFea

输出,

[1 2 3 4][4 3 2 1]Euclidean distance =  4.472135955City-block distance =  8Sup distance =  3Cosine similarity =  0.666666666667Alternative distance =  0.89312207434Feature weighted distance =  1.48323969742


数据 算法 相似 方法 参数 噪声 程度 相异 代码 函数 空间 常见 有效 较大 成功 直观 之间 公式 向量 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大同乃心虎网络技术 群英高防服务器怎么样 油乐网络技术有限公司怎么样 宝山区网络技术服务管理方法 马尼拉做软件开发 大连软件开发品牌 北京ios软件开发定制企业 裸金属服务器网卡不发送dhcp 注册软件开发外包公司 淘越网络技术是真的吗 白盾网络安全 乌海软件开发培训 数据库建设课题合同书 软件开发数据验证报告模板 电脑本地数据库在手机能否访问 认识到网络安全犯罪影响社会 松江区会计软件开发诚信为本 莱芜戴尔服务器代理供应商 百度智能云与阿里云的数据库 qt 自动备份数据库 一直卡在发现服务器 风电场网络安全监测装置的作用 耳机软件开发工具包有什么作用 数码网络技术工作室 普陀区银联软件开发问答知识 法院对网络安全法司法解释 等级保护软件开发安全规范 完善网络安全监管 火山软件开发平台 破解版 qt 自动备份数据库
0