EnforceLearning-被动强化学习
前言:
画图挺好:深度学习进阶之路-从迁移学习到强化学习
专家系统给出了知识节点和规则,使用粒度描述准确性,依靠分解粒度解决矛盾,并反馈知识和推理规则更新。专家系统与机器学习有本质区别,但从机器学习的角度看,专家系统是一个给出了规则/函数又给了函数参数的学习模型,其直接影响是泛化性能极差,容易导致矛盾。这样,每一个专家系统的更新都涉及到知识节点(规则参数)的分解重构,形式上等价于函数复合化。
机器学习系统设计也遵循了模式识别的一般构架与过程。一般在特定或者广泛的应用领域,先给出目标/评价函数,以期待完成预期的结果。再依据目标/评价函数设计满足目标函数的规则系统/数学模型,以期待能完成目标函数所要求的功能。而应对与每个领域,由实体到数学模型的转化,产生了一个特征描述的专家过程,把领域实体表示为学习系统可以接受的输入数据。
机器学习划分出的非监督学习与监督学习,在于是否使用了示例来指导数学模型的优化过程。监督学习给出了形式化的目标函数,形式化的数学模型,形式化的特征提取过程,并且给出了同伦映射空间模型参数的一些阈值确界,学习过程是通过阈值确界通过目标函数约束来优化数学模型的过程。非监督学习没有给出模型参数阈值,但依然有形式化的目标函数,形式化的数学模型和形式化的特征提取过程,主要通过目标函数和数学模型精细结构调整来达到预期目标。
传统的机器学习系统是一个模型逐渐优化的学习系统,学习的终极目标是收敛到一个最优解,期待是确定的数学模型。传统的ML系统方法期待模型直接学习到模式的空间结构,并得到空间结构的等价模型映射,相对于任意模型,学习到的模型是e精度最优的,即是e精度最接近的,这就意味着最大的准确率和最大的泛化性能。
跨越到连接主义的范畴,强化学习是一个反馈式学习系统,其期待是一个不断根据反馈进行优化的模型,并非一次成型。
专家系统由专家构建明确的推理规则和知识节点,模型约束为逻辑约束;监督学习构建明确的函数模型和模型参数,模型约束为拓扑约束;非监督学习形式与监督学习不同而结果相同。强化学习系统附加了一个强化规则/函数,用于实时更新模型。
专家系统、机器学习系统可以构建一个反馈系统的外围,构建一个强化学习系统,以应对交互和反馈、以及时序输入和在线模型更新。
被动强化学习:
直接抄书.....
摘抄于:AI:A Modern approach 第三版
- reinforcement learning-RL又称为评价学习,在传统ML领域不存在此种概念,接近于在线弱监督学习。在连接主义学习中,ML划分为监督学习、非监督学习、强化学习RL。
本章主要讲Agent如何从成功与失败中、回报与惩罚中进行学习。
reinforcement learning的任务是利用观察到的回报来学习针对每个环境的最优或者接近最优策略。在此,Agent没有完整的环境模型或者回报函数 两者的先验知识。RL囊括了人工智能的全部,一个Agent被置于一个环境中,并学会在其间游刃有余。
强化学习,致使Agent面临一个未知的马尔科夫过程。
被动强化学习:
在完全可观察环境的状态下使用基于状态表示的被动学习。在被动学习中,Agent的策略是Pi是固定的:在状态s中,它总是执行行动Pi(s)。
其目标只是简单的学习:该策略有多好,即是学习效用函数U(s).
被动学习的任务类似于 策略评价 任务。
1、直接效用估计
由widrow和hoff在1950s末末期在自适应控制理论里面提出的 直接效用估计。思想为:认为一个状态的效用是从该状态开始往后的期望总回报,二每次实验对于每个被访问状态提供了该值的一个样本。
直接效用估计使RL成为监督学习的一个实例,其中每一个学习都以状态为输入,以观察得到的未来回报为输出。此时,RL已经被简化为 标准归纳学习问题。
后记:作为作准归纳学习的直接效用估计,是稳定的且收敛的。
2、自适用动态规划
直接效用估计DUE.(direct utility estimatation )将RL简化为归纳学习问题(决策树?),基于它忽略了一个重要的信息来源:状态的效用并非相互独立的。每个状态的回报等于它自己的回报加上其后记状态的期望效用,即是,效用值服从固定策略的贝尔曼方程:
动态规划方程
忽略了状态之间的联系,直接效用估计错失了学习的机会。并且,直接效用估计可视为在比实际大得多的假设空间中搜索U,其中包括了违反Berman方程组的函数,因此DUE.算法收敛的非常慢。
自适应动态规划ADP.(Adaptive Dynamic program),Agent通过学习连接状态的转移模型,并使用动态规划方法来求解Markov过程,来利用状态效用之间的约束。
后记:作为规划过程的自适应动态规划,整个过程是不稳定的,且收敛性更不确定。
3、时序差分学习
时序差分学习TD.(Timporal-difference)
求解前一节内在的MDP并不是让Berman方程来承担学习问题的唯一方法。另外一种方法是:使用观察到的转移来调整观察到的状态的效用,使得它满足约束方程。
................................
ADP方法和TD方法实际上是紧密相关的。二者都试图对效用估计进行局部调整,以使每一状态都与其后继状态相“一致”。一个差异在于 TD调整一个状态使其与所有已观察的后继状态相一致,而ADP则调整该状态使其与所有可能出现的后继状态相一致,根据概率进行加权。.......
..................
演化出的近似ADP算法可以提高几个数量级的运算速度,然后......
后记:
时序差分学习的学习对象是所有已观察状态,所以预计的结果是有偏的。
EnforceLearning-被动强化学习的更多相关文章
- 【整理】强化学习与MDP
[入门,来自wiki] 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的 ...
- 强化学习之 免模型学习(model-free based learning)
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
- (译) 强化学习 第一部分:Q-Learning 以及相关探索
(译) 强化学习 第一部分:Q-Learning 以及相关探索 Q-Learning review: Q-Learning 的基础要点是:有一个关于环境状态S的表达式,这些状态中可能的动作 a,然后你 ...
- 强化学习读书笔记 - 02 - 多臂老O虎O机问题
# 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...
- 强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods)
强化学习读书笔记 - 05 - 蒙特卡洛方法(Monte Carlo Methods) 学习笔记: Reinforcement Learning: An Introduction, Richard S ...
- 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...
- 强化学习之Q-learning ^_^
许久没有更新重新拾起,献于小白 这次介绍的是强化学习 Q-learning,Q-learning也是离线学习的一种 关于Q-learning的算法详情看 传送门 下文中我们会用openai gym来做 ...
- 强化学习 - Q-learning Sarsa 和 DQN 的理解
本文用于基本入门理解. 强化学习的基本理论 : R, S, A 这些就不说了. 先设想两个场景: 一. 1个 5x5 的 格子图, 里面有一个目标点, 2个死亡点二. 一个迷宫, 一个出发点, ...
- TensorLayer官方中文文档1.7.4:API – 强化学习
API - 强化学习¶ 强化学习(增强学习)相关函数. discount_episode_rewards([rewards, gamma, mode]) Take 1D float array of ...
随机推荐
- hdu 5174 Ferries Wheel
摩天轮是一个环,周围围绕着一些缆车.每个缆车按顺序编号为1,2,3...K-1,K1,2,3...K−1,K而且每个缆车也拥有一个唯一的值且保证A[i-1] < A[i] < A[i+1] ...
- BUPT2017 springtraining(16) #1 ——近期codeforces简单题目回顾
这里是contest 8道题全部来源于 cf 的两场contest (出题人可真懒啊 Codeforces Round #411 (Div. 2)的ABCDE Codeforces Round #40 ...
- Haybale Guessing
Haybale Guessing Time Limit: 1000MS Memory Limit: 65536K Description The cows, who always ha ...
- (43). Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】
在上一篇我们介绍了多数据源,但是我们会发现在实际中我们很少直接获取数据源对象进行操作,我们常用的是jdbcTemplate或者是jpa进行操作数据库.那么这一节我们将要介绍怎么进行多数据源动态切换.添 ...
- 如何实现在scrapy调试爬虫
# -*- coding:utf-8 -*- from scrapy.cmdline import execute import sys import os '''在爬虫文件夹下面自定义一个main. ...
- Sencha Touch 2中如何动态添加button
原理很简单无非就是在一个容器上面选中id,用容器的add方法将button循环加入. 现在我们来试一下 1.先定义一个Container组件用,以后在里面添加button ? 1 2 xtype:'c ...
- nyoj_17_单调递增最长子序列_201403121516
单调递增最长子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4 输入 ...
- SSM(spring mvc+spring+mybatis)学习路径——2-1、spring MVC入门
目录 2-1 Spring MVC起步 一.回顾Servlet 二.SpringMVC简介 三.搭建SpringMVC第一个案例 四.简单流程及配置 五.使用注解开发Controller 六.参数绑定 ...
- JS 带运动的返回顶部 小案例
带运动的返回顶部:当滚动条在滚动的时候,滚动鼠标的滚轮,应该让滚动条停止滚动,清掉定时器.下面的方法b 就是清掉的方法 <!DOCTYPE html PUBLIC "-//W3C//D ...
- HDU 5242 上海大都会 G题
这道题其实是求K条最长的不重叠的链.贪心算法+DFS即可求.深度优先搜索时,返回当前子树的最长链,使用优先队列保存其他孩子结点的最长链,即可.求结果时只需从优先队列中取前K个值的和.这相当于暴力删除每 ...