最优化应用(数据处理)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最优化问题的数据处理以及Matlab求解摘要数学问题是科学研究领域经常需要解决的问题. 研究者通常将自己研究的问题用于数学建模的方法建立起数学模型, 然后通过求解数学模型的方法获得所研究问题的解.基于Matlab语言的应用数学问题的求解方法, 有着优于其他两种计算机数学语言Mathematica和Maple无法比拟的优势和适用面. 本文主要介绍的是有约束的线性规划和二次型规划的Matlab求解过程.
关键词: 数学模型线性规划二次型规划无约束问题约束问题
1.最优化方法应用背景
在生活和工作中, 人们对于同一问题往往会提出多种解决方案,并通过各方面的论证从中提取最佳方案. 最优化方法就是专门研究如何从多个方案中科学合理的提取出最佳方案的科学. 由于优化问题无处不在, 目前最优化方法的应用和研究已经深入到了生产和科研的各个领域, 如土木工程、机械工程、化学工程、运输调度、生产控制、经济规划、经济管理等, 并取得了显著地经济效益和社会效益.
用最优化方法求最优化问题的技术称为最优化技术, 它包含两个方面的内容:
1) 建立数学模型即用数学语言来描述最优化问题. 模型中的数学关系式反映了
最优化问题所要达到的的目标和各种约束条件.
2) 数学求解数学模型建好以后, 选择合适的最优化方法来进行求解.
最优化方法的发展很快, 现在已经包含有多个分支, 如线性规划、非线性规划、整数规划、动态规划、多目标规划等.
利用MATLAB优化工具箱可以求解线性规划、非线性规划和多目标规划问题. 具体而言, 包括线性、非线性最小化, 最大最小化, 二次规划, 半无限问题, 线性、非线性方程(组)的求解, 线性、非线性的最小二乘问题. 另外, 该工具箱还提供了线性、非线性最小化, 方程求解, 曲线拟合, 二次规划等问题中大型课题的求解方法. 为优化方法在工程中的实际应用提供了更方便快捷的途径.
关于最优化方法以及支持向量机的理论知识可参考文献[1][2].
2.主要的数据处理方法
本学期学习的数据处理方法主要有矩阵分解、线性判别分析和局部降维方法.
2.1. 矩阵分解
矩阵分解[3]是将矩阵拆解为数个矩阵的乘积, 可分为三角分解、满秩分解、QR分解、Jordan 分解和奇异值分解等, 常见的有三种: 三角分解法(Triangular Factorization), QR分解法(QR Factorization), 奇异值分解法(Sigular Value Decomposition, SVD).
三角分解法是将原正方矩阵分解成一个上三角形矩阵或是排列的上三角形矩阵和一
个下三角形矩阵, 这样的分解法又称为LU分解法. 它的用途主要在简化一个大矩阵的行列式值的计算过程, 求反矩阵, 和求解联立方程组. 不过要注意这种分解法所得到的上下
三角形矩阵并非唯一, 还可找到数个不同的一对上下三角形矩阵, 此两三角形矩阵相乘也会得到原矩阵. 在MATLAB 中是以lu 函数来执行lu 分解法, 其语法为[L, U]=lu(A).
QR 分解法是将矩阵分解成一个正规正交矩阵与上三角形矩阵, 所以称为QR 分解法, 与此正规正交矩阵的通用符号Q 有关. 在MATLAB 中是以qr 函数来执行QR 分解法, 其语法为[Q, R]=qr(A).
奇异值分解(sigular value decomposition, SVD) 是另一种正交矩阵分解法. SVD 是最可靠的分解法, 但是它比QR 分解法要花上近十倍的计算时间. [U, S, V]=svd(A), 其中U 和V 代表二个相互正交矩阵, 而S 代表一对角矩阵. 和QR 分解法相同者, 原矩阵A 不必为正方矩阵. 使用SVD 分解法的用途是解最小平方误差法和数据压缩. 在MATLAB 中是以svd 函数来执行svd 分解法, 其语法为[S, V , D]=svd(A).
特征值分解(Eigen-Value Decomposition,简称EVD)[4]被应用于科研和工程的很多领域,如主成分分析算法、人工视觉等.
其理论知识如下.
设n n A R ⨯∈, 则A 是正规阵当且仅当存在正交阵n n U R ⨯∈使得T A U U =∑, 其中
12(,,,)n diag λλλ=∑L . 其中12,,,n
λλλL 都是A 的特征值. 设n n A R ⨯∈是对称非负定矩阵, 且秩A r =. 则存在正交阵n n U R ⨯∈, 使得
0, 0 0T A U U ⎡⎤=⎢⎥⎣⎦
∑
其中121(,,,), 0r r diag λλλλλ=≥≥>∑L L 是A 的全部非零特征值.
奇异值分解(Singular Value Decomposition,简称SVD)是线性代数中一种重要的矩阵分解, 是矩阵分析中正规矩阵酉对角化的推广. 在信号处理、统计学等领域有重要应用.
设n n A R ⨯∈,且秩A r =.则存在两个正交阵, m m n n U R V R ⨯⨯∈∈, 使得
0, 0 0T A U V ⎡⎤=⎢⎥⎣⎦
∑
其中
∑是一个r 阶对角阵, 121(,,,), 0r r diag λλλλλ=≥≥>∑L L , i λ是A 的全部非零奇异
值. 所有的矩阵都可以进行奇异值分解, 而只有方阵才可以进行特征值分解.
2.2.线性判别分析
线性判别式分析(Linear Discriminant Analysis, LDA)[5], 也叫做Fisher 线性判别
(Fisher Linear Discriminant , FLD), 是模式识别的经典算法, 它是在1996年由Belhumeur[6]引入模式识别和人工智能领域的. 线性判别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间, 以达到抽取分类信息和压缩特征空间维数的效果, 投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离, 即模式在该空间中有最佳的可分离性. 因此, 它是一种有效的特征抽取方法. 使用这种方法能够使投影后模式样本的类间散布矩