机器学习中的相似性度量方法:闵可夫斯基距离
创作时间:
作者:
@小白创作中心
机器学习中的相似性度量方法:闵可夫斯基距离
引用
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值下计算出的距离值,这有助于理解闵可夫斯基距离的灵活性和适用性。
热门推荐
《中国文化产业IP影响力报告》发布:网文占比高,影漫游改编潜力大
鲸类研究,为啥难?
鲸鱼知识大全
座头鲸的体型特征及命名由来
南京樱花季与红叶季:一场跨越千年的自然盛宴
南京旅游新玩法:地铁+单车游古都
哈熊沟景区旅游攻略:自然风光与户外活动的完美结合
海参新研究:逆转动脉硬化的秘密武器?
冬季养生:海参如何护心?
专家解读:海参真的能护心吗?
跑者常見的困擾之一:後大腿緊繃的原因解析
瘦腿的瑜伽动作有哪些
秋冬打卡深圳鹿嘴山庄,看海住木屋!
深圳鹿嘴山庄:周末打卡胜地!
打卡鹿嘴山庄:徒步者的天堂!
饺子:从药学院学生到动画电影导演的蜕变之路
新年新开始:父母如何与孩子共同设立自我管理目标?
孩子总是“选择困难症”、缺乏主见?父母不妨尝试这四招
小学阶段儿童的心理特征以及对应的交流方式
水仙花:春之使者,花中仙子
俞香顺谈中外交流中的“水仙花”
《暗黑破坏神2:狱火重生》最新更新内容及bug解决方案
当角色卡bug时,《原神》玩家该如何保持心态?
游戏开发中的Bug排查秘籍
冬天适合养什么鱼?
冬季养鱼的5个必备技巧(保证鱼儿度过寒冷季节的关键技巧)
巢湖三大景区春节活动全攻略:舞龙、祈福、赏花灯,年味满满!
探秘巢湖:小白龙与焦姥的千年情缘
廿八都,一座藏在大山深处的“文化飞地”
2024年下半及未来:预测未来动漫的风格、技术与题材趋势