【特征转化】特征转化是为了保证很小的信息损失,但有高品质的预测结果。

    1. 特征转化*

我们可能有成千上万的特征,如果是图形256*256的图形,就会有196608个特征,如果有256个照片就有256196608,不同类型的图形就会有这么多种

我们能不能收集足够的特征,来

我们必须降低特征数量,目标就是Poriginal进行一个新的转换Pnew,保持一个特征数。Pnew远小于Poriginal。

特征转化后只有很小的信息损失,但是有高品质的预测结果。

缺点:转换出来的结果很可能无法被我们所解读。很难理解它的意义(数学公式)

如果需要了解特征的含义,那就需要对它进行特征选择(统计选择)

      1. 线性的特征转化

与目标字段无关的转化

PCA,SVD,TSVD,矩阵分解NMF

与目标字段有关的转换

LDA

PCA:运用线性的关系,做维度消除的方法。把原本的观察值投射到较少的主成分空间里,还能保留大量的差异,(retain the most variance)。用比较少的主成分取代变量

PCA是一种非监督式的计算,所以一般使用比较少的变量进行特征转化。

 

可以发现directions ,first Principal component的是变异最大(信息最多)的变量,second Principal component就是变异第二大的主成分

主成分无相关性

 

PCA步骤:

协方差矩阵

求出协方差矩阵的特征值,特征向量

由大到小排序决定第一主成分、第二主成分。(特征值就是方差)

 

解特征值a的问题就是在协方差矩阵A中求出满足Ax=ax的a以及x,a是特征值,x是特征向量(本质就是求在坐标为主成分中每个点的坐标)

案例:

 

上面是假设,也就是利用协方差求出第一主成分第二主成分,求出点在第一主成分第二主成分为坐标系下的点值。

解协方差矩阵的特征值问题,和求保留最大变异主成分问题,在数学是是等价的。

PCA如何求个数,我们要看自己需要多少百分比原始变量的数值。百分之80,百分之90都可以

 

如果结果是蓝线,那么就不建议使用PCA。

LSA:潜在语意分析(Latent Semantic Analysis,LSA)运用SVD(Singular Value Decomposition)从文字数据中找出语汇所拥有的潜在的语义关联,广泛运用在自然语言数据搜索上的降维方式。

传统自然语言搜索引擎的搜寻方式会要求使用者下查询的关键词,如何依照这些关键词去查询文章中出现关键词的文章。

但是如果词与该词代表的含义是相同的,但是词不同,就无法顺利搜寻出这些文章

简单的例子:文章中有车这个词,查询的关键词是汽车,那么尽管二者是同义词,也无法顺利搜索出。

LSA就是用于解决该问题的,它可以计算出词汇之间的相似度,已经词汇和文章之间的相似度,来解决此问题

LSA,是利用SVD的矩阵分解技术,将词汇-文件的矩阵降维,转换为潜在语意空间

 

案例:

文件1:驾驶汽车去公司

文件2:开车过去

文件3:在餐厅吃汉堡排

文件4:吃餐厅的意大利面

 

SVD矩阵分解技术

 

其中的n是行数,d是列数,r是你选取的特征数。

我们取两个特征

 

特征转换之后就是我们的语义空间

 

后者就是我们的语义空间,我们通过对比数值,接近的话,就说明它的语义差不多 。

 

如果前后用词相似的时候,SVD就会认为二者相似。

这就是LSA的做法。

 

后者是文章与词的关联性。

对照上图就发现文章1,与汽车,公司关联高。

对比关键词来搜寻,本方法是运用词周围的词来定义词,那他的灵活性就高一些了。

缺点:

1.LSA是利用SVD进行降维之后,语意维度正交,矩阵中的元素可能是负值,可能解读困难,NMF或者LDA的方法可以解决。

2.SVD非常耗时,尤其是关键词量非常大的时候。

3.新词加入时,需要重新进行矩阵分解

4.进行SVD的时候,可以采用截断SVD(Truncated SVD,TSVD)

二者的区别在于TSVD可以产生一个指定维度的分解矩阵,运算较快。相当于SVD会全部算完之后提取出r个结果,TSVD就直接拿其中r个结果进行运算。其实本质上是一样的。

矩阵分解NMF(非监督式计算unsupervised technique)

原始空间对应到新空间。和SVD一样,要确定r值V~WH,V就是d*n

W是之前的d*r,H是之前的r*n

特点:

1.它不会有负值,原始矩阵中所有元素也为非负数

2.分解之后都为非负数

3.但是潜在语意空间维度不一定正交

 

步骤:

将W,H初始化,正值

H视为常数,更新W

把W视为常数,更新H

直到W,H收敛,停止计算。

 

 

白点是原始坐标,绿点是NWH的结果

LDA(linear Discriminant Analysis)

是一种分类分析classification algorithm

变量减少

PCA追求的是方差最大化(非监督式),LDA是希望把多类的距离分的越开越好(监督式)

LDA的步骤:

计算每个类别的平均向量

计算类别内Sw和类别之间Sb的散布矩阵(Scatter Matrix)

求解出Sw-1Sb的特征值以及特征向量

特征值由大到小排序,保留前K个特征向量

使用得到了K个特征向量将数据投影到新的空间

 

 

 

LDA的预测结果就比较好,可以直接用横线切割,适合用决策树等算法,PCA是有斜线,不太合适,

这是因为LDA有参考目标字段进行坐标构建。

      1. 非线性的特征转化

与目标字段无关的转换

Kernel PCA,t-SNE

与目标字段有关的转换

神经网络

Kernel PCA :利用kernels坐标空间进行非线性转化对应到坐标空间中,在进行PCA。假如是原生数据就是线性关系,PCA转化就很实用,但是如果原生数据不是线性的,PCA就不那么可用

这是Kernel PCA就很重要,rbf,poly(多项式),sigmoid()linear(标准pca)

 

普通PCA对待非线性会让二者重叠,二Kernal PCA就可以区分开来。

案例:

 

处理非线性问题。

-t-SNE

将复杂的,高纬度的数据降低到二维或者三维。用于低维度的空间可视化

步骤:

首先使用高斯分布计算高纬数据中任意两点XiXj的相似度H

在低纬空间随机产生于高纬空间中相同数量的数据点,利用t分布计算低纬数据中任意两点yiyj的相似度L

T分布可以将原本在高维空间彼此临近的结果,在低维空间变的更近,原本在高维越远的,在低纬变得更远。扩大差异

更新数据点yi,以拉近H与L的相似度分布

重复上个步骤,直到H与L的相似度分布趋近相同。

也就是在低维空间的值找到对应。高纬空间的投影。

 

保留相似度的情况下,在

神经网络:(会参考目标字段)

案例,

 

左边是输出字段,中间是隐藏层,右边的输出字段。经过训练,就会得到DrugY的值就是高的。

 

我们会发现Y~0.07*Na-1.02494*K大于0时,drugY的概率会很大。

也就是当NA/K>14.642时,用DRUGY的概率高

之后我们特征参数具体说明

总结:

 

中间的数值代表是否有监督,右边的数值代表是否为线性。

AutoEncoder,神经网络下次会具体说说,如何产生新特征,是重点。其他都是有具体的目标(假设方差最大等等)没有假设,所以比较像特征学习。

第五部分有实操,在具体说明,能更具体了解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴天qt01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值