论文笔记: 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
作者先把主题分布减去背景分布,类似“的得地”。背景得到的方法是所有主题前十词的平均分布。
然后作者就肉眼分析啥啥啥分布什么词最突出。
收工
流程如下:相关文章推荐
- 论文笔记:Mastering the game of Go with deep neural networks and tree search
- 论文笔记:A survey of recent advances in CNN-based single image crowd counting and density estimation
- 论文笔记:LSTM, GRU, Highway and a Bit of Attention: An Empirical Overview for Language Modeling in Speec
- 论文笔记:Efficient and Accurate Approximations of Nonlinear Convolutional Networks
- 论文笔记 Ensemble of Deep Convolutional Neural Networks for Learning to Detect Retinal Vessels in Fundus
- 论文笔记《A Survey of Model Compression and Acceleration for Deep Neural Networks》
- [论文笔记] Money, glory and cheap talk: analyzing strategic behavior of contestants in simultaneous crowdsourcing contests on TopCoder.com (WWW, 2010)
- 论文笔记之Label-Free Supervision of Neural Networks with Physics and Domain Knowledge
- 【论文阅读笔记】Deep Learning in Medical Imaging: Overview and Future Promise of an Exciting New Technique
- [论文笔记] Human computation: a survey and taxonomy of a growing field (CHI, 2011)
- Effective buffer management and scheduling of bundles in delay tolerant networks with finite buffers
- [论文笔记]Automated Identification of Failure Causes in System Logs
- 【论文笔记】Applications of Graph Theory in Computer Science
- [论文笔记] Performance and energy modeling for live migration of virtual machines (Cluster Comput, 2011)
- [论文笔记]Automated Identification of Failure Causes in System Logs
- [论文笔记] On Construction of Cloud IaaS for VM Live Migration Using KVM and OpenNebula (ICA3PP, 2012)
- 论文阅读心得一~ Finding and evaluating community structure in networks
- 【论文笔记】Applications of Graph Theory in Computer Science
- Paper Notes: On Community Detection in Real-world Networks and the Importance of Degree Assortativit
- 论文笔记(2)-Dropout-Regularization of Neural Networks using DropConnect