SEO培训_网站优化培训_百度关键词排名_海瑶SEO学堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1231|回复: 2

【SEO培训】浅谈推荐系统的核心思想

[复制链接]

567

主题

577

帖子

6601

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6601
QQ
发表于 2016-5-27 23:14:17 | 显示全部楼层 |阅读模式
SEO培训】浅谈推荐系统的核心思想


或许一谈到数据挖掘中的推荐系统,大家第一反应就是协同过滤,要么就是基于内容推荐等等。但实际在生产环境中往往没有想象中这么复杂,但另一方面又没有想象中这么简单,确实很矛盾的存在。

浅谈推荐系统的核心思想

浅谈推荐系统的核心思想
  (1)推荐系统的本质
  我不敢说我说的一定就是对的,这里只是个人见解,如果有出入,欢迎指正。我这里说的推荐系统主要针对的是文章类的推荐。
  推荐系统的用户价值在于为用户提供一个更好的阅读体现(文章博客类),即在用户阅读一篇文章的同时,你如何能够为他推荐出他会去继续浏览的文章,为网站创造更大的价值量,也就是PV。
  其实核心本质思想就一条:想办法让用户点击更多的文章,创造更大的PV价值。
  (2)其实没有这么复杂
  推荐系统看起来很玄奥,其实最常用的方式就是个性化推荐,所谓个性化推荐说白了就是如何结合用户的喜好为用户推荐内容。让用户看到用户想看到的东西,这样用户就会继续点击,从而提高了网站的流量。
  正如文章开头所说的,很多人第一反应就是随之而来的协同过滤啊等等推荐算法,但在现实生产环境中,使用这些推荐算法的也有,但往往很多计算模型都不算太复杂。关键在于计算阅读文章的热度,如何计算热度?
  计算模型其实千变万化,但其核心在于几个关键指数:浏览量、顶、踩、时间等。基于这些元素、再结合用户的兴趣标签(这里对用户的兴趣模型建设就不做描述了),进行文章推荐。有人会用成型的推荐模型,正如之前所说的协同过滤等,也有人会自己构建相关模型,说简单点就是构建不同元素的权重比,为预推荐的文章打分,然后形成推荐列表,就这么简单。
  (3)其实没有这么简单
  依靠文章的关键指标:入浏览量、顶踩等,那么就需要大量的用户互动信息,如果这是一篇新的文章,哪怕它很优秀,但它也很难进入推荐榜,而那些比较热的文章则由于推荐的原因会越来越热。
  这些都不是很符合实际情况的。我们希望给用户推荐的是比较优秀,并且符合用户口味的文章,让他有急需浏览下去的欲望。如果用户反反复复看到的都是那几篇文章,这种效果显然不是我们想要的。
  所以,实际上的推荐没有这么简单!
  (1)如何解决那些新文章的问题?
  依靠外界信息的评判,判断一篇文章不能单纯的从浏览量、顶踩数来判断,或者确切地说,不能单纯依赖自身得这些指标来评判。我们可以通过分析的途径,将外界获取到的优秀文章进行分析,然后对自身文章跟外源优秀文章进行相似度匹配,若相似度高,我们就可以隐性的认为,这篇文章同样属于一篇优秀的文章,虽然它的顶踩数、浏览数从目前看还不高。
  (2)如何解决热文章长期占据推荐榜的问题?
  这个问题相对来说好解决,那就是引入时间的指标,我们只需要在计算模型中引入时间,随着时间的推移,之前上榜的文章权重降低,这样就达到了时时把比较热,并且比较新的文章推荐出去。至于具体的计算模型那就需要进一步的设计以及效果调试了。
  当然,以上说的这些都是一些思想,具体的算法模型还需要设计,但是通常来讲,并不是越复杂的模型越好,而是越能实际解决问题的模型越好,这就得看具体的业务需求了~~


转载文章请注明:SEO培训教程

本文地址:SEO培训http://seo.cao4.net/thread-849-1-1.html

回复

使用道具 举报

0

主题

8

帖子

26

积分

新手上路

Rank: 1

积分
26
发表于 2016-5-27 23:16:45 | 显示全部楼层
在投资者衡量站长网站价值高低的因素中,PV显得非常重要,但是很多站长对于PV还是不重视的,认为PV的价值不高,实际上这种错误的认知会导致站长错失很多信息。通过网站流量查询可以看出,不少网站中的PV能够为站长显示很多内容,而站长通过这些内容也能更好的调整网站,从而获得更多的收益和更高的排名。那么,都有哪些因素会影响PV值呢?
  SEO优化站长指出,网站流量和PV之间存在很大的关联,PV越大,流量越高,网站价值也越高,而投资者所给的投资尺度也会越大。那么,都有哪些因素影响PV呢?
