机器学习中的相似性度量方法:闵可夫斯基距离
创作时间:
作者:
@小白创作中心
机器学习中的相似性度量方法:闵可夫斯基距离
引用
CSDN
1.
https://m.blog.csdn.net/augustme/article/details/139903405
闵可夫斯基距离(Minkowski Distance)是一种在多维空间中衡量两点间距离的方法,它是对多个其他常见距离度量方法(如曼哈顿距离、欧式距离和切比雪夫距离)的一种概括和推广。
计算公式
两个向量或者两个点A(x1, x2, x3, ..., xn)和B(y1, y2, y3, ..., yn)之间的闵可夫斯基距离定义公式为:
d(A, B) = (∑i=1n |xi - yi|p)1/p
其中,p是一个正实数参数。
- 当p=1时,闵可夫斯基距离退化为曼哈顿距离(绝对距离、城市街区距离),即:
d(A, B) = ∑i=1n |xi - yi|
- 当p=2时,闵可夫斯基距离退化为欧几里得距离(欧氏距离),即:
d(A, B) = √(∑i=1n (xi - yi)2)
- 当p→∞时,闵可夫斯基距离变为切比雪夫距离(棋盘距离),即两点在各维度上距离的最大值:
d(A, B) = lim p→∞ (∑i=1n |xi - yi|p)1/p = max(|xi - yi|)
闵可夫斯基距离由于包含了多种距离度量,因此具有较广的适用范围。根据具体的应用场景和数据特性,可以选择合适的p值来定义距离。
代码实现
下面是用Python实现的闵可夫斯基距离计算代码:
import numpy as np
def minkowski_distance(x, y, p=2):
"""
计算两个点之间的闵可夫斯基距离
参数:
x, y: 数组或列表,代表两个点的坐标
p: 正实数,闵可夫斯基距离的指数
返回:
d: 闵可夫斯基距离
"""
# 确保x和y是NumPy数组
x = np.array(x)
y = np.array(y)
# 检查x和y的维度是否相同
if x.shape != y.shape:
raise ValueError("输入的点必须具有相同的维度")
# 计算闵可夫斯基距离
diff = np.abs(x - y)
distance = np.sum(diff ** p) ** (1 / p)
return distance
# 示例数据
A = [1, 2, 3]
B = [2, 3, 5]
# 计算欧几里得距离 (p=2)
euclidean_distance = minkowski_distance(A, B, p=2)
print(f"欧几里得距离: {euclidean_distance}")
# 计算曼哈顿距离 (p=1)
manhattan_distance = minkowski_distance(A, B, p=1)
print(f"曼哈顿距离: {manhattan_distance}")
# 计算切比雪夫距离 (使用大的p值,例如1000,来近似)
chebyshev_distance = minkowski_distance(A, B, p=10000) # 注意:这不是严格的切比雪夫距离,近似
print(f"切比雪夫距离近似: {chebyshev_distance}")
# 计算闵可夫斯基距离 (p=3)
minkowski_distance_p3 = minkowski_distance(A, B, p=3)
print(f"闵可夫斯基距离 (p=3): {minkowski_distance_p3}")
输出结果:
欧几里得距离: 2.449489742783178
曼哈顿距离: 4.0
切比雪夫距离近似: 1.0000693171203765
闵可夫斯基距离 (p=3): 2.154434690031884
通过这个例子,我们可以看到不同p值下计算出的距离值,这有助于理解闵可夫斯基距离的灵活性和适用性。
热门推荐
《崩坏:星穹铁道》丹恒·饮月最强配装攻略
炸藕盒也能吃得健康?试试这些小妙招
菜农爆料:中间节莲藕才是炸藕盒的"王炸"!
开天门与六字诀:中医养生简易法
大黑塔引爆《崩坏:星穹铁道》新版本热潮
《五福临门》:北宋市井姻缘喜剧,于正新剧笑翻你的春节假期!
微软账户注册攻略:《我的世界》基岩版
双手合十的表情包代表什么
你买的烟花爆竹是否合格?怎么买才安全?
潘经理&明经理教你玩转横盘股
布林线教你预测股票横盘走势
横盘行情下的心理应对秘籍
《崩坏:星穹铁道》3.0隐藏任务全攻略:6个任务接取位置与完成要点详解
《崩坏:星穹铁道》2.3版本更新体验:差分宇宙玩法上线,游戏性能全面优化
旅居云南热潮来袭,社会工作助力美好生活
云南少数民族文化探秘:打卡网红景点
海南春节特色美食:从传统小吃到年夜饭必备菜
海南春节:解锁热带海滨的欢乐密码
肝火旺患者的营养餐单大揭秘
肝火旺?试试这些养生小妙招
龙胆泻肝丸 vs 柴胡疏肝丸:谁更能“灭”肝火?
肝火旺?教你情绪管理小技巧
夏季停车最爱树荫下,树上分泌的液体会损伤车漆吗?
车在小区停车位上被树砸了,物业该负责任吗?
如何利用绿化提升路边停车的环境质量
视频号矩阵如何高效运营?短视频多平台一键发布有哪些技巧?
古希腊军事文化背后的政局风云
拿破仑:一位重塑欧洲军事格局的天才统帅
香蕉水能洗掉哪些东西
强肝必备:五味子的四种搭配推荐!