强化学习MPC——(一)

1.什么是强化学习

强化学习是机器学习的一种,是一种介于监督学习和非监督学习的机器学习方法。
在这里插入图片描述
学习二字就很形象的说明了这是一种利用数据(任何形式的)来实现一些已有问题的方法,学习方法,大致可以分为机器学习,监督学习,非监督学习和强化学习。
机器学习:机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
 监督学习:已知数据和其一一对应的标签,训练一个智能算法,将输入数据映射到标签的过程。
 非监督学习:已知数据不知道任何标签,按照一定的偏好,训练一个智能算法,将所有的数据映射到多个不同标签的过程。
 强化学习:智能算法在没有人为指导的情况下,通过不断的试错来提升任务性能的过程。
强化学习和其他机器学习的不同之处在哪里呢?总的来说,强化学习就是一种试错过程,正确答案是试出来的,其他机器学习则是通过标记的训练数据来学习模型或者规律,已实现特定的分类回归聚类等特定任务。
所以一个非常重要的特点就是强化学习会与环境提供的奖励信号来指导学习过程,根据动作;来获取反馈,其他机器学习通常是静态的数据学习,不需要与环境进行交互注意,强化学习反馈的信号是延迟和稀疏的,需要考虑时间相关性和延迟决策。
强化学习与其他机器学习方法的不同之处:

  •  学习过程中没有监督信号,只有奖励反馈和实验试错
  •  其反馈具有延时性,非瞬时的
  •  智能体的动作会影响后续接收到的序列数据
  • 强化学习的过程与时间序列相关,是一个序贯决策的过程

2.强化学习的发展历史

RL从统计学、控制理论和心理学等多学科发展而来,是一个基于数学框架、由经验驱动的自主学习方法,RL有3条发展主线:
在这里插入图片描述

2.1最优控制

20世纪50年代后期开始使用,用来描述通过设计控制器来最小化动态系统的行为随时间变化的测度问题,即控制动态系统在每一时刻都能根据外界环境的变化选出最优的行为。

  • 20世纪50年代中期,Bellman和一些人对Hamilton、Jacobi理论进行了扩展,提出了Bellman方程,使用动态系统的状态和值函数(或“最优返回函数”)的概念定义了函数方程。
  •  通过求解Bellman方程来解决最优控制问题的方法叫做DP方法。
  • DP方法受到了“维度灾难”的限制,即它的计算量随着状态变量数目的增加呈指数级增长
  • Bellman还引入了最优控制问题的离散随机版本,称之为马尔可夫决策过程(Markov Decision Process, MDP)。
  •  1960年,Howard又设计了MDP的策略(policy)迭代方法。
    以上所有这些都是现代RL理论和算法的重要组成部分。

2.2试错学习

  •  在早期人工智能独立于其他工程分支之前,一些研究人员就开始探索将试错学习作为工程原理。该方法始于动物学习过程中的心理学,其中的“强化”学习理论很常见。在20世纪60年代,术语“强化”和“强化学习”首次被用于工程文献中。
  •  Edward Thorndike第一个简洁表达了试错学习的本质,即每一次采取的动作尝试所引发的好的或坏的结果都会对之后的动作选择产生相应地影响。——“效果定律”,效果定律涉及试错学习的两个最重要的方面:
  • 首先,它是选择性的,意味着它可以尝试替代方案,并通过比较它们所产生的结果来进行选择。
  • 其次,它是关联性的,即通过选择找到的替代方案与特定的情况相关联。
    比如,进化过程中的自然选择是选择性的,但它不是相关联的;监督学习是相关的,但不是选择性的,这两者的结合对效果定律和试错学习至关重要。

2.3时间差分(TD)学习

  •  TD学习方法部分起源于动物学习过程中的心理学,特别是辅助强化学,由同一时间内进行的连续估计之间的差异所驱动。
  •  1972年,Klopf提出了“广义强化”的概念,即每个组成部分(名义上,每个神经元)都以强化的角度来看待所有的输入。Klopf通过这一想法将试错学习与TD学习的重要组成部分结合起来,同时将其与动物学习心理学的大量经验数据库联系起来。
  •  1977年Witten最早出版的TD学习规则,也就是我们现在所谓的表格TD(0)方法,用作解决MDP自适应控制器的一部分,这种方法跨越了RL研究的主要思路——试错学习和最优控制。
  •  1981年人们开发了一种在试错学习过程中使用TD学习的方法,称为actor-critic架构,也有人叫做行动者-评论者架构,其中actor是行动者,负责动作的选择和执行,critic代表评论者,负责评价actor所选动作的好坏。
  •  1989年,Watkins将TD学习和最优控制完全融合在一起,发明了Q-learning学习算法,扩展并整合了先前RL研究三条主线的所有工作。

3强化学习的分类

