机器学习基础:相似度和距离度量究竟是什么
选自?Medium
机器之心编译
相似度度量和距离度量在整个机器学习领域都是非常基础的概念,数据科学家 Gonzalo Ferreiro Volpi 近日通过浅显易懂的推荐系统示例介绍了这些概念以及它们的计算方式。







from?scipy?import?spatial
def?adjusted_cos_distance_matrix(size,?matrix,?row_column):
????distances?=?np.zeros((size,size))
????if?row_column?==?0:
????????M_u?=?matrix.mean(axis=1)
????????m_sub?=?matrix?-?M_u[:,None]
????if?row_column?==?1:
????????M_u?=?matrix.T.mean(axis=1)
????????m_sub?=?matrix.T?-?M_u[:,None]
????for?first?in?range(0,size):
????????for?sec?in?range(0,size):
????????????distance?=?spatial.distance.cosine(m_sub[first],m_sub[sec])
????????????distances[first,sec]?=?distance
????return?distances
matrix:这就是用户之间的评分或观点等你衡量的东西或你的业务商品的原始矩阵。
row_columns:如果你衡量的是列之间的距离,则设为 1;如果你衡量的是行之间的距离,则设为 0;
size:所得矩阵的所需大小。也就是说,当寻找用户或商品相似度时,这就是用户或商品的数量。所以如果有 500 个不同用户,则距离矩阵的大小就为 500×500。
user_similarity = adjusted_cos_distance_matrix(n_users,data_matrix,0)
item_similarity = adjusted_cos_distance_matrix(n_items,data_matrix,1)
1. 欧几里德距离:如果绘制在 n 维空间中,相似的项取决于彼此之间的相近程度。

2. 皮尔森相关性或相关相似度:告诉了我们两个项之间的相关程度。相关性越高,则相似度越高。

3. 均方差:在于计算用户评分之间的平均平方差。MSE 更侧重于惩罚更大的错误。








关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








机器之心
