【机器学习】3. 欧式距离,曼哈顿距离,Minkowski距离,加权欧式距离

Euclidean - L2 norm L2范数

D ( A , B ) = ( a 1 − b 1 ) 2 + ( a 2 − b 2 ) 2 + . . . D(A,B) = \sqrt{(a_1-b_1)^2+(a_2-b_2)^2 + ...} D(A,B)=(a1−b1)2+(a2−b2)2+...

Manhattan

D ( A , B ) = ∣ a 1 − b 1 ∣ + ∣ a 2 − b 2 ∣ + . . . D(A,B) = \sqrt{|a_1-b_1|+|a_2-b_2| + ...} D(A,B)=∣a1−b1∣+∣a2−b2∣+...

Euclidean欧式距离 是直接距离, Manhattan不能走斜线,只能走直线,所以是绝对值的和。

由于 Manhattan distance可以看成是直角三角形的直角边,Euclidean distance可以看成是斜边,所以Manhattan distance >= Eculidean distance.

Minkowski distance

D ( A , B ) = ( ( a 1 − b 1 ) q + ( a 2 − b 2 ) q + . . . ) 1 / q D(A,B) = ((a_1-b_1)^q+(a_2-b_2)^q + ...)^{1/q} D(A,B)=((a1−b1)q+(a2−b2)q+...)1/q

Minkowski distance 是上面两种距离的变型。

Weighted Euclidean

D ( A , B ) = w 1 ( a 1 − b 1 ) 2 + w 2 ( a 2 − b 2 ) 2 + . . . D(A,B) = \sqrt {w_1(a_1-b_1)^2+w_2(a_2-b_2)^2 + ...} D(A,B)=w1(a1−b1)2+w2(a2−b2)2+...

Weighted Distance

权重对比,比如权重取:
1 d 2 \frac{1}{d^2} d21

为什么需要权重呢?这里举一个KNN的例子,在KNN中,我们将距离最近的几个数据中的众数作为最终结果。如果直接使用欧氏距离,会有一个弊端,如下图。

假设我们求黑点的预测值,K是3,1,2,3代表了最近的三个点。 根据我们肉眼判断,黑点应该属于蓝色更加合理,但是传统KNN判断最近的是2个红色,一个蓝色,会将这个黑点划分到红点中。

而权重很好的解决了这个问题,距离更近的权重越大。

例如,黑点到蓝点的距离是1,到两个红点的距离是3。

1/ 1^2 > 1/3^2 + 1/3^2

最后结果是这样的,由于1 > 2/9, 结果判断为蓝色。

相关推荐
裤裤兔几秒前
python2与python3的兼容
开发语言·python·numpy
Skrrapper5 分钟前
【大模型开发之数据挖掘】2.数据挖掘的核心任务与常用方法
数据库·人工智能·数据挖掘
围炉聊科技6 分钟前
尝鲜 AWS Agentic IDE:Kiro 一周使用初体验
ide·人工智能·ai编程·aws
智算菩萨1 小时前
从对话演示到智能工作平台:ChatGPT的三年演进史(2022-2025)
人工智能·chatgpt
lsrsyx1 小时前
以科技守护长寿:Quantum Life 自主研发AI驱动平台助力港怡医疗,开启香港精准预防医疗新时代
人工智能·科技
Good kid.1 小时前
基于XGBoost的中文垃圾分类系统实战(TF-IDF + XGBoost)
人工智能·分类·tf-idf
我送炭你添花8 小时前
Pelco KBD300A 模拟器:03.Pelco-P 协议 8 字节完整拆解 + 与 Pelco-D 一一对应终极对照表
python·测试工具·运维开发
It's now8 小时前
Spring AI 基础开发流程
java·人工智能·后端·spring
Glad_R8 小时前
巧用AI流程图,让信息呈现更全面
人工智能·信息可视化·产品运营·流程图·产品经理
R.lin9 小时前
Java 8日期时间API完全指南
java·开发语言·python