推广 热搜: page  关键词  链接  搜索  红书  获取  哪些  数据分析  服务  数据 

伽马分布最大似然估计R语言 伽玛分布的最大似然

   日期:2024-12-17     作者:2deg0    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/8844.html
核心提示:搜索引擎中,用户每天数以亿计的点击数据,是系统不断优化的有利数据。而将点击数据直接反馈到搜索引擎返回结果排序的模型,正是

搜索引擎中,用户每天数以亿计的点击数据,是系统不断优化的有利数据。而将点击数据直接反馈到搜索引擎返回结果排序的模型,正是点击模型。

搜索引擎上线初期,点击数据稀少,排序依赖于 content-based 的相关性排序模型,就是说,用户搜索词与某一条搜索结果之间的内容相关性关系有多高,按照这个分数由高到低排序。相关性排序是一种先验模型,在建模时经常有不足之处(模型、特征、内容质量等假设不足)。此时,即使相关性模型判定分数更高,也未必保证结果更加符合用户的预期。

因此,点击模型基于点击数据这类后验知识,开始作为相关性模型的有力补充,发挥用处。一个搜索结果好与不好,不仅与相关性分数高低有关,同样与用户点击的多少有关。同一个搜索词下,用户点的多的,是优质相关结果的概率更大;而点击寥寥无几的,是劣质无关结果的概率更大。毕竟是用户“用脚投票”的结果,大多是可信的。

讲到这里,最朴素的点击模型便会诞生:把点击最多的搜索结果往上排,是不是就解决了问题?这样做肯定是有效的,但同样会带来很多问题。此处列举几个最主要的问题:

  1. 稀疏问题:大量的长尾数据、新产生的数据,无法获得足够置信的点击数据。
  2. 点击反作弊问题:雇佣大量虚假流量,进行“搜索-点击”的造假,利用点击模型,给某些并不相关的搜索结果增加曝光度。
  3. 冷启动问题:新内容或长尾内容由于缺乏用户行为,在点击模型中应该如何公平计算。
  4. 内部关联:相近或相同搜索词的多次点击,或单次搜索下的多次点击,应该视为整体建模。
  5. 偏置(bias)问题:bias 有几种不同的类型:
  • attractive bias:用户一般会被标题党、图片等其他与相关性之外的信息干扰或“欺骗”,产生点击行为,此时的点击行为便是有偏的,需要区别对待。
  • position bias:最简单的例子,根据生物信息捕捉,一般用户对搜索的头部结果的观察是充分的,而对尾部结果的观察是完全不够的,甚至压根就不观察,这对尾部结果是不公平的。即使同个结果,在不同位置上就会产生的点击数据也是不同的,需要区别对待。
  • intent bias:同个搜索词,对不同人群来说,可能是完全不同的意思。举个真实的例子,搜索“灌篮”,80后可能是想找《灌篮高手》,而对00后可能是想找《这就是灌篮》。而搜索引擎在不同群体在不同场景获得的点击数据,需要区别对待。

当然,问题还有很多。这个系列里,我们会逐个认识几个经典的点击模型。这些问题,会或多或少地被这些模型解决。完美的模型并不存在,还需要我们的积极探索。

点击模型的基础是概率图模型,不同假设带来不同的模型。常见行为(event)注明如下:

  • :某条搜索结果被用户检验的事件。
  • :某条搜索结果吸引到用户的事件。
  • :某条搜索结果被用户点击的事件。

除了常见行为,还有常见变量(variable)的注明如下:

  • :一条搜索结果(可以是一条 url,一张图片,一个视频等),又称一条“文档”
  • :用户搜索词
  • :一条搜索结果的排序(位置)
  • :一个占位符,可以表示任何概念(concept),例如搜索词-文档对、排序等

参数(parameter),而不是变量。

好的,基础概念介绍到这里。让我们来几道开胃菜,认识几个最简单的点击模型。

随机点击模型(Random Click Model, RCM)

假设:用户点不点击搜索结果


参数(parameter)概率

是固定的。概率表示如下:



求解:统计所有搜索结果的展示数、点击数。


参数估计应该为点击率(点击数 / 展示数)。


点击率模型(Click-through Rate Models)

