核函数、高斯核函数

 出发点


        如果我的数据有足够多的可利用的信息,那么我可以直接做我喜欢的事了。但是现在如果没有那么多的信息,我可不可以在数学上进行一些投机呢?
低维(比如我只知道一个人的年龄,性别,那我能对她多了解吗? )
高维(比如我知道他从出生开始,做过哪些事,赚过哪些钱等)
如果我们对数据更好的了解(是机器去了解他们,我们不需要认识),得到的结果不也会更好嘛。

有些时候低微的问题难以解决,我们把它映射到高维更好解决,但是计算量是不是变大了?

04c703413dd242e0ba03f289c0fee67e.png

1、线性核函数


Linear核函数对数据不做任何变换。gif.latex?K%28x_i%2Cx_j%29%20%3D%20x%5ET_ix_j


何时来使用呢?
特征已经比较丰富了(上百万千万),样本数据量巨大,需要进行实时得出结果的问题。
不需要设置任何参数,直接就可以用了。 

 一般可以先用线性核函数,解决不了再用高斯核函数。

 

2435c9aad3b7f41429c256f9effb88a6d.png

 

2、核函数实例

        还是先从一个小例子来阐述问题。假设我们有俩个数据,x= (x1, x2,x3);y =(y1, y2,y3),此时在3维空间已经不能对其进行线性划分了,那么我们通过一个函数将数据映射到更高维的空间,比如9维的话,那么f(x)=(x1x1,x1x2,x1x3,x2x1,x2x2,x2x3,x3X1,x3x2,x3x3),由于需要计算内积,所以在新的数据在9维空间,需要计算<f(x),f(y)>的内积,需要花费O (n^2)。
在具体点,令x =(1,2,3);y =(4,5,6),那么f(x)=(1,2,3,2,4,6,3,6,9),                                             f(y)=(16,20,24,20,25,36,24,30,36),
此时<f(x), f(y)> = 16+40 + 72+ 40 + 100+ 180 + 72+ 180 + 324= 1024
似乎还能计算,但是如果将维数扩大到一个非常大数时候,计算起来可就不是一丁点问题了。
但是发现,K(x, y ) = (<x, y>)^2
K(x,y)=(4 + 10+ 18 ) ^2 =32^2 = 1024
俩者相等,K(x,y )= (<x, y>)^2=<f(x), f(y)>,但是K(x, y )计算起来却比<f(x), f(y)>简单的多,也就是说只要用K(x, y )来计算,,效果和<f(x), f(y)>是一样的,但是计算效率却大幅度提高了,如:K(x, y)是O(n),而<f(x),f(y)>是O(n^2).所以使用核函数的好处就是,可以在一个低维空间去完成高维度(或者无限维度)样本内积的计算,比如K(x,y)=(4+10 +18 )^2的3D空间对比<f(x), f(y)> = 16+ 40+ 72+ 40 +100+ 180+324的9D空间。

 

3、高斯核函数

公认最常用的核函数。。。。

f2ba9f62b70c4e80abefceea151a2cf7.png

 

X和Y是多维的向量,||X-Y||是指两个样本点之间的距离,比如可以用汉明距离。

88a28176305149589b03860250b1f60b.png

 6e9f484ef26c41799510beed15b53ce0.png

 这后面的每一项都是一个特征,是无穷维的,也就是把你的特征映射到无穷维,结果越复杂,处理问题的能力也就越强。当然过拟合风险也就越大。

 

4、参数的影响

9836ed3e62844440a63ac828e0ea1563.png

 尖角越鲜明,对识别的帮助越大,当然过拟合风险也就越大

9de47afcf2524698a7bda9b87455e536.png

 σ写成了倒数

转自:https://www.bilibili.com/video/BV13W4y1y7gB/?spm_id_from=333.337.search-card.all.click

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值