影响PV值高低的因素主要有以下几点
一、网站信息的好坏
  PV实际上是用户访问的深度,通过很多网站流量查询平台可以发现,有的网站页面会有很多用户访问,甚至根据这些途径会访问到其他的页面,这就是一个PV,而有的网站虽然首页打开不少,但是浏览内页的非常少,因此PV也不会很高。
  这种情况就反应了一个网站质量的高低,对此,站长如果想要提升自己的网站,那么,提升网站更新内容质量是必须的。
  另外,在更新过程中,最好选择一些对用户有用的的信息,不要写一些专业术语或者是无关的,那样会让用户迅速关闭你的网站。
二、访问周期
  一般情况下,遇到不好的网站,大多数人会迅速关闭,并且不再浏览,这样的次数不在少数,而网站流量查询中根本看不到,但是对网站来说却是绝大的损失,而如果是一个不错的网站,用户会在一天的时间内反复浏览,这样就会增加网站流量和PV,为网站提升价值,当然,因为每个人的习惯不一样,访问的时间段以及周期也不一样,因此,最终产生的访问周期以及PV数值也是不一样的。
三、突发事件导致PV增加
  简单的说就是某个网站突然有了某种价值,导致很多用户访问,而这种情况很偶然,带来的流量也是非常可观的,但是非常偶然,不能期待每天都这样。而由此带来的PV却是附加值,也就是说用户在浏览这些页面的同时也可能会浏览其他的页面,进而增加网站的PV。
  了解了影响PV的因素,那么,站长该如何有意识的增加PV呢?SEO优化前辈指出,要想增加PV,可以通过以下几种途径:
第一、提升网站内容质量
  用户体验是PV增加的最好表现,一个网站如果有大量对用户有用的信息,那么不用说,用户也会自己访问,比如现在存在的几个非常有名气的SEO论坛,通过它们的网站流量查询可以看出,每天都有上万人在浏览,发问题、解决问题,而也有不少人在点击以往他人发布的经验和分享,最终为论坛带来更深的PV值。
第二、写一些用户感兴趣的东西
  博客中,大多数人关心的是情感方面的故事,论坛中,大部分人关心的是论坛中提问的问题,企业网站中,用户关心的则是产品和服务的信息,因此有针对性的写一些用户感兴趣的东西,保证你的网站PV能在短期内大量增加。
第三、将内容进行关联和分页
  通过网站流量查询工具可以发现,一般图片网站流量最大,因为它们的图片通常就是一个页面,而用户看完一篇文章,有时候需要点击数十张图片,最终带来更多的PV,因此如果你的文章内容很长,那么不妨分页,让你的用户自己点击,为你增加PV值。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2016-5-27 23:18:38 | 显示全部楼层
推荐系统是当下越来越热的一个研究问题,无论在学术界还是在工业界都有很多优秀的人才参与其中。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮,比如几年前的Neflix百万大奖赛,KDD CUP 2011的音乐推荐比赛,去年的百度电影推荐竞赛,还有最近的阿里巴巴大数据竞赛。这些比赛对推荐系统的发展都起到了很大的推动作用,使我们有机会接触到真实的工业界数据。我们利用这些数据可以更好地学习掌握推荐系统,这些数据网上很多,大家可以到网上下载。

        推荐系统在工业领域中取得了巨大的成功,尤其是在电子商务中。很多电子商务网站利用推荐系统来提高销售收入,推荐系统为Amazon网站每年带来30%的销售收入。推荐系统在不同网站上应用的方式不同,这个不是本文的重点,如果感兴趣可以阅读《推荐系统实践》(人民邮电出版社,项亮)第一章内容。下面进入主题。

       为了方便介绍,假设推荐系统中有用户集合有6个用户,即U={u1,u2,u3,u4,u5,u6},项目(物品)集合有7个项目,即V={v1,v2,v3,v4,v5,v6,v7},用户对项目的评分结合为R,用户对项目的评分范围是[0, 5]。R具体表示如下:

       推荐系统的目标就是预测出符号“?”对应位置的分值。推荐系统基于这样一个假设:用户对项目的打分越高,表明用户越喜欢。因此,预测出用户对未评分项目的评分后,根据分值大小排序,把分值高的项目推荐给用户。怎么预测这些评分呢,方法大体上可以分为基于内容的推荐、协同过滤推荐和混合推荐三类,协同过滤算法进一步划分又可分为基于基于内存的推荐(memory-based)和基于模型的推荐(model-based),本文介绍的矩阵分解算法属于基于模型的推荐。

        矩阵分解算法的数学理论基础是矩阵的行列变换。在《线性代数》中,我们知道矩阵A进行行变换相当于A左乘一个矩阵,矩阵A进行列变换等价于矩阵A右乘一个矩阵,因此矩阵A可以表示为A=PEQ=PQ(E是标准阵)。

       矩阵分解目标就是把用户-项目评分矩阵R分解成用户因子矩阵和项目因子矩阵乘的形式,即R=UV,这里R是n×m, n =6, m =7,U是n×k,V是k×m。直观地表示如下:

       高维的用户-项目评分矩阵分解成为两个低维的用户因子矩阵和项目因子矩阵,因此矩阵分解和PCA不同,不是为了降维。用户i对项目j的评分r_ij =innerproduct(u_i, v_j),更一般的情况是r_ij =f(U_i, V_j),这里为了介绍方便就是用u_i和v_j内积的形式。下面介绍评估低维矩阵乘积拟合评分矩阵的方法。

      首先假设,用户对项目的真实评分和预测评分之间的差服从高斯分布,基于这一假设,可推导出目标函数如下:


