zoukankan      html  css  js  c++  java
  • Probabilistic SVM 与 Kernel Logistic Regression(KLR)

    本篇讲的是SVM与logistic regression的关系。

    (一) SVM算法概论

    首先我们从头梳理一下SVM(一般情况下,SVM指的是soft-margin SVM)这个算法。

    这个算法要实现的最优化目标是什么?我们知道这个目标必然与error measurement有关。

    那么,在SVM中,何如衡量error的?也即:在SVM中ε具体代表着什么?

    image

    SVM的目标是最小化上式。我们用clip_image002来衡量error。这个式子是不是有点眼熟?我们在regularzation一篇中,最小化的目标也是如此形式。但是两者的思路不同:对于regularization,我们的目标是最小化error,但是呢,我们也希望对|w|的长度有限制;

    对于SVM,我们的目标是最小化|w|,但是呢,我们也希望对error有所限制。

    具体哪一方面占的权重更大,对于regularization来说,可以用λ来调节;对于SVM来说,可以用C来调节。

    总体来说,殊途同归,但是使用SVM方法,即使是如上的nonlinear error衡量方式,我们也可以用QP工具来解决;第二,我们可以使用kernel function工具

    具体来说其误差衡量方式与0/1 error相比:

    image

    我们发现:这种误差衡量方式也是0/1误差的一种upper bound。之前我们在哪里见识过类似的场景?squared error 和cross-entropy error。

    image

    我们可以看到:SVM的错误衡量方式与cross-entropy error的值相似。所以我们说 SVM ≈ L2-regularized logistic regression。

    (二)probabilistic SVM

    如何融合SVM和logistic regression?

    我也不知道为什么要将SVM与logistic regression联系起来。logistic regression与SVM相比,有什么优点?是极大似然?直接使用SVM不好吗?

    image

    这两种方法都不好,没有吸收两种方法的好处。

    image

    image

    (三)kernel logistic regression

    假设我们融合logistic regression与SVM,主要是要在logistic regression中使用SVM的kernel function工具。那么,现在的问题是:能不能直接做kernel logistic regression?

    首先明白一点:要想使用kernel trick,必然有:w可以由n个数据来表示。也即:optimal w can be represented by zn

    什么使用这一情况会得到满足?

    image

    由此,我们可以做kernel logistic regression:

    image

  • 相关阅读:
    url
    松弛时间
    Linux下为当前用户添加 PYTHONPATH 环境变量
    ElasticSearch集群的安装(windows)
    软件开发安全
    java,判断手机设备跟adb建立连接
    question
    氚云后台代码小栗子,流程表单新增完成反写源单状态
    November Challenge 2020 Division 1
    February Challenge 2021 Division 1 选做
  • 原文地址:https://www.cnblogs.com/wangyanphp/p/5505497.html
Copyright © 2011-2022 走看看