推荐系统 —— LFM隐语义模型

前言

本文是推荐系统系列的第三篇了,主要来讲一下 LFM 算法,与之前一样,注重原理方面,不会在算术上多做纠结,以方便快速理解该算法

什么是 LFM?

一种基于矩阵分解的用来预测用户对物品兴趣度的推荐算法

这里大概只是我自己的理解,其具体定义,还真没找到。。。

LFM 原理

在谈LFM前,我们先来看下这么一种大白话推荐方法:

  • 假设我们知道用户A对于带有 喜剧,动漫标签的电影感兴趣程度分别是 0.8 和 0.9
  • 现在我们有一部电影 《熊出没》,其对应标签 喜剧,动漫 的符合程度分别是 0.85 和 0.95
  • 那么我们就可以推测 用户A 对 《熊出没》的喜欢程度是 R = 0.8 * 0.85 + 0.9 * 0.95 = 1.535
    这种根据 用户 和 物品 之间对应的分类权重来衡量 用户 对 物品 喜欢程度的方式就是 LFM 的原型

上面这种方式推荐方式有个问题就在于,如何给用户打上合适的标签呢?又如何给 物品 分好合适的类呢?我们知道,这种任务是很难的。。。至于为什么难,请自行脑补。。。哈哈,也正是因为分类的困难,所以才有了我们的 LFM 算法,我们完全可以从 用户 对 物品 产生的行为,来实现对 物品 和 用户的 自动分类;

  • 我们收集到的数据,一般都是 用户 对 物品的 打分;

    user item1 item2 item3
    A 2 3 0
    B 3 4 1
    C 0 3 5
  • 现在我们假设有 K 个分类,然后就可以让 LFM 帮我们把 用户 和 物品 进行自动分到这 K 个类中

  • 那么怎么分呢?
    我们以 用户A 和 item1 为例,从数据上我们知道 用户A 对 item1 的打分是 2
    假设 用户A 对分类 K_i 的喜欢程度为 p_i
    假设 item1 对分类 K_i的符合程度为 q_i
    那么我们就可以推测 用户A 对 item1 的打分 ps
    ps = \sum_{i=0}^K{p_i}{q_i}
    真实打分 2 和 我们预测的打分 ps 越接近,我们则认为我们的分类越可靠

    ok!上面应该还是很好看懂的。。。我们可以将上面的公式泛化一下就可以得到 用户u 对于 物品w 的打分的预测公式:
    ps_{uw} = \sum_{i=0}^K{p_{ui}}{q_{wi}}
    其中:
    ps_{uw}: 用户u 对于 物品w 的预测打分
    p_{ui}:用户u 喜欢 分类 K_i 的程度
    q_{wi}:物品w 对分类 K_i 的符合程度
    K :分类数目

    这里我们假设 用户u 对于 物品w 的真实打分为 rs_{uw},那么衡量 真实打分 和 预测打分 的差距就可以用他们的 平方和的大小,即可得下面公式
    \sum (ps_{uw} - rs_{uw})^2

    当然为了模型得泛化能力,可能需要再加一些正则化的尾巴。。。为了加快计算,可能还需要将公式做一些向量化处理。。。等等一些机器学习方面通用规则就不一一提了,这里主要还是讲解 LFM 的原理为主。最后就是一个梯度下降法求解的问题了,将上面的公式作为我们的目标函数,通过梯度下降法就可以求出 用户对每个分类的喜好程度 以及 物品对于分类的符合程度,即公式中的 p_{ui}q_{wi},这也就是说,LFM 最后就是 给每个用户 和 物品 都进行了分类,尽管这个分类你并不知道他叫什么。。。。这也正是 隐语义的 含义了。

ok,原理方面就说到这里了,文中公式主要是为了理解而写的,很多地方不是很标准,更不能作为算法的实现来用,如果你想要标准的公式,相信随便搜一搜就可以找到了!

LFM的优劣势

  • 从 LFM 的原型上就知道,该算法具有比较好的理论基础。这种做法很符合我们的思维方式
  • 非常节省空间,比较我们前面讲到的协同过滤算法,在用户 和 物品 数量都很大的情况下,LFM 无疑是可以节省大量空间的。
  • 计算复杂度上略高于 协同过滤,但是还是在一个量级
  • LFM 不适合做实时推荐算法,因为他只能预测 用户对物品的打分,如果单一的LFM推荐,无疑将要多所有物品进行一次打分才能得出哪些物品需要推荐,想当然的我们就知道,这个肯定不是一个短时间能做到的任务,而相对的, 用 LFM 来做推荐系统的精排部分倒是挺合适的。
  • 不具备较好的解释性,虽然看起来是分类了,但是其实这些分类是什么,还是很难说的。不过就我实际来看,其分类很多时候还是具有不错的解释性的。反正你一眼大概也能看出,每个分类的属性,但是确实会有一些很难解释明白

ok,就到这里啦,还是比较简单的一种推荐算法,嗯,应该说,原理比较简单的算法。。。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容

  • 你是否想过:如果有一天,我们的环境由于各种原因差到让我们无法在此生存,我们该怎么办呢?想想看我们身边堆积成山的垃圾...
    FunnyLU阅读 237评论 0 1
  • 佛陀在临涅槃前,曾告诫众弟子说:“我不住此涅槃后,直至年数八之久,邬坚地域西北界,达纳郭熙海林中,莲花茎干花蕊上,...
    白瑪延畔阅读 1,978评论 0 6
  • 或许聊天以后才能明白什么是思念,不是因为没话聊才不打电话,而是因为太想念抑制不住眼泪。 在漫山遍野花开满地的时候,...
    无聊的水母阅读 415评论 1 2
  • 请思考什么是积极主动,积极主动的语言有哪些,它与成长型思维有什么共同之处? 积极主动不仅是指行事的态度,还意味着人...
    简悦健身阅读 357评论 0 3
  • 2019,我们相见了,昨晚为了迎接你,我和一群朋友相聚在广场上,倒数十秒来接你。 你款款而来,如约而来,很开心遇到...
    尝酥品甜阅读 287评论 0 0