核函数与松弛变量| 学习笔记

简介: 快速学习核函数与松弛变量。

开发者学堂课程【机器学习算法 :核函数与松弛变量】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7268


核函数与松弛变量

 

内容介绍

一、线性不可分的情况

二、核函数

三、核函数例子

四、核函数的分类和选择

 

一、线性不可分的情况

线性不可分的情况不能再直接使用之前求出的线性可分的超平面,而是考虑把样本映射到一个更高维的空间中,希望在这个高维空间中线性可分,即可使用之前线性可分的思路,构造一个分类超平面。

例1:

image.png

在一维空间中,在一条线上,有好多点,红色的点和蓝色的点是不同的分类,事实上,在一维空间中,超平面是一个点,但找不到一个点可以将红颜色和蓝颜色分开,这就是典型的线性不可分的情况。

如何解决?将一维空间上的点映射到二位空间上去,在二维空间是线性可分的。

image.png

如上图所示,将一维空间上的点映射到二维空间的正弦函数上,并且可以构造分类超平面将其分开,这样就解决了最初的问题。

例2

image.png

将线性不可分的二维图映射成线性可分的三维立体图,用一个平面将其隔开,如果能将这些点找到映射关系,将其从二维空间映射到三维空间,就可以在三维空间中使用 SVM 原理。所以,如果原始空间是有限维,即属性数有限,一定存在一个高维特征空间使样本线性可分。


二、核函数

支持向量机通过某非线性变换 ф(x),将输入空间映射到高维特征空间。如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(xx’),它恰好等于在高维空间中这个内积,即 K(x,x')=〈ф(x)·ф(x’)〉,则无需再计算复杂的非线性变换,而由函数 K(x,x’)直接得到非线性变换的内积,简化了计算。函数K(xx’)称为核函数 (Kernel Function)。

本来要到高维空间找一个函数,刚好存在一个映射关系,可以将低维空间映射过来,在高维空间中正好是线性可分的,但其实非常难找到 ф(x)。实际上,在找分类超平面时,最终分类超平面的表达式,就是 ф(x) 和 ф(x’) 的内积,所以只需要凑出ф(x)·ф(x’)就可以找到分类超平面即可,不需要具体关心如何映射。

普通处理方法:先把样本映射到高维特征空间,然后在高维空间使用线性学习器分类。

image.png

在原始特征空间中直接计算内积 (ф(x)ф(x’)就可以将两个步骤融合到一起建立一个非线性的学习器,这样直接计算法的方法称为核函数方法

 

三、核函数例子

二维平面中,构造两类样本,为线性不可分。将其映射到高维空间,找到超平面进行分隔。构造样本时是基于二次函数的曲线加上噪声得到的,二次函数的通用表达式为:

image.pngimage.png

将其映射至五维空间Z=(X2,y2,xy,x,y)其表达式为:

image.png

其表达式为线性,能将其分隔的圆也为线性,即超平面。为了能通过图形显示(最多3维),构造样本函数为:

image.png

将其映射至一个三维空间Z=(x2,y2,x),其表达式为:

image.png

image.png

按照之前的知识,知道映射到高维后的分类超平面为:

image.png

当映射函数ф(.)不容易求的时候,可以尝试去找一个核函数 K(x,x')=〈ф(x)·ф(x’)〉

二维空间的二次曲线映射到五维空间:映射函数 ф(.)

image.png

image.png

另外根据 x1、x2 去拼凑类似的式子:

image.png

二者实际上一样,只需要对映射进行一些缩放即可:

image.png

所以最后得出 k

image.png

 

四、核函数的分类和选择

image.png

选择核函数:

无明确可行的指导原则

通过先验知识选择核函数

使用交叉验证法,尝试不同核函数,选择误差最小的

混合核函数法,将不同核函数混合起来使用

最常用的是  RBF,其次是线性核

相关文章
|
Java Linux 开发工具
Jenv 多版本JDK管理
Jenv 可以对多版本JDK进行管理
|
JSON JavaScript 测试技术
Postman 使用教程:从基础到高级
Postman是一款强大的API开发和测试工具,支持从基础请求发送到复杂API集成。本文详细介绍了Postman的基础使用,包括安装、界面概览、发送请求、设置请求头等,以及高级功能,如使用环境变量、创建请求集合、编写测试脚本及使用Newman进行命令行测试,帮助用户全面掌握Postman的使用技巧。
5181 28
Postman 使用教程:从基础到高级
|
11月前
|
Web App开发 监控 网络协议
网络分析与监控:阿里云拨测方案解密
阿里云网络拨测业务提供了全球、多种协议、多种网络态势的用户网络性能和用户体验监控场景的全面可观测方案。该文章从拨测场景下,介绍了用户如何快速的构建一套全球用户视角的服务可用性大盘,为客户的业务保驾护航。
1431 166
|
4月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
SQL 存储 关系型数据库
后端技术在现代软件开发中的重要性
本文将深入探讨后端技术在现代软件开发中的关键角色和影响。我们将从后端技术的基本概念入手,逐步解析其在实际项目中的应用,最终展示其对整个软件生态系统的重要性。
419 5
|
8月前
|
人工智能 自然语言处理 搜索推荐
JeecgBoot AI 应用开发平台,AIGC 功能介绍
JeecgBoot推出AIGC功能模块,包含AI应用开发平台与知识库问答系统,支持AI流程编排、模型管理、知识库训练及向量库对接。基于LLM大语言模型,提供智能对话、RAG检索增强生成等功能,兼容多种大模型(如DeepSeek、Qwen等)。平台结合低代码与AIGC,适用于复杂业务场景,支持快速原型到生产部署,助力用户打造个性化智能体,如“诗词达人”或“翻译助手”,并可嵌入第三方系统提升交互能力。项目开源,欢迎体验与交流。
365 0
JeecgBoot AI 应用开发平台,AIGC 功能介绍
ly~
|
供应链 搜索推荐 大数据
大数据在零售业中的应用
在零售业中,大数据通过分析顾客的购买记录、在线浏览习惯等数据,帮助零售商理解顾客行为并提供个性化服务。例如,分析网站点击路径以了解顾客兴趣,并利用历史购买数据开发智能推荐系统,提升销售和顾客满意度。此外,大数据还能优化库存管理,通过分析销售数据和市场需求,更准确地预测需求,减少库存积压和缺货现象,提高资金流动性。
ly~
1096 2
|
机器学习/深度学习 人工智能 算法
AI - 决策树模型
决策树算法起源于古希腊的逻辑推理,20世纪在军事策略研究中首次提出。它通过构建树形模型模拟决策过程,每个节点代表一个属性判断,分支代表可能结果。ID3算法基于信息增益,C4.5则引入信息增益率,解决了ID3偏好多值属性的问题,还能处理缺失值。CART决策树适用于分类和回归任务,使用基尼系数或信息增益来选择特征。在Python的`sklearn`库中,`DecisionTreeClassifier`实现决策树分类,通过参数如`criterion`、`max_depth`等控制模型。
在Linux中,如何创建一个分区?
在Linux中,如何创建一个分区?
|
存储 SQL JSON
两万字详解MongoDB从入门到精通(一)
两万字详解MongoDB从入门到精通
1544 1