您的位置:首页 > Web前端

论文笔记: Inferring Networks of Substituable and Complementary Products

2017-03-28 16:01 531 查看

要解决的问题

A user is looking for mobile phones, it might make sense to recommend other phones, but once they buy a phone, we might instead want to recommend batteries, cases, or chargers. These two types of recommendations are referred to as substitutes and complements: substitutes are products that can be purchased instead of each other, while complements are products that can be purchased in addition to each other.

拥有的资源

The primary source of data we use is the text of product reviews, though our method also makes use of features such as ratings, specifications, prices, and brands.

以及物物关系,这个关系作为监督学习的ground truth

达到的目的

Navigation between related products, discovery of new and previously unknown products, identification of interesting product combinations, and generation of better and more context-relevant recommendations.



最直接的是我在看鞋,推荐鞋。我买了鞋,推荐袜子。

产出

product graph。所以就是非懒惰学习。

大致思路

1.利用主题模型(LDA)生成物品i的主题分布θi。数据支撑为评论和描述

2.在θi上做文章。生成静态模型,预测物品i和j之间的关系。其实已经不能算是预测了,就是求。最后就是查。

具体操作

主题模型

Unigram Model

这种方法通过训练语料获得一个单词的概率分布函数,然后根据这个概率分布函数每次生成一个单词,使用这个方法M次生成M个文档。每个文档都是N个词。

Mixture of Unigram

Unigram模型太简单了,不能生成主题。这种方法首先选选定一个主题z,主题z对应一个单词的概率分布p(w|z),每次按这个分布生成一个单词,使用M次这个方法生成M份不同的文档。

LDA(Latend Dirichlet Allocation)

LDA方法使生成的文档可以包含多个主题,该模型使用下面方法生成1个文档:

这种方法首先选定一个主题向量θ,确定每个主题被选择的概率。然后在生成每个单词的时候,从主题分布向量θ中选择一个主题z,按主题z的单词概率分布生成一个单词。其图模型如下图所示:



α和β是Dirichlet超参数,使分布平滑。训练过程:



后面数学可不看了。一般人都是直接用。。。。。

看懂LDA的一些数学知识

Maximum Likelihood

模型已定,参数未定。样本独立同分布。现在出现的分布是出现概率最大的分布。

求解参数过程:把每次出现的数据带入模型,得出现概率,再相乘求极大值点的坐标。

e.g.

扔一个硬币,head向上49次,tail向上51次,问head概率是多少。口答:49/100。Why:

p49(1−p)51为该次实验情况出现概率。之所以能写出来是因为模型已定,如果扔一次换一枚硬币就不行了。求它极大值点为p=49/100

Gamma function

Γ(x)=∫∞0tx+1e−tdt

这个函数就叫Gamma函数。通过分布积分可以得到它的一个性质:

Γ(x+1)=xΓ(x)

容易证明这就是阶乘在实数集上的扩展:

Γ(n)=(n−1)!

Beta Distribution

1:X1,X2,...,Xn∼Uniform(0,1)(i.i.d.)

2: 排序之后得,顺序统计量X(1),X(2),...,X(n)

3: 问X(k)的分布是什么

解决问题:我们尝试计算一下X(k)落在一起区间[x,x+Δx]的概率,也就是求如下概率值:

P(x≤X(k)≤x+Δx)=?



所以,对这个事件E:

P(E)=xk−1(1−x−Δx)(n−k)Δx=xk−1(1−x)(n−k)Δx+o(Δx)

共有n(n−1k−1)个可能等价事件E

若有两个数落在区间[x,x+Δx],概率:

P(E′)=o(Δx)

得到:

P(x≤X(k)≤x+Δx)=n(n−1k−1)P(E)+o(Δx)=n(n−1k−1)xk−1(1−x)n−kΔx+o(Δx)

所以,得X(k)的概率密度函数为:

f(x)=n(n−1k−1)xk−1(1−x)n−k=n!(k−1)!(n−k)!xk−1(1−x)n−k

利用Gamma函数,改写为:

f(x)=Γ(n+1)Γ(k)Γ(n−k+1)xk−1(1−x)n−k

令α=k,β=n−k+1,于是我们得到

f(x)=Γ(α+β)Γ(α)Γ(β)xα−1(1−x)β−1

Conjugate Distributions

共轭分布,从贝叶斯公式入手:



简单来说,如果先验分布 p(θ)和似然函数 p(X|θ) 可以使得先验 p(θ) 和后验分布 p(θ|X) 有相同的形式,那么就称先验分布与似然函数是共轭分布。

共轭的意义在于是共轭特性可以使得先验分布和后验分布的形式相同,这样一方面合符人的直观(它们应该是相同形式的)另外一方面是可以形成一个先验链,即现在的后验分布可以作为下一次计算的先验分布,如果形式相同,就可以形成一个链条,后验又可以作为下一次的先验分布。

Beta与Binomial共轭:

上述例子,我们如随机给10个0~1之间的数,求第7大数的分布,这是个Beta分布。我们在给你5个数,并且告诉你这5个数与第7大数的大小关系。如有2个比它大,3个比它小。则变成15个数,第9大问题,还是Beta分布。告诉你大小关系是Binomial过程。

Dirichlet Distribution

Beta分布在高纬度上的推广,与Multinomial 共轭分布

如三维Dirichlet分布:

f(x1,x2,x3)=Γ(α1+α2+α3)Γ(α1)Γ(α2)Γ(α3)xα1−11xα2−12xα3−13

回到论文

paper中由LDA得到

p(T|θ,ϕ,z)=∏d∈T∏j=1Ndθzd,j⋅ϕzd,j,wd,j

现在每一个物品获得了主题分布函数θd

用主题模型进行关联预测

每个物体用主题向量θd表示,既可以计算相似程度。无向图用內积,有向图用相差,之后进过logistic regression的二分类结果。似然函数相乘进行联合优化。

L(y,T|β,θ,ϕ,z)=∏d∈T∏j=1Ndθzd,jϕzd,j,wd,j⋅∏(i,j)∈εFβ(ψθ(i,j))∏(i,j)∈ε¯(1−Fβ(ψθ(i,j)))

Multiple Graph连乘同步优化

这是个监督学习,作者手动定义啥为替代品,啥为互补品。

主题的稀疏表示

However, training models with hundreds of topics per product is not practical, nor is it realistic from a modeling perspective.

所以要稀疏表达了。



上图为Amazon提供的物品类别分层结构的一部分。作者利用它构建规则:

First, each product is represented by a path, or more simply a set of nodes, in the category tree. For products belonging to multiple categories, we take the union of those paths.

Second, each topic is associated with a particular node in the category tree.

Third, we use a sparse representation for each product’s topic vector.

每个物品由一条或多条路径表达,或者就是简单几个节点。

每个主题和一个节点关联



物体的主题只能从路径上选

Experimental Setting

Sampling random pairs of unrelated products makes negative examples very ‘easy’ to classify.

比如:鞋子和车。根本区分起来没什么难度。所以作者用了小心思。替代品和互补品互为反例。perfect。特意查了,没有即是互补品又是替代品。

Top Analysis



作者先把主题分布减去背景分布,类似“的得地”。背景得到的方法是所有主题前十词的平均分布。

然后作者就肉眼分析啥啥啥分布什么词最突出。

收工

流程如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