机器学习中的相似性度量方法:闵可夫斯基距离
创作时间:
作者:
@小白创作中心
机器学习中的相似性度量方法:闵可夫斯基距离
引用
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值下计算出的距离值,这有助于理解闵可夫斯基距离的灵活性和适用性。
热门推荐
年夜饭必吃红烧肉,鸿运当头!
年夜饭必备:米其林大厨教你做红烧肉
上海儿童医学中心揭秘湿疹自愈真相:50%儿童可自愈,但需科学管理
干性湿疹也能自愈?保湿霜立功!
“机票来时一千,返程一万”,三亚怎么了
返程机票暴涨,滞留三亚游客超8万,1家5口从三亚飞回新疆要花10万
汕尾网红海上公路打卡攻略:红海湾&风车岛
自驾游汕尾:海上公路的绝美打卡点
汕尾金町湾:北纬22度的海上香格里拉
企业欠员工工资,多久可以申请劳动仲裁?
哪些美国研究生专业的就业前景较好?
2024年就业率排名:计算机跌出前排,能源动力工程成最大赢家
加州伯克利分校跨学科项目有哪些?
文化和旅游部发布12条全国冰雪旅游精品线路
红旗:以科技创新续写文化传承新篇章
冬季淄博至天津自驾游必检清单
英伟达台积电暴跌背后:市场震动、业务模式与投资策略
湿疹护理小妙招,你用对了吗?
北京儿童医院推荐:秋冬湿疹患者营养调理方案
非遗版中国年来了!这个春节,在北京就要这young过!
如何写出文章的画面感
冬日暖阳下的街子古镇:千年古刹与川西水乡的完美融合
清蒸鲤鱼简单几步,就能做出不一样的味道,你喜欢吗
红烧鲤鱼不仅是一道美味佳肴,更是中国传统烹饪文化中的珍品
街子古镇:千年非遗文化的传承与创新
冬日暖阳下的诗意古镇:成都街子古镇深度游攻略
千年古镇展新颜:走进“川西水乡”街子古镇
光严禅院:川西千年古刹的文化瑰宝
冬季养生的美味之选:白灼虾的营养与烹饪指南
海鲜市场挑虾攻略:白灼虾鲜到爆表!