时间这东西真的是过的好快啊,不知不觉又过去了半个月了,现在已经是五月中旬了。坚持是最好的证明。
那么我们回归,如何优化目标函数?其实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
网友评论