降维与度量学习
降维与度量学习
K近邻学习属于"懒惰学习"的一种,它在训练阶段仅仅把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理;相对应的,再训练阶段就对样本进行学习处理的方法,成为"急切学习"。
事实上,在高维情形下出现的样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为"维数灾难"。
缓解维数灾难的一个重要途径是降维,"维数约简",即通过某种数学变换将原始高维属性空间转变为一个低维"子空间",这个字空间中样本密度大幅提高,距离计算也变得更加容易。
2)找出最佳的拟合直线:投影点到原点的距离和最大,或者点到投影直线间的距离最小。
4)PC2和PC1垂直perpendicular;-0.242的基因1和0.97的基因2;
5)convert the ss into variation around the origin(0,0) by dividing by the sample size minus 1.
PC1的variation = 15; PC2的variation=3;
可以解释 PC1 占比83%;每个PC的variation;
3)How many principal components you should expect to get.
几乎所有的variation都聚集在第一个pc上,因此,使用PC1和PC2可以很好的表示数据。
在一个正交属性空间中,如何使用一个超平面(直线的高维推广)对所有样本进行恰当的表达?
以下内容参考:http://blog.codinglabs.org/articles/pca-tutorial.html
其中pi是一个行向量,表示第i个基,aj是一个列向量,表示第j个原始数据记录。
特别要注意的是,这里R可以小于N,而R决定了变换后数据的维数。也就是说,我们可以将一N维数据变换到更低维度的空间中去,变换后的维度取决于基的数量。因此这种矩阵相乘的表示也可以表示降维变换。
我们希望投影后投影值尽可能分散,而这种分散程度,可以用数学上的方差来表述。此外,一个字段的方差可以看作是每个元素与字段均值的差的平方和的均值,即
由于上步已经将每个字段的均值都化为0了,那么方差就可以直接用每个元素的平方和除以元素个数表示:
于是,上述问题被形式化表示为:寻找一个一维基,使得所有数据变换为这个基上的坐标表示后,方差值最大。
对于上面的二维降成一维的问题来说,找到那个使得方差最大的方向就可以了。但是对于更高维,还有一个问题需要解决。
可以看到,在字段均值为0的情况下,两个字段的协方差简洁的表示为其内积处以元素m.
这个矩阵对角线上的两个元素分别是两个字段的方差,而其他元素是a和b的协方差,两者被统一到了一个矩阵中。
设我们有m个n维数据记录,将其排列为n乘m的矩阵x,设C=,则C是一个对称矩阵,其对角线分别是各个字段的方差,而第i行和第j列元素相同,表示i和j两个字段的协方差。
根据上述推导,我们发现要达到优化目前,等价于将协方差矩阵对角化:即除对角线外的其他元素化为0,并且在对角线上将元素按从小到大从上到下排列,这样我们就达到了优化的目的。
设原始数据矩阵X对应的协方差矩阵为C,而P是一组基按行组成的矩阵,设Y=PX,则Y为X对P做基变换后的数据。设Y的协方差矩阵为D,推导D和C的关系:
换言之,优化目标变成了寻找一个矩阵P,满足是一个对角矩阵,并且对角元素按从大到小依次排列,那么P的前K行就是要寻找的基,用P的前K行组成的矩阵乘以X就使得X从N维降到了K维并满足上述优化条件。
由上文可知,协方差矩阵C是一个对称矩阵,在线性代数上,实对称矩阵有一系列非常好的性质:
2)设特征向量重数为r,则必然存在r个线性无关的特征向量对应于,设这n个特征向量为,将其按列组成矩阵,
根据上面对PCA的数学原理的解释,我们可以了解到一些PCA的能力和限制。PCA本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据"离相关",也就是让它们在不同正交方向上没有相关性。
最后需要说明的是,PCA是一种无参数技术,也就是说面对同样的数据,如果不考虑清洗,谁来做结果都一样,没有主观参数的介入,所以PCA便于通用实现,但是本身无法个性化的优化。
若要求原始空间中样本之间的距离在低维空间中得以保持,即"多维缩放",一种经典的降维方法。
假定m个样本在原始空间中的距离矩阵为,其中第i 行j列元素为样本到样本的距离。我们的目的就是获得样本在d'维空间的表示,,且任意两个样本在维空间中的欧式距离等于原始空间中的距离,即。
对B矩阵进行特征值分解,,其中,为特征值构成的对角矩阵。V为特征向量矩阵。
假定有个非零特征值,它们构成对角矩阵,令表示相应的特征向量矩阵,则Z可表达为:
在现实应用中,为了有效降维,往往仅需降维后的距离与原始空间中的距离尽可能接近,而不必严格相等。此时,可取个最大特征值构成对角矩阵