在这里插入图片描述
基于模型和无模的两类

  • 模型型强化学习:这类方法在学习过程中建立了对环境的模型,可以使用该模型进行推理和规划。常见的模型型方法包括基于模型的强化学习、动态规划等。
  • 无模型型强化学习:这类方法直接从与环境的交互中学习,不依赖于环境模型。常见的无模型型方法包括蒙特卡洛方法、时序差分方法等。
    在这里插入图片描述
    根据输出动作的两种类型可以分为:
  • 值函数方法:这类方法通过估计状态或状态-动作对的价值函数,来指导代理的决策。常见的值函数方法包括Q-learning、SARSA等。
  • 策略方法:这类方法直接学习策略函数,将状态映射到动作的概率分布。常见的策略方法包括策略梯度算法、Actor-Critic方法等。
    在这里插入图片描述
    根据更新的方式来说,分为单步和回合更新两种
    在这里插入图片描述
    这个不是很懂。
  • On-policy(同策略)学习:在On-policy学习中,(agent)使用当前正在学习的策略与环境进行交互,并且学习的目标是优化当前策略本身。通过不断尝试并收集与当前策略相一致的数据,然后使用这些数据来更新策略的参数。常见的On-policy算法包括REINFORCE、Proximal Policy Optimization (PPO)等。
  • Off-policy(离策略)学习:在Off-policy学习中,使用之前收集的数据(通常是由其他策略生成的)进行学习,并且学习的目标是优化与当前策略不同的策略。在训练阶段可以采取一种策略生成数据,然后使用另一种策略从这些数据中学习。这种方法的优势在于可以更充分地利用历史数据,并且学习的目标可以是不同的策略。常见的Off-policy算法包括Q-learning、Deep Q-Network (DQN)等。

4强化学习基本概念

在这里插入图片描述
三大基本概念就是状态动作和奖励。状态是智能体所处的外界环境信息。动作是智能体在感知到所处的外界环境状态后所要采取的行为。奖励是当智能体感知到外界环境并采取动作后所获得的奖赏值
智能体的任务就是最大化累计奖励(强化学习是基于奖励假设(Reward Hypothesis)的,所有任务目标均可以用最大化期望累计奖励描述)
在这里插入图片描述
在这里插入图片描述

精彩学习内容:
价值函数,动作价值函数

回报?累计回报?

状态转移?
输入,输出内容

模型预测控制中的非线性解析数学方法

微分:未来的偏差(趋势),减少超调和振荡,加快响应速度,
一步预测。——>模型 更多的迭代?

积分:消除稳态误差 振荡

多目标多变量多约束 泛函问题
mpc问题建立:一个最优控制问题
解法:线性or非线性MPC
非线性优化,贝尔曼最优 二次规划QP,序列二次规划

模型信息,优化指标,多步结果。极点配置,直接就调参了。比例控制,会有稳态误差,,只取第一个用于控制,滚动优化控制。

增量式MPC,从直接从0开始转为0.1到0.2,,变化率。
Lqr又是什么?
带有约束的mpc求解。
mpc->最优控制?

线性 带不等式约束和状态等式约束 控制偏差和效率
多变量系统叫梯度(不是导数)
带着约束的多变量问题—kkt条件
NP hard

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/301212.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

说说TCP为什么需要三次握手和四次挥手?

一、三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包 主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备 过程如下&#xff…

Redis 常见面试题

目录 1. Redis是什么?2. Redis优缺点?3. Redis为什么这么快?4. 既然Redis那么快,为什么不用它做主数据库,只用它做缓存?5. Redis的线程模型?6. Redis 采用单线程为什么还这么快?7. R…

如何使用生成式人工智能撰写关于新产品发布的文章?

利用生成式人工智能撰写新产品发布文章确实是一种既有创意又高效的内容生成方式。以下是如何做到这一点的指南,附带一些背景信息: • 背景:在撰写文章之前,收集有关您的新产品的信息。这包括产品的名称、类别、特点、优势、目标受…

解决Xshell连接不上虚拟机

相信有很多同学和我一样遇到这个问题,在网上看了很多教程基本上都先让在虚拟机输入ifconfig命令查看ip地址,弄来弄去最后还是解决不了😭😭,其实问题根本就不在命令上,很大概率是我们的虚拟机没有开启网卡&a…

基于单片机便携式测振仪的研制系统设计

**单片机设计介绍,基于单片机便携式测振仪的研制系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机便携式测振仪的研制系统设计概要主要涉及利用单片机作为核心控制器件,结合测振原理和技术&#x…

python-可视化篇-turtle-画爱心

文章目录 原效果替换关键字5为8,看看效果改下颜色 原效果 import turtle as tt.color(red,pink) t.begin_fill() t.width(5) t.left(135) t.fd(100) t.right(180) t.circle(50,-180) t.left(90) t.circle(50,-180) t.right(180) t.fd(100) t.pu() t.goto(50,-30) t…

