推荐算法之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"队.他们在夺得本周冠军之后,还将自己的获胜经验分享给了大家,究竟有什么秘诀呢? 阿里巴巴天池 ...
随机推荐
- MySQL索引(九)
一.索引介绍 1.1 什么是索引 索引就好比一本书的目录,它会让你更快的找到内容. 让获取的数据更有目的性,从而提高数据库检索数据的性能. 分为以下四种: BTREE:B+树索引(基本上都是使用此索引 ...
- websocket 的基本用法
项目当中使用到了websocket,以前的项目当中使用到了另外一个类似的socket.io,两者的区别和联系在另外一篇文章当中有提及,这里就简单的写下websocket的用法 下面的例子是阮一峰的We ...
- 使用WIFI网卡的AP功能
前几篇博客中,wifi无线网卡都工作于STA模式,那么它能否工作于AP模式.本篇博客就研究使wifi 无线网卡工作于AP模式.使用一个应用程序hostapd,关于它的介绍可以去此网站https://w ...
- 三星固态Dell版的960g的sm863a硬盘
smart参数 CrystalDiskMark测试 AS SSD 测试 HD Tune Pro测试 DiskGenius查看 总结: 按我的测试,性能比sm865的还好,不知道咋回事,按三星给的参数这 ...
- selenium数据读取模块
例如 数据保存在txt中 def info(path): web_info={} config = open(path) for line in config: result = [ele.strip ...
- zzulioj - 2617 体检
题目链接: http://acm.zzuli.edu.cn/problem.php?id=2617 题目描述: VX玩了这么多游戏以后,感觉自己身体素质和智商都有所下降,所以决定去医院体检一下.已知V ...
- Educational Codeforces Round 78 (Rated for Div. 2) C - Berry Jam(前缀和)
- JS的ES7支持
1.指数运算符(幂): ** 2.Array.prototype.includes(value) : 判断数组中是否包含指定value console.log(2**4); let arr = [2, ...
- django运行报错TypeError: object supporting the buffer API required
运行django项目报错:TypeError: object supporting the buffer API required 解决方案: 将settings.py中数据库的密码改成字符串格式 源 ...
- [RN] React Native 让 Flatlist 支持 选中多个值,并获取所选择的值
React Native 让 Flatlist 支持 选中多个值,并获取所选择的值 实现效果如下: 实现代码: import React, {Component} from 'react'; im ...