最后得到矩阵分解的目标函数如下:


       从最终得到得目标函数可以直观地理解,预测的分值就是尽量逼近真实的已知评分值。有了目标函数之后,下面就开始谈优化方法了,通常的优化方法分为两种:交叉最小二乘法(alternative least squares)和随机梯度下降法(stochastic gradient descent)。

      首先介绍交叉最小二乘法,之所以交叉最小二乘法能够应用到这个目标函数主要是因为L对U和V都是凸函数。首先分别对用户因子向量和项目因子向量求偏导,令偏导等于0求驻点,具体解法如下:


       上面就是用户因子向量和项目因子向量的更新公式,迭代更新公式即可找到可接受的局部最优解。迭代终止的条件下面会讲到。

       接下来讲解随机梯度下降法,这个方法应用的最多。大致思想是让变量沿着目标函数负梯度的方向移动,直到移动到极小值点。直观的表示如下:


     其实负梯度的负方向,当函数是凸函数时是函数值减小的方向走;当函数是凹函数时是往函数值增大的方向移动。而矩阵分解的目标函数L是凸函数,因此,通过梯度下降法我们能够得到目标函数L的极小值(理想情况是最小值)。

     言归正传,通过上面的讲解,我们可以获取梯度下降算法的因子矩阵更新公式,具体如下:

      

(3)和(4)中的γ指的是步长,也即是学习速率,它是一个超参数,需要调参确定。对于梯度见(1)和(2)。

下面说下迭代终止的条件。迭代终止的条件有很多种,就目前我了解的主要有

1)    设置一个阈值,当L函数值小于阈值时就停止迭代,不常用

2)    设置一个阈值,当前后两次函数值变化绝对值小于阈值时,停止迭代

3)    设置固定迭代次数

       另外还有一个问题,当用户-项目评分矩阵R非常稀疏时,就会出现过拟合(overfitting)的问题,过拟合问题的解决方法就是正则化(regularization)。正则化其实就是在目标函数中加上用户因子向量和项目因子向量的二范数,当然也可以加上一范数。至于加上一范数还是二范数要看具体情况,一范数会使很多因子为0,从而减小模型大小,而二范数则不会它只能使因子接近于0,而不能使其为0,关于这个的介绍可参考论文Regression Shrinkage and Selection via the Lasso。引入正则化项后目标函数变为:

   

(5)中λ_1和λ_2是指正则项的权重,这两个值可以取一样,具体取值也需要根据数据集调参得到。优化方法和前面一样,只是梯度公式需要更新一下。

矩阵分解算法目前在推荐系统中应用非常广泛,对于使用RMSE作为评价指标的系统尤为明显,因为矩阵分解的目标就是使RMSE取值最小。但矩阵分解有其弱点,就是解释性差,不能很好为推荐结果做出解释。

      后面会继续介绍矩阵分解算法的扩展性问题,就是如何加入隐反馈信息,加入时间信息等。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免费诊断网站
在线咨询
咨询热线
15859578444
微信扫一扫
直接访问本页内容

QQ|手机版|小黑屋|SEO学堂

GMT+8, 2017-10-23 21:34 , Processed in 0.282063 second(s), 35 queries .

Powered by SEO教程 X3.2 SEO培训 网站优化排名 网站优化①群:434931228 百度快速排名②群:199706487 本站业务:百度SEO培训,关键词排名服务,网站降权诊断,SEO教程视频分享

© 2001-2013 海瑶SEO学堂

快速回复 返回顶部 返回列表