目录

SVM中的使用多项式特征

使用多项式特征的SVM

使用多项式核函数的SVM

什么是核函数

多项式核函数

核函数


SVM中的使用多项式特征

import numpy as np
import matplotlib.pyplot as pltfrom sklearn import datasetsX, y = datasets.make_moons()plt.scatter(X[y==0,0], X[y==0,1])
plt.scatter(X[y==1,0], X[y==1,1])
plt.show()

X, y = datasets.make_moons(noise=0.15, random_state=666)plt.scatter(X[y==0,0], X[y==0,1])
plt.scatter(X[y==1,0], X[y==1,1])
plt.show()

使用多项式特征的SVM

from sklearn.preprocessing import PolynomialFeatures, StandardScaler
from sklearn.svm import LinearSVC
from sklearn.pipeline import Pipelinedef PolynomialSVC(degree, C=1.0):return Pipeline([("poly", PolynomialFeatures(degree=degree)),("std_scaler", StandardScaler()),("linearSVC", LinearSVC(C=C))])poly_svc = PolynomialSVC(degree=3)
poly_svc.fit(X, y)
def plot_decision_boundary(model, axis):x0, x1 = np.meshgrid(np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1),)X_new = np.c_[x0.ravel(), x1.ravel()]y_predict = model.predict(X_new)zz = y_predict.reshape(x0.shape)from matplotlib.colors import ListedColormapcustom_cmap = ListedColormap(['#EF9A9A','#FFF59D','#90CAF9'])plt.contourf(x0, x1, zz, linewidth=5, cmap=custom_cmap)

使用多项式核函数的SVM

from sklearn.svm import SVCdef PolynomialKernelSVC(degree, C=1.0):return Pipeline([("std_scaler", StandardScaler()),("kernelSVC", SVC(kernel="poly", degree=degree, C=C))])poly_kernel_svc = PolynomialKernelSVC(degree=3)
poly_kernel_svc.fit(X, y)plot_decision_boundary(poly_kernel_svc, axis=[-1.5, 2.5, -1.0, 1.5])
plt.scatter(X[y==0,0], X[y==0,1])
plt.scatter(X[y==1,0], X[y==1,1])
plt.show()

什么是核函数

svm的本质是下面的优化问题

xpie是多项式

如果可以设计出函数 k

K不同相当于在原来的xy上做变换

现在k的作用就是不用变形了,直接通过k变换为这样

k函数有的也称为核技巧

好处,计算量小,存储空间变小

在最优化的问题在xiyj这样的形式,就可以转化为核函数技巧,不是svm专用的,在很多地方都有应用

多项式核函数

x,y是向量做点乘

相当于x先变为xpie,y先变为ypie

核函数大大降低了计算的复杂度

核函数

可以是高阶的

相关的详细使用查阅官方文档

第11章 支撑向量机 SVM 学习笔记 下相关推荐

  1. 第11章 支撑向量机SVM

    支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解.由简至繁的模型包括: ...

  2. 百面机器学习 #3 经典算法:01-1 线性可分(硬间隔)支撑向量机SVM

    文章目录 ①从原始问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面和决策函数.支撑向量 参考李航统计学习方法第7章. 支持向量机学习的基本想法是求解能 ...

  3. 百面机器学习 #3 经典算法:01-2 不完全线性可分(软间隔)支撑向量机SVM

    文章目录 ①从原问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面.决策函数.支撑向量 假设训练数据集不是线性可分的.通常情况是,训练数据中有一些特异点 ...

  4. 百面机器学习 #3 经典算法:01-3 核函数支撑向量机SVM

    文章目录 1.3 非线性SVM与核技巧 1.3.1 核函数 1.3.2 核技巧在支持向量机中的应用 1.3.3 常用核函数 1.4 其他问题 1.4.1 是否存在一组参数使SVM训练误差为0:是 1. ...

  5. SVM学习笔记-对偶形式的SVM

    SVM学习笔记第二篇 SVM学习笔记-线性支撑向量机 SVM学习笔记-对偶形式的SVM SVM学习笔记-核函数与非线性SVM SVM学习笔记-软间隔SVM 0 - 回顾 上一篇笔记讲述了一个模型:线性 ...

  6. Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机GA遗传算法PSO粒子群优化算法)、案例应用之详细攻略

    Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机&GA遗传算法&PSO粒子群优化算法).案例应用之详细攻略 目录 1.SVM算法使用案例 1.1.Libsvm ...

  7. python画反比例函数_反比例光滑支撑向量机

    1. 引言 2001年Lee等人通过对支撑向量机的深入研究引入光滑的概念,使用了sigmoid积分函数p(x,α)对无约束的支撑向量机模型SVM [1] 进行光滑化,得出了分类性能较好的光滑支撑向量机 ...

  8. 《C++Primer》第二章-变量和基本类型-学习笔记(1)

    <C++Primer>第二章-变量和基本类型-学习笔记(1) 文章目录 <C++Primer>第二章-变量和基本类型-学习笔记(1) 摘要 主体 基本(内置)类型 算数类型 整 ...

  9. 【ember zigbee】序章:协议栈相关文档学习笔记

    原文地址:https://blog.csdn.net/tainjau/article/details/90648114 文章目录 写在前面 一.材料出处 二.文档解析 2.1.EZSP Protoco ...

  10. HTML5 权威指南第 10 章 文档分节 学习笔记

    HTML5 权威指南第 10 章 文档分节 学习笔记 第 8 章 标记文字 内容从从文字出发,专注如何将单体内容正确的呈现出来:第 9 章 组织内容 内容从段落出发,专注如何将单体内容合理的放在段落中 ...

最新文章

  1. 迈向未来的那五种人,自古以来就很重要的人
  2. SonarQube代码质量管理平台安装与使用--转载
  3. Nacos客户端配置
  4. 龙芯团队完成CoreCLR MIPS64移植,在github开源
  5. [python opencv 计算机视觉零基础到实战] 十一找到图片中指定内容
  6. SpringBoot 扫描包
  7. linux mint更换mac,在Ubuntu、Linux Mint上安装Mac OS X主题
  8. Python编程基础04:输入与输出
  9. 【kafka】Kafka consumer处理大消息数据过大导致消费停止问题
  10. thinkphp5 return 返回空_网红饮品大杯约1/3是空的!店员:这是公司设计的中空隔冷层...
  11. [forwarding]Android上dip、dp、px、sp等单位说明
  12. 智慧医院建设方案_【聚焦医改】安泰创新智慧医院建设方案惊艳中国医院院长大会!...
  13. 基于模拟退火算法解决TSP问题 | MATLAB源码
  14. 数学建模论文排版大总结
  15. 基于Java的进销存管理系统 附:源码课件
  16. C#获取本地IP地址
  17. html 让页脚始终底部,CSS + DIV 让页脚始终保持在页面底部
  18. go java gc_Golang GC算法
  19. 用SDK包开发K66FX18学习笔记(2)
  20. 解密阿里云IoT物联网平台MQTT Access Server核心架构

热门文章

  1. 匈牙利算法求最大匹配
  2. 线条边框简笔画图片大全_表情包丨表情包简笔画图片大全可爱
  3. 下列不属于计算机网络特点的是自主性,计算机网络技术B卷
  4. 哈佛结构 Linux,哈佛结构与冯诺依曼结构区别
  5. Dxg——AD(Altium Designer) 开发笔记整理分类合集【所有的相关记录,都整理在此】
  6. pcb设计单点接地示意图_EMC设计之接地、PCB布局布线、屏蔽设计
  7. 电脑表格制作教程入门_微信销售小程序入门教程:制作+营销
  8. 找出不是两个数组共有的元素_[数组] N数之和问题
  9. iOS--利用Fastlane实现自动化打包
  10. PaaS适用于哪些场景?让案例说话