美文网首页
Optimization (模型优化)

Optimization (模型优化)

作者: 学人工智能的菜菜 | 来源:发表于2020-05-13 19:22 被阅读0次

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

    那么我们回归,如何优化目标函数?其实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

    相关文章

      网友评论

          本文标题:Optimization (模型优化)

          本文链接:https://www.haomeiwen.com/subject/toinnhtx.html