O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

MAB_EE_冷启动-jinghuixiao

  • Seja o primeiro a comentar

MAB_EE_冷启动-jinghuixiao

  1. 1. MAB & EE & 冷启动 Henry Xiao
  2. 2. 提纲 • MAB问题 • Bandit算法 • LinUCB算法 • 问题提出 • 岭回归 • Disjoint model • Hybird model • 实验设置 • 代码 • 参考文献
  3. 3. MAB and EE • MAB:Multi-armed bandit problem • 目标:有限次尝试中,总赢钱最多 • 应用: • 推荐系统冷启动问题:user—老虎机, item—arm • 广告系统冷启动问题:广告位—老虎机, 广告—arm • 方法:EE(Explore and Exploit)
  4. 4. Bandit算法 • 朴素方法 • E-greedy • Thompson sampling • UCB(Upper confidence bound)
  5. 5. Bandit算法 cont • Given:N arm,M trials,M payoffs(returns) • 朴素方法 1. 对N个arm,尝试N*L(< M)次 2. 找出平均payoff最大的arm 3. 对剩下的M- N*L次trials,一直用2中选择的arm • E-greedy 1. 每个trial有e(<1)的概率来随机选择arm 2. 否则,选择到目前为止,payoff最大的arm 3. 改进:e随着不断的explore,数值越来越小
  6. 6. Bandit算法 cont • Thompson sampling • 贝努力分布:0-1事件中,‘1’出现的概率 • Beta分布 • Beta函数 • Beta分布意义:留给白胖胖了 • Thompson sampling • 对每一个arm,计算 Beta(arm_win+1, arm_lose+1) • arm_win表示该arm历史上是‘1’的次数,或者是收益大于成本的次数 • 选择计算结果最大的arm
  7. 7. Bandit算法 cont • UCB(Upper confidence bound) • 出发点:在‘朴素方法’中,最终选择的arm,有多大把握真的是payoff 最大的那个arm? • 如何选择arm,关键点: 1. 该arm的历史payoff 2. 该payoff的置信区间 • 计算方式 • 第一项表示收益的均值,第二项是bonus,T表示当前arm被尝试的次数、t表示所有 arm被尝试的次数
  8. 8. Bandit算法 cont • Bandit算法哪家强? • 纵坐标:regret(理想收益 – 现实收益)
  9. 9. LinUCB算法(Yahoo_WWW2010) • 问题提出 • 岭回归 • Disjoint model • Hybird model • 实验设置
  10. 10. 问题提出:Bandit算法 vs 冷启动问题 • 冷启动问题 • 对user或者item未知 • 收益最大化(ctr?) • 比random强 • 新闻冷启动 • 新闻量大、实时 • 新闻、用户由特征表示 • Bandit算法 • arm的收益分布未知 • 收益最大化 • 比random强 • Bandit隐含假设 • arm有限、稳定 • arm是‘黑盒’ VS *^-^* VS *v-v* LinUCB(linear UCB):在普通Bandit算法中融合了特征,打破arm黑盒
  11. 11. 岭回归(ridge regression) • 解决的问题:高维空间中的线性拟合问题,given x_new,预测y_new • 传统回归的优化目标 • 岭回归的优化目标 *加正则项,避免过拟合;svm的结构风险最小化 vs 经验风险最小化
  12. 12. 岭回归(ridge regression)cont • 岭回归的标准解
  13. 13. 岭回归:在MAB上的问题转化 • MAB问题中,对于每个arm: 1. 输入:每个arm的历史payoff 2. 预测:每个arm的接下来收益 3. 选择:收益最大的arm 4. 难点:arm‘黑盒’,如何融入特征? • 问题转化 1. MAB问题线性回归问题 • 特征线性回归中的输入向量 • 收益回归函数要预测的输出值 2. linUCB 岭回归在UCB上的应用
  14. 14. 岭回归 • LinUCB隐含假设 • Linear UCB:‘linear’是指该模型是一个线性模型,y=w1*x1+w2*x2…… • 用在推荐系统上,也就假设,输入输出是呈线性关系 • 输入是特征、输出是payoff,就是说特征和payoff是呈线性关系 ——不一定成立,因为特征之间可能会有相互影响 • 这种假设工业界OK,想想LR的成功 • 名词 • contextual bandit problem or feature-based EE problem • 其它论文?
  15. 15. LinUCB -- Disjoint Model • 算法要素 1. context:表示为x,即算法的输入。如果arm是文章的话,那么x就是该 文章的特征向量 2. 向量theta:x的系数,可以理解为模型参数 3. 矩阵A:LinUCB用的是岭回归,A是岭回归用到的参数 4. 向量b:b也是岭回归用到的参数 5. 向量r:表示选择了当前arm的‘回报’是多少,当arm是文章的话,就 是当这篇文章展示给用户的时候,用户是否点击(0-1)
  16. 16. LinUCB -- Disjoint Model • 算法步骤 • 行1:t表示‘trial’,即每一次选择arm的实验。 • 行2:遍历所有的arm,一遍在‘行11’选择其中的一个arm作为输出 —— 如果是新闻推荐的话,估计要加入‘触发’过程才行,否则计算量太大 • 行3--行11:计算每个arm的价值,选择价值最大的那个,大致过程是 • 如果arm是第一次被看到的话,初始化矩阵A和向量b • 用A和b来计算系数theta • 根据A和b、theta向量以及x向量,计算该arm的当前预测payoff(9行 P_ta) • 行12:选择了arm之后,立刻就会知道该arm这一次的实际payoff,用实 际payoff来更新A和b,前面是explore的过程,现在是exploit的过程
  17. 17. 选择arm • Eigen c++实现的 矩阵运算库
  18. 18. 计算payoff 更新参数 (exploit) Exploit程度 (没看懂)
  19. 19. Main函数 (部分)
  20. 20. LinUCB – Hybrid model • Disjoint model vs Hybrid model: • Disjoint:Context x是arm-specific的,对于新闻,arm-specific特征就只有 新闻本身的特征,如:标题、正文、源、等等 • 用户特征?年龄、性别、星座…… • 新闻版式特征?大图、三图、单图…… • 新闻位置特征? • …… • 推荐系统中,以上其特征是shared by all arms,如何利用? —— Hybrid model
  21. 21. 实验 • Bilinear model (Yahoo_KDD2009) • 特征构造( Yahoo_WWW2009 ) • 评价方法 • 实验结果
  22. 22. Bilinear model (Yahoo_KDD2009) • Bilinear model• Linear model
  23. 23. 特征构造 • 用户特征 • 性别、地理位置、年龄…… • 行为特征:根据用户消费记录,映射到1k个binary class • 共1193维 • 文章特征 • url类别 • 编辑打的标签 • 共83维 • 没有词特征?
  24. 24. 特征构造 cont 1. 离线训练bilinear model,获取参数矩阵W 2. 对于某一个特定用户的属性输入向量u,计算W*u,将1193维u 向量降维到83维的W*u向量,用后者表征用户 3. 对W*u用kmeans进行聚类,k=5,加入常数维1,共6维 4. 对文章向量做同样的处理 5. 用6 * 6 的特征向量训练bilinear model 2 —— 最终使用的线上模 型
  25. 25. 评价方法 • 在线评价 • 离线评价 • 直观的想法:遍历log,计算算法选择的arm和实际arm的收益差…… • 有bias • 本文的方法
  26. 26. 被比较的模型 • Random、朴素方法、e-greedy、ucb • 不用特征、用特征且部分使用log、本文提出的方法
  27. 27. 实验结果 • Learn:实验渠道 • Deploy:全量 • 观察: • Hybrid linucb没那么强 • E-greedy没那么差
  28. 28. 参考文献 • MAB基础 • https://zhuanlan.zhihu.com/p/21388070 • https://zhuanlan.zhihu.com/p/21404922?f3fb8ead20=64b9a277fed1dd44f62 17bb32b718b5f&from=timeline&isappinstalled=0 • https://www.zhihu.com/question/37212823 • Yahoo工作 • A Contextual-Bandit Approach to Personalized News Article Recommendation_Lihong Li_www2010 • Personalized Recommendation on Dynamic Content Using Predictive Bilinear Models_WeiChu_www2009 • A Case Study of Behavior-driven Conjoint Analysis on Yahoo! Front Page Today Module_kdd2009
  29. 29. 参考文献 cont • 岭回归 • http://blog.csdn.net/google19890102/article/details/27228279 • Beta分布 • http://xinsong.github.io/2014/04/29/beta/ • http://blog.csdn.net/watkinsong/article/details/46348853 • Thompson Sampling • https://www.zhihu.com/question/37212823 • Analysis of Thompson Sampling for the Multi-armed Bandit Problem_JMLR2012 • Real-Time Bid Prediction using Thompson Sampling-Based Expert Selection_SIGKDD2015 • 泼冷水的 • http://jhuangpku.github.io/ee-xiang-shuo-ai-ni-bu-rong-yi.html
  30. 30. Thanks

×