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

  • 相关阅读:
    PHP 5.5.0 Alpha5 发布
    Ubuntu Touch 只是另一个 Android 皮肤?
    MariaDB 10 已经为动态列提供文档说明
    Percona Toolkit 2.1.9 发布,MySQL 管理工具
    Oracle Linux 6.4 发布
    Ruby 2.0.0 首个稳定版本(p0)发布
    Apache Pig 0.11.0 发布,大规模数据分析
    Node.js 0.8.21 稳定版发布
    红薯 MySQL 5.5 和 5.6 默认参数值的差异
    Django 1.5 正式版发布,支持 Python 3
  • 原文地址:https://www.cnblogs.com/wangyanphp/p/5505497.html
Copyright © 2011-2022 走看看