为什么泊松分布可以应用在推荐系统上?
01-15
最近LDA的作者之一David Blei 发了一篇paper,里面谈到用泊松分布来计算用户和商品的latent variable。但我百思不得其解,泊松分布是用来量度事件在单位时间(或其它单位)发生次数的概率分布,如何能套用在用户对某个商品的评价上呢?
仔细看了一下paper,似乎在2.1有解释,他说分两步看一个问题,第一步是用户决定一个评分的“预算”,第二步是根据这个预算去决定每个商品的评分。可是下面那两条公式是如何反应这两步的,我也看不懂。哪位大神能提点一二,不胜感激!paper地址在此:http://auai.org/uai2015/proceedings/papers/208.pdf
其实跟高斯分布并没有多少本质的区别。
最基本的PMF只考虑了observed ratings,忽略了ratings are missing not at random,所以只适合做RMSE的优化,对Top N推荐的结果很差。Blei的论文里面的baseline大都是这种。
泊松分布的一个好处是,在Loss Function里把missing values都认为是0,但是不需要在优化的时候考虑它们。但是早就有很多论文对PMF做了类似的改进,Blei的论文没有跟这类方法做比较。这也是为什么他们最开始做泊松的论文13年就开始投,15年才发出来。
他们用类似的idea把推荐里面的几个问题灌了一遍(见nips 14, recsys 15),也真是让人无力吐槽。写了挺多居然没有保存。。。
简单来说就是首先要读懂概率图。不好意思,不想看文章哈哈但我知道你一定不太了解泊松过程。你口中的泊松过程应该是:
齐次,lambda为常数,平权的泊松过程。
实际上,泊松除了稀疏性都可以放宽。所以用户对某件商品的购买(评价实际为非平权购买)行为完全是稀疏的,可以用泊松来模拟不知道这样理解对不对:相对于pmf, 泊松分布更适合用户的behavior budget造成的 sparsity, 见blei他们组Scalable Recommendation with Poisson Factorization一文的3.1节
推薦閱讀:
※這個讓一張圖用另外一張圖的筆觸重新演繹出來的軟體是怎麼實現的?
※梯度下降演算法中的初始值和收斂條件怎樣理解?
※如何評價google 開源的TensorFlow Serving?
※在集成電路設計領域(數字,模擬),人工智慧有無可能取代人類?
※怎麼樣理解SVM中的hinge-loss?