这里对WWW 2017文章《Beyond Globally Optimal: Focused Learning for Improved Recommendations》进行一个简单的分析解读。

文章亮点:

  • 作者群来自Google和Pinterest

  • 第一次系统性的解释了为什么用全局模型可能会在局部数据上表现不好

  • 文章提出了简单易行的解决办法,可以让全局模型在局部数据上依然能够达到最优

  • 文章很全面得在一些数据及上进行了比较完整的比较

这篇文章来自一群前CMU的学者,目前在Google和Pinterest。那么这篇文章试图解决什么问题呢?具体说来,就是作者们发现,传统的推荐系统,基于优化一个全局的目标函数,通常情况下往往只能给出一个非常有“偏差”(Skewed)的预测分布。也就是说,传统的推荐系统追求的是平均表现情况,在很多情况下的预测其实是十分不准确的。这个情况在评价指标是Root Mean Squared Error(RMSE)的时候,就显得尤为明显。

这篇文章的作者是这么定义了一个叫做Focused Learning的问题,那就是如果让模型在一个局部的数据上能够表现出色。那么,为什么需要模型在一个局部的数据上表现出色呢?作者们做了这么一件事情,那就是对每个用户,以及每一个物品的预测误差(Error)进行了分析统计,发现有不小比例的用户的预测误差比较大,也有不小比例的物品的预测误差比较大。作者们发现模型在一些数据上存在着系统性的误差较大的问题,而不是偶然发生的情况。

作者们又从理论上进行了对这个问题一番讨论。这里的讨论十分巧妙,大概的思路就是,假定现在在全局最优的情况下,模型的参数的梯度已经为0了,但模型的Loss依然不为0(这种情况很常见)。那么,就一定存在部分数据的参数梯度不为0,因为某一部分数据的Loss不为0。这也就证明了部分数据的模型参数在这些数据上的表现一定不是最优的。值得注意的是,这个证明非常普遍,和具体的模型是什么类型没有关系。

在有了这么一番讨论之后,那么作者们如何解决这个问题呢?这篇文章走了Hyper-parameter Optimization的道路。文章展示了这在普通的Matrix Factorization里面是如何做到。具体说来,就是对于某个Focused Set做Hyper-parameter的调优,使得当前的Hyper-parameter能够在Focused Set上能够有最好表现。而这组参数自然是针对不同的Focused Set有不同的选择。文章提到的另外一个思路,则是对Focused Set以及非Focused Set的Hyper-parameter进行区分对待,这样有助于最后的模型能够有一个比较Flexible的表达。

文章在实验的部分针对几种不同的Focused Set进行了比较实验。比如,针对Cold-Start的物品,针对Outlier的物品,以及更加复杂的libFM模型都进行了实验。我们在这里就不去复述了。总体来说,Focused Learning在不同的数据集上都得到了比较好的提升效果。同时,作者们还针对为什么Focused Learning能够Work进行了一番探讨,总体看来,Focused Learning既照顾了Global的信息,同时又通过附加的Hyper-parameter调优对某一个局部的数据进行优化,所以往往好于Global的模型以及也好于单独的Local模型。

Beyond Globally Optimal: Focused Learning的更多相关文章

  1. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  2. Learning Query and Document Similarities from Click-through Bipartite Graph with Metadata

    读了一篇paper,MSRA的Wei Wu的一篇<Learning Query and Document Similarities from Click-through Bipartite Gr ...

  3. an optimal solution to the problem

    http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/Greedy/greedyIntro.htm Greedy Introdu ...

  4. 论文解读(GraphDA)《Data Augmentation for Deep Graph Learning: A Survey》

    论文信息 论文标题:Data Augmentation for Deep Graph Learning: A Survey论文作者:Kaize Ding, Zhe Xu, Hanghang Tong, ...

  5. cvpr2015papers

    @http://www-cs-faculty.stanford.edu/people/karpathy/cvpr2015papers/ CVPR 2015 papers (in nicer forma ...

  6. 2016CVPR论文集

    http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...

  7. ECCV 2014 Results (16 Jun, 2014) 结果已出

    Accepted Papers     Title Primary Subject Area ID 3D computer vision 93 UPnP: An optimal O(n) soluti ...

  8. CVPR 2015 papers

    CVPR2015 Papers震撼来袭! CVPR 2015的文章可以下载了,如果链接无法下载,可以在Google上通过搜索paper名字下载(友情提示:可以使用filetype:pdf命令). Go ...

  9. 机器学习资源汇总----来自于tensorflow中文社区

    新手入门完整教程进阶指南 API中文手册精华文章TF社区 INTRODUCTION 1. 新手入门 1.1. 介绍 1.2. 下载及安装 1.3. 基本用法 2. 完整教程 2.1. 总览 2.2.  ...

随机推荐

  1. Android查缺补漏(View篇)--在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?

    在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0 ? @Override protected void onCreate(Bundle savedInstanc ...

  2. On-Heap与Off-Heap

    和C#里的托管代码.非托管代码类似

  3. Spring框架(四)AOP面向切面编程

    一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnbl ...

  4. Linux第三节

    三期第三讲1.ls --help:查看帮助(man 命令) :ls -l: 长格式形式: ls -i: 文件的inode节点: ls -t: 按修改时间排序: ls -a :显示隐藏文件: 2.文件管 ...

  5. 6.Nginx作为负载均衡服务器应用

    案例:Nginx作为负载均衡服务器应用 nginx的负载均衡功能是通过upstream命令实现的,因此他的负载均衡机制比较简单,是一个基于内容和应用的7层交换负载均衡的实现.Nginx负载均衡默认对后 ...

  6. 轻量级quill富文本编辑器

    因为公司产品需要在移动端编辑文本,所以发现了这个轻量级的好东西,网上也没找到比较好的案例,就自己总结了下,有兴趣的直接复制代码运行看看就知道啦! 下面是quill.js的CDN加速地址: <!- ...

  7. vue基础学习(二)

    02-01  vue事件深入-传参.冒泡.默认事件 <div id="box"> <div @click="show2()"> < ...

  8. Git详解之二:Git基础

    Git 基础 读完本章你就能上手使用 Git 了(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读).本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到 ...

  9. java多线程(一)-概述

    最近这段在看java多线程编程方面的东西.所以特写了几篇文章,来总结和回顾一下自己所学习到的相关知识.因为水平有限,文章中总结不全面甚至理解错误的地方,欢迎读者指点批评. 我们平时所接触到的程序,都是 ...

  10. 微信小程序开发之选项卡

    选项卡是web开发中经常使用到的一个模块,在小程序中竟然没有,这里参考别人的文章自己做了一个双选项卡 实现思路: 通过绑定swichNav事件来控制currentTab(当前选项卡)和isShow(是 ...