机器学习(二十四)——数据不平衡问题, 强化学习
https://antkillerfarm.github.io/
数据不平衡问题
https://mp.weixin.qq.com/s/e0jXXCIhbaZz7xaCZl-YmA
如何处理不均衡数据?
https://mp.weixin.qq.com/s/2j_6hdq-MhybO_B0S7DRCA
如何解决机器学习中数据不平衡问题
https://mp.weixin.qq.com/s/gEq7opXLukWD5MVhw_buGA
七招教你处理非平衡数据
http://blog.****.net/u013709270/article/details/72967462
机器学习中的数据不平衡解决方案大全
https://mlr-org.github.io/mlr-tutorial/devel/html/over_and_undersampling/index.html
Imbalanced Classification Problems
https://mp.weixin.qq.com/s/QEHAV_rW25E0b0N7POr6tw
关于处理样本不平衡问题的Trick整理
https://mp.weixin.qq.com/s/5csfnBWZ2MQsnWZnNj9b8w
机器学习中样本比例不平衡的处理方法
强化学习
监督学习的局限
举个例子,如果我们想让机器学会开车,一个很直接的想法是观察人类行为,并且模仿人类,在相应观测下做出人类所做行为。这种方法也叫作模仿学习(Imitation Learning)。
将这个想法实现起来也很简单,只需要收集该任务的一些观测(路面的画面),以及每个观测人类会做出的反应(转动方向盘),然后像监督学习一样训练一个神经网络,以观测为输入,人类行为为标签,其中行为是离散时是分类任务,连续时是回归任务。
然而这简单的监督学习理论上并不可行,一个直观的原因是由于现实的随机性或者复杂性,使得机器所采用的动作和人类的动作有偏差或者动作所产生的结果有偏差,这样在有偏差的下一状态,机器还会做出有偏差的动作,使得之后状态的偏差积累,导致机器遇到监督学习时没有碰到过的状态,那机器就完全不知道该怎么做了,也就是如下图所示:
即使我们可以使用一些算法来改善模仿学习的效果,但模仿学习始终有如下问题:
1.需要人类提供的大量数据(尤其是深度学习,需要大量样本)。
2.人类对一些任务也做的不太好,对于一些复杂任务,人类能做出的动作有限。
3.我们希望机器能自动学习,即能不断地在错误中自我完善,而不需要人类的指导。
概述
强化学习是一个多学科交叉的领域。它的主要组成以及和其他学科的关系如下图所示:
上图是Reinforcement Learning和其他类型算法的关系图。
不像监督学习,对于每一个样本,都有一个确定的标签与之对应,而强化学习没有标签,只有一个时间延迟的奖励,而且游戏中我们往往牺牲当前的奖励来获取将来更大的奖励。这就是信用分配问题(Credit Assignment Problem),即当前的动作要为将来获得更多的奖励负责。
而且在我们找到一个策略,让游戏获得不错的奖励时,我们是选择继续坚持当前的策略,还是探索新的策略以求更多的奖励?这就是探索与开发(Explore-exploit Dilemma)的问题。
因此,强化学习某种意义上可看做具有延迟标记信息的监督学习。
上图是强化学习的基本流程图。从控制论的角度来说,这是一个反馈控制系统,和经典的Kalman filters系统非常类似。因此,目前强化学习的主要用途,也多数和系统控制相关,例如机器人和自动驾驶。
在推荐系统领域,由于有用户的反馈信息,亦可使用相关强化学习算法。
MDP
强化学习任务通常用马尔可夫决策过程(Markov Decision Process)来描述:
这个五元组依次代表:states、actions、state transition probability matrix、reward function、discount factor。
MDP中有两个对象:Agent和Environment。
1.Environment处于一个特定的状态(State)(如打砖块游戏中挡板的位置、各个砖块的状态等)。
2.Agent可以通过执行特定的动作(Actions)(如向左向右移动挡板)来改变Environment的状态。
3.Environment状态改变之后会返回一个观察(Observation)给Agent,同时还会得到一个奖励(Reward)(可以为负,就是惩罚)。
4.Agent根据返回的信息采取新的动作,如此反复下去。Agent如何选择动作叫做策略(Policy)。MDP的任务就是找到一个策略,来最大化奖励。
注意State和Observation区别:State是Environment的私有表达,我们往往不会直接得到。
在MDP中,当前状态State包含了所有历史信息,即将来只和现在有关,与过去无关,因为现在状态包含了所有历史信息。只有满足这样条件的状态才叫做马尔科夫状态(Markov state)。当然这只是理想状况,现实往往不会那么简单。
正是因为State太过于复杂,我们往往可以需要一个对Environment的观察来间接获得信息,因此就有了Observation。不过Observation是可以等于State的,此时叫做Full Observability。
这里可以类比围棋和星际争霸。前者的所有信息都在明面上,因此是Full Observability,而后者由于战争迷雾的存在,显然就不是Full Observability的了。
状态、动作、状态转移概率组成了MDP,一个MDP周期(episode)由一个有限的状态、动作、奖励队列组成:
这里代表状态,代表行动,是执行动作后的奖励。最终状态为。