基于ABC算法优化支持向量机的温度测点恢复方法研究毕业论文
2020-04-13 11:13:18
摘 要
支持向量机是一种基于统计学习理论提出的新的机器学习方法,自提出受到了国内外学术界的广泛关注,并在模式识别算法领域得到了广泛应用。支持向量机理论的最大特点是由有限的训练集样本得到的小的误差保证对独立的测试集仍保持小的误差。SVR(支持向量回归机)算法是模式识别中应用比较广泛的算法模型之一,在回归估计中有较多应用。在SVR回归分析中,使用支持向量机可以使回归函数尽量平滑,其泛化能力强。
本文主要研究基于ABC(人工蜂群)算法优化SVR的温度测点恢复方法。根据人工蜂群算法和支持向量机的实现原理,使用人工蜂群算法对支持向量机的参数进行优化,并用优化后的算法对缺失的温度测点进行恢复,并对恢复的温度测点值和该点的真实温度值的残差进行分析,并将ABC-SVR与未优化的SVR算法的恢复效果进行比较。论文阐述人工蜂群算法和支持向量机的实现原理,并对ABC优化SVR的设计步骤进行详细说明;使用优化后的算法对含有缺失温度测点的数据集进行恢复,分析其与真实温度值的残差;最后通过不同的评价指标将ABC-SVR算法与未优化的SVR算法进行比较,说明ABC-SVR算法的优越性。
关键词:支持向量回归机; 人工蜂群算法; 参数优化; 错点恢复
Abstract
Support vector machine (SVM) is a new machine learning method based on statistical learning theory which has been paid great attention of scholars both at home and abroad, and has been widely applied in the field of pattern recognition algorithm. The biggest characteristic of support vector machine theory is that the small error obtained from the limited training set samples ensures the small error of the independent testing set. SVR (support vector regression machine) algorithm is one of the most widely used algorithm models in pattern recognition. In SVR regression analysis, the support vector machine can make the regression function as smooth as possible and its generalization ability is strong.
This paper is mainly studied the temperature data recovery by means of SVR (Support Vector Regression) of which the parameters is optimized based on the ABC (Artificial Bee Colony) algorithm. According to artificial colony algorithm and the principle of Support Vector Machine (SVM), we use Artificial Bee Colony algorithm to optimize the parameters of support vector machine (SVM), and to recover the missing temperature measuring point by using this specific algorithm. We also measure the differences between the recovering data and the true value of the residual. The ABC-SVR algorithm is compared with the traditional SVR algorithm with none optimized parameters. This paper will first elaborate the full principle of Artificial Bee Colony algorithm and Support Vector Machine and explains the designing steps of ABC-SVR algorithm in details. After using the optimized algorithm, the data set containing the missing temperature measurement point was recovered, and the residual error of the temperature measuring point was analyzed. Finally, the ABC-SVR algorithm is compared with the unoptimized SVR algorithm, which can be used to show the superiority of the ABC-SVR algorithm.
Key Words:Support Vector Regression;Artificial Bee Colony algorithm;Parameter optimization;Wrong point recovery
目 录
第1章 绪论 1
1.1 研究背景 1
1.2 研究目的 2
第2章 算法原理 3
2.1 支持向量机回归原理 3
2.1.1支持向量机 3
2.1.2支持向量机回归 3
2.1.3从线性可分到线性不可分 5
2.1.4松弛变量和惩罚因子 6
2.1.5核函数 7
2.1.6 SVR支持向量机回归 8
2.2 人工蜂群算法 9
2.2.1 算法原理简介 9
2.2.2 算法流程 11
第3章 ABC算法优化支持向量机的温度测点恢复 12
3.1 算法实现基本思想 12
3.2 Matlab实现 12
3.2.1 数据预处理 12
3.1.2 人工蜂群算法求解最优参数 13
3.2.3 基于ABC的SVM算法流程 13
3.2.4 ABC算法的MATLAB流程 14
3.2.5 ABC-SVM仿真结论 19
3.2.6 ABC-SVM算法时间复杂度分析 20
3.2.7 算法待完善之处 20
第4章 总结 22
参考文献 23
致 谢 24
第1章 绪论
1.1 研究背景
随着现代计算机科学技术的发展和硬件处理平台的不断完善,信息处理和传递技术得到了长足的发展,计算机的理论及应用也由单纯的处理速度提高向无人化、智能化发展。现代智能技术应用正逐渐兴起,成为当前热门的应用技术。基于支持向量的机器学习是智能计算机技术应用的重要方面,其从当前采集数据出发进行训练,从而对未来或无法观测的数据进行分类和预测。现有的机器学习的方法包括模式识别、神经网络等,是智能技术的重要组成部分。
Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则。其原理也从线性可分说起,然后扩展到线性不可分的情况。甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。支持向量机的出现有一系列的学术铺垫和理论背景。Vapnik等人早在上世纪六十年代开始致力于统计学习理论(Statistical Learning Theory)的研究,SLT是一种在小样本情况下研究机器学习规律的理论体系,随着近年不断发展,其越来越受到广泛重视。
统计学习理论由一系列理论发展而来,为解决小样本学习问题提供了理论支持,并通过与现有的方法合并,有解决很多原来难以解决的问题的潜力。支持向量机就是在此基础上开发的新的通用学习方法。其原理由线性回归拓展到非线性回归,因而具有广泛的应用领域。它的优点是理论完备、训练时间短、全局优化强、适应性好、泛化性能好、较好地解决了模式分类器复杂性核推广性之间的矛盾等。通过核函数方法获得最佳回归模型,结果了回归分类器构造复杂度和普及度之间的矛盾,因而得到了广泛的关注。
SVM理论提供了一种通过降维简化高维空间复杂性,即核函数。但实际上,SVM只是把高维空间的回归复杂性转为了求核函数的困难,如何优化SVM核函数的参数问题也就尤为重要。SVM中的模型参数(核函数类型、核函数参数等)的选择对最终的回归结果有极重要的影响。
当前SVM研究中对参数的优化方案中有粒子群算法、遗传算法、蚁群算法等等。近年来许多学者在这个方向做了很多研究,但是由于以上的算法自身的迭代过程会使整个过程陷入局部最优解,而无法或很难达到理想的回归效果。在2005年,Karaboga提出了一个新的仿生智能分类算法——人工蜂群算法(Artificial Bee Colony Algorithm, ABCA)。该算法通过不同蜂群之间并列和相互交换的迭代关系,能较好地避免上述陷入局部最优解的问题,因而为SVM的参数优化解题提供了新的思路和方法。
1.2 研究目的
本文利用人工蜂群算法对支持向量机参数进行优化,通过对不同温度测量值的分类,证明人工蜂群算法在迭代算法中的优点。也在于能够训练和提高自身本科阶段查阅资料并运用所学知识分析和解决问题的能力、掌握MATLAB相关工具地开发和使用、掌握SVM的算法核心和相关编程思想并为研究生阶段的学习打下坚实基础。
第2章 算法原理
2.1 支持向量机回归原理
支持向量机的创造为了解决的问题是利用有限数据对将来的数据或无法获得的数据进行分类研究,最终目的是寻求最终最优解,从有限的数据中提取中尽可能准确的数据规律,进而对将来数据进行准确预测。
2.1.1支持向量机
1995年,Vapnik首先提出支持向量机算法(Support Vector Machine,简称SVM),使得在有限数据、非线性和高维数据的情况下,可对数据进行分类。得益于自身许多独特的优势,支持向量机算法被广泛应用于模式识别等机器学习问题中。
统计学习的VC维原理是支持向量机的理论基础。在模式识别中,VC维的定义是:在一个指示函数集中,如果满足这样的条件,即存在h个样本能被某种函数按所有可能的2h种形式分开,则称该函数集能够把这h个样本打散;函数集的VC维就是它能打散的最大样本数目h。VC维是是函数集其学习能力的量度,比如对任意数字的样本都能用该函数集将其打散,则称该函数集的VC维数无穷。
2.1.2支持向量机回归
支持向量机对非线性和高维数据有自己独特的优势。对于线性数据,支持向量机的回归问题可被归纳为在线性误差区域内寻求一条合适的、最优的线性分界线;对于非线性数据,支持向量机可通过核函数将高维空间的数据映射至低维,把问题转换为求解高维空间的线性回归问题。