二次规划
二次规划问题是一种典型的优化问题,包括凸二次规划和非凸二次规划,在此类问题中,目标函数是变量的二次函数,约束条件是变量的线性不等式。假定变量的个数为dd,约束条件的个数为mm,则标准的二次规划问题形如:minxs.t.12xTQx+cTxAx⩽b\begin{matrix}\min_{x}&\frac{1}{2}x^TQx+c^Tx\\s.t.&Ax \leqslant b\e
二次规划问题
是一种典型的优化问题,包括凸二次规划和非凸二次规划,在此类问题中,目标函数是变量的二次函数,约束条件是变量的线性不等式。
假定变量的个数为 d <script type="math/tex" id="MathJax-Element-1">d</script>,约束条件的个数为
其中 x <script type="math/tex" id="MathJax-Element-4">x</script>为
- 若 Q <script type="math/tex" id="MathJax-Element-11">Q</script>为半正定矩阵,则上面的目标函数是凸函数,相应的二次规划为凸二次规划问题;此时若约束条件定义的可行域不为空,且目标函数在此可行域有下界,则该问题有全局最小值。
- 若
Q <script type="math/tex" id="MathJax-Element-12">Q</script>为正定矩阵,则该问题有唯一的全局最小值。 - 若 Q <script type="math/tex" id="MathJax-Element-13">Q</script>为非正定矩阵,则目标函数是有多个平稳点和局部极小点的NP难问题。
常用的二次规划问题求解方法有:
- 椭球法
- 内点法
- 增广拉格朗日法
- 梯度投影法
等。若Q <script type="math/tex" id="MathJax-Element-14">Q</script>为正定矩阵,则相应的二次规划问题可由椭球法在多项式时间内求解。
凸函数:
对区间 [a,b] <script type="math/tex" id="MathJax-Element-15">[a,b]</script>上定义的函数 f <script type="math/tex" id="MathJax-Element-16">f</script>,若它对区间中任意两点
U <script type="math/tex" id="MathJax-Element-21">U</script>形曲线的函数如
对实数集上的函数,可通过求解二阶导数来判别:
- 若二阶导数在区间上非负,则称为凸函数
- 若二阶导数在区间上恒大于0,则称严格凸函数
矩阵的正定及半正定:
正定矩阵是一种实对称矩阵。正定二次型 f(x1,x2,…,xn)=XTAX <script type="math/tex" id="MathJax-Element-23">f(x_1,x_2,…,x_n)=X^TAX</script>的矩阵A(或A的转置)称为正定矩阵。
-
广义定义:设 M <script type="math/tex" id="MathJax-Element-24">M</script>是n阶方阵,如果对任何非零向量
z <script type="math/tex" id="MathJax-Element-25">z</script>,都有 zTMz>0 <script type="math/tex" id="MathJax-Element-26">z^TMz> 0</script>,其中 zT <script type="math/tex" id="MathJax-Element-27">z^T</script> 表示 z <script type="math/tex" id="MathJax-Element-28">z</script>的转置,就称M正定矩阵。 -
狭义定义:一个n阶的实对称矩阵
M <script type="math/tex" id="MathJax-Element-29">M</script>是正定的的条件是当且仅当对于所有的非零实系数向量z,都有 zTMz>0 <script type="math/tex" id="MathJax-Element-30">z^TMz> 0</script>。其中 zT <script type="math/tex" id="MathJax-Element-31">z^T</script>表示 z <script type="math/tex" id="MathJax-Element-32">z</script>的转置。
当考虑矩阵的特征值时:
- 若所有特征值均不小于零,则称为半正定。
- 若所有特征值均大于零,则称为正定。
任意给一个对称阵,做他的特征分解:
为了叙述方便,记 Λ=diag(λ1,…,λi,…,λn) <script type="math/tex" id="MathJax-Element-37">\Lambda = diag(\lambda_1, \dots, \lambda_i, \dots,\lambda_n)</script>。容易知道,特征值对角阵 Λ <script type="math/tex" id="MathJax-Element-38">\Lambda</script>是正定阵必须要求所有特征值为正,半正定则要求所有特征值非负。关键在于正定性定义中x具有任意性。
从几何的角度看的话:
首先半正定矩阵定义为: XTMX≥0 <script type="math/tex" id="MathJax-Element-39"> X^TMX \geq 0</script>其中X 是向量,M 是变换矩阵
矩阵变换中, MX <script type="math/tex" id="MathJax-Element-40">MX</script>代表对向量 X进行变换,我们假设变换后的向量为Y,记做 Y=MX <script type="math/tex" id="MathJax-Element-41">Y=MX</script>。于是半正定矩阵可以写成: XTY≥0 <script type="math/tex" id="MathJax-Element-42"> X^TY \geq 0</script>
又因为: cos(θ)=XTY||X||∗||Y|| <script type="math/tex" id="MathJax-Element-43">cos(\theta) = \frac{X^TY}{||X||* ||Y||}</script>
所以: cos(θ)≥0 <script type="math/tex" id="MathJax-Element-44">cos(\theta)\geq 0</script>
正定、半正定矩阵的直觉代表一个向量经过它的变化后的向量与其本身的夹角小于等于90度。
参考:
《机器学习》–周志华
更多推荐
所有评论(0)