机器学习之SVM介绍

一、SVM

support  vector  machine,在机器学习中,SVM 既可以做回归,也可以做分类器。

SVM 主要是帮我们找到一个超平面,使不同的样本分开,并且是各个样本集到超平面的距离之和最大化。

支持向量就是距离超平面最近的样本点,确定了支持向量也就确定了超平面。

二、硬间隔、软间隔和非线性 SVM

硬间隔:在满足线性可分的基础上,分类完全正确,不存在分类出错的情况

软间隔:在满足线性可分的基础上,允许一部分样本分类出错

非线性SVM:如果样本满足非线性数据,需要引入新的概念:核函数,可以把样本从原始空间映射到一个更高维的特质空间中,

使得样本在新的空间中线性可分。

三、SVM解决多分类问题

SVM 本身设计用来解决二分类问题,在实际的应用中,多分类的情况比较多,比如对文本进行分类,或者对图像进行识别,分类方法包括一对一和一对多。

机器学习之SVM介绍

机器学习之SVM介绍

四、构造SVM分类器

model = svm.SVC(kernel=‘rbf’, C=1.0, gamma=‘auto’),kernel 主要包括四种核函数,如下

linear:线性核函数

poly:多项式核函数

rbf:高斯核函数

sigmoid:sigmoid 核函数

机器学习之SVM介绍

再创建SVM分类器后,可以利用训练集进行分类器训练,model.fit(train_x,train_y)

利用 prediction=model.predict(test_X) 对结果进行预测。