马氏距离是个啥?
马氏距离的数学定义并不复杂,但是我们在这里先用一个直观的例子体会一下它的作用。
大家应该对曼哈顿距离不陌生吧?如下图所示,图中灰色的交叉线表示一个马路的路网,其中A点是铁锤家门口,B点是我家门口。
如果我打车去找铁锤,那么需要走过距离|BC|+|CA|才能够到达。那么我们之间的曼哈顿距离就为:
然而,我发现事情不像我想像地那样简单。由于这个街区中上下的道路是主路,左右的道路是次路,因此沿着上下形式的时候遇到的红灯的时间更短,而左右方向红灯更长时间。如下图所示。
那么怎么解决这个问题呢?假设在主路上行驶单位距离所需的时间为 在次路上行驶的单位距离所需的时间为
那么我重新计算了我们之间的距离:
也就是说我们通过“加权”的方式使得这个距离更精准地反映我们实际的情况。
是不是有点儿“感觉”了?上面的例子很粗糙,请不要纠结它在理论上是否完美无缺,体会其思想就好。
再来看看更正式的例子。下图中A,B两点是在直角坐标系中的两点。他们之间的欧氏距离可以写作:
此时如果我们也突然觉得,我们的x轴上的单位距离的增量更重要,我们也要效仿上面例子给不同轴加权重,如下:
整理:
马氏距离的定义
马氏距离(Mahalanobis distance):一个可以描述两个向量之间距离的度量,其考虑了两者的“位置”相近程度、不确定性、相关性。
具体定义请参考维基百科:Mahalanobis distance
为什么数据关联要用马氏距离?用欧式距离不行吗?
咱一点点分析:
如果用欧式距离,相当于只考虑两个向量之间“位置”的相近程度:
上图展示的为传感器坐标系,其中