强化学习笔记——(1)强化学习简介

1 强化学习简介

    1. 定义

强化学习是机器学习学习方式的一种,是让计算机实现从一开始完全随机的进行操作,通过不断试错的方式去总结出每一步的最佳行为决策,基于环境给予的反馈,去调整自己的行为决策。强化学习已广泛应用于无人驾驶、机器人控制、游戏对弈、推荐系统中。

    1. 机器学习分类

根据学习范式的不同,机器学习可划分为有监督学习、无监督学习、半监督学习、强化学习。

(1)监督学习:

训练数据有标签,通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。根据标记信息的“离散”或“连续性”,监督分为“分类”和“回归”两类。如,神经网络、支持向量机、近期邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类等。

(2)无监督学习:训练数据无标签,通过算法建模,学习总结出数据中的共性模式,从而对未来的数据进行编码、聚类等。如,PCA、k-means聚类等。

(3)半监督学习:

训练数据中少量标注样本和大量未标注样本,半监督学习是介于有监督学习和无监督学习两者之间的学习技术,它同时利用有标记样本与无标记样本进行学习。通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。

(4)强化学习:

训练数据无标签,但需要学习环境给出反馈,基于环境给出的反馈来不断优化调整自己的行为决策。从而对未来的行为给出最优决策。如,Q-Learning、DQN、蒙特卡洛方法等。

    1. 强化学习组成部分

强化学习主要由两个主体、四个部分组成。

(1)两个主体

Agent:代理人,即采取行动的个体,如玩家。

Environment:环境,能对行动产生反馈,如游戏规则。

  1. 四个部分

<A, S, R, P> Action space , A State space ,S Reward,R Policy: P

A:动作空间,即Agent采取行动的所有动作空间。如对于贪吃蛇游戏,就是上下左右的离散操作空间;而对于驾驶类游戏,则是向左向右和液氮加速等的连续空间。

S:状态空间,对于Agent采取行动后的反馈状态。贪吃蛇的身体长度位置、卡丁车的速度位置等,都是State。

R:奖励,实数值,顾名思义,就是奖赏或惩罚。

P:策略,即Agent在状态s ∈ S s\in Ss∈S下会采取什么行动a ∈ A a\in Aa∈A。

强化学习,就是在环境E下,由Agent根据状态S采取动作A,为了获得最大奖励R而不断训练生成策略P的过程

2 强化学习的分类

2.1 按照是否对环境建模(环境是否已知来分

(1)Model-Free RL(不对环境进行建模)

model就是用模型来表示上述提到的环境,不尝试去理解环境,环境给了我们什么就是什么,从环境中得到反馈然后从中学习,环境未知,如在公园里,无地图,通过不断试错摸索找到出口。如Q learning、Sarsa、Policy Gradients等。

(2)Model-Based RL(对环境进行建模)

通过过往的经验,先理解真实世界是怎么样的,并建立一个模型来模拟现实世界的反馈,不仅可以在真实世界中动作,也可以在虚拟环境中动作。能够通过想象来预判接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略,环境已知,如在公园里,有地图,可动态规划找到出口,alphaGo就是用的此类。还是上述方法,只是加入和环境建模。

2.2 按照学习目标来分

(1)Policy-Based RL(基于概率)

通过感官分析所处的环境,直接输出下一步要采取的各种动作的概率,然后根据概率采取行动,所以每种动作都有可能被选中,只是可能性不同。如,Policy Gradients等。

(2)Value-Based RL(基于价值)

输出所有动作的价值,根据最高价值来选择动作。如,Q learning、Sarsa等。(对于不连续的动作,这两种方法都可行,但如果是连续的动作基于价值的方法是不能用的,我们只能用一个概率分布在连续动作中选择特定的动作

  1. Actor-Critic

我们还能结合这两种方法建立一种Actor-Critic的方法,基于概率会给出做出的动作,基于价值会对做出的动作的价值二者的综合

2.3 按照策略更新方式来分

(1)Monte-Carlo update(回合更新)

游戏开始到结束更新一次模型参数(行为准则)。如,基础版Policy Gradients、Monte-Carlo Learing等。

(2)Temporal-Difference update(单步更新)

游戏开始到结束中的每一步都会更新一次模型参数(行为准则)。如,Q Learning、Sarsa、升级版Policy Gradient等。

2.4 按照学习方式来分

(1)online RL(在线强化学习)

学习过程中,智能体需要和真实环境进行交互(边玩边学习)。并且在线强化学习可分为on-policy RL和off-policy RL。on-policy采用的是当前策略搜集的数据训练模型,每条数据仅使用一次。off-policy训练采用的数据不需要是当前策略搜集的。如,Sarsa、Sarsa lambda等。

(2)offline RL(离线强化学习)

学习过程中,不与真实环境进行交互,只从过往经验(dataset)中直接学习,而dataset是采用别的策略收集的数据,并且采集数据的策略并不是近似最优策略。如,Q learning等。

【关注NLP有品,多少有些收获不是】

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值