SUTD
作者在读学校Singapore University of Technology and Design

Established under strong support from MIT, Singapore University of Technology and Design (SUTD) plans to do for Singapore what MIT has done for Massachusetts and Silicon Valley, as well as for the world. SUTD is conducting top-tier research and education. In 2017, SUTD was ranked by Clarivate Analytics as the 5th most influential scientific research university in telecommunications in the world. SUTD was also ranked the 6th in electrical engineering research in the world.

先验文章

关于机器人协同编队的原理及代码介绍详细请参考作者相关博客

  1. 《多机器人协同编队算法原理及实现》
  2. 《基于关联矩阵的多智能体稳定性分析》
  3. 《多机器人编队人工势场法协同避障算法原理及实现》
  4. 《多机器人编队(四)MATLAB实现多机器人协同编队动态仿真》

在MATLAB中使用svm,需要安装libsvm工具包(自行google或baidu解决,有很多相关博文)。

支持向量机(SVM)简介

支持向量机(Support Vector Machine)的优势体现在解决小样本、非线性及高维模式识别。支持向量机方法根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力。
对于线性可分的二分类问题(如下图所示),每一个最优决策面都可以把数据集按照某个方向正确分开,而不同方向的最优决策面的分类间隔通常是不同的,寻找SVM最优解即找到具有最大间隔的决策面,而这个真正的最优解对应的两侧虚线所穿过的样本点,就是SVM中的支持样本点,称为“支持向量”。

对于线性可分问题可进行线性分类,对于线性不可分问题可进行核方法非线性分类(SVC),也可以用来回归样本的分布(SVR),以下介绍SVM的数学原理,包括其数学建模和径向基核函数的简要介绍。

数学描述

可以通过最优化的方法求解决策面。在线性SVM算法中,目标函数就是那个“分类间隔”,而优化对象则是决策面。所以要对SVM问题进行数学建模,首先要对上述两个对象进行数学描述。
二维空间下一条直线表示为y=ax+b,将其推广到n维空间的超平面方程
w^Tx+g=0
其中w^T=[w_1,w_2,…,w_n]^T,x=[x_1,…,x_n]^T。n维空间中的一个点到超平面方程的公式为d=\frac{|w^Tx+g|}{||\omega||}, 其中d就是“分类间隔”,我们目的是为了找出一个分类效果好的超平面作为分类器。分类器的好坏的评定依据是分类间隔ω=2d的大小,即分类间隔ω越大,这个超平面的分类效果越好。于是为了求解最好的超平面,我们需要求出最大化的ω。

对于存在分类间隔的两类样本点,我们的目的是为了找到一个\gamma使得
w^Tx+\gamma=1从而使得距离d=\frac{1}{||\omega||}。从而我们可以将问题转化为求解以下优化问题

这个简单的优化问题可以通过求解对偶问题来解。

但是对于一些复杂的应用场景,线性映射 满足要求,因为 kernelized SVM 方法的复杂度更高相对 linear SVM,边界是存在曲率的,但 是需要调整核宽度、正则化项。RBF 的计算时间也会更长,但是在可以接受的范围,故可 使用非线性核函数来进行求解,下面主要介绍径向基函数(RBF)的数学原理。

径向基函数(RBF)

在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面,如本 文提到的对于节点 S 数据做训练以实现节点是否收到攻击的划分,对于这样的问题可以将 原样本映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。

核函数表示的是高维空间里由于向量内积而计算出来的一个函数表达式,其中径向基函 数(RBF)在神经网络领域扮演着重要的角色,其具有唯一最佳逼近的特性,能将输入样本映 射到高维特征空间,解决一些原本线性不可分的问题。本小节重点讨论了核函数的性质,为 什么能把数据映射到无限维空间,并继续讨论径向基函数神经网络为什么可以用来解决对编 队攻击的检测分类问题以及为什么能用来作逼近。

SVM 中一般选择高斯径向基作为核函数。径向基函数是一个它的值(y)只依赖于变量(x) 距某中心点距离的函数,即\phi(x)=\phi(||x-c||),这里的\phi函数为映射函数,表示将一个空间中的样本点映射到另一个空间中。我们能够用核函数代替这种高维空间里的内积,高斯径向基函数往往可以作为为核函数,其公式如下:k(x_1,x_2)=exp(-\frac{||x_1-x_2||^2}{2\sigma^2})), 而 x 经映射后,在高维空间里该点到坐标原点的距离公式:||\phi(x_i)||^2=<\phi(x_i),\phi(x_i)>=1.这个函数表明了样本点 x 在映射到高维空间后,其存在于一个超球面上。

最基本的径向基函数(RBF)神经网络有三层结构:输入层由一些感知单元组成,将网 络与外界环境连接起来;第二层是网络中仅有的一个隐层,可以实现从输入空间到隐层空间 之间的非线性变换,一般有较高的维数,而输出层为输入层的激活模式提供了响应,其为线性的。

则 RBF 函数逼近的形式为:y(x)=\sum_{i=1}^Nw_i\phi(||x-x_i||)
通过逼近定理的思想我们可以理解 RBF 函数逼近为隐含层的每个节点都是空间中的一个基底,经过线性组合加权以后就变成 了输出,对权值进行训练的目的就是找到前面的系数w。

后记

以上为SVM数学原理的简单介绍,在机器人编队中我们可以使用其变形产生的回归预测 SVR 的方法,同 SVM 分类相似,SVR 使用了在高维空间中构造线性 决策函数的方法来实现非线性回归,其核心在于两点:首先,在误差函数中设定一个区间, 容忍区间中样本点所产生的误差,避免了回归拟合计算量过大。其二,为使算法能够进行非 线性化回归,使用核函数升维代替线性方程中的线性项,即使出现过拟合的情况仍可通过参数控制。故而通过 SVM 支持向量机来对多机器人编队的位置信息进行学习以做预测和分类是可行的,其算法仿真将在后文介绍。觉得有帮助一定要转发点赞关注哦,谢谢!

笔者本科毕业于上海交通大学,现在是SUTD PhD Candidate,有两年多ROS的使用经验及多机器人编队的科研经验,现在是总结之前所学,希望能有所帮助。本系列多机器人编队将结合论文讲解多机器人编队的算法原理、稳定性分析、路径规划等研究领域,并有代码示例,持续不断更新中。如果大家有相关问题或发现作者漏洞欢迎私戳,同时欢迎关注收藏。
同时欢迎关注博主Git和CSDN:
https://github.com/LiHongbo97
https://blog.csdn.net/qq_33742147?spm=1011.2124.3001.5343