蓝鲸6.1 CMDB 事件推送的开源替代方案

本文来自腾讯蓝鲸智云社区用户:木讷大叔爱运维 背景 在蓝鲸社区“社区问答”帖子中发现这么一个需求: 究其原因,我在《不是CMDB筑高墙,运维需要一定的开发能力!》一文中已经介绍,在此我再简单重复下&#…

JavaScript实现全选、反选功能(Vue全选、反选,js原生全选、反选)

简介: 在JavaScript中,实现全选和反选通常是通过操作DOM元素和事件监听来实现; 全选功能:当用户点击一个“全选”复选框时,页面中所有具有相同类名的复选框都将被选中; 反选功能:用户点击一个…

ARP寻址过程

当知道目标的IP但是不知道目标的Mac地址的时候就需要借助ARP寻址获取目标的Mac地址,传输层借助四元组(源IP源端口:目标IP目标端口)匹配,网络层借助IP匹配,数据链路层则根据Mac地址匹配,数据传输…

局域网共享文件夹怎么加密?局域网共享文件夹加密方法介绍

在企业局域网中,共享文件夹扮演着重要的角色。为了保护数据安全,我们需要加密保护局域网共享文件夹。那么,局域网共享文件夹怎么加密?下面我们来了解一下吧。 局域网共享文件夹加密方法 局域网共享文件夹加密推荐使用共享文件夹加…

在git上先新建仓库-把本地文件提交远程

一.在git新建远程项目库 1.选择新建仓库 以下以gitee为例 2.输入仓库名称,点击创建 这个可以选择仓库私有化还公开权限 3.获取仓库clone链接 这里选择https模式就行,就不需要配置对电脑进行sshkey配置了。只是需要每次提交输入账号密码 二、远…

万字源码解析!彻底搞懂 HashMap【一】:概念辨析与构造方法源码解析

HashMap 的底层原理和扩容机制一直都是面试的时候经常被问到的问题,同时也是集合源码中最难阅读的一部分😢,之前更新的 ArrayList 源码阅读收获了很多朋友的喜欢,也给了我很多自信;本次我准备完成一个关于 HashMap 源码…

python练习三

模式A num int(input("请输入模式A的层数:")) for i in range(1, num 1):# 画数字for j in range(1, i 1):print(str(j) "\t", end"")print() 模式B num int(input("请输入模式B的层数:")) for i in ran…

九州金榜|孩子叛逆的原因是什么?

孩子随着年龄增长都会出现叛逆心理,很多家长不知道孩子为什么会出现叛逆心理,也不知道如何去引导孩子,下面九州金榜家庭教育就带大家了解一下孩子出现叛逆的原因。 一、心理需求增加 孩子对新事物的探索以及追求会随着人际交往扩大而增加&am…

2024年MathorCup妈妈杯数学建模思路D题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享,点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间:2024年4月11日(周四)12:00 比赛开始时间:2024年4月12日(周五)8:00 比赛结束时间&…

买卖股票的最佳时机IV

题目链接 买卖股票的最佳时机 IV 题目描述 注意点 1 < k < 1001 < prices.length < 10000 < prices[i] < 1000不能同时参与多笔交易&#xff08;必须在再次购买前出售掉之前的股票&#xff09;最多可以完成 k 笔交易 解答思路 本题与买卖股票的最佳时机…

单例模式--理解

单例模式 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时&#xff0c;为了防止频繁地创建对象使得内存飙升&#xff0c;单例模式可以让程序仅在内存中创建一个对象&#xff0c;让所有需要调用的地方都共享这一单例对象。 单…

Vue - 你知道Vue组件之间是如何进行数据传递的吗

难度级别:中级及以上 提问概率:85% 这道题还可以理解为Vue组件之间的数据是如何进行共享的,也可以理解为组件之间是如何通信的,很多人叫法不同,但都是说的同一个意思。我们知道,在Vue单页面应用项目中,所有的组件都是被嵌套在App.vue内…

『VUE』14. Style绑定(详细图文注释)

目录 行内css动态样式对象引入数组引入代码演示总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 大体上和前面的class绑定是一致的,只是class换成了style. 请注意,实际开发中,我们一般建议用class,因为style的权重太高了,用sty…

能不能换DB吗?--抽象工厂模式

1.1 就不能不换DB吗&#xff1f; 都是换数据库惹的祸。 "我们团队前段时间用.net的C#来开发好一个项目&#xff0c;是给一家企业做的电子商务网站&#xff0c;是用SQL Server作为数据库的&#xff0c;应该说上线后除了开始有些小问题&#xff0c;基本都还可以。而后&#…