推荐算法之E&E
一、定义
E&E就是探索(explore)和利用(exploit)。
Exploit:基于已知最好策略,开发利用已知具有较高回报的item(贪婪、短期回报),对于推荐来讲就是用户已经发现的兴趣,继续加以利用推荐。
优点:充分利用高回报item。
缺点:容易陷入局部最优,可能错过潜在最高回报的item。
Explore:挖掘未知的潜在可能高回报的的item(非贪婪、长期回报),对于推荐来讲,就是探索用户新的未知的兴趣点,防止推荐越来越窄。
优点:可以发现更高回报的item。
缺点:充分利用已有高回报的item机会减少(如果高回报item之前已经找到,再探索肯定就会浪费高回报的机会)
目标:要找到Exploit & Explore的trade-off,以达到累计回报最大化。
如果Exploit占比太高,那么推荐就会越来越窄,最终收益反倒下降;如果Explore占比过高的话,可能大多是用户不太感兴趣的,浪费的机会比较多,综合收益下降更快。
二、MAB(Multi-armed bandit)多臂赌博机问题
一个赌徒,要去摇赌博机,走进赌场一看,一排赌博机,外表一模一样,但是每个赌博机吐钱的概率可不一样,他不知道每个。他不知道每个赌博机吐钱的概率分布是什么,那么想最大化收益该怎么办?这就是MAB问题,又叫多臂赌博机问题。有很多相似问题都属于MAB问题:
1)假设一个用户对不同类别的内容兴趣程度也不同,当推荐系统初次见到这个用户,如何快速地知道用户对每类内容的感兴趣程度呢?这也是推荐系统常常要面对的冷启动问题。
2)假设系统中有若干个广告库存物料,该给用户展示哪个广告,才能获得最高的点击收益呢?是不是每次都挑选收益最高的哪个呢?
这些问题都是关于选择的问题,只要是选择的问题,都可以简化成一个MAB问题。
Bandit算法就是用来解决此类问题的。
三、Bandit算法
Bandit不是一个算法,而是指一类算法。Bandit算法家族如何衡量选择的好坏呢? 它们使用累计遗憾(collect regret)来衡量策略的优劣。
wB(i)是第i次试验时被选中item的回报, w_opt是所有item中的最佳选择item的回报。累计遗憾为T次的选择的遗憾累计,每次选择的遗憾为最优选择回报与本次选择回报之差。
为了简单起见,我们假设每台机器的收益为伯努利收益,即收益要么是0,要么是1。对应到推荐系统中,赌博机即对应我们的物品(item),每次摇臂即认为是该物品的一次展示,我们可以用是否点击来表示收益,点击(win)的收益就是1,没有点击(lose)的收益就是0
比较常用的且效果比较好的Bandit算法主要有Thompson(汤普森)采样算法、UCB(Upper Confidence Bound)算法,后面会单独开讲。
推荐算法之E&E的更多相关文章
- Mahout推荐算法API详解
转载自:http://blog.fens.me/mahout-recommendation-api/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, ...
- 【笔记3】用pandas实现矩阵数据格式的推荐算法 (基于用户的协同)
原书作者使用字典dict实现推荐算法,并且惊叹于18行代码实现了向量的余弦夹角公式. 我用pandas实现相同的公式只要3行. 特别说明:本篇笔记是针对矩阵数据,下篇笔记是针对条目数据. ''' 基于 ...
- FP-tree推荐算法
推荐算法大致分为: 基于物品和用户本身 基于关联规则 基于模型的推荐 基于物品和用户本身 基于物品和用户本身的,这种推荐引擎将每个用户和每个物品都当作独立的实体,预测每个用户对于每个物品的喜好程度,这 ...
- apriori推荐算法
大数据时代开始流行推荐算法,所以作者写了一篇教程来介绍apriori推荐算法. 推荐算法大致分为: 基于物品和用户本身 基于关联规则 基于模型的推荐 基于物品和用户本身 基于物品和用户本身的,这种推荐 ...
- 推荐算法——距离算法
本文内容 用户评分表 曼哈顿(Manhattan)距离 欧式(Euclidean)距离 余弦相似度(cos simliarity) 推荐算法以及数据挖掘算法,计算"距离"是必须的~ ...
- 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...
- 美团网基于机器学习方法的POI品类推荐算法
美团网基于机器学习方法的POI品类推荐算法 前言 在美团商家数据中心(MDC),有超过100w的已校准审核的POI数据(我们一般将商家标示为POI,POI基础信息包括:门店名称.品类.电话.地址.坐标 ...
- Mahout推荐算法基础
转载自(http://www.geek521.com/?p=1423) Mahout推荐算法分为以下几大类 GenericUserBasedRecommender 算法: 1.基于用户的相似度 2.相 ...
- 转】Mahout推荐算法API详解
原博文出自于: http://blog.fens.me/mahout-recommendation-api/ 感谢! Posted: Oct 21, 2013 Tags: itemCFknnMahou ...
- 天池大数据周冠军分享|附移动推荐算法赛答辩会Top5选手PPT
上周是淘宝穿衣搭配算法大赛开始评测后的第一周,周冠军是来自浙江大学的"FUC AUTH"队.他们在夺得本周冠军之后,还将自己的获胜经验分享给了大家,究竟有什么秘诀呢? 阿里巴巴天池 ...
随机推荐
- Godaddy ssl证书配置到nginx
打开终端,输入以下命令 openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr 生成过程会询问几个常见问 ...
- 201871010101-陈来弟《面向对象程序设计(java)》第二周学习总结
201871010101-陈来弟<面向对象程序设计(java)>第二周学习总结 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs ...
- nginx 静态资源服务
1.文件压缩 location ~ .*\.(jpg|gif|png)$ { gzip on(开启); gzip_http_version 1.1(版本); gzip_comp_level 2(压缩比 ...
- python nose测试框架全面介绍十三 ---怎么写nose插件
之前有一篇文章介绍了自己写的插件 nose进度插件,但最近有朋友问我,看着nose的官方文档写的插件没用,下面再详细介绍一下 一.准备 1.新建一个文件夹,随便文件夹的名字,假设文件夹放在f://aa ...
- 开始Golang之旅了
- 排序算法-基数排序(Java)
package com.rao.sort; import java.util.*; /** * @author Srao * @className RadioSort * @date 2019/12/ ...
- 【Excel】IF函数
判断条件: 一版判断:1>2大于 1<2小于 1=2等于 1<>2不等于 1>=2 1<=2 交集:AND() 并集:OR() 多条件:以后补
- 阿里巴巴java开发手册 注释规约
- debian 9 安装远程桌面
1. 安装远程桌面服务: apt-get install xrdp 2. 修改设置文件 dpkg-reconfigure xserver-xorg-legacy 设置为anybody 3. 使用ms ...
- 【JZOJ5738】【20190706】锁屏杀
题目 $n \le 2000 $ 题解 \(B\)的数字可以对1440取模,对三个图分别进行\(dp\)即可 时间复杂度\(O(n\times 1440 \times 10)\) Code #incl ...