AI技术内参
洪亮劼
Etsy数据科学主管,前雅虎研究院资深科学家
立即订阅
8797 人已学习
课程目录
已完结 166 讲
0/6登录后,你可以任选6讲全文学习。
开篇词 (1讲)
开篇词 | 你的360度人工智能信息助理
免费
人工智能国际顶级会议 (31讲)
001 | 聊聊2017年KDD大会的时间检验奖
002 | 精读2017年KDD最佳研究论文
003 | 精读2017年KDD最佳应用数据科学论文
004 | 精读2017年EMNLP最佳长论文之一
005 | 精读2017年EMNLP最佳长论文之二
006 | 精读2017年EMNLP最佳短论文
007 | 精读2017年ICCV最佳研究论文
008 | 精读2017年ICCV最佳学生论文
009 | 如何将“深度强化学习”应用到视觉问答系统?
010 | 精读2017年NIPS最佳研究论文之一:如何解决非凸优化问题?
011 | 精读2017年NIPS最佳研究论文之二:KSD测试如何检验两个分布的异同?
012 | 精读2017年NIPS最佳研究论文之三:如何解决非完美信息博弈问题?
013 | WSDM 2018论文精读:看谷歌团队如何做位置偏差估计
014 | WSDM 2018论文精读:看京东团队如何挖掘商品的替代信息和互补信息
015 | WSDM 2018论文精读:深度学习模型中如何使用上下文信息?
016 | The Web 2018论文精读:如何对商品的图片美感进行建模?
017 | The Web 2018论文精读:如何改进经典的推荐算法BPR?
018 | The Web 2018论文精读:如何从文本中提取高元关系?
019 | SIGIR 2018论文精读:偏差和“流行度”之间的关系
020 | SIGIR 2018论文精读:如何利用对抗学习来增强排序模型的普适性?
021 | SIGIR 2018论文精读:如何对搜索页面上的点击行为进行序列建模?
022 | CVPR 2018论文精读:如何研究计算机视觉任务之间的关系?
023 | CVPR 2018论文精读:如何从整体上对人体进行三维建模?
024 | CVPR 2018论文精读:如何解决排序学习计算复杂度高这个问题?
025 | ICML 2018论文精读:模型经得起对抗样本的攻击?这或许只是个错觉
026 | ICML 2018论文精读:聊一聊机器学习算法的“公平性”问题
027 | ICML 2018论文精读:优化目标函数的时候,有可能放大了“不公平”?
028 | ACL 2018论文精读:问答系统场景下,如何提出好问题?
029 | ACL 2018论文精读:什么是对话中的前提触发?如何检测?
030 | ACL 2018论文精读:什么是“端到端”的语义哈希?
复盘 7 | 一起来读人工智能国际顶级会议论文
搜索核心技术 (28讲)
031 | 经典搜索核心算法:TF-IDF及其变种
032 | 经典搜索核心算法:BM25及其变种(内附全年目录)
033 | 经典搜索核心算法:语言模型及其变种
034 | 机器学习排序算法:单点法排序学习
035 | 机器学习排序算法:配对法排序学习
036 | 机器学习排序算法:列表法排序学习
037 | “查询关键字理解”三部曲之分类
038 | “查询关键字理解”三部曲之解析
039 | “查询关键字理解”三部曲之扩展
040 | 搜索系统评测,有哪些基础指标?
041 | 搜索系统评测,有哪些高级指标?
042 | 如何评测搜索系统的在线表现?
043 | 文档理解第一步:文档分类
044 | 文档理解的关键步骤:文档聚类
045 | 文档理解的重要特例:多模文档建模
046 | 大型搜索框架宏观视角:发展、特点及趋势
047 | 多轮打分系统概述
048 | 搜索索引及其相关技术概述
049 | PageRank算法的核心思想是什么?
050 | 经典图算法之HITS
051 | 社区检测算法之“模块最大化 ”
052 | 机器学习排序算法经典模型:RankSVM
053 | 机器学习排序算法经典模型:GBDT
054 | 机器学习排序算法经典模型:LambdaMART
055 | 基于深度学习的搜索算法:深度结构化语义模型
056 | 基于深度学习的搜索算法:卷积结构下的隐含语义模型
057 | 基于深度学习的搜索算法:局部和分布表征下的搜索模型
复盘 1 | 搜索核心技术模块
推荐系统核心技术 (22讲)
058 | 简单推荐模型之一:基于流行度的推荐模型
059 | 简单推荐模型之二:基于相似信息的推荐模型
060 | 简单推荐模型之三:基于内容信息的推荐模型
061 | 基于隐变量的模型之一:矩阵分解
062 | 基于隐变量的模型之二:基于回归的矩阵分解
063 | 基于隐变量的模型之三:分解机
064 | 高级推荐模型之一:张量分解模型
065 | 高级推荐模型之二:协同矩阵分解
066 | 高级推荐模型之三:优化复杂目标函数
067 | 推荐的Exploit和Explore算法之一:EE算法综述
068 | 推荐的Exploit和Explore算法之二:UCB算法
069 | 推荐的Exploit和Explore算法之三:汤普森采样算法
070 | 推荐系统评测之一:传统线下评测
071 | 推荐系统评测之二:线上评测
072 | 推荐系统评测之三:无偏差估计
073 | 现代推荐架构剖析之一:基于线下离线计算的推荐架构
074 | 现代推荐架构剖析之二:基于多层搜索架构的推荐系统
075 | 现代推荐架构剖析之三:复杂现代推荐架构漫谈
076 | 基于深度学习的推荐模型之一:受限波兹曼机
077 | 基于深度学习的推荐模型之二:基于RNN的推荐系统
078 | 基于深度学习的推荐模型之三:利用深度学习来扩展推荐系统
复盘 2 | 推荐系统核心技术模块
广告系统核心技术 (18讲)
079 | 广告系统概述
080 | 广告系统架构
081 | 广告回馈预估综述
082 | Google的点击率系统模型
083 | Facebook的广告点击率预估模型
084 | 雅虎的广告点击率预估模型
085 | LinkedIn的广告点击率预估模型
086 | Twitter的广告点击率预估模型
087 | 阿里巴巴的广告点击率预估模型
088 | 什么是“基于第二价位的广告竞拍”?
089 | 广告的竞价策略是怎样的?
090 | 如何优化广告的竞价策略?
091 | 如何控制广告预算?
092 | 如何设置广告竞价的底价?
093 | 聊一聊“程序化直接购买”和“广告期货”
094 | 归因模型:如何来衡量广告的有效性
095 | 广告投放如何选择受众?如何扩展受众群?
096 | 如何利用机器学习技术来检测广告欺诈?
自然语言处理及文本处理核心技术 (0讲)
该章节暂未更新内容,敬请期待
计算机视觉核心技术 (0讲)
该章节暂未更新内容,敬请期待
数据科学家与数据科学团队养成 (0讲)
该章节暂未更新内容,敬请期待
热点话题讨论 (0讲)
该章节暂未更新内容,敬请期待
结束语 (0讲)
该章节暂未更新内容,敬请期待
AI技术内参
登录|注册

