推荐算法从入门、进阶到高级

推荐的算法的重要性我就不多说了,反正是各种重要。

最近一段时间结合部门业务,我仔细的研究了各种推荐算法,在此我会附上相应的书籍和文献,帮助大家迅速的入门进阶,最终进入推荐算法的高手行列。

推荐算法分为:1.协同的推荐算法;2.基于内容的推荐算法;3.混合的推荐算法

在甩干货之前,补充一些常识:

机器学习、深度学习、推荐算法和数据挖掘的关系?

个人认为(而且好多资料中写道(具体什么资料这个我真记不清了,以后看到原文我会补上))机器学习是一个宏观的方法论或者学习理论,是一个方法论范畴,深度学习是机器学习的一个小分支,包括逐渐火的迁移学习都是机器学习的分支,所有它们的学习方法和机器学习相同,当然深度学习可以解释大部分模型(现在的模型无非是线性的和非线性的,这里使用大部分,是为了稳妥起见,当然说全部的模型,在现阶段也是可以接受的),现在流行的LR(逻辑回归),LFM(带隐变量的逻辑回归,其实就是在逻辑回归的基础上增加各个变量的相互作用而已),xgboost(梯度决策树), RF(随机森林)等都可以用神经网络表示,无非是激活函数的选择和训练策略(比如dropout等)的选择而已。

推荐算法也是属于机器学习范畴,属于它的一个分支,目前流行的推荐算法:CF(协同过滤),MF(矩阵分解),PMF(概率矩阵分解),cf-dnn(协同神经网络过滤),都可以用机器学习的理论解释。

数据挖掘是一个应用层面,是一个工程的问题,它包括数据库、检索、算法等好多方面。数据挖掘需要机器学习算法支持和指导。

 

废话说完,开始甩干货

推荐算法入门:user_cf,item_cf,聚类算法   

参考资料:《推荐系统实践》项亮 ;Amazon.com Recommendations Item-to-Item Collaborative Filtering

 

推荐算法进阶: MF(基于矩阵分解的推荐算法,变种很多,SVD,SVD++等),PMF(基于概率的矩阵分解,使用贝叶斯学派的思想进行矩阵分解,特点是各种假设服从高斯分布,为什么都假设服从高斯分布呢?统计学中有大数定律支持,不知道大数定理的朋友自行脑补,只要采样足够多,都会收敛于正态分布;当然这种假设也有不准确的时候,使用之前要判断一下数据分布是否符合高斯分布,如果不符合可以采用方法变成高斯分布),根据MF和PMF可以产生很多变种,比如基于社交网络的推荐算法,其实就是一类隐变量与其他因素共同影响。有可能有n多个数据源决定矩阵分解中两类隐变量(user_embed,item_embed)

参考资料:

matrix factorization techniques for recommender systems

Probabilistic Matrix Factorization

SoRec: Social Recommendation Using Probabilistic Matrix Factorization

还有其他的一些带隐反馈的论文

 

 

推荐系统高级:cf_dnn,就是使用神经网络或者机器学习的思想解决推荐问题,一般的推荐的问题就变成了有监督的机器学习问题。使用神经网络的时候,有时候会求user和item的隐向量,通常采用one-hot编码表示user和item,在通过权重得到隐向量,当user和item量很大的时候,比如我最近训练的一个模型,用户10万,物品1千万,如果直接使用one-hot的编码很容易导致内存不够,这个时候一般整一个embeding层,这里embeding相当于一个字典,是自己初始化生成的,user或者item可以到这里查找对应的隐向量。

参考资料:

AutoRec Autoencoders Meet Collaborative Filtering

Collaborative Filtering with Stacked Denoising AutoEncoders and Sparse Inputs

Hybrid Collaborative Filtering with Autoencoders

Neural Collaborative Filtering

还有其他相关的基于神经网络推荐算法

 

Deep Learning for Recommender Systems. (2017)这是深度学习在推荐系统应用的一个总结

1.Embedding methods.代表方法matrix factorization

2.Feedforward Networks and Autoencoders for Collab- orative Filtering.代表方法:Deep Factorization Machines

3.Deep Feature extracting methods. 从图像,文本抽取特征

4.Session-based Recommendation with Recurrent Neural Networks,使用循环神经网络基于会话推荐,常用GRU

 

 

 

    原文作者:love_data_scientist
    原文地址: https://blog.csdn.net/love_data_scientist/article/details/77807880
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