简介
目前存在的推荐系统主要分为两种:
1.基于内容的推荐系统
方式:通过分析单个用户或资源的原始信息来进行推荐;
优点:对于稀疏性有一定的抵抗能力;
缺点:只能发现与已有兴趣相似的资源,难以挖掘新的感兴趣资源;
2.基于协同过滤的推荐系统
方式:基于历史上多个用户的访问信息对用户群体的喜好进行分析最后推荐使用者可能感兴趣的资源;
优点:能有效挖掘出新的感兴趣的资源,且无需考虑资源的表示形式;
缺点:对于稀疏性高的数据,系统性能会大大降低;
图模型
大多数的推荐算法都面临数据稀疏性问题,图模型的算法能明显的改进稀疏性问题、提高推荐准确度。
图模型:
用户对资源进行评分行为可以看作一种联系,表达了用户对资源的偏好。
对这种联系建立模型,把用户和资源表示成图中的点,如果用户使用过某资源,则在该用户和资源之间连边,把评分作为边的权值。
用户背景信息是很强的社会信息,用户的背景能够决定用户对信息资源的需求。背景信息相同的人可能对资源有相似的偏好。
使用带重启机制的随机游走算法(Random Walk with Restart),计算一个用户到其他所有用户的相关度。
RWR算法:算法从图中某个顶点出发,沿图中的边随机游走。在任意点上,算法以一定的概率随机地选择与该顶点相邻的边,沿这条边移动到下一个顶点,或以一定的概率直接回到出发点。对于一个非周期不可约的图,经过若干次随机游走过程,到达图中每一个顶点的概率值达到平稳分布,再次迭代也不改变图中的概率分布值。此时,图中每个点的概率值可以看作该顶点与出发点的联系紧密程度。
矩阵分解
矩阵分解的思路是把评分矩阵通过分解,用一个低秩的矩阵来逼近原来的评分矩阵。
对原来的庞大的常常又非常稀疏的矩阵进行降维和分解,而分解后得到的矩阵都是稠密矩阵。
v优点:
Ø比较容易编程实现
Ø比较低的时间和空间复杂度
Ø预测的精度比较高
Ø非常好的扩展性
缺点:
Ø推荐的结果不具有很好的可解释性。
Ø付出的空间代价太大。
Topic model
Topicmodel(
主题模型
)
其实网易的算法可以算是主题模型的一种简易展现。
readablenormally
主题模型(topicmodel)可以无监督地对文档和词进行分类。主题模型训练推理有两种:
1.LDA
2.pLSA
LDA可以将一篇文档用多个主题以概率形式组成,pLSA只有一个主题
增强学习
增强学习原理:
Agent通过接收每一个状态下的响应评估来做一个较合理的行为,设定一个回报函数,目标就是最大化回报的和。
对于控制决策问题,有这么一种解决思路。我们设计一个回报函数(reward function),如果learning agent在决定一步后,获得了较好的结果,那么我们给agent一些回报(比如回报函数结果为正),得到较差的结果,那么回报函数为负。
比如,四足机器人,如果他向前走了一步(接近目标),那么回报函数为正,后退为负。如果我们能够对每一步进行评价,得到相应的回报函数,那么就好办了,我们只需要找到一条回报值最大的路径(每步的回报之和最大),就认为是最佳的路径。
决策树
决策树构建比较简单:
1.将所有的用户评分数据映射到<like,dislike, unknown>三维空间上;
●
2.从根结点开始,选择最佳的分割项,自顶向下建树;
●
3.终止条件,同时考虑以下三种:
设定树的最大深度;
设定最佳分割项的误差阈值;
设定当前节点的最少评分数量;
集成学习
将一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。
集成学习算法应用于决策树 随机森林
随机森林算法:
Bagging和随机森林的思路相似,随机有放回的采样数据,建立多个训练器,最终预测函数对分类问题采用投票的方式得到结果。
Boosting的思想是考虑了权重的:
I表示商品集合
r表示评分矩阵
I表示商品集合
r表示评分矩阵