降维:
最简单的是投影:沿着一个轴把一个方向数据变化消除。每次投影可以减少一个维度。
PCA(主成分分析):
一个正交化线性变换,把数据变换到一个新的坐标系统中,使得数据的任何投影的第一大方差在第一个坐标(第一主成分)上,第二大方差在第二个坐标(第二主成分)上。
PCA被称为线性降维方法,因为对数据进行了线性变换。
欧几里得距离:平坦空间的最短距离。
广义的正方体:
特定:相邻的点仅有一个分量不同,可以从一个点出发不重复沿着边走边所有的点。
计算每个点到其他点的距离的方差,发现方差随着维度增多缓慢减小。
一个分布的方差有数据分布的“形状”决定,越弥散的分布有越大的方差。方差不变意味着分布形状基本不变。
“维数灾难”:随着维数增大,边之间的“分辨率“会降低。
由中心极限定理知,对于独立同分布的数据,数据样本越多则越能精确地估计数据的均值。该结论对于方差比、均值差等也成立。
数据很少以完全对称的方式分布,如:50维的轴对齐高斯分布,其中坐标i的标准偏差为1/i,即看到的是一个长椭圆形的点云。
降维肯定会丧失信息,但核心让距离近的点更近,距离远的点更远,即以找出各类别群的gap为主。
降维即找到embedding,从高维空间中找到可以很好地表征低维度空间的嵌入。
找嵌入常见方法:autoencoder
降维常用的方法:
PCA,旋转找到能表示方差最大的线性成分。因为一般方差更大,则特征在这个维度隐藏的信息更多,即这个维度有更多的信息帮助表征。
基于距离相似的E:MDS:将原空间中的边和当前空间中的边两两计算差的平方,所有求和之后除以原空间中的边的平方的和。
Isomap:将距离推广到了“测地距离”。“测地距离”:两点之间最短路径长度(离散空间)或某种加权的测度(连续的空间)。
学习思想:sammon mapping:试图靠拢相邻点的做法失败了,是否可以考虑推远不相邻的点。
使用knn算法来确定保留每个点最近的k个边。
由于knn仅选择最短的几个边,即使各个边长度差距不大,也增加了区分度。
引入knn将问题变成了黑盒:k对于数据本身的意义是什么?是否选中?
改进:用概率分布取代“是否”,这类方法称为SNE(随机领居嵌入)
将距离转换为概率分布,概率分布中概率较大的表示更有可能“靠在一起”。
将有限个连续数量值转换为概率分布:
先将一个连续的概率分布的密度函数作用到数值上,得到一些离散的概率值、
归一化概率值:得到一个标准的离散的概率分布。是离散分布的一种近似。
评测原来和现在概率的“相似性”
对于有重叠的概率分布,可以使用KL散度来表征相似。
使用点之间的距离(如欧式距离)代替点的坐标:
距离不受旋转和平移的影响,并且之和点数有关)。
各点间的距离完整保留空间结构,且去除不必要的转动和平移翻转。且距离本身不直接包含维度信息,不会受到冗余维度的影响。
t-SNE图比任何线性投影都更精确。
可使用t-SNE判断是否是真实的随机数据:
通过不断改变perplexity画图,如果(2,5,30,50,100)取值得到的结果都是无法区分的)
点云是随机生成的,它没有统计上有趣的簇:那些“簇”没有意义。低perplexity值通常会导致这种分布。将这些团块识别为随机噪声是读取t-SNE图的重要部分。