白话机器学习算法(十四)数据降维

http://blog.csdn.net/wangxin110000/article/details/22384837


数据降维有很多算法,不同算法的原理,目的是不一样的,选择不同的降维算法,取决于

1:实际数据的大概分布,即我们最当前数据的一个假定,当实际数据与我们的假定模型比较接近时候,我们才可以用相应的算法;

2:我们降维的目的,我们希望在降维以后,保留什么信息,放弃什么信息!;

目前降维的主要方法有三类:1)线性方法  2)核方法  3)流形学习方法


PCA:前面说过一种坐标变换,换个角度看世界,当选取全部成分时候,不损伤任何信息

MDS:保持相对位置,低维空间重构的利器,ISOMAP就借助其;

LDA:原理类似PCA,目标不同,还是一个找坐标的问题,希望找到一个新坐标,使得类内数据方差最小,类间距离最大,因而目标函数不同,证明推导还是拉格朗日;

LLE:这个还是假定数据是在一个嵌入在高维空间的流形的采样点,如果实际数据不是这样的,那就不能用,流形在局部我们假定其是线性的,我们在低维空间只要抱证其在邻域内拓扑结构与高维度空间一致;

ISOMAP:一种简单实现:近距离用欧式距离代替,远距离用测地线距离代替,(图中的最短路算法 迪杰斯特拉算法),然后用古典MDS嵌入到低维空间中,这是一种保留全局拓扑关系的映射,如果数据量很大,我们单单算最短路就是个很麻烦的事情,因而需要用改进的方法,有一种策略是选取距离其欧式距离最近的若干点来算最短路!

GTM:这个是基于高斯混合模型的,假设数据是有若干个高斯部件生成,这些高斯分布的中心,在高维空间构成一个嵌入的低维流形的采样,现在我把这些高斯中心点通过一个线性映射映射到一个,比如就映射到一个二维平面,因为是线性映射所以能保持这些高斯中心在高维数据中的拓扑关系,再回到刚才的高斯混合模型中去,我通过现有的数据,用EM算法去估计出这些高斯分布的参数,以及点在每个高斯的概率,(EM就是加强版本的最大似然估计),这样呢我就能通过贝叶斯判断每个数据属于各个高斯中心的概率,前面我们提到,有一个映射从二维平面使得每个高斯分布中心点(只有中心点有)在二维平面都有一个对应映射点,这样呢我就能把实际的高维数据映射到二维中去,算他们的期望点(均值),或者直接映射到他所对应的那个高斯中心点去;这个映射是基于概率空间的映射,映射以后的距离没有实际的欧式空间意义;(以后详细讲)

关于核函数的方法,其应该属于升高维度,低维度数据线性不可分,放到高维度空间可能好分,这里就要定义一个非线性的映射,但是问题来了,数据在低维度,求内积很容易,如果我有映射函数,数据在高维度也能求得内积;但是实际上比如svm里只关心在高维的内积如何,我们就可以定义一个函数,输入是低维度输入空间的两个数据,输出是这两个数据在高维度特征空间的内积,这是不是很好的一件事,我们称这个函数为核函数,现在问题又来了?这个核函数要满足什么样的性质呢?
1:对称
2:对应的矩阵要半正定
这就是所谓的mercer定理;这个定理可以保证我这个核函数满足内积空间的一些基本性质!根据泛函理论,满足mercer定理的核函数对应于某一空间的内积;


svm里不仅仅包含核函数,利用核函数也不能保证原来不可分的数据到了高维就一定可分,只是更可能可分!选择不一样的核函数也会有不同的分类效果,这里又涉及到泛化性!有时候当模型选择越复杂,其在训练集上可以保持最佳的结果,甚至误差为0,但是将其用到实际数据中可能就错误率很高,svm在选择模型的时候,在模型复杂度与分类损失之间有一个权衡,就是加入了正则项。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值