打字猴:1.700539408e+09
1700539408 百面机器学习:算法工程师带你去面试 [:1700532237]
1700539409 百面机器学习:算法工程师带你去面试 04 探索与利用
1700539410
1700539411
1700539412
1700539413 场景描述
1700539414
1700539415 在和环境不断交互的过程中,智能体在不同的状态下不停地探索,获取不同的动作的反馈。探索(Exploration)能够帮助智能体通过不断试验获得反馈,利用(Exploitation)是指利用已有的反馈信息选择最好的动作。因此如何平衡探索和利用是智能体在交互中不断学习的重要问题。
1700539416
1700539417 知识点
1700539418
1700539419 强化学习,探索,利用
1700539420
1700539421 问题 在智能体与环境的交互中,什么是探索和利用?如何平衡探索与利用?
1700539422
1700539423 难度:★★★☆☆
1700539424
1700539425 分析与解答
1700539426
1700539427 假设我们开了一家叫Surprise Me的饭馆,客人来了不用点餐,而是用算法来决定该做哪道菜。具体过程为:
1700539428
1700539429 (1)客人 user = 1,…,T 依次到达饭馆。
1700539430
1700539431 (2)给客人推荐一道菜,客人接受则留下吃饭(Reward=1),拒绝则离开(Reward=0)。
1700539432
1700539433 (3)记录选择接受的客人总数 total_reward。
1700539434
1700539435 为了由浅入深地解决这个问题,我们先做以下三个假设。
1700539436
1700539437 (1)同一道菜,有时候会做得好吃一些(概率=p),有时候会难吃一些(概率 = 1−p),但是并不知道概率p是多少,只能通过多次观测进行统计。
1700539438
1700539439 (2)不考虑个人口味的差异,即当菜做得好吃时,客人一定会留下(Reward=1);当菜不好吃时,客人一定会离开(Reward=0)。
1700539440
1700539441 (3)菜好吃或不好吃只有客人说的算,饭馆是事先不知道的。
1700539442
1700539443 探索阶段:通过多次观测推断出一道菜做得好吃的概率。如果一道菜已经推荐了k遍(获取了k次反馈),就可以算出菜做得好吃的概率
1700539444
1700539445
1700539446
1700539447
1700539448 (11.6)
1700539449
1700539450
1700539451 如果推荐的次数足够多,k足够大,那么会趋近于真实的菜做得好吃的概率p。
1700539452
1700539453
1700539454
1700539455 利用阶段:已知所有的菜做得好吃的概率,决定该如何推荐?如果每道菜都被推荐了很多遍,就可以计算出每道菜做得好吃的概率,于是只需推荐最大的那道菜。
1700539456
1700539457 探索和利用的平衡是一个经久不衰的问题。一是,探索的代价是要不停地拿用户去试菜,影响客户的体验,但有助于更加准确的估计每道菜好吃的概率;二是,利用会基于目前的估计拿出“最好的”菜来服务客户,但目前的估计可能是不准的(因为试吃的人还不够多)。
[ 上一页 ]  [ :1.700539408e+09 ]  [ 下一页 ]