优化问题无处不在,机器学习核心所在

optimization is the core of machine learning

AI问题 = 模型 + 优化
任何一个优化问题,都可以写成如下形式:
Minimizef0(x)Minimize f_0(x)
s.t.fi(x)<=0,i=1,2...,Ks.t. f_i(x)<=0,i={1,2...,K}
gj(x)=0,j=1,2,...Lg_j(x)=0,j={1,2,...L}

1.优化问题的分类

·smooth Vs Non-smooth
·convex Vs Non-convex
·constrained Vs Non-constrained
·continous Vs distributed

2.凸函数和非凸函数

凸函数具有全局最优解,非凸函数具有局部最优解

3.怎么判断凸函数?

·通过定义:定义域为凸集,函数本身为凸函数
·通过一阶充要条件:f(y)>=f(x)+f(x)(yx)f(y) >= f(x) + f'(x)(y-x)
·通过二阶充要条件:f(x)>=0f''(x)>=0
·通过operation,凸+凸 = 凸
优化问题无处不在,机器学习核心所在
优化问题无处不在,机器学习核心所在

4.优化目标函数的种类

·least squar problem 最小二乘
·linear programing problem 线性
·qudratic programing problem 二次
·integer programing problem 整型
·geometic programing 图

5.非凸函数的处理

整数线性规划的分治方法。

举例说明优化问题的重要性

set cover problem

假设我们有个全集U(Universal Set),以及mm个子集合S1,S2,...,SmS_1,S_2,...,S_m,目标是找最少的集合,使得集合的Union等于U。

令U={1,2,3,4,5},S:S1S_1={1,2,3},S2S_2={2,4},S3S_3={1,3},S4S_4={4},S5S_5={3,4},S5S_5={3,4},S6S_6={4,5},最少的集合为S1S_1={1,2,3},S6S_6={4,5}。

approach1: Exhausive search

iteration1:选择一个集合 S1,S2,S3,S4,S5,S6 == U?
iteration2:选择两个集合 S1US2,S1US3… S1US6 一定得到全局最优解

approach2:贪心算法

iteration1: S1,S2,S3,S4,S5,S6中删除一个,删除S1,保证剩下能并到U
iteration2:S2,S3,S4,S5,S6再删除一个S4,保证剩下能并到U
iteration3:S2,S3,S5,S6再删除一个S5,保证剩下能并到U
iteration4:S2,S3,S6 达到终止条件,无法删除,最终得到局部最优{S2,S3,S6}

approach3:Optimization

objection function: imxi\sum_i^m x_i
s.t.xi0,1s.t. x_i\in0,1i=1,2,...,mi=1,2,...,m
i:eSixi>=1\sum_{i:e\in S_i} \quad x_i>=1 对于UU中的元素ee,在SiS_i中被取次数大于等于1
question1:isitconvexquestion1: is\quad it \quad convex
定义域为Convex Set?No 目标函数为Convex function? yes

#进行松弛操作
objection function: imxi\sum_i^m x_i
s.t.xi[0,1]s.t. x_i\in[0,1]i=1,2,...,mi=1,2,...,m
i:eSixi>=1\sum_{i:e\in S_i} \quad x_i>=1 对于UU中的元素ee,在SiS_i中被取次数大于等于1
通过线性规划的算法解出松弛解,
ifxi<0.5,xi=0,elsexi=1if\quad x_i<0.5,\quad x_i=0,\quad else\quad x_i=1