传统的推荐模型(一)
发展脉络:类似搜索引擎中的倒排索引算法,先进行倒排,再构造共现矩阵从而减少计算量,最后计算相似度(UF,TF)。通过考虑热门物品或者热门用户的影响,设置权重指标,将热门物品和热门用户的影响降到最低(IIF,IUF),从而提高覆盖率,解决长尾问题。通过引入矩阵分解(MF),相当于对用户进行了分类,或者对物品进行了分类,一方面对计算进行了优化,一方面也提高了系统数据泛化的特性。隐语义模型,也是通过矩阵分解,探究隐藏关系,分解的维度可以通过梯度下降法求得。图模型,通过图的天然特性,即节点与节点之间的联系,来计算节点之间的相似度,从而进行推荐。
倒排索引
将文章变成词条,将词条变成向量。如TF-IDF算法。
TF即为统计词条频率,从而构造基础的向量。IDF即是考虑热门词条的影响,因为热门词条不能作为文章之间的区分标准,因此需加入权重因子,使热门词条最终的影响降到最低。
UserCF&&ItemCF(基于邻域的算法)
构造倒排表,为构造共现矩阵做准备
构造共现矩阵,从而使时间复杂度从O(mn)降低成了O(mm) 假设m
引入权重因子,降低热门物品的影响。
最终形式
对比
隐语义模型
通过矩阵分解,提取用户和物品之间的隐藏特征,从而找到用户和物品之间的相关性,比如说一个用户和另外一个用户并没有买过同样的物品,但这并不代表这两个用户就毫不相干。MxN维矩阵分解成MK维,KN维的矩阵,有些时候可以通过向量的内积即可计算用户和物品的相关度。
可以理解为是一种基于兴趣分类的方法。一个人有多个兴趣,一个兴趣包含多个类别,反之同理。
随机采样,不能只采集正样本,即用户有过历史行为的样本,也要采集那种用户没有历史行为的样本,即为负样本。同时,若物品为热门物品,且刚好用户对其没有历史行为,这种样本也很具代表性。
采用梯度下降的方式计算隐予以模型中的K值(https://www.huaweicloud.com/articles/f40711c8aa25e869d0bd98880dd40913.html)
图模型
一张图中,若一个节点到另一个节点的路径越短,到达另外一节点的方式越多,即为这两点之间的相似度越大,关系越紧密。实现思路可参考图的遍历算法。