Optimization (模型优化)

时间这东西真的是过的好快啊,不知不觉又过去了半个月了,现在已经是五月中旬了。坚持是最好的证明。

那么我们回归,如何优化目标函数?其实AI问题有个等式,AI问题 = 模型+优化

整个流程是这样子的

拿到需要解决的问题,然后去选择合适的模型,比如逻辑回归还是深度学习等,然后进行模型的实例化,就是得到目标函数,然后根据目标函数进行选择优化算法(L-BFGS,SGD,Adam等)
对于任何一个优化问题(目标函数),都可以写成如下形式
Minimize f0(x)
s.t. fi(x)<=0 i = {1,..........,k}
gj(x)=0 j = {1,..........,k}

为什么我们如此关系优化呢?因为优化是机器学习的核心

优化是无处不在的

  • 股票组合优化
    目标就是想优化到=》最大化收益+最小化风险
优化的类别

我们知道,不是每个AI问题模型和模型实例化都是一样的,所以要针对不一样的目标函数去对应的优化方案,选择不同的优化算法。

  • Smooth(平滑,可导)vs NON-Smooth(非平滑,不可导,类似lasso(L1正则))
  • convex(凸函数,可求全局最优解)vs Non-convex(非凸函数,局部最优解)
  • distance vs continous
  • constrand vs non-constrand

下面来讲解一下凸函数

凸函数(convex)

判断目标函数是否是凸函数,首先要看定义域和值域

Convex Set (凸集)

假设对于任意𝑥,𝑦 ∈ 𝐶并且任意参数,𝛼 ∈ 0,1 , 我
们有𝛼𝑥 + 1 − 𝛼 𝑦 ∈ 𝐶 , 则集合为凸集,其中C代表区域


image.png

也可以这样子理解,就是给定的函数内的任意两点连线,所有的点都在该区域内,则该集合称为凸集。


image.png

关于凸集的例子:
例子:
• 所有的𝑅^n ,
• 所有正数集合𝑅+^n,
• 范数|| 𝑥 ||≤ 1,
• Affine set: 线性⽅方程组是的所有解𝐴𝑥 = 𝑏,
• Halfspace: 不不等式的所有解:𝐴𝑥 ≤ 𝑏

两个凸集的交集也是凸集(intersection of convex
set is convex)

凸函数(convex)的定义

函数的定义域dom𝑓为凸集,对于定义域⾥里里任意𝑥,𝑦,函数满足
凸函数定义𝑓 (𝜃𝑥) + (1 − 𝜃) 𝑦 ≤ 𝜃𝑓 (𝑥) + (1 − 𝜃) 𝑓(𝑦)

常见的凸函数
• 线性函数为凸/凹函数
• exp𝑥,−log𝑥,𝑥log𝑥 是凸函数
• 范数为凸函数
•X^T.X/t为凸函数(x>0)

First Order Convexity Condition 一阶导数
假设𝑓: 𝑅^n , → 𝑅是可导的(differentiable),则𝑓 为凸函数,的当
且仅当:f(y)≥f(x)+▽(x)^T.(y-x)
对于任意𝑥,𝑦 ∈ 𝑑𝑜𝑚𝑓


image.png

second Order Convexity Condition 二阶可导
设𝑓: 𝑅 , → 𝑅是两次可导的(twice differentiable),则𝑓 为凸
函数,当且仅当:▽^2f(x)≥0
对于任意𝑥,𝑦 ∈ 𝑑𝑜𝑚𝑓


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。