模型假设:在随机点击模型的基础上,统计不同位置的点击率,即为基于排序的点击率模型(Rank-based CTR Model, RCTR);统计不同


搜索时的


的点击率,即为

基于文档的点击率模型(document-based CTR Model, DCTR)

RCTR 模型的公式表示为:



DCTR 模型的公式表示为:



CTR 模型仅仅依赖统计量,就可以估计参数,比较简单,因此不做过多讨论。

级联模型(Cascade Model)

模型假设:各搜索 Session 仅产生一次点击行为,文档是否被点击由两个因素决定:是否被检验、是否能吸引用户。但 CM 与 PBM 的不同点在于,是否被检验并不是由单一变量控制的,而是由排序在此文档前的单个文档是否被检验、被点击所决定。直观来说,用户从上到下浏览文档,如果上个文档被检验甚至被点击后,会直接影响下个文档的被检验情况


图 2:CM 概率图


CM 的概率图模型如图 2 所示,符号化表达如下:


。根据此概率图以及符号化表达,可以得到 CM 的概率公式如下:



表示吸引度,仅与搜索词


与文档


有关



,可以理解为:上一个文档没有检验,则不会往下检验


,可以理解为:上一个文档点击之后,则不会往下检验,表明了 CM 模型的特点:

各搜索 Session 仅产生一次点击行为

,可以理解为:

只要不产生点击,会一直检验下去

对于点击模型的参数估计,传统求解方法分为两类。RCM, CTR, CM 这种只包含被观测到的随机变量(observed random variable)的模型,直接使用极大似然估计(maximum likelihood estimation, MLE)求导可以求解;而有一个或多个未观测到的隐变量(hidden variable)的模型,需要配合上 EM(expectation-maximization)算法来求解,下一篇我们再深入探讨。

最终结论;如果希望深入理解的朋友,可以按照顺序继续阅读下去公式的推导过程。

点击模型中充满着二值事件,可以假设随机变量都符合伯努利分布,其中分布参数为




)即概率密度函数为:



参数估计:极大似然估计(MLE)算法

用户的搜索 session 的集合被定义为


,其中某个 session 即为


,且有



搜索 session,表示用户执行一次搜索意图,直至停止搜索的 所有行为,可能包括多次搜索、多次点击行为。 在点击问题求解中,session 可以视为采样样本。举例:小明想找一张皮卡丘的头像,先在百度搜索“皮卡丘”,看了几条结果,点击了几次,没找到中意的结果,于是搜索“皮卡丘 头像”,最终找到并且退出百度,这整个过程即为一个 session。

对于某个 session 内的概念,其所代表的变量


伽马分布最大似然估计R语言 伽玛分布的最大似然

在 session


内的第


次出现时取值为


(仅能取值为 0 或 1)。此时整个 session 中,有关参数


的似然函数为:



似然函数,就是概念


在 session 内整体的事件发生概率。如果我们希望参数


逼近真实情况,我们需要使得整体的事件发生概率最大化,即最大化


。容易得知,


是一个凸函数,因此函数最大值点出现在导数为 0 的取值。


比较复杂,这里有个技巧:等号两边套上对数函数后,再求导,不改变极大点出现位置。



因此,求解过程如下(下文简称公式一):


*公式一

最终结论

好了,有了公式一我们已经可以对 RCM, CTR 和 CM 模型进行参数估计:

  • 概念 为“任意文档”,根据 公式一,RCM 参数估计: 。直白来说,就是统计点击与展现比例。
  • 概念 为“任意排序位置”,根据 公式一,RCTR 参数估计: 。直白来说,就是统计不同排序位置的点击与展现比例。
  • 概念 为“搜索词-文档对” ,根据 公式一,DCTR 参数估计: ,这里 。直白来说,就是统计不同“搜索词-文档对”的点击与展现比例。
  • 概念 为“搜索词-文档对” ,根据 公式一,CM 参数估计: ,这里 , 是第一个点击文档的顺序。直白来说,就是统计不同“搜索词-文档对”的点击与展现比例,但是只关注点击之前的展现。

各个模型的详细计算代码,可见以下链接:

markovi/PyClickgithub.com



本文地址:https://sicmodule.kub2b.com/news/8844.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号