099 | 针对大规模数据,如何优化LDA算法?

洪亮劼 2018-04-18
周一,我们分享了 LDA(Latent Diriclet Allocation)的各种扩展模型,介绍了基于上游的和下游的两种把额外信息融入到 LDA 模型中的方法。同时,我们也讨论了在时间尺度上如何把 LDA 模型扩展到可以“感知”不同的时间段对于模型的影响。以 LDA 为代表的主题模型在过去的十年间发展出了一整套的扩展,为各式各样的应用场景提供了有力的工具。
尽管 LDA 在模型的表达力上给研究者们提供了把各种场景和模型结合的可能性,但是 LDA 的训练过程比较复杂,而且速度也比较慢。因此,如何能够把 LDA 真正应用到工业级的场景中,对于很多人来说,都是一件煞费苦心的事情。今天我们就来聊聊LDA 的算法优化问题

LDA 模型训练

我们首先来回顾一下 LDA 模型的训练过程,从高维度上为你分析一下为什么这个过程很困难。
LDA 模型中最重要的未知变量就是每个单词对应的主题下标(Index)或者说是主题“赋值”(Assignment)。这个主题下标是从每个文档对应的主题分布中“采样”得来的。每个文档的主题分布本身也是一个未知的多项式分布,用来表达当前这个文档的所属主题,比如有多少百分比属于运动、有多少百分比属于金融等等。这个分布是从一个全局的狄利克雷(Diriclet)分布中产生的。狄利克雷分布在这里起到了超参数的作用,其参数的取值往往也是未知的。但是我们可以根据一些经验值对其进行设置。除了每个文档的主题分布和主题赋值以外,我们还需要对全局的主题语言模型进行估计。这些语言模型直接决定了,各类词语出现的概率是多少。
流行的 LDA 训练方法有两个,一个是基于 **吉布斯采样(Gibbs Sampling)的随机方法,一个是基于变分推断**(Variational Inference)的确定性方法(Deterministic)。这两种方法的初始形态都无法应对大型数据。这里我们来简要介绍一下这两种方法。
吉布斯采样主要是针对主题赋值进行采样,最开始是完全随机的结果,但是慢慢会收敛到参数的后验概率的真值。这里面比较慢的一个原因,是这个收敛过程可能需要几百到几千个不等的迭代。同时,吉布斯采样只能一个文档一个文档进行,所有的数据结构都需要在采样的过程中进行更改。这个过程比较慢的另外一个原因,是吉布斯采样的核心是如何对一个离散分布进行采样。而离散分布采样本身,如果在分布的参数变化的情况下,最好能够达到 O(KlogK),这里 K 是主题的数目。因此,从原理上来说,这也是阻碍吉布斯采样能够扩展到大型数据的一个原因。
变分推断的思路则和吉布斯采样很不一样。它是把对隐含参数的估计问题变成一个确定性的优化问题,这样我们就可以利用种种优化算法来解决贝叶斯推断的问题。不过和吉布斯采样相比,变分推断存在一个问题,因为这种方法并不是解决原来的优化问题,因此新的优化问题可能并不能带来原来问题的解。同时,变分推断也需要一个文档一个文档单独处理,因此推广到大规模数据上有其局限性。

LDA 的大规模优化算法

顺着我们刚才提到的问题,为了把吉布斯采样和变分推断扩大到大规模数据上,学者们有针对性地做了很多探索。我们下面就分别对这两种思路展开简要的介绍。
首先,我们来看吉布斯采样。吉布斯采样慢的一个核心就是我们刚才说的,需要从一个离散分布中采样出一个样本,在我们这个例子中也就是每个单词的主题赋值。那么,有没有什么方法让这个步骤加速呢?答案是,有的。
在 KDD 2009 上发表了一篇论文《应用于流文档集合的主题模型推断的高效方法》(Efficient methods for topic model inference on streaming document collections)[1],算是在这方面取得突出成绩的一个重要参考文献。这篇论文的主要贡献就是,对原有的采样公式进行了一个比较仔细的分析。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《AI技术内参》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(2)

  • 帅帅
    我在spark mllib中看到了LDA的实现,应该就是并行化的实现
    2018-10-23
  • vick_zh
    请问:LDA是否又被深度学习方法替代的趋势?所以在应用价值显得没那么“重要”?
    2018-06-22
收起评论
2
返回
顶部