1. 问题
    之前我们讨论的PCA、ICA也好,对样本数据来言,可以是没有类别标签y的。回想我们做回归时,如果特征太多,那么会产生不相关特征引入、过度拟合等问题。我们可以使用PCA来降维,但PCA没有将类别标签考虑进去,属于无监督的。
    比如回到上次提出的文档中含有“learn”和“study”的问题,使用PCA后,也许可以将这两个特征合并为一个,降了维度。但假设我们的类别标签y是判断这篇文章的topic是不是有关学习方面的。那么这两个特征对y几乎没什么影响,完全可以去除。
    再举一个例子,假设我们对一张100*100像素的图片做人脸识别,每个像素是一个特征,那么会有10000个特征,而对应的类别标签y仅仅是0/1值,1代表是人脸。这么多特征不仅训练复杂,而且不必要特征对结果会带来不可预知的影响,但我们想得到降维后的一些最佳特征(与y关系最密切的),怎么办呢?
2. 线性判别分析(二类情况)
    回顾我们之前的logistic回归方法,给定m个n维特征的训练样例(i从1到m),每个对应一个类标签。我们就是要学习出参数,使得(g是sigmoid函数)。
    现在只考虑二值分类情况,也就是y=1或者y=0。
    为了方便表示,我们先换符号重新定义问题,给定特征为d维的N个样例,,其中有个样例属于类别,另外个样例属于类别
    现在我们觉得原始特征数太多,想将d维特征降到只有一维,而又要保证类别能够“清晰”地反映在低维数据上,也就是这一维就能决定每个样例的类别。
    我们将这个最佳的向量称为w(d维),那么样例x(d维)到w上的投影可以用下式来计算
   
    这里得到的y值不是0/1值,而是x投影到直线上的点到原点的距离。
    当x是二维的,我们就是要一条直线(方向为w)来做投影,然后寻最能使样本点分离
的直线。如下图:
    正则化判别分析
    从直观上来看,右图比较好,可以很好地将不同类别的样本点分离。
    接下来我们从定量的角度来到这个最佳的w。
    首先我们寻每类样例的均值(中心点),这里i只有两个
   
    由于x到w投影后的样本点均值为
   
    由此可知,投影后的的均值也就是样本中心点的投影。
    什么是最佳的直线(w)呢?我们首先发现,能够使投影后的两类样本中心点尽量分离的直线是好的直线,定量表示就是:
   
    J(w)越大越好。
    但是只考虑J(w)行不行呢?不行,看下图
   
    样本点均匀分布在椭圆里,投影到横轴x1上时能够获得更大的中心点间距J(w),但是由于有重叠,x1不能分离样本点。投影到纵轴x2上,虽然J(w)较小,但是能够分离样本点。因此我们还需要考虑样本点之间的方差,方差越大,样本点越难以分离。
    我们使用另外一个度量值,称作散列值(scatter),对投影后的类求散列值,如下
   
    从公式中可以看出,只是少除以样本数量的方差值,散列值的几何意义是样本点的密集程度,值越大,越分散,反之,越集中。
    而我们想要的投影后的样本点的样子是:不同类别的样本点越分开越好,同类的越聚集越好,也就是均值差越大越好,散列值越小越好。正好,我们可以使用J(w)和S来度量,最终的度量公式是
   
    接下来的事就比较明显了,我们只需寻使J(w)最大的w即可。
    先把散列值公式展开
   
    我们定义上式中中间那部分
   
    这个公式的样子不就是少除以样例数的协方差矩阵么,称为散列矩阵(scatter matrices)
    我们继续定义
   
    称为Within-class scatter matrix。
    那么回到上面的公式,使用替换中间部分,得
   
   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。