数学基础系列博客是自己在学习了稀牛学院&网易云课堂联合举办的《人工智能数学基础》微专业后的课程笔记总结。怀着对授课讲师Jason博士无限的敬佩与感激之情,我在完整听了两遍课程之后,对这门进行了笔记整理。Jason博士用深入浅出的方式把数学知识真的是讲透彻了,我的笔记显然无法完整传达Jason博士的精彩授课内容,在此非常推荐每一个打算进入或了解AI的同学去学习这门课程!
一:一般优化问题
m i n m i z e f 0 ( x ) s u b j e c t t o f i ( x ) ≤ 0 f o r i = 1 , 2 , . . . m h i ( x ) = 0 f o r i = 1 , 2 , . . . p minmize\quad f_0(\mathbf{x})\\subject\ to\ f_i(\mathbf{x})\le0 \quad for\ i = 1,2,...m\\\quad \quad \quad \quad h_i(\mathbf{x}) = 0\quad for\ i=1,2,...p minmizef0(x)subject to fi(x)≤0for i=1,2,...mhi(x)=0for i=1,2,...p
问题的定义域 D = ( ⋂ i = 0 m dom f i ) ⋂ ( ⋂ i = 0 p dom h i ) \mathcal{D}=\left(\bigcap_{i=0}^{m} \operatorname{dom} f_{i}\right) \bigcap\left(\bigcap_{i=0}^{p} \operatorname{dom} h_{i}\right) D=(⋂i=0mdomfi)⋂(⋂i=0pdomhi).需要注意的是 :定义域与可行域是不同的。可行域是同时满足目标函数定义域和约束条件的x的集合。
二:拉格朗日函数
2.1 函数基本介绍
-
拉格朗日函数将目标函数和约束条件整合到了一起。
L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) L(\mathbf{x}, \lambda, v)=f_{0}(\mathbf{x})+\sum_{i=1}^{m} \lambda_{i} f_{i}(\mathbf{x})+\sum_{i=1}^{p} v_{i} h_{i}(\mathbf{x}) L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x) -
主变量 : x \mathbf{x} x
-
对偶变量: λ ≥ 0 \lambda \ge0 λ≥0,即 λ = [ λ 1 , λ 2 , ⋯ λ m ] T ≥ 0 \lambda = [\lambda_1,\lambda_2,\cdots \lambda_m]^T\ge0 λ=[λ1,λ2,⋯λm]T≥0;而 v \mathbf{v} v可以大于等于0,也可以小于等于0.
-
意义解释:这其实是一种添加惩罚的方式。如果约束条件 f i ( x ) ≥ 0 f_i(\mathbf{x})\ge0 fi(x)≥0,那么就相当于加了一个正数( λ ≥ 0 \lambda \ge 0 λ≥0),使得拉格朗日函数变大,而我们的目标在于最小化该函数,因此就会强迫约束条件小于等于0。
2.2 函数的主问题分析
L ( x , λ , v ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) L(\mathbf{x,\lambda, v})=f_{0}(\mathbf{x})+\sum_{i=1}^{m} \lambda_{i} f_{i}(\mathbf{x})+\sum_{i=1}^{p} v_{i} h_{i}(\mathbf{x}) L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
-
主问题:
p ∗ = min x { max ( λ , v ) L ( x , λ , v ) ) } p^*=\min_\mathbf{x}\{\max_{\mathbf(\lambda,v)}L(\mathbf{x,\lambda,v}))\} p∗=xmin{ (λ,v)maxL(x,λ,v))} -
主问题分析:我们的目标其实是 min x f 0 ( x ) \min_\mathbf{x}f_0(\mathbf{x}) minxf0(x),即我们要求函数 f 0 ( x ) f_0(\mathbf{x}) f0(x)的最小值,而不是 m a x L maxL maxL的最小值。那么原函数和 m a x L maxL maxL之间有什么关系呢?
我们单独看max的部分:
max λ , v L ( x , λ , v ) = f 0 ( x ) + max λ , v ( ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) \max _{\lambda, v} L(\mathrm{x}, \lambda, v)=f_{0}(\mathrm{x})+\max _{\lambda, v}\left(\sum_{i=1}^{m} \lambda_{i} f_{i}(\mathrm{x})+\sum_{i=1}^{p} v_{i} h_{i}(\mathrm{x})\right) λ,vmaxL(x,λ,v)=f0(x)+λ,vmax(i=1∑mλifi(x)+i=1∑pvihi(x))
在这个函数中, λ \lambda λ和 v v v是变量。当x在可行域范围内时, f i ( x ) ≤ 0 , λ ≥ 0 f_i(\mathbf{x})\le0,\lambda \ge 0 fi(x)≤0,λ≥0,所以括号中第一项小于等于0;第二项中由于 h i ( x ) = 0 h_i(\mathbf{x})=0 hi(x)=0,所以第二项也为0。这样也就是说 max λ , v ( ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p v i h i ( x ) ) \max _{\lambda, v}\left(\sum_{i=1}^{m} \lambda_{i} f_{i}(\mathrm{x})+\sum_{i=1}^{p} v_{i} h_{i}(\mathrm{x})\right) maxλ,v(∑i=1mλifi(x)+∑i=1pv