zoukankan      html  css  js  c++  java
  • 3. 支持向量机(SVM)拉格朗日对偶性(KKT)

    1. 感知机原理(Perceptron)

    2. 感知机(Perceptron)基本形式和对偶形式实现

    3. 支持向量机(SVM)拉格朗日对偶性(KKT)

    4. 支持向量机(SVM)原理

    5. 支持向量机(SVM)软间隔

    6. 支持向量机(SVM)核函数

    1. 前言

    在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题,通过求解对偶问题获得原始问题的解。该方法应用在许多统计学方法中,如最大熵模型、支持向量机。

    2. 原始问题

    假设(f(x),c_i(x),h_j(x))是定义在(R^n)上的连续可微函数。考虑如下最优化问题

    [min_{xin R^n}f(x);;;;;;;;;;;;;;;;;;;;;;;;(1) ]

    [s.t. ; c_i(x)leq0, ; i=1,2,...,k ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (2) ]

    [;;;;;;; h_j(x)=0, ; j=1,2,...,l ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (3) ]

    称此约束最优化问题为原始最优化问题或原始问题

    引入广义拉格朗日函数

    [L(x,alpha,eta)=f(x)+sum_{i=1}^kalpha_ic_i(x)+sum_{j=1}^leta_jh_j(x) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (4) ]

    这里, (alpha_i,eta_j)是拉格朗日乘子,(alpha_i≥0). 考虑(x)的函数,这里下标(P)表示原始问题。

    [ heta_P(x)=max_{alpha,eta;alpha_igeq0}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (5) ]

    容易得到:当(x)满足原始问题约束时,( heta_P(x)=f(x)),则可得到与原始优化问题想等价的极小化问题如下:

    [min_{x} heta_P(x)=min_{x}max_{alpha,eta;alpha_igeq0}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (6) ]

    此问题称为广义拉格朗日函数的极小极大问题

    定义原始问题的最优值

    [p^*=min_{x} heta_P(x) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (7) ]

    3. 对偶问题(dual problem)

    关于对偶问题,我们首先定义:

    [ heta_D(alpha,eta)=min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (8) ]

    再考虑极大化上式:

    [max_{alpha,eta;alpha_igeq0} heta_D(alpha,eta)=max_{alpha,eta;alpha_igeq0}min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (9) ]

    问题(max_{alpha,eta;alphageq0}min_{x}L(x,alpha,eta))称为广义拉格朗日函数的极大极小问题。可将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

    [max_{alpha,eta} heta_D(alpha,eta)=max_{alpha,eta}min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (10) ]

    [s.t.;alpha_igeq0,; i=1,2,...,k ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (11) ]

    称为原使问题的对偶问题。定义对偶问题的最优值,称为对偶问题的值。

    [d^*=max_{alpha,eta;alpha_igeq0} heta_D(alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (12) ]

    4. 原始问题和对偶问题的关系

    4.1 定理1

    若原始问题和对偶问题都有最优值,则

    [d^*=max_{alpha,eta;alpha_igeq0}min_{x}L(x,alpha,eta)leqmin_{x}max_{alpha,eta;alpha_igeq0}L(x,alpha,eta)=p^* ]

    4.2 推论1

    (x^*)(alpha^*,eta^*)分别是原始问题(公式1~3)和对偶问题(公式10~11)的可行解,并且(d^*=p^*),则(x^*)(alpha^*,eta^*)分别是原始问题和对偶问题的最优解。

    4.3 定理2

    考虑原始问题(公式1~3)和对偶问题(公式10~11). 假设函数(f(x))(c_i(x))是凸函数,(h_j(x))是仿射函数1; 并且假设不等式约束(c_i(x))是严格可行的, 即存在(x), 对所有(i)(c_i(x)<0), 则存在(x^*,alpha^*,eta^*)使(x^*)是原始问题的解, (alpha^*,eta^*)是对偶问题的解,并且

    [p^*=d^*=L(x^*,alpha^*,eta^*) ]

    4.4 定理3

    对原始问题(公式1~3)和对偶问题(公式10~11), 假设函数(f(x))(c_i(x))是凸函数,(h_j(x))是仿射函数,并且不等式约束(c_i(x))是严格可行的, 则(x^*)(alpha^*,eta^*)分别是原始问题和对偶问题的解的充分必要条件是(x^*,alpha^*,eta^*)满足KKT条件:

    [ abla_xL(x^*,alpha^*,eta^*)=0 ]

    [ abla_alpha L(x^*,alpha^*,eta^*)=0 ]

    [ abla_eta L(x^*,alpha^*,eta^*)=0 ]

    [alpha_i^*c_i(x^*)=0, ; i=1,2,...,k ]

    [c_i(x^*)leq0, ; i=1,2,...,k ]

    [alpha_i^*geq0, ; i=1,2,...,k ]

    [h_j(x^*)=0, ; j=1,2,...,l ]

  • 相关阅读:
    Windows下Git多账号配置,同一电脑多个ssh-key的管理
    Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
    处理Linux下subversion尝试连接自建的VisualSVN server报“Key usage violation in certificate has been detected”错误的问题
    #Linux学习笔记# Linux文件的属性以及权限说明
    #Linux学习笔记# Linux文件的所有者、群组和其他人
    #Linux学习笔记# Linux在线帮助文档man page
    #Linux学习笔记# Linux系统查看文件内容的命令
    #Linux学习笔记# 自定义shell终端提示符
    Docker私有仓库Registry的搭建验证
    LinuxMint下Docker的安装部署和验证
  • 原文地址:https://www.cnblogs.com/huangyc/p/9979178.html
Copyright © 2011-2022 走看看