其他分享
首页 > 其他分享> > 用L2 距离做MIP、MCS排序

用L2 距离做MIP、MCS排序

作者:互联网

姚伟峰
[yaoweifeng0301@126.com]
http://www.cnblogs.com/Matrix_Yao/

问题

MIP (Maximum Inner Product)

MCS (Maximum Cosine Similarity)

转换

MIP L2

通过保序变换(Ordering Preserving Transformation):
, 对每个查询向量和库向量分别作如下变换:

则,新的维向量的L2距离与, 的IP距离有如下关系:
都与无关,因此:
维向量的L2距离的升序排序与的IP距离的降序排列是一致的。

 

MCS L2

Cosine相似性是归一化后的IP距离:

所以,可以先对做一个归一化, 变成。后面,就把这个问题转换成了MIP, 可以用上面的MIP->L2的变换。特殊的是:此时。因此, 只需要做一个很简单的变换:
则,
即:
从上式可得,的L2距离的升序排列与,、的cosine相似性的降序排列是一致的。

 

实操适用

IVF Based Indexing, 使用方式:

参考文献

  1. Speeding Up the Xbox Recommender System Using a Euclidean Transformation for Inner-Product Spaces

<style></style>

标签:变换,L2,质心,MIP,MCS,向量
来源: https://www.cnblogs.com/Matrix_Yao/p/13651978.html