对Kernel函数的理解
2016-04-12 15:28
246 查看
问题:在低维空间线性不可分,需要映射到高维空间使其线性可分。
方法:找到这个映射P:(x,y) ->(A,B,C)
eg:P: A = x2x^2 B= 2√xy \sqrt{2}xy C=y2y^2
然而在分类器寻找的过程中我们通常需要计算内积< P1,P2 >,如果遇到上面的问题,朴素的想法是首先找到映射P,然后将P1,P2计算出来,然后计算< P1,P2 >,但这样的计算量是非常大的!!
So:
一般英文文献对Kernel有两种提法,一是Kernel Function,二是Kernel Trick:即Kernel 仅仅是一种计算的技巧,比如上面的映射:
P: A = x2x^2 B= 2√xy \sqrt{2}xy C=y2y^2
其内积<P1(x1,y1)P2(x2,y2)>< P1(x1,y1) P2(x2,y2)> 事实上= <(X1,Y1),(X2,Y2)>2< (X1,Y1),(X2,Y2) >^2,这里我们就根本不用找到P,直接可以计算出<P1(x1,y1)P2(x2,y2)>< P1(x1,y1) P2(x2,y2)> ,于是核函数内积平方便诞生了,
K(v1,v2)=<v1,v2>2K(v1,v2) = < v1,v2 >^2
而且有个叫Mercer 的人给出了一个定理:
只要核函数满足一定条件,那么映射空间一定存在。
于是人们只需要找核函数而并不用找具体的映射就能计算低维到高维的分类问题了,因为分类问题只需要算内积!!
方法:找到这个映射P:(x,y) ->(A,B,C)
eg:P: A = x2x^2 B= 2√xy \sqrt{2}xy C=y2y^2
然而在分类器寻找的过程中我们通常需要计算内积< P1,P2 >,如果遇到上面的问题,朴素的想法是首先找到映射P,然后将P1,P2计算出来,然后计算< P1,P2 >,但这样的计算量是非常大的!!
So:
一般英文文献对Kernel有两种提法,一是Kernel Function,二是Kernel Trick:即Kernel 仅仅是一种计算的技巧,比如上面的映射:
P: A = x2x^2 B= 2√xy \sqrt{2}xy C=y2y^2
其内积<P1(x1,y1)P2(x2,y2)>< P1(x1,y1) P2(x2,y2)> 事实上= <(X1,Y1),(X2,Y2)>2< (X1,Y1),(X2,Y2) >^2,这里我们就根本不用找到P,直接可以计算出<P1(x1,y1)P2(x2,y2)>< P1(x1,y1) P2(x2,y2)> ,于是核函数内积平方便诞生了,
K(v1,v2)=<v1,v2>2K(v1,v2) = < v1,v2 >^2
而且有个叫Mercer 的人给出了一个定理:
只要核函数满足一定条件,那么映射空间一定存在。
于是人们只需要找核函数而并不用找具体的映射就能计算低维到高维的分类问题了,因为分类问题只需要算内积!!
相关文章推荐
- Git命令大全
- VB中IIF函数
- 远程 RADIUS 服务器组
- orcale 基本查询(1)
- GPRM/GNRMC定位信息的读取与解析
- Java判断两个时间是不是同一天
- iOS CocoaPods安装和使用图解
- 分享两段简单的JS代码防止SQL注入
- 不同机型下label字体的大小
- 2016三月份总结
- 【Debian】install kernel header for module development
- 51nod 1686 第K大区间 (二分+滑动窗口+离散化)
- 《排序算法》插入排序
- 深入理解和探究Java类加载机制
- C#之Common
- 报错 setAttribute: Non-serializable attribute解决方法
- javac和java命令的详解
- ffmpeg 对于视频进行fps改变
- 0基础学C#教程1--------comboBox的相关操作(包括下拉,多数据操作等等)
- Hbase之shell操作