推荐算法原理(一)余弦定理计算物品间相似度 大家好,我是一名内容型产品经理,决定写这系列的文章是因为想记录下在日常工作中遇到的问题和学习到的知识,分享给大家希望可以多多交流。 最近越来越多的产品都有需要用到推荐算法,例如资讯类产品需要为用户在首页信息流推荐内容,社区类产品也需要为用户推荐感兴趣的东西。然而算法有很多种,不过无论怎样,都会需要计算两个物品/内容间的相似度,然后再做进一步处理,本系列文章为大家介绍在实际生产环境中一些常用到的简单推荐算法~ 1. 利用余弦定理公式计算物品间的相似度余弦相似度原理 用向量空间中的两个向量夹角的余弦值作为衡量两个个体间差异大小的度量,值越接近1,就说明夹角角度越接近0°,也就是两个向量越相似 用向量余弦公式简化为:
公式只是次要的哈哈哈哈,最重要的是下面的推导过程,下面为大家逐步逐步剖析公式是怎么推导过来的~推导过程 向量a,b,夹角为θ:
作辅助线c:
余弦定理求cosθ:
如图,将这个模型放到二维坐标下:
那么构建出来的三角形三条边的边长分别为(勾股定理):
把a,b,c代入余弦定理公式,计算过程如下:
由于:
所以:
上述公式是在二维坐标中进行推导的,如果拓展到n维坐标,这个公式会写成:
2. 实际运用 现在假设: A用户喜欢a,b,d B用户喜欢b,c,e C用户喜欢c,d D用户喜欢b,c,d E用户喜欢a,d 建立物品-用户的倒排表,列出每个物品都被哪些用户喜欢,其中“1”表示喜欢,“2”表示不喜欢。 注意:这里的喜欢行为可以理解成是用户在产品上触发的交互,例如,评论,点赞,收藏等。
利用前面说到的余弦定理公式计算两个物品间的相似度 例如:将物品a和b分别看作是多维空间中的两个向量,则有:a(1,0,0,0,1);b(1,1,0,1,0),所以物品a和物品b的相似度为:
3. 总结 至此,我们已经完成了利用余弦定理公式计算物品间的相似度。不过由于生产环境中的用户量和物品量都肯定不只有5个,当我们的数据量非常庞大时,这种计算方法就会显得非常吃力。所以我们整个推荐系统的架构不可能只由这一个算法构成,还需要诸如离线生成候选集,对候选集进行排序,规则干预,然后进行内容曝光之类的操作,不过这次的内容先到这里了,感兴趣的朋友可以在评论区留言,大家多多交流~
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/66879.html