引言

空间就是一个集合

正常情况下,感知机算法和支持向量机都是默认数据是线性可分的,这类问题叫做线性分类问题。当数据线性不可分的时候,但高维可分(多看书),我们仍然想用线性分类的方法去解决,这个时候就需要用非线性变换将非线性问题转换成线性问题。
于是,我们得到求解非线性分类问题的一个思路:

  1. 用一个非线性变换,将数据特征从原空间映射到一个新的空间,这里的原空间是低维的输入空间(欧式空间或离散集合),新的空间是高维的特征空间(希尔伯特空间,完备的内积空间)
  2. 在新的空间上使用线性分类算法求解

1 各空间介绍

  1. 线性空间:只定义了加法和数乘,空间里的一个元素就可以由其他元素线性表出,这就是线性空间。

  2. 度量空间:定义了距离的线性空间。我们可以按照我们的需要或者具体问题的具体情况,用不同的方式来定义距离。距离说白了就是两个点(元素)对应一个数,x, y是集合中的两个元素,那么x, y的距离d(x,y)是由x,y这两个元素决定的一个数。

    事实上,有很多种不同距离的定义方式,例如闵可夫斯基距离,马氏距离,切比雪夫距离,曼哈顿距离等等,我们最常用的两点之间的连线叫做欧式距离。

    在定义距离时,有三条公理必须遵守,这三条公理来源于我们对距离的常识:

    • (1)非负性、同一性:d(x,y)≥0,当且仅当x=y时取等号, 即距离不能为负;

    • (2)对称性:d(x,y)=d(y,x);

    • (3)三角不等式:d(x,z)≤d(x,y)+d(y,z)。

    如果可以满足以上三条,那么任何定义距离的方式都是OK的。

    一个定义了距离的线性空间称为度量空间

  3. 赋范空间:度量空间加了范数的限制,定义了范数的空间。定义范数和距离一样也要满足一些要求:

    • (1)非负性:||x||≥0;

    • (2)||ax||=|a| ||x||,积里面的数乘可以提出来;

    • (3)三角不等式:||x||+||y||≥||x+y||。
      如果我们定义了范数,可以在这基础上定义距离:d(x,y)=||x-y||。根据范数的三条性质,我们可以证明我们这样定义的距离也满足距离的定义。也就是说范数其实是一个更加具体的概念,有了范数一定能利用范数定义距离,但是有距离不能定义范数。

  4. 线性赋范空间:就是定义了加法、数乘和范数的空间。

  5. 巴拿赫空间:完备的赋范空间。

    完备指如果一个空间是完备的,那么该空间中的任何一个柯西序列都收敛在该空间之内。

    柯西序列指随着序数增加,值之间的距离越来越小的序列。换一种说法是,柯西序列可以在去掉有限个值之后,使任意两个值之间的距离都小于任意给定正常数(极限)。

    例如:有理数空间Q是不完备的。

    总的来说,完备空间就是指就是在一个空间上我们定义了极限,但是不论你怎么取极限,它的极限的值都不会跑出这个空间,那么这个空间就是完备空间。另外,定义完备空间之前,要先有距离的概念。所以完备空间,其实也是完备度量空间(距离、范数、完备)。

  6. 内积空间:定义了内积的空间就是内积空间。内积就是我们所说的点乘、标积,它的定义方式也不是唯一的,但如同距离范数的定义一样,内积的定义也要满足某些条件,不能随便定义。

    只有定义了内积,才会有夹角的概念,才会有正交的概念,另外内积也可以定义范数,也就是说内积是比范数更具体的一个概念。

    欧式空间(三维空间)和希尔伯特空间(高维空间)都是内积空间的一种。希尔伯特空间的元素是函数,因此可以看成是无穷维度的向量。SVM(支持向量机)就是通过核函数将低维数据从欧式空间中映射到了高维的希尔伯特空间中。

  7. 欧式空间:定义了内积的有限维实线性空间。我们使用的距离、长度、夹角等计算都是在欧式空间中定义。该空间定义了加、数乘、范数、内积。
    8. 希尔伯特空间(高维空间):完备的内积空间。该完备要求是为了取极限时,极限值不会跑出自己的空间。希尔伯特空间的元素是函数,因为一个函数可以视为一个无穷维的向量,即依据傅里叶变换或者泰勒展开,我们便能明白这个空间的基底是一组无限多的函数,因此可以看成是无穷维度的向量。
    9. 再生核希尔伯特空间:核技巧将不能线性可分的数据集映射到高维空间,使其变得线性可分,再生核希尔伯特空间和这个核技巧的关系是:我们定义了一种核函数(例如径向基函数),就定义了一个希尔伯特空间,而这个核函数的再生性使得我们可以不去计算高维特征空间中的內积,而只需计算核函数,降低了大量的计算量。

2 数据升维

对于二维样本空间中任意点(x,y),通过选择线性核函数k(x,y),能够将二维空间映射到三维空间,

3 如何选择核函数

首先,常用的核函数有:线性核函数、多项式核函数、(高斯)RBF径向基核函数,sigmoid核等。在 SVM 中,选择线性核函数和径向基核函数时,需要对数据进行归一化处理。一般性建议,高维数据(数据维度大,是或者可以视为线性可分)的情况下,选择线性核函数,不行换特征,再不行换高斯核。维度少的时候,如果可以的话提取特征使用线性核函数,不行再换高斯核函数,因为线性核函数最简单最快,高斯核可捕捉非线性特征,且需要调整的参数也少,除了速度之外的性能一般都可以达到或优于线性核的效果,就是复杂而慢。多项式核的参数比高斯核的多,参数越多模型越复杂;高斯核的输出值域在 0-1之间,计算方便;多项式核的输出值域在 0-inf 在某些情况下有更好的表现。

以上就是全部内容

希尔伯特空间等各空间介绍-数据升维以及核函数选择相关推荐

  1. numpy的array数组的数据升维与降维使用方法自学总结

    本文主要介绍numpy中数据升维与降维问题 升维 注意数组的形式 是n行1列 还是1行n列 1.numpy.atleast_2d(数组名) 将输入视为至少具有二维的数组 2.numpy.atleast ...

  2. python升维方法_python机器学习12:数据“升维”

    1.向数据集添加交互式特征 在实际应用中,常常会遇到数据集的特征不足的情况,要解决这个问题,就需要对数据集的特征进行扩充.这里我们介绍两种在统计建模中常用的方法---交互式特征(Interaction ...

  3. python升维方法_数据升维

    我们在实际应用中会遇到数据集特征不足的情况,要解决这个问题,就需要对数据集的特征进行扩充, 一般使用两种方法: 交互式特征(Interaction Features) 多项式特征(Ploynomial ...

  4. 算法笔记(18)数据升维及Python代码实现

    数据集特征不足的情况下,需要对数据集的特征进行扩充,两种方法:交互式特征和多项式特征. 向特征集添加交互式特征 交互式特征是在原始数据特征中添加交互项,使特征数量增加. Python代码实现: X_m ...

  5. 数据升维到希尔伯特空间

    将数据转换到希尔伯特空间 前言 向量空间:也称线性空间(线性空间对加法和数乘是封闭的,即输出结果仍在该空间内).该空间集合中对应的元素是向量.二维.三维空间中每个点都可用唯一个向量来表示,因此也是向量 ...

  6. numpy数据升维与降维

    https://blog.csdn.net/weixin_44776220/article/details/105618704

  7. 核函数是什么-数据的升维与降维

    核函数是什么-数据的升维与降维 核函数是什么-数据的升维与降维 数据升维-从二维空间升维到三维希尔伯特空间 将二维空间数据x=(xi,xj)x=(x^i,x^j)x=(xi,xj)升到三维,因此需要映 ...

  8. 张量(Tensor)的降维与升维

    一.Tensor的降维--torch.squeeze()函数 1.tensor的维度 小编对于张量的理解一直很模糊,今天用Excel来帮助大家理解,希望对大家有所帮助. 首先,张量是多维数组,这里不多 ...

  9. 哈儿小波分解和重构(降维和升维)实现算法

    [0]README 0.1)本文旨在讲解 哈儿小波变换(分解和重构)进行数据的降维和升维: [timestamp: 1703281610]时隔几个月再来review 哈儿小波变换算法的具体思路: 1) ...

  10. 08- 数据升维 (PolynomialFeatures) (数据处理)

    在做数据升维的时候,最常见的手段就是将已知维度进行相乘(或者自乘)来构建新的维度 使用 np.concatenate()进行简单的,幂次合并,注意数据合并的方向axis = 1 数据可视化时,注意切片 ...

最新文章

  1. xcode7 打开工程错误 This Document requires xcode8.0 or later.
  2. java的集合:List、Set和Map
  3. 网站安全扫描工具--Netsparker的使用
  4. Freemarker商品页面静态化
  5. 2、Flutter Widget(IOS Style) - CupertinoActionSheet;
  6. gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
  7. firefox 开源_Firefox 10岁了,Microsoft开源了更多,等等
  8. 数据--第40课 - 图的定义
  9. Differential Geometry之第十章极小曲面
  10. WinDriver_资料
  11. Linux之Python代码打包工具Nuitka使用说明
  12. Windows10常用功能一键设置优化工具分享
  13. 【Unity3D游戏开发】之游戏目录结构之最佳实践和优化 (十一)
  14. CentOS 6.5下安装Confluence 5.4
  15. python微信远程控制摄像头_python实现微信远程控制电脑
  16. iOS WIFI 相关
  17. MOGRT替换视频,图像,照片及LOGO?如何替换PR动态图形模板中的图片视频素材
  18. 基于易语言,PC端微信多开
  19. 计算机4F,光学4F系统介绍
  20. Qt:QTextStream

热门文章

  1. 区块链之门 | Reach on Conflux 2021 黑客松开赛
  2. 【数学建模】2 TOPSIS优劣解距离法
  3. 网站创业项目商业计划书的写法
  4. 配置库管理及版本管理规范
  5. 微机课设 | 基于STC15单片机的简易数字密码锁设计
  6. BS7799、ISO/IEC 17799、ISO/IEC 27001的联系与区别
  7. 职称计算机 将计算机broad_1下的e盘映射为k盘网络驱动器,职称计算机考试网络基础)试题及答案操作.doc...
  8. 转载 DOS/BAT批处理if exist else 语句的几种用法
  9. user reg.php,织梦member/reg_new.php SQL注入漏洞修复
  10. MMORPG大型游戏设计与开发(概述)updated