SVM支持向量机分类

一、SVM目标和原理

svm分为线性可分和线性不可分两种

线性可分:

  svm.SVC(C=0.8, kernel=‘linear‘, class_weight={-1:1, 1:20})

线性不可分: 使用径向基(高斯)核函数

  svm.SVC(C=0.8, kernel=‘rbf‘, class_weight={-1: 1, 1: 10})

目标函数:所有样本点到所有可能分界线最小值中的最大值即为目标函数

       找到目标函数之前首先要找到支撑向量。分界线L1具有无数条,需要在可行范围内使得D的值达到最大

    

二、SVM损失

  svm分类器即便分类是正确的的也会存在损失,其损失是在支撑向量和切分线之前的样本 距离切分线的距离  

    

三、SVM参数

  C值越大支撑向量距离切分线的距离越近,C值越小支撑向量距离切分线的距离越远

  gamma 是高斯分布的一个参数,可以理解为其最大直径的 大小 

四、适合场景

  svm的训练效果和泛华是比较好的但是训练的时间长,适合处理特征少量或者中等的数据,特征多的可以选择logistics回归

原文地址:https://www.cnblogs.com/bianjing/p/10752633.html

时间: 2024-11-05 21:52:08

SVM支持向量机分类的相关文章

SVM支持向量机算法

参考资料:http://www.cppblog.com/sunrise/archive/2012/08/06/186474.html                   http://blog.csdn.net/sunanger_wang/article/details/7887218 我的数据挖掘算法代码:https://github.com/linyiqun/DataMiningAlgorithm 介绍 svm(support vector machine)是一种用来进行模式识别,模式分类的

吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型

import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm from sklearn.model_selection import train_test_split def load_data_classfication(): ''' 加载用于分类问题的数据集 ''' # 使用 scikit-learn 自带的 iris 数据集 iris=datasets.lo

SVM支持向量机,训练与分类的实现(有标签)

弄懂SVM支持向量机的原理以后开始代码演练: 具体的分类思想,注释的很清楚了. # 1 思想 分类器 # 2 如何? 寻求一个最优的超平面 分类 # 3 核:line # 4 数据:样本 # 5 训练 SVM_create train predict # svm本质 寻求一个最优的超平面 分类 # svm 核: line # 身高体重 训练 预测 import cv2 import numpy as np import matplotlib.pyplot as plt #1 准备data 准备两

SVM -支持向量机原理详解与实践之二

SVM -支持向量机原理详解与实践之二 SVM原理分析 以下内容接上篇. 拉格朗日对偶性(Largrange duality)深入分析 前面提到了支持向量机的凸优化问题中拉格朗日对偶性的重要性. 因为通过应用拉格朗日对偶性我们可以寻找到最优超平面的二次最优化, 所以以下可以将寻找最优超平面二次最优化(原问题),总结为以下几个步骤: 在原始权重空间的带约束的优化问题.(注意带约束) 对优化问题建立拉格朗日函数 推导出机器的最优化条件 最后就是在对偶空间解决带拉格朗日乘子的优化问题. 注:以上这个四

SVM 支持向量机

(支持向量机)support vector machine是一种二分类模型,是寻求结构风险最小,实现经验和置信范围最小化. 它的基本模型是定义在特征空间上的间隔最大化的线性分类器,间隔最大化使得它有区别于感知机,并且是唯一的. 学习策略:间隔最大化(解凸二次规划的问题) 线性分类器也叫感知机,就是在N维的数据空间找到一个分类超平面.然后svm其实就是寻找间隔最大化的线性分类器. 首先说他在线性可分的数据集上的: 超平面就是在n维空间上可以将数据线性分类的平面. 超平面: WTX+b=0  W为向

SVM -支持向量机原理详解与实践之三

SVM -支持向量机原理详解与实践之三 什么是核 什么是核,核其实就是一种特殊的函数,更确切的说是核技巧(Kernel trick),清楚的明白这一点很重要. 为什么说是核技巧呢?回顾到我们的对偶问题:     映射到特征空间后约束条件不变,则为:     在原始特征空间中主要是求,也就是和的内积(Inner Product),也称数量积(Scalar Product)或是点积(Dot Product),映射到特征空间后就变成了求,也就是和的映射到特征空间之后的内积,就如我前面所提到的在原始空间

SVM多分类

http://www.matlabsky.com/thread-9471-1-1.htmlSVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器.目前,构造SVM多类分类器的方法主要有两类:一类是直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题“一次性”实现多类分类.这种方法看似简单,但其计算复杂度比较高,实现起来比较困难,只适合用于小型问题中:另一类是间接法,主要是通过组合多个二分类器来实现多分类器的构造,常见的方

学习Opencv2.4.9(四)---SVM支持向量机

作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 先来看一下什么是SVM(支持向量机) SVM是一种训练机器学习的算法,可以用于解决分类和回归问题,同时还使用了一种称之为kernel trick(支持向量机的核函数)的技术进行数据的转换,然后再根据这些转换信息,在可能的输出之中找到一个最优的边界(超平面).简单来说,就是做一些非常复杂的数据转换工作,然后根据预定义的标签或者输出进而计算出如何分离用户的数据. 支持向量机方法是建立在统计学习理论的

spark算法实现——svm支持向量机

svm是一种分类算法,一般先分为两类,再向多类推广一生二,二生三,三生... 大致可分为: 线性可分支持向量机? 硬间隔最大化hard margin maximization? 硬间隔支持向量机? 线性支持向量机? 软间隔最大化soft margin maximization? 软间隔支持向量机? 非线性支持向量机? 核函数kernel function 基本概念: 分割超平面 设C和D为两不相交的凸集,则存在超平面P,P可以将C和D分离. 线性可分支持向量机 SVM从线性可分情况下的最优分类面