10.1 K近邻学习【KNN】
常用监督学习方法,基于实力学习模型,"懒惰学习"(存样不训,收测样再处理,与其相对的是"急切"学习)
工作机制:
给定测试样本,基于某种距离度量找出训练集中,与其距离最靠近的K个训练样本,并基于这些训练样本的信息进行预测;分类任务采取投票法,回归任务采取平均法
K值一般通过交叉验证法来获取
KNN方法的优劣处:
优点:精度高,对异常值不敏感,无数值输入假定缺点:计算复杂度高,空间复杂度高
最近邻分类器出错率的概率:
最近邻分类器的泛化错误率不超过叶贝斯最优分类器的错误率的两倍
KNN分类与回归Python代码实现链接
10.2 低维嵌入
维数:样本的特征数
密采样:
任意测试样本x附近的一小的δ距离范围内,总能找到一个训练样本,也就是说训练样本的采样力度足够大。
密采量条件至少需要 【([10]³)∧属性维数 】 个样本(参照宇宙间基本微粒总数10∧80)
"维数灾难":高维情形下,数据样本稀疏,距离计算困难等障碍。
解决维数灾难的方法有:
①特征选择【事前】 ②降维【事中】降维以后的物体,不是原来的物体,但可以作为原来的物体的近似。
"维数约简"/降维:通过某种数学变换将原始高维属性空间转化为一个低维"子空间"
多维缩放【MDS】:
经典降维方法,保持高维空间中的相似度信息,而相似度通常用"欧式距离"来定义
欧式距离【欧几里德距离】的定义:
衡量多维空间中两个点之间的绝对距离,在二维和三维空间中的欧式,具体就是两点的实际距离
简单介绍降维方法:
最简单的获得低维子空间的方法是对原始高维空间进行线性变换——线性降维方法
若wi与wj(i≠j)正交,则新坐标系是一个正交坐标系,此时W为正交变换。可见,新空间中的属性是原空间中属性的线性组合。
对降维效果的评估:
通常是比较降维前后学习器的性能,若性能提高,则降为起作用;若为树降至二到三维,则可通过可视化技术来直观判断降维效果
多维缩放-python调用sklearn库实例
当样本点越大的时候,模型建立用时更长
10.3 主成分分析【PCA】
最常用的一种无监督线性降维方法
对于正交属性空间中的样本点,如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?
若存在这样的超平面,应具有如下两点性质: ①最近重构性:样本点到这超平面的距离都足够近②最大可分性:样本点在这个超平面上的投影能尽可能分开
工作机制:
找到一个欧式空间的线性变换,把原始数据从一组旧的标准正交基下的表示转化为另一组新的标准正交基下的表示,降维发生在新的标准正交基下的表示,直接去掉了,后面几个维度的坐标值
简而言之,使正交基尽量里和原始数据的分布,降低维度,同时降低信息损失。
PCA=特征抽取(旋转坐标轴)+特征选择(去掉一些特征)
从重构角度来设置一个重构阈值,从而获得最小的d'值
PCA方法的优缺点:
优点:无参数限制,提取了主要信息,并且结果容易理解
缺点:方差小的组成分可能含有对样本差异的重要信息,某些情况下得出的主元可能并不是最优的。
当使用标准正交基时,向量在新的基底的坐标表示,就可以通过这个向量依次和标准正交基里的每一个基向量做内积,得到的标量组成向量,即是向量在新的基地的坐标表示。
PCA找到的新坐标系的基底,恰好就是标准正交基,那么计算新坐标系下的坐标,就是计算原始坐标,在新坐标系下的投影,这个投影在新坐标轴是标准正交基的情况下,就成了内积的计算。
从最大可分性出发解释:
在机器学习算法的数据特征,往往用数据对特征进行区分,并方差作为区分度。【往往选择方差大的特征,使所有样本点的投影尽可能分开】
从最近重构性的角度解释:
当两个特征线性相关时,形成"多重共线性"现象,此时便可去掉冗余的特征,而特征的线性相关是利用协方差来均衡,尽量保证特征向量线性无关。
降维舍弃特征向量的必要性:
①增加样本采样密度。 ②最小的特征值所对应的特征向量往往与噪声有关,舍弃可起到去噪作用。
10.4 核化线性降维
基于核的非线性降维方法
当线性降维导致信息丢失过多时,就可以选择非线性降维方法。低维空间映射到高维空间后,再次降维到低维空间会导致原始的低维结构丢失。
工作机制:
基于核技巧对线性降维方法进行“核化”(kernelized),该核化方法与前面的主成分分析法的不同之处在于,在主成分分析的基础上,将高维空间的样本投射x转化为被核化k(x)来进行计算,并对和函数对应的和矩阵进行特征分解来求得投影的d'维特征向量。
以核主成分分析【KPCA】
10.5 流形学习
借鉴了拓扑流行概念的降维方法
流形的概念:
在局部与欧式空间同胚的空间,其局部具有欧式距离的性质,能用欧式距离来计算,因此,若低维流形嵌入到高维空间中,在局部上仍具有欧式空间的性质,而欧式空间是流行的一种特殊情况
换个角度理解,一个流形相当于一个d维空间,在一个更高维的空间,将其扭曲之后的空间。
书中介绍了两种著名的流行学习方法:
10.5.1 等度量映射【Isomap】
是MDS算法的变种,计算高维空间距离时采用测地距离,全局算法【寻找所有样本,全局的最优解】,计算量可能非常大
书上以虫子爬行路线举例,红线为最短距离(测地线=两点间本真距离),所以不能直接在高维空间中计算,原本低维流形的直线距离。
那么可以利用流形在局部上与欧式空间同胚的性质,对每个点基于欧式距离找出其相邻点,然后建立一个近邻连接图,且只有仅邻点之间有连接,那么就可以计算出两点之间最短路径
同胚定义:
在拓扑学中,两个流行如果可以通过弯曲延展剪切等操作将其中一个变为另外一个,则认为两者是同胚的。
具体算法流程:
当数据量很大或样本维度很高,导致计算量非常大时,则更常用的是局部线性嵌入方法。
10.5.2 局部线性嵌入【LLE】
该法试图保持领域类样本之间的关系不变
也就是说,样本点xi的坐标能通过它的领域样本xj,xl,xk重构出来,且权值参数在低维和高维空间保持一致。
LLE算法具体流程:
流形学习-Isomap,LLE代码实例
10.6 度量学习【Metric Learning】
降维是为了寻找合适的低维空间,实质上是寻找一个合适的距离度量,其实该度量也可以通过“学习”去寻找。
度量学习法已应用与计算机视觉中的图像检索和分类人脸识别,人类活动识别和姿势估计,文本分析和其他领域,如音乐分析自动化的项目调试
度量学习==距离度量学习==相似度学习
寻找一个便于学习的距离度量表达形式,要具有可调节的参数,可以通过对数据样本的学习来改善。
属性的重要性权重ω,当那么大的非对角元素均为零时,该坐标轴是正交的,即属性之间无关,但现实生活中很多属性都会有所关联,因此将ω换成一个普通半正定对称矩阵M【度量矩阵】
而度量学习就是对M进行学习,且必有正交基P使得M=PP∧T。
参考链接:
主成分分析
第十章章节整合参考
核化线性降维算法参考
流形学习参考