[机器学习与scikit-learn-37]:算法-分类-支持向量机-核函数与线性不可分-原理

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[机器学习与scikit-learn-37]:算法-分类-支持向量机-核函数与线性不可分-原理相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/123804551


目录

前言:

第1章 线性不可分转换成线性可分的手段:升维

1.1 何为数据维度?

1.2 何为升维

1.3 升维的功效

第2章 scikit-learn支持向量机提供的升维核函数

2.1 scikit-learn SVM kernel函数

2.2 Linear线性核函数

2.3 Poly多项式核函数

2.4 RBF:高斯核函数

2.5 sigmoid核函数

2.6 复合核函数

2.7 自定义核函数


前言:

 低维空间棘手难缠的麻烦事,

升到高维空间后就不算个事。

核函数就是外挂的升维神器

金字塔的底层,只能获得最低纬度的信息,拥有最低纬度视野和认知,挣夺极度有限的资源。

金字塔的顶层,能够获得最多纬度的信息,拥有更高纬度视野和认知,分配大量的富裕资源。

第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 - 数据拆分与测试&算法评价与调整

Python3入门机器学习 经典算法与应用

《分布式机器学习:算法理论与实践》——RE

Python3入门机器学习--经典算法与应用|Python3机器学习

从入门到精通:机器学习算法与应用