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.csdn.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)来描述:

<S,A,P,R,γ><S,A,P,R,γ>

<script type="math/tex; mode=display" id="MathJax-Element-1"><\mathcal{S},\mathcal{A},\mathcal{P},\mathcal{R},\gamma></script>

这个五元组依次代表: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)由一个有限的状态、动作、奖励队列组成:

s0,a0,r1,s1,a1,r2,s2,…,sn−1,an−1,rn,sns0,a0,r1,s1,a1,r2,s2,…,sn−1,an−1,rn,sn

s_0,a_0,r_1,s_1,a_1,r_2,s_2,\dots,s_{n-1},a_{n-1},r_n,s_n

这里sisis_i代表状态,aiaia_i代表行动,ri+1ri+1r_{i+1}是执行动作后的奖励。最终状态为snsns_n。

机器学习(二十四)——数据不平衡问题, 强化学习相关推荐

  1. 二十四、PHP框架Laravel学习笔记——模型的数据集合

    一.数据集合 数据集合,就是已经将模型方法 get()获取到的数据再进行处理: 比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果: $users = User::get(); / ...

  2. 公务员备考(二十四) 申论强化

     释义: "精准"是指扶贫时要了解贫困户具体情况,施策要具有针对性. 对策: 精准发展扶贫产业.结合当地情况,因地制宜发展优势产业,申请企业帮扶. 对策ÿ

  3. CYQ.Data 轻量数据层之路 使用篇-MAction 取值赋值 视频[带音乐] F (二十四)

    CYQ.Data 轻量数据层之路 使用篇-MAction 取值赋值 视频[带音乐] F (二十四) 说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 使用篇三曲 MAction 取值赋值 ...

  4. mysql循环查询一个表中的数据并进行修改_JavaScript学习笔记(二十四)-- MYSQL基础操作...

    MYSQL mysql 是一个数据库的名字 和 php 合作的比较好的数据库 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端 接下来就聊聊使用 php 操作数据库 M ...

  5. 【二十四】springboot使用EasyExcel和线程池实现多线程导入Excel数据

      springboot篇章整体栏目:  [一]springboot整合swagger(超详细 [二]springboot整合swagger(自定义)(超详细) [三]springboot整合toke ...

  6. 真三国无双8二十四项修改器风灵月影版

    点击下载来源:真三国无双8二十四项修改器风灵月影版 真三国无双8修改器风灵月影顾名思义,就是由风灵月影大神专门为<真三国无双8(Dynasty Warriors 8)>量身打造的一款游戏辅 ...

  7. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  8. 异常处理程序和软件异常——Windows核心编程学习手札之二十四

    异常处理程序和软件异常 --Windows核心编程学习手札之二十四 CPU负责捕捉无效内存访问和用0除一个数值这种错误,并相应引发一个异常作为对错误的反应,CPU引发的异常称为硬件异常(hardwar ...

  9. 数字图像处理领域的二十四个典型算法及vc实现、第一章

    数字图像处理领域的二十四个典型算法及vc实现.第一章 作者:July   二零一一年二月二十六日. 参考:百度百科.维基百科.vc数字图像处理. --------------------------- ...

最新文章

  1. 阿里云服务器配置开发环境第一章:Centos7.3安装git 和 zsh
  2. 对南昌杀人案的一些看法
  3. Java多线程学习三十八:你知道什么是 CAS 吗
  4. pytorch 实现RBF网络
  5. 数据类型转换——Python
  6. 主键和外键(MySQL)
  7. 电脑故障维修判断指导大全
  8. 《正确写作美国大学生数学竞赛论文》摘录笔记
  9. 《O2O实战:二维码全渠道营销》读书笔记思维导图(530KB)
  10. 如何限制IP访问你的网站?
  11. Windows Defender 打开后一片空白,安全中心不显示
  12. uniapp开发微信小程序保存图片带权限判断
  13. python公司网站毕业设计开题报告
  14. 《Python语言程序设计》王恺 王志 机械工业出版社 第一章 初识Python 课后习题答案
  15. 30、二维装箱(单品)
  16. 大学物理实验-居家实验1-利用单摆测量重力加速度
  17. 解决iPhone手机音乐不能自动播放问题
  18. 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)
  19. DB2 export 使用Modified by file-mod 方法随笔
  20. CANoe从入门到精通“保姆级”教程(五)- Panel面板设计之一

热门文章

  1. Python:for循环+else与continue+break小总结
  2. Pycharm无法安装第三方模块(模块已存在/换源)
  3. div模拟textarea文本框,输入文字高度自适应,且实现字数统计和限制
  4. mysql结果以字符串显示不出来,mysql – 为什么SQl MATCH AGAINST找不到结果中只有3个字符的结果?...
  5. android ipc简单理解,Android IPC 机制【1】--简介
  6. Vue2.x—理解vuex核心概念action(使用到ES6的变量的解构赋值)
  7. VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x
  8. 将自己的类封装为lib的方法
  9. python爬取网易云音乐评论并进行可视化分析
  10. JVM运行时对它所管理的内存划分区域(为面试准备)