第11章 支撑向量机 SVM 学习笔记 下 高斯核函数RBF
目录
高斯核函数
多项式特征
直观理解高斯核函数
scikit-learn中的高斯核函数
scikit-learn 中的 RBF 核
高斯核函数
径向基函数
本质是将每个样本点----------
变形比较复杂,最后的形式简单,显示核函数的优点和威力
多项式特征
高斯核本质做的就是这件事
两个特殊点l1,l2,landmark
两个landmark就将一维x变成二维
直观理解高斯核函数
plt.scatter(x[y==0], [0]*len(x[y==0]))
plt.scatter(x[y==1], [0]*len(x[y==1]))
plt.show()
def gaussian(x, l):gamma = 1.0return np.exp(-gamma * (x-l)**2)l1, l2 = -1, 1X_new = np.empty((len(x), 2))
for i, data in enumerate(x):X_new[i, 0] = gaussian(data, l1)X_new[i, 1] = gaussian(data, l2)plt.scatter(X_new[y==0,0], X_new[y==0,1])
plt.scatter(X_new[y==1,0], X_new[y==1,1])
plt.show()
线性可分
数据的映射过程
初始的数据维度大,m<n如自然语言的处理可以使用
scikit-learn中的高斯核函数
scikit-learn 中的 RBF 核
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
from sklearn.svm import SVCdef RBFKernelSVC(gamma):return Pipeline([("std_scaler", StandardScaler()),("svc", SVC(kernel="rbf", gamma=gamma))])svc = RBFKernelSVC(gamma=1)
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)
蓝色的就是顶点,府视图
10时中心的图案变宽,融合到了一起
很小时接近于线性,这时则是欠拟合
gamma小的模型越简单,对应可能是欠拟合
第11章 支撑向量机 SVM 学习笔记 下 高斯核函数RBF相关推荐
- 第11章 支撑向量机SVM
支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解.由简至繁的模型包括: ...
- 百面机器学习 #3 经典算法:01-1 线性可分(硬间隔)支撑向量机SVM
文章目录 ①从原始问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面和决策函数.支撑向量 参考李航统计学习方法第7章. 支持向量机学习的基本想法是求解能 ...
- 百面机器学习 #3 经典算法:01-3 核函数支撑向量机SVM
文章目录 1.3 非线性SVM与核技巧 1.3.1 核函数 1.3.2 核技巧在支持向量机中的应用 1.3.3 常用核函数 1.4 其他问题 1.4.1 是否存在一组参数使SVM训练误差为0:是 1. ...
- 百面机器学习 #3 经典算法:01-2 不完全线性可分(软间隔)支撑向量机SVM
文章目录 ①从原问题到对偶问题 ②对偶问题的解的形式化简 ③从对偶问题的解到原问题的解 ④从原问题的解到分离超平面.决策函数.支撑向量 假设训练数据集不是线性可分的.通常情况是,训练数据中有一些特异点 ...
- SVM学习笔记-对偶形式的SVM
SVM学习笔记第二篇 SVM学习笔记-线性支撑向量机 SVM学习笔记-对偶形式的SVM SVM学习笔记-核函数与非线性SVM SVM学习笔记-软间隔SVM 0 - 回顾 上一篇笔记讲述了一个模型:线性 ...
- Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机GA遗传算法PSO粒子群优化算法)、案例应用之详细攻略
Matlab:基于Matlab实现人工智能算法应用的简介(SVM支撑向量机&GA遗传算法&PSO粒子群优化算法).案例应用之详细攻略 目录 1.SVM算法使用案例 1.1.Libsvm ...
- python画反比例函数_反比例光滑支撑向量机
1. 引言 2001年Lee等人通过对支撑向量机的深入研究引入光滑的概念,使用了sigmoid积分函数p(x,α)对无约束的支撑向量机模型SVM [1] 进行光滑化,得出了分类性能较好的光滑支撑向量机 ...
- 《C++Primer》第二章-变量和基本类型-学习笔记(1)
<C++Primer>第二章-变量和基本类型-学习笔记(1) 文章目录 <C++Primer>第二章-变量和基本类型-学习笔记(1) 摘要 主体 基本(内置)类型 算数类型 整 ...
- 【ember zigbee】序章:协议栈相关文档学习笔记
原文地址:https://blog.csdn.net/tainjau/article/details/90648114 文章目录 写在前面 一.材料出处 二.文档解析 2.1.EZSP Protoco ...
- HTML5 权威指南第 10 章 文档分节 学习笔记
HTML5 权威指南第 10 章 文档分节 学习笔记 第 8 章 标记文字 内容从从文字出发,专注如何将单体内容正确的呈现出来:第 9 章 组织内容 内容从段落出发,专注如何将单体内容合理的放在段落中 ...
最新文章
- 深蓝学院的深度学习理论与实践课程:第一章
- iOS-Swift中的递增(++)和递减(--)被取消的原因-官方答复
- 使用C/C++发展Web系统开源
- 编译glib-1.2.20-r5出错./libtool: line 297
- redis的bigkeys命令之原理
- Commit request failed Commit failed. Ref must be HEAD and is HEAD
- nodejs之express入门
- 使用Hibernate JPA的自定义布尔用户类型
- 2010年复旦MBA预审说明
- 【BZOJ4602】齿轮,带权并查集
- 当我的master被fork后,我把master删了,然后我就成了他人的bitch
- 连接Android与ASP.NET Core Web API的完整教程
- mysql update修改数据_MYsql如何用update语句修改数据,值得一看
- 最易理解的傅里叶分析讲解
- 飞行器中传感器测量原理及测量模型
- php 微信公众号超链接,微信公众帐号开发教程第8篇-文本消息中使用网页超链接_PHP教程...
- win7/ubuntu18 双系统安装和卸载
- 哇塞!集齐7张卡片,真的可以召唤神龙耶!
- Matplotlib绘制折线图、散点图、柱状图、直方图、饼图代码
- 前端vue异形轮播图案例(带源码)
热门文章
- react 图表库 滚动_2019 年值得推荐的 React 可视化库
- winform 实现qq代理_「设计模式」代理模式:神奇的代理模式,节省了我80%开发时间...
- linux下物理内存不足,vm中linux物理内存不足解决方案
- C# 结构体转byte数组 结构体转byte[] 结构体、byte数组互转
- 寻找亚马逊测评师邮箱_亚马逊测评怎么做,做亚马逊测评买家号怎么做?
- java桥梁模式_java设计模式之桥梁模式(Bridge)
- pythonfor循环是迭代器吗_Python学习——for循环,生成器,迭代器详解
- html表格两种颜色,html – 表格细胞两个颜色背景对角线
- SpringBoot 实战 (十七) | 整合 WebSocket 实现聊天室
- 深入理解原型和原型链