课程地址:http://www.auto-mooc.com/mooc/detail?mooc_id=BA91C867A68E92651FBF224828ECAE6E&major_id=E1007D8658541BD264785AA3709ADA25
这是笔记!
文章目录
1.0数据基本算法
1.1聚类算法
类:相似元素的集合。
分类
是事先定义好类别,类别数固定;按照某种标准给队形贴标签,再根据标签来区分归类。
聚类
是没有事先预定的类别,类别数不确定。聚类不需要人工标注和事先训练分类器,类别再聚类过程中自动生成。
K-means聚类算法
K均值聚类算法。
步骤:1、首先随机确定质心,图b;2、计算样本到质心的距离;3、将样本聚类,图c;4、重新计算聚类后,各自的质心,图d;5、执行第2步,循环。
SOM聚类
KNN与K-means区别
参考:https://www.tuicool.com/articles/qamYZv
KNN的算法过程是是这样的:
从上图中我们可以看到,图中的数据集是良好的数据,即都打好了label,一类是蓝色的正方形,一类是红色的三角形,那个绿色的圆形是我们待分类的数据。
如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这个待分类点属于红色的三角形。
如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形。
我们可以看到,KNN本质是基于一种数据统计的方法!其实很多机器学习算法也是基于数据统计的。
聚类性能度量
距离计算:
马氏距离
参考:https://www.ph0en1x.space/2018/04/18/Mahalanobis/
马氏距离(Mahalanobis Distance)是度量学习中一种常用的距离指标,同欧氏距离、曼哈顿距离、汉明距离等一样被用作评定数据之间的相似度指标。但却可以应对高维线性分布的数据中各维度间非独立同分布的问题。
马氏距离(Mahalanobis Distance)是一种距离的度量,可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。
在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这种矩阵被称为单位矩阵。它是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1。除此以外全都为0。
根据矩阵乘法的定义,单位矩阵的重要性质为:
单位矩阵的特征值皆为1,任何向量都是单位矩阵的特征向量。
因为特征值之积等于行列式,所以单位矩阵的行列式为1。因为特征值之和等于迹数,单位矩阵的迹为n 。
在一个方差较小的维度下很小的差别就有可能成为离群点。就像下图一样,A与B相对于原点的距离是相同的。但是由于样本总体沿着横轴分布,所以B点更有可能是这个样本中的点,而A则更有可能是离群点。
马氏距离的几何意义
如果维度间不独立同分布,看到样本基本服从f(x) = x的线性分布,A与B相对于原点的欧式距离依旧相等,显然A更像是一个离群点
即使数据已经经过了标准化,也不会改变AB与原点间欧式距离大小的相互关系。所以要本质上解决这个问题,就要针对主成分分析中的主成分来进行标准化。
主成分分析法(principal component analysis, PCA)是最常用的无监督高维数据降维方法之一,它旨在降维的过程中保留原数据中最重要的几个分量,从而达到最大化原数据方差的作用。几乎所有数据降维方面研究都要用来作为比较重要的方法。
参考:https://www.ph0en1x.space/2018/03/06/PCA/
主成分分析
主成分分析的基本思想就是在原有样本的n维空间内再建立一个d维线性空间,用n个标准正交基进行重新映射,然后选取其中的d’个正交基进行保留,而在这d’个坐标轴上的坐标值就是映射到低维后的坐标。而推导的目的就是为了确定如何确定这这d个标准正交基以及如何选取它们。就如下图一样,将二维空间内的点映射至一维空间,最终选择较长的那条向量进行投影映射。
首先,需要将手头需要降维的数据进行中心化,使样本中心点为原点
然后假定选择的新的坐标系为
其中W是标准正交基向量,即 (i != j)
选取其中的d’个向量让原样本向新坐标系中映射WTxi,即:
W是经过选取后的d’个标准正交基,z是低维中的坐标
选取的目标是使降维后的点尽量的分散,也就是方差尽量的大:
优化问题被归纳为
根据拉格朗日乘子法,来决定哪d’个w可以留下,优化目标就成为了:
代入优化目标
所以求解的过程就是寻找原样本协方差矩阵XXT的最大的d’个特征值,而相应的标准正交基就是相应特征值的特征向量;
上面搞懂了,马氏距离就好理解了,只需要将变量按照主成分进行旋转,让维度间相互独立,然后进行标准化,让维度同分布就OK了
由主成分分析可知,由于主成分就是特征向量方向,每个方向的方差就是对应的特征值,所以只需要按照特征向量旋转,然后缩放特征向量倍就可以了,可以得到以下的结果:
离群点就被成功分离,这时候的欧式距离就是马氏距离。
马氏距离的推导
参考:https://www.ph0en1x.space/categories/机器学习/
马氏距离的问题
|协方差矩阵必须满秩 | 不能处理非线性流形(manifold)上的问题
| 里面有求逆矩阵的过程,不满秩不行,要求数据要有原维度个特征值,如果没有可以考虑先进行PCA,这种情况下PCA不会损失信息 |
医学数据多变量离群值查找方法
参考视频:https://www.bilibili.com/video/av25189224?from=search&seid=14681400241760831178
马氏距离法是基于回归分析的一种距离法,多维度空间的测量。最后还需要卡方检验——0.005。
多维空间的运算,回归分析。
查找上述数据“心率”的离群值,
卡方检验:
1.2降维算法
协方差矩阵
- 查看另一篇笔记:https://blog.csdn.net/djfjkj52/article/details/104309073