matlab mpc工具箱_Gaussian Processes & MPC

e123e8b0ad97c3c57a2f4b968082bddd.png

这篇文章主要想介绍下高斯过程的概念以及它在控制中的应用,并且结合模型预测控制讲一下GP-based MPC的简要内容。

%================================

1、Gaussian Processes:高斯过程

高斯过程是概率论和统计学中的一个重要概念,也是一种很重要的机器学习算法,广泛应用于诸多领域。

首先,其实刚接触高斯过程比较难理解,特别容易跟高斯分布混淆。高斯过程的概念知乎以及B站上有些文章和视频有一些讲解,因为高斯过程比较难理解,所以呢大家可以去看看不同人写的文章结合视频多学习一点。

王桂波:高斯过程 Gaussian Processes 原理、可视化及代码实现​zhuanlan.zhihu.com
f635b11269564147bd2c94aed1ffe0ef.png

这位大佬基本上整合了那个PPT里的内容,并且用测温度的例子来讲,比较有条理容易理解,GP:无限元高斯分布,其实也是函数的分布。

论智:图文详解高斯过程(一)——含代码​zhuanlan.zhihu.com
0070e1dac60f0344133db55aea376f73.png

论智的文章从熟知的一维、二维到多维采样的角度讲了GP的概念,行文更偏论文一点,同样非常好理解。

##########################

我们使用高斯过程(GP)来描述函数的分布,下面对此进行简要描述:

Definition:

A Gaussian process is a collection of random variables, any finite number of which have a joint Gaussian distribution.

高斯过程完全由其均值函数和协方差函数来表示,我们定义实际过程

的均值和协方差分别为:

因此高斯过程为:

,这是先验分布,表示在观察任何数据前我们期望在输入x后获得的输出f(x),为了简单起见可以将均值函数设为0。

高斯过程回归(Gaussian Processes Regression)

给定回归向量

以及它所对应的输出
,我们定义训练数据集为
。则新的输入向量
所对应的输出
的分布是一个高斯分布
,均值和协方差为:

其中K的取值可以自己去参考,其中均值和协方差函数是由超参数赋值的,这可以通过最大似然方法得到。具体的更详细的内容可以从下面介绍的两本书中获得。

%=================================

2、Gaussian Processes for Machine Learning

这是一本很经典的书,Carl Edward Rasmussen和Chris Williams是GP领域的两位先驱,他们的这本书描述了高斯过程在回归和分类任务中的数学基础和实际应用,并用来解决科学和工程中的广泛问题。

http://www.gaussianprocess.org/gpml/​www.gaussianprocess.org

书中提供了这里提供了一个非常棒的工具箱:GPML,其中的代码演示了书中的主要算法,后来也不断吸收了GP的许多研究成果,链接如下,其中的安装及使用教程写的很详细,用的话需要去仔细看看。

http://www.gaussianprocess.org/gpml/code/matlab/doc/​www.gaussianprocess.org

%==================================

3、Gaussian Process for Modelling and Control of Dynamic Systems

这本书主要讲了高斯过程(GP)模型在非线性系统辨识和动态系统控制设计中的应用,这种方法在动态系统建模和工程实践中具有很大的潜力。

https://www.springer.com/series/1412​www.springer.com

当然,读者可以在网站上下载所提出的一些算法的Matlab实现:Gaussian-Process-Model-based System-Identification Toolbox for Matlab(GPdyn),这些程序都是简短的独立实现,并且都是基于上述GPML包。这个工具箱的设计想法是促进用高斯过程模型进行动态系统辨识,所提供的工具箱正在不断发展。

https://github.com/Dynamic-Systems-and-GP/GPdyn​github.com

同样,需要用到GP的可以仔细看看并借助这些代码做自己的工作。

%==================================

4、GPR-based MPC

由于高斯过程回归方法提供了一种灵活的随机非参数方法,因此是基于学习的MPC中比较常用的方法,我们在这里也做一个简要的说明。

将GP这些机器学习算法用于控制的实际挑战是存在的,与其他机器学习方法一样,用于预测的标准机器学习回归与用于控制综合的机器学习有着本质上的不同。在前者中,模型的所有输入(也称为回归变量或特征)都是已知的,而在后者中,一些作为控制变量的输入必须实时优化以达到预期的性能。

数据质量:数据可能不足以解释输入和输出之间的关系。为了在输入中获得更丰富的数据并获得足够的激励,必须通过随机激励输入或通过优化实验设计程序(OED)来实现新的实验条件。

计算效率:一个学习模型的输出是非线性、非凸的,有时是不可微的,使用这样的模型进行控制综合,其中一些输入必须被优化,而这可能导致难以计算的优化。

性能保证:闭环控制的期望特性是提供性能保证,当用黑箱模型代替物理模型时变得困难。

模型自适应:通常情况下模型性质会随着时间而改变,因此学习到的模型也必须在需要时进行更新。重复进行系统识别的传统模式可能会耗费大量的时间和成本。

为了解决这些挑战,基于机器学习方法,我们可以采用两种方式:学习模型不确定性或者子系统动态,以及学习整个动态模型的方法。这里借助高斯过程回归模型来介绍这两种方式,GP用于模型预测控制中也引出了GP-based MPC的研究。

论文 L. Hewing, K. P. Wabersich, M. Menner, and M. N. Zeilinger, “Learning-Based Model Predictive Control: Toward Safe Learning in Control” Annu. Rev. Control. Robot. Auton. Syst., vol. 3, no. 1, pp. 269–296, 2020.中,第一块模型学习部分简要综述了这类研究,同时提出了几个研究难点:

1、预测范围内产生的随机状态分布的传播的问题,这在'Gaussian Process for Modelling and Control of Dynamic Systems'书中有介绍;

2、GP用于MPC中的理论性保证;

3、GP-MPC的计算问题。

更深入的研究可以详看这篇文献的部分引用论文,之前文章提到过这块内容:

没脑子读博的人:基于learning的模型预测控制​zhuanlan.zhihu.com
fcc642d661b018d0e6638fd52ac9974b.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值