360 likes | 943 Views
大数据存储与应用 Submodular 系统优化. 课程主页: http ://netcomm.bjtu.edu.cn/? page_id=397 陈 一 帅 chenyishuai@gmail.com. 内容. 什么是 Submodular ? 新闻的最大覆盖问题 Cascade 跟踪问题 应用. 介绍. Submodular. 翻译 子模,亚模,次模,分模,。。。 假设两个人 A :有 10 块钱 B :有 100 块钱 他 / 她们对自己钱的满意度: F (10) < F(100) 再给每人 10 块,谁的满意度增加多?
E N D
大数据存储与应用Submodular系统优化 课程主页:http://netcomm.bjtu.edu.cn/?page_id=397 陈一帅 chenyishuai@gmail.com
内容 • 什么是Submodular? • 新闻的最大覆盖问题 • Cascade跟踪问题 • 应用
Submodular • 翻译 • 子模,亚模,次模,分模,。。。 • 假设两个人 • A:有10块钱 • B:有100块钱 • 他/她们对自己钱的满意度:F(10) < F(100) • 再给每人10块,谁的满意度增加多? • F(20) - F(10) ? F(110) - F(100)
Submodular • 三种定义 • 第一种定义 • 边际效益递减(Diminishing Return) • F(A):拥有A块钱,带来的满足感 • F(10+10) - F(10) >= F(100+10) - F(100)
Diminishing Return Concavity 凹性:如果 ,那么
Submodular • 等价的另两种定义
特性 • Fi是具有Submodular特性的函数,那么,它们的非负线性组合 也是Submodular的。 • 应用 • 均值Submodular • 多目标优化:
新闻包括的单词 • Wordle - Beautiful Word Clouds • www.wordle.net/ • 权重统计
寻找最大覆盖新闻集 • 找出一个新闻集 • 包括的新闻数越少越好 • 覆盖的词越多越好 • 已知是一个NP-complete问题
Submodular • 寻找最大覆盖新闻集,是一个Submodular问题 • 满足两个属性: • Monotone:多包括一条新闻,不会减少覆盖 • Submodular: • 已有两个新闻集A,B, • 再加一个新网页W,A获得的覆盖增长,不会比B小 • 覆盖 F(A+W) - F(A) >= F(B+W) - F(B)
例 • A: Mr. Zhao is handsome • B: Mr. Zhao is handsome. He is a teacher • W: Mr. Zhao is a teacher. • F(A+W) - F(A) >= F(B+W) - F(B)
简单贪婪启发式算法 • 从{}开始,每一步,扫描整个剩下的新闻页面,找到最能够增加覆盖的单词数的页面,加入它 • 例: • A: Mr. Zhao is handsome • B: Mr. Zhao is handsome. He is a teacher • W: Mr. Zhao is a teacher. • Result • Mr. Zhao is handsome. He is a teacher
性能 • [Nemhauser , Fisher, Wolsey ’78] • 只要F monotone, submodular,F(A) >= (1-1/e)*OPT (F(A)>0.63*OPT) • 覆盖的单词数,不会少于最优覆盖的63%
Greedy算法性能 • 每选一个,就要扫描一遍所有剩下的,挑出对覆盖度改善最大的新闻。 • 慢
改进 • Idea • diminishing returns意味着,随着以被选中的新闻集的大小增加,剩下的新闻能带来的覆盖增益逐渐减小 • Lazy Greedy • [Leskovec et al., KDD ’07] • 懒一点,不全评估一次,只评估上次筛剩下的新闻中,排名靠前的。
用户喜好 • 从单词到主题 • 新闻d覆盖主题c的概率:coverd(c) • 相关度 • 集合A包括很多新闻 • A覆盖c的概率 • 是submodular的 • 直觉上符合diminishing returns
用户喜好加权 • 用户对不同概念的喜好程度:wc • 优化目标:选择k条新闻,使加权覆盖度最大 • 非负线性加权:也是submodular的 • Greedy算法,不会差于最优算法的63%
个性化用户喜好 • 用户对不同概念的喜好程度wc不同 • 优化目标:选择k条新闻,使特定用户的加权覆盖度最大 • 根据用户的浏览历史,学出他的wc
用户喜好学习:MW算法 • Multiplicative Weights算法 • 初始权重wc • 推荐一个新闻d,包括主题c1, c2, c3 • 用户如果喜欢d,给c1, c2, c3记 r = 1,如果不,记r = -1 • 更新权重: • 归一化权重,使其和等于1
信息Cascade • 有不同的地方可以看到一个新闻 • 信源 • Hub • 信息Cascade • 转发 • Cascade上的任一节点,都可看到该新闻 • Trade off • Coverage:Hub • 及时性:信源 • 其它应用 • 传染病
问题 • 约束: • 时间不够,每天只能看几个博客,看哪几个? 博客B 话题P [Leskovec et al., KDD ’07]
Greedy方法 • 不考虑观看成本 • 贪婪方法 • 按Reward,从高往低选 • Offline方法 • Benefit • Detection likelihood (DL):检出率 • Detection time (DT):检测及时性 • Population affected (PA):检测前已感染的人数 • 线性加权
Benefit-cost ratio方法 • 不考虑观看成本的问题 • 有些博客写得很多,发布很频繁,需要花很多功夫看,也不理想 • 还是要考虑成本:发布数 • 改进 • 把收益/成本,再Greedy • 也有问题 • 成本小,信息量小,但比例高,也占优,结果特别琐碎
组合 • CELF:cost-effective lazy forward-selection • 每一轮,两种都计算一遍 • 各挑一个最好的 • 然后,二选一,挑最好的 • 性能 • 能够达到最优算法的½(1-1/e)
应用 监测
污水传感器放置优化 • Monotone • Submodular
思考题 • 想想你身边的Submodular问题 • 检测问题 • 花钱的问题 • 成本/收益问题 • 。。。
总结 • Submodular介绍 • 新闻覆盖问题 • 最大覆盖 • 贪婪算法 • Lazy Greedy • 个性化:用户喜好加权 • 用户喜好学习:Multiplicative Weights 算法 • 信息Cascade下的最小跟踪集 • Cascade介绍 • Greedy方法 • Benefit-cost ratio方法 • CELF:cost-effective lazy forward-selection方法 • 其它应用
Refer • http://en.wikipedia.org/wiki/Submodular