CS229 - MachineLearning - 12 强化学习笔记
Ng的机器学习课,课程资源:cs229-课件 网易公开课-视频
问题数学模型:
马尔科夫过程五元组{S、a、Psa、γ、R},分别对应 {状态、行为、状态s下做出a行为的概率、常数、回报}。
一个简化的例子如下,假设移动机器人可以有如下位置,中间画×处不能走,目标是左上角,不希望走左上第二个格子:

那么机器人可以有11个状态S;在每个状态上都可以往四个方向走,因此a={N,S,W,E};
为了给机器人正确的奖励惩罚政策,给定左上角位置的回报为+1,左上第二个格子回报为-1,其他格子-0.01(为了让机器人尽快走到目标点)。
γ是常数,这里给0.99。

红色箭头表示一个策略。
优化目标:
选择一个策略π(policy)以获得最佳报酬:E[R(s0)+γR(s1)+γ2R(s2)+......],常数γ的存在可以保证尽量快地获得收益。
为此定义value function:给定初始状态s0,选择一个策略π使得收益最大。
优化函数:

根据贝尔曼方程,

R(s)表示执行此策略获得的直接收益,后面那一堆是执行了此策略以后在后面的行为获得的收益。
最优策略满足:

那么在s状态下的最优策略是满足以下等式的行为:

这样,就可以迭代计算了。
求解方法:

但实际操作中Psa是未知的,所以需要先统计次数,针对课上举的机器人移动的例子,Ng解释说可以先让机器人随便走,统计到达每个状态的次数。

所以强化学习的完整实现过程是这样:

之前的课件到这里就结束了,但现实世界中的问题极其复杂,是无法简化成上述格子的,看今年更新的课件又加了好几页,讲离散化和维度灾难and so on.
扩展:
以自动驾驶汽车为例,车子的状态是连续变化的,离散化以后维度也是大大的,解决方案是给定一个状态转换模型:

未完待续,不知道什么时候续。
2017.12.02
最近在看图像处理相关的东西,想了一下机器学习、机器视觉之间的关系,机器学习更接近于提供一个原理性的东西,机器视觉选用各种工具来解决这个问题,进而想到,搞机器学习其实还是人在学习,你去学习这个世界的表达方法、演化规则,然后让机器帮你实现。
CS229 - MachineLearning - 12 强化学习笔记的更多相关文章
- 20135202闫佳歆--week3 课本1-2章学习笔记
第一章 Linux内核简介 一.Unix Unix是一个强大.健壮和稳定的操作系统. 简洁 绝大部分东西都被当做文件对待.这种抽象使对数据和对设备的操作都是通过一套相同的系统调用借口来进行的:open ...
- 4月12日学习笔记——jQuery事件
下面是在 jQuery 中最常使用的 bind()方法举例:$("#testDiv4").bind("click", showMsg); 我们为 id 是 te ...
- 4月12日学习笔记——jQuery操作属性和样式
区分 DOM 属性和元素属性 <img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus ...
- 4月12日学习笔记——jQuery管理包装集
创建新的元素 (1)使用 HTML DOM 创建元素 //使用 Dom 标准创建元素 var select = document.createElement("select"); ...
- 1-2 maven学习笔记(7-8章)
一,生命周期和插件 1.除了坐标.依赖和仓库之外,maven的另外两个核心概念就是声明周期和插件. 生命周期和插件协同工作,密不可分. 清理 初始化 编译 测试 打包 集成测试 验证 部署 站点生成 ...
- centos7下docker1.12.5学习笔记
一.Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相 ...
- 机器学习12—FP-growth学习笔记
test12.py #-*- coding:utf-8 import sys sys.path.append("fpGrowth.py") import fpGrowth from ...
- 12.swoole学习笔记--锁机制
<?php //创建锁对象 $lock=new swoole_lock(SWOOLE_MUTEX);//互斥锁 echo "创建互斥锁\n"; //开始锁定 主进程 $loc ...
- 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布
Datawhale开源 核心贡献者:王琦.杨逸远.江季 提起李宏毅老师,熟悉强化学习的读者朋友一定不会陌生.很多人选择的强化学习入门学习材料都是李宏毅老师的台大公开课视频. 现在,强化学习爱好者有更完 ...
随机推荐
- linux 系统中 /etc/passwd 和 /etc/shadow文件详解
链接地址:http://blog.csdn.net/yaofeino1/article/details/54616440
- SC-FDM和OFDM的区别
3GPP定义的LTE空中接口,在下行采用正交频分多址(OFDMA)技术,在上行采用的就是这个单载频频分多址(SC-FDMA)技术. SC-FDMA(Single-carrier Frequency-D ...
- 前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
表单控件分类 input标签: input标签 type属性的text,password,button按钮,submit按钮 input标签placeholder属性 标签上显示内容 input标签 ...
- wordpress用Elementor拖拽生成酷炫页面
很多朋友看到wordpress网站做得很高大上,想知道是怎么做到的,其实很简单,用Elementor就能拖拽生成酷炫页面,ytkah就直接上干货了. 1.安装Elementor,到wordpress后 ...
- Html-根据不同的分辨率设置不同的背景图片
@media only screen and (min-width: 1024px) //当分辨率width >= 1024px 时使用1.jpg作为背景图片 { ...
- pycharm的安装和使用
python开发IDE: pycharm.eclipse 1.要专业版 2.不要汉化版 一.运算符 + - * ./ ** % // 判断某个东西是否在东西里面包含 in not ...
- python连接redis
一.首先,要下载redis pip3 install redis 二.连接redis import redis #拿到一个redis的链接 conn=redis.Redis('127.0.0.1',6 ...
- 【Linux】-NO.9.Linux.5.Nexus.1.001-【CentOS 7 Install Nexus 3.3】-
1.0.0 Summary Tittle:[Linux]-NO.9.Linux.5.Nexus.1.001-[CentOS 7 Install Nexus 3.3]- Style:Linux Seri ...
- 对k8s service的一些理解
服务service service是一个抽象概念,定义了一个服务的多个pod逻辑合集和访问pod的策略,一般把service称为微服务 举个例子一个a服务运行3个pod,b服务怎么访问a服务的pod, ...
- 致敬金庸:武侠版编程语言...Java像张无忌还是令狐冲?
我就喜欢这样,等新闻消失,热点过去,人们快要遗忘的时候, 用自己的方式,想起他.让他被人想起. 短评:夫千里之远,不足以举其大:千仞之高,不足以举其深.<倚天屠龙记> 短评:这世间和张三丰 ...