[机器学习与scikit-learn-37]:算法-分类-支持向量机-核函数与线性不可分-原理
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[机器学习与scikit-learn-37]:算法-分类-支持向量机-核函数与线性不可分-原理相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123804551
目录
前言:
低维空间棘手难缠的麻烦事,
升到高维空间后就不算个事。
核函数就是外挂的升维神器
金字塔的底层,只能获得最低纬度的信息,拥有最低纬度视野和认知,挣夺极度有限的资源。
金字塔的顶层,能够获得最多纬度的信息,拥有更高纬度视野和认知,分配大量的富裕资源。
第1章 线性不可分转换成线性可分的手段:升维
1.1 何为数据维度?
输入样本的特征(X1,X2...Xm),其中m就是输入数据的维度。
1.2 何为升维
把输入样本的特征(X1,X2...Xm),通过X = f(x)函数,扩充成(X1,X2...Xm,......Xn),其中n>m, 这就是升维。
1.3 升维的功效
升维是如何把低维度的线性不可分问题,转换成高维度的线性可分问题。
一图顶千言万语:
在下图中,在二维平面的数据,红色和蓝色的点,他们是线性不可分的,是搅合在一起的数据。
然而,通过某种方式,把数据的维度扩充到高维空间后,就变成了线性可分了,是线性可分离的数据。
研究和使用核函数的人,从一开始的目的就是把数据分离开而已。
高维和映射,都是手段,而不是目的,分离数据是目的。
第2章 scikit-learn支持向量机提供的升维核函数
2.1 scikit-learn SVM kernel函数
svc= SVC(kernel="poly",degree=degree,C=C)
kernel定义支持的核函数类型。
(1)默认的是"RBF",即径向基核,也就是高斯核函数;
(2)Linear指的是线性核函数:
(3)Poly指的是多项式核:
(4)Sigmoid
(5)自定义核函数
2.2 Linear线性核函数
线性核函数的功能是在现有的Y=WX+B运算的基础之上,在进一步增加一层的线性运算。
与两层的神经元类似。
2.3 Poly多项式核函数
多项式核函数,可实现数据维度的升维效果。
有没有一种通用的非线性模型,可以拟合多种情形下的非线性数据分布,同时也能拟合线性数据分布呢?
答案是:有的,线性多项式模型。
(1)多项式模型的数据表达式
(2)多项式模型的理论基础
我们说,多项式模型,可以拟合多种情形下的非线性分布的数据,也可以拟合线性数据,这里面的理论基础是:泰勒级数展开公式。
用大白话说:
任何非线性函数,都可以使用多项式来进行逼近,这就体现了多项式神奇的拟合能力,只要多项式的次数足够高,几乎可以拟合全部的非线性函数。
[机器学习与scikit-learn-33]:算法-回归-通过PolynomialFeatures实现数据的升维_文火冰糖的硅基工坊的博客-CSDN博客
(3)案例
比如 一维数据x ,通过多项式 x^2 +2x +1变形之后, 从数据维度就从一维变成二维。
画出图形
————>
原先线性不可分的数据变成了线性可分。
2.4 RBF:高斯核函数
(1)高斯函数
(2)高斯函数的升维变换
在我们的一维空间中,找出2个已知的地标点,即l1,l2。
2.5 sigmoid核函数
sigmoid函数是一个在生物学中常见的S型的函数,也称为S形生长曲线。
Sigmoid函数也常被用作神经网络的阈值函数,将变量映射到0,1之间。
叠加了sigmoid核函数的向量机SVM,就是一个神经元。
2.6 复合核函数
复合核函数也叫混合核函数,是将两种或两种以上的核函数放在一起使用,形成一种新的核函数。
通过复合核函数,使得支持向量机的功能更加的强大,类似与神经网络的多层神经网络。
2.7 自定义核函数
用户可以自定义自己的核函数。
参考:
《SVM永不为奴!》彻底理解SVM支持向量机8-核函数的作用,教育,高等教育,好看视频
人工智能科学家与数据挖掘专家大实战(推荐学习)没传完,完整在公众号_哔哩哔哩_bilibili
以上是关于[机器学习与scikit-learn-37]:算法-分类-支持向量机-核函数与线性不可分-原理的主要内容,如果未能解决你的问题,请参考以下文章
机器学习机器学习入门02 - 数据拆分与测试&算法评价与调整