机器学习(六)支持向量机SVM

一、线性支持向量机SVM

        1.原理

机器学习(六)支持向量机SVM_第1张图片

                 支持向量的垂直平分线。此线段称为超平面,与之平行的两条线段称为正向超平面负向超平面

                 应用:用于区分物品(通过极端个体实现,结果由极端个体决定)

机器学习(六)支持向量机SVM_第2张图片

         2.Python实现

                ①前置准备

                ②创建分类器

from sklearn.svm import SVC
classifer = SVC(kernel = 'Liner',radom_state = 0)    --创建分类器
classifer.fit(x_train,y_train)    --拟合

                ③预测测试集

y_pred = classifier.predict(x_test)    --预测

                ④展示图像

机器学习(六)支持向量机SVM_第3张图片

         3.提高性能

                可以将分类器的内核替换为高斯内核来提高其效率

二、Kernel SVM

        1.高维投射

                将低维度中线性不可分的数据投射到高维中使其线性可分,再将其投射回原来的维度。

                示例1:一维投射

机器学习(六)支持向量机SVM_第4张图片

                 示例2:二维投射

机器学习(六)支持向量机SVM_第5张图片

                         再反投射

机器学习(六)支持向量机SVM_第6张图片

         2.核函数技巧

                ①高斯镜像机核函数Gaussian RBF Kernel

机器学习(六)支持向量机SVM_第7张图片

机器学习(六)支持向量机SVM_第8张图片

                         点离基准点越近,值越大;离基准点越远,值越小

                        σ值控制高度,可以间接控制分类区域的半径

机器学习(六)支持向量机SVM_第9张图片

                 若分类区域不趋近与圆,可以采用多个核函数的组合来表示

机器学习(六)支持向量机SVM_第10张图片

         3.常用的核函数类型

                ①高斯核函数

                 ②S函数

                 ③多项式核函数

机器学习(六)支持向量机SVM_第11张图片

         4.Python实现

                ①创建对象并拟合

from sklearn.svm import SVC
classifier = SVC(kernel='rbf',radom_state = 0)    --设置高斯核函数
classifier.fit(x_train,y_train)    --拟合

                ②预测数据

y_pred = classifier.predict(x_test)

                ③图像展示

机器学习(六)支持向量机SVM_第12张图片

机器学习(六)支持向量机SVM_第13张图片

 

你可能感兴趣的:(机器学习,学习笔记,支持向量机,机器学习,人工智能)