zoukankan      html  css  js  c++  java
  • 支持向量机的实现

    使用SVM优化包(liblinear,libsvm)来求θ

    我们要做得:

    1.选择适当的C值

    2.选择相应的核函数

     

    我们也可以不选择核函数(称为线性核函数)

     

    弊端:

    如果你有大量的特征变量 如果 n 很大 而训练集的样本数 m 很小 那么 你知道 

    你有大量的特征变量 x 是一个 n+1 维向量 x 是一个 n+1 维向量 那么如果你已经有 

    大量的特征值 和很小的训练数据集 也许你应该拟合 一个线性的判定边界 

    不要拟合非常复杂的非线性函数 因为没有足够的数据 如果你想在一个高维特征空间 

    试着拟合非常复杂的函数  而你的训练集又很小的话 你可能会过度拟合 因此 这应该是 

    你可能决定不适用核函数 或者等价地说使用线性核函数 或者等价地说使用线性核函数

     的一个合理情况

     

    我们选择类似高斯核函数这类核函数:

     

     

    编写核函数代码:

     

    note:在使用核函数之前,对数据进行归一化

    ||x-l||可以写成:

     

    归一化可以使你的函数不止关注较大的特征值。

     

    其他的一些核函数:

     

     

    多类分类的方法和逻辑回归分类相似,建立多个分类器

    逻辑回归和SVM的比较

  • 相关阅读:
    JavaAPI基础(1)
    类与对象、封装、构造方法
    Java语言基础
    Request请求的应用
    Response的应用
    java生成动态验证码
    Servlet的配置
    常见的状态码。。
    简单学习【1】——打包JS
    NodeJS2-2环境&调试----引用系统内置模块,引用第三方模块
  • 原文地址:https://www.cnblogs.com/zhengzhe/p/7412941.html
Copyright © 2011-2022 走看看