python分析集聚程度_Python机器学习(十三)

本文介绍了如何使用核主成分分析(核PCA)处理非线性数据,通过核技巧将数据映射到高维空间再进行线性降维。文章详细解释了核函数的概念,特别是RBF核函数,并提供了Python实现代码示例。通过对比标准PCA,展示了核PCA在处理半月形数据时能更好地实现线性可分,从而适合线性分类器的使用。
摘要由CSDN通过智能技术生成

5.3 使用核主成分分析进行非线性映射

0 引子许多机器学习算法都假定输入数据是线性可分的。

感知器为了保证其收敛性,甚至要求训练数据是完美线性可分的。

我们目前学习的算法中,像Adaline、logistic回归和支持向量机等,都将无法实现完美线性划分的原因归咎于噪声。然而,在现实世界中,大多数情况下我们面对的是非线性问题,针对此类问题,通过降维技术,如PCA和LDA等,将其转化为线性问题并不是最好的方法。

在本小节中,我们将了解一下利用核技巧的PCA,或者称为核PCA,这与在第三章中我们介绍过的核支持向量机的概念有一定相关性。使用核PCA,我们将学习如何将非线性的数据转换到一个适合对其进行线性分类的新的低维子空间中。

1 核函数与核技巧思路回忆一下我们在第三章中曾讨论过的基于核的支持向量机,通过将非线性可分问题映射到维度更高的特征空间,使其在新的特征空间上线性可分。

为了将样本

转换到维度更高的k维子空间,我们定义非线性映射函数

:

我们可以将

看成是一个函数,它能够对原始特征进行非线性组合,以将原始的d维数据集映射到更高维的k维特征空间。问题利用核 PCA,我们可以通过非线性映射将数据转换到一个高维空间,然后在此高维空间中使用标准 PCA将其映射到另一个低维空间中,并通过线性分类器对样本进行划分。

但是这种方法的缺点是会带来高昂的计算成本,这也正式我们为什么要使用核技巧的原因,通过核技巧,我们可以再原始特征空间中计算两个高维特征空间中向量的相似度。解决通过核 PCA,我们能够得到已经映射到各成本的样本,而不像标准PCA方法那样去构建一个转换矩阵。简单的说,可以将核函数理解为:通过两个向量点击来度量向量间相似度的函数。常用核函数多项式核:

其中阈值

和幂的值p需自行定义

双曲正切核:

径向基核函数(Radial Basis Function, RBF)或者称为高斯核函数

实现基于RBF核的PCA1)为了计算核矩阵k,我们需要做如下计算:

i)

其中:

ii)计算任意两个样本之间的值:

例如&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值