安居多伦多
  • 多市生活
    • 多市生活
    • 加国税务
    • 旅游度假
    • 生活安全
    • 行车安全
    • 窍门集锦
  • 多市书苑
    • 热门
    • 小说
    • 教育
  • 家居信息
    • 家居信息
    • 房屋保养
    • 房屋贷款
    • 房屋租赁
    • 房屋建筑
    • 房前屋后
    • 家居风水
  • 健康保健
    • 健康保健
    • 饮食起居
    • 食品安全
    • 健身锻炼
  • 书苑账户
    • 书苑登入
    • 书苑注册
    • 忘记书苑密码
    • 书苑账户信息
    • 关于我们
    • 联系我们
    • 隐私政策
多伦多书苑
在线书籍:随时阅读,随身听书。
所有书籍 | 人文 | 人物 | 人生 | 健康 | 儿童 | 医学 | 历史 | 历史 | 古典 | 哲学宗教 | 商业 | 外国 | 寓言 | 小说 | 教育 | 风水 | 管理 | 语言 |
为使本公益资源网站能继续提供免费阅读,请勿屏蔽广告。谢谢!报告弹出广告被滥用。
  1. 安居多伦多
  2. 网上书苑
  3. IT
  4. Python
  5. Python机器学习手册:从数据预处理到深度学习

Python机器学习手册:从数据预处理到深度学习

2022-02-15 0人点赞 0条评论
点赞
x
语速1.0: 2.0
进度0:

上一页   |   返回目录   |   下一页

17.2 使用核函数处理线性不可分的数据

问题描述

你要训练一个SVC,但是你的数据是线性不可分的。

解决方案

使用核函数训练支持向量机的一个扩展,以创建非线性的决策边界:

17.2 使用核函数处理线性不可分的数据

讨论

本书不会对支持向量机进行全面的解释,不过,简单了解一下支持向量机和核函数的背景知识还是有用的。为了便于理解,可以将SVC表示为:

17.2 使用核函数处理线性不可分的数据

这里 β 0 是偏差,S是所有支持向量观察值的集合,α是要学习的模型参数,(xi, xi')是一对支持向量观察值。最重要的是核函数K,它会比较 xi,和xi'的相似度(如果你还不理解什么是核函数,不用着急)。对于K,只需要知道两点:第一,它决定了我们用什么类型的超平面来分离不同的分类;第二,我们使用不同的核函数来创建不同的超平面。比如,如果你想要17.1节中创建的基本线性超平面,就可以使用线性核函数:

17.2 使用核函数处理线性不可分的数据

这里p是特征的数量。如果我们想获取一个非线性决策边界,可以用多项式核函数来替换上面的线性核函数:

17.2 使用核函数处理线性不可分的数据

这里d是多项式核函数的度。我们还可以使用支持向量机中最通用的一种核函数,径向基核函数(radial basis function kernel):

17.2 使用核函数处理线性不可分的数据

这里γ是一个超参数,而且必须大于0。前面的这些解释的要点在于,如果数据是线性不可分的,我们可以用其他可选的核函数来替换线性核函数,以创建一个非线性的超平面决策边界。

我们可视化一个简单的例子来理解核函数背后的逻辑。这个例子是基于Sebastian Raschka的工作设计的一个函数,它画出了观察值和一个二维空间里的超平面决策边界。你不需要理解这个函数是如何工作的。该函数的代码如下,你可以自己试一试:

17.2 使用核函数处理线性不可分的数据

17.2 使用核函数处理线性不可分的数据

在本节的解决方案中,我们的数据有两个特征(即两个维度)和一个包含所有观察值分类的目标向量。重要的一点是,这些数据被设计为线性不可分的。换句话说就是,不存在一条直线可以完美地分开这两个分类的数据。首先,创建一个使用线性核函数的SVC:

17.2 使用核函数处理线性不可分的数据

接下来,因为我们的数据只有两个特征,所以可以在二维空间内画出观察值、它们的分类和模型的线性超平面(见下图):

17.2 使用核函数处理线性不可分的数据

17.2 使用核函数处理线性不可分的数据

如上图所示,这个线性超平面的分类效果很差!让我们用一个径向基核函数来替换线性核函数,然后用它来训练一个新模型:

17.2 使用核函数处理线性不可分的数据

然后我们画出观察值和超平面:

17.2 使用核函数处理线性不可分的数据

17.2 使用核函数处理线性不可分的数据

使用径向基核函数,可以创建一个分类效果比线性核函数好很多的决策边界。这也是在SVC中使用这些核函数的原因。

在scikit-learn中,我们可以通过设置kernel参数的值来选择想用的核函数。一旦选择了一个核函数,就需要为这个核函数确定一些合适的选项值,比如前面提到的多项式核函数中的d(通过degree参数来设置)和径向基核函数中的γ(通过gamma参数来设置)。我们还需要设置惩罚参数C。在训练模型时,大部分情况下需要把这些参数视作超参数,然后用模型选择的技术找出能产生性能最佳的模型的参数值组合。

上一页   |   返回目录   |   下一页

类似书籍

Python机器学习实践指南
Python机器学习实践指南
Python机器学习——预测分析核心算法
Python机器学习——预测分析核心算法
机器学习实战
机器学习实战
Author:

标签: 暂无
最后更新:2022-02-15
< 上一篇
下一篇 >

本书评论

取消回复

©2021 安居多伦多 - 版权所有

本站由 好事来 Hostlike.com 提供技术支持。