十五、非监督学习

简介: 十五、非监督学习

监督学习和非监督学习的本质区别在于,数据集是否是带有“标签”的,当数据集是有标签的,则属于监督学习的范畴;当数据集没有标签,则属于非监督学习的范畴,如聚类算法就属于非监督学习的范畴。



1、k-means聚类


k-means聚类算法输入数据是一系列点,之后需要确定出聚类中心的个数,之后计算每一个数据点到每一个中心的距离,将所有数据点分配到里数据点最近的某个数据中心(Cluster Assignment);之后将数据中心进行移动(Cluster Moving),将每一个数据中心移动到分配给它的数据点的中心位置(所有维度的均值位置);之后重新进行数据点的分配。重复上述过程,直到分配给每一个数据中心的数据点不再发生变化,则算法达到收敛,输出聚类结果。


k-means聚类算法的流程如下图所示:


8838a358aaa548cd84227120187f17f6.png


1.1 k-means聚类的优化目标


首先定义c(i)表示将数据点 x(i)分配到哪一个数据中心(1,2,…,K);  μk表示第k个聚类中心;则 μc(i)表示数据点  x(i)对应的数据中心。k-means聚类的目标函数如下所示:


fe6c12cfb1f9466996a27ab5c153c389.png666ce16f4f5346adbfd85e5890d0e085.png



1.2 随机初始化


在进行k-means聚类之前,首先选定 K<m个聚类中心,其中  m是训练数据的样本点个数,即在m个样本点中随机选择  K个作为聚类中心,令  μ1,...,μk表示随机选定的 K个聚类中心。


为了避免k-means陷入局部最优,通常采用运行多次k-means算法,记录多次运行k-means算法中成本函数最小的结果作为最优解;通过随机初始化聚类中心的方式来使得k-means算法达到较好的效果。

747844dc198c4c4b9906b4dbdd565b7d.png



1.3 选择聚类中心的个数


一种方法是使用"拐点"法则(Elbow method),如下图所示:


ee224aa05d5e4bc390e411fbf8f6c7e5.png


如上图左图所示,当有较为清晰的该点出现时,可以使用这种方法;但通常情况下,随着聚类中心数量的增多,成本函数会呈现平滑下降的趋势,如上图右图所示,这样就很难选择出合适的聚类中心个数。


很多时候,k-means聚类通常会产生后续的,下游的影响,所以通过聚类结果对于下游的影响也可以作为选择k-means聚类中心个数的重要依据。如服装设计行业,将服装的市场细分为3个或者5个(聚类中心个数),划分越细致,服装的尺寸越适合顾客,但是相应的价格会越高,所以可以通过k-means权衡出将服装尺寸细分称为多少个聚类中心最为合适。



2、维度缩减-Dimension Reduction



为了减少特征的数量,可以采用维度缩减的方法来将多维的特征缩减为更少维数的特征,如下图所示,表示将二维特征缩减为一维特征:0ac0d11fc437437f9327ce8ddd3f7a0a.png


下图表示将三维的特征缩减为二维的特征:

8497fd35941440a6a7b48e464b3dcc44.png



3、 主成分分析法-Principal Component Analysis(PCA)



PCA的目标是为了对数据进行降维,将数据从高维度降到低维度。如若想将二维数据降到一维数据,需要寻找一个方向 u(1)∈Rn)来将所有的数据点进行投影,从而最小化投影误差(projection error)。(投影误差指的是将数据垂直投影在某个或某几个向量上,计算投影到向量的距离之和)。若想将n维数据降到k维数据,则需要找k个向量u(1),u(2),...,u(k),之后将所有数据投影在这k维数据上,使得投影误差最小。


3.1 数据预处理


在进行主成分分析之前,由于数据的量纲不同,通常需要对数据进行预处理,预处理的手段包括feature scaling和mean normalization等。

7e1ebb84412a43b7a836f70ac5649e16.png



3.2 PCA流程


再将数据进行了预处理之后,首先需要计算数据 X X X的协方差矩阵(Sigma),之后计算协方差矩阵(Sigma)的特征向量 svd(Sigma);之后取特征向量中的前k列数据组成新的矩阵 Ureduce;最后计算k维投影向量  z=ureduce′∗X

870d7523dfb84c12913734540bdca039.png


3.3 原始数据重建


使用PCA之后,还可以从压缩数据重新转化成为未压缩的数据,因为z=ureduce′∗X,则 X=ureduce∗z


1a11b5669a654a3c96d99d6c0039a630.png


3.4 主成分数量  k的选择


PCA应用时主成分数量 k k k的选择依据为:选择一个k,使得投影均方误差(下式中的分子)/数据总方差的值不超过0.01,即使得数据的原始方差被保留99%。

894a4655b0594c948360f5e595ac6e96.png

154347be15b04e2fa74a51c6fe342728.png


















相关文章
|
1月前
|
机器学习/深度学习 算法 数据挖掘
【数据挖掘】神经网络与感知机基础概念讲解(图文解释 超详细)
【数据挖掘】神经网络与感知机基础概念讲解(图文解释 超详细)
73 0
【数据挖掘】神经网络与感知机基础概念讲解(图文解释 超详细)
|
1月前
|
机器学习/深度学习 算法 Python
【Python机器学习】朴素贝叶斯分类的讲解及预测决策实战(图文解释 附源码)
【Python机器学习】朴素贝叶斯分类的讲解及预测决策实战(图文解释 附源码)
85 0
|
1月前
|
机器学习/深度学习 算法 大数据
【Python机器学习】决策树与随机森林的讲解及决策树在决策决策问题中实战(图文解释 附源码)
【Python机器学习】决策树与随机森林的讲解及决策树在决策决策问题中实战(图文解释 附源码)
50 0
|
机器学习/深度学习 运维 安全
异常检测|深度学习(李宏毅)(二十一)
异常检测|深度学习(李宏毅)(二十一)
893 0
异常检测|深度学习(李宏毅)(二十一)
|
机器学习/深度学习
MCMC-1|机器学习推导系列(十五)
MCMC-1|机器学习推导系列(十五)
313 0
MCMC-1|机器学习推导系列(十五)
|
机器学习/深度学习 数据可视化 数据库
无监督学习-自编码器|深度学习(李宏毅)(十九)
无监督学习-自编码器|深度学习(李宏毅)(十九)
868 0
无监督学习-自编码器|深度学习(李宏毅)(十九)
|
机器学习/深度学习 算法
配分函数|机器学习推导系列(二十六)
配分函数|机器学习推导系列(二十六)
232 0
配分函数|机器学习推导系列(二十六)
|
机器学习/深度学习 数据挖掘
无监督学习-自编码器-补充|深度学习(李宏毅)(二十)
无监督学习-自编码器-补充|深度学习(李宏毅)(二十)
295 0
无监督学习-自编码器-补充|深度学习(李宏毅)(二十)
|
机器学习/深度学习 搜索推荐 数据挖掘
无监督学习-线性方法|深度学习(李宏毅)(十七)
无监督学习-线性方法|深度学习(李宏毅)(十七)
196 0
无监督学习-线性方法|深度学习(李宏毅)(十七)
|
机器学习/深度学习 算法
条件随机场|机器学习推导系列(二十一)
条件随机场|机器学习推导系列(二十一)
128 0
条件随机场|机器学习推导系列(二十一)