机器学习—聚类和降维

无监督学习 — 聚类和降维

往期内容

1. 单变量线性回归
2. 多变量线性回归
3. 逻辑回归
4. 正则化
5. BP神经网络
6. 机器学习诊断法

聚类

k均值算法

  K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组。算法步骤总结如下:
  ① 随机选择K个点作为聚类中心(cluster centroids)
  ② 对于数据集中的每一个数据,按照距离个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类
  ③ 计算每一组的平均值,将该组的聚类中心移动到平均位置
  ④ 重复②③步骤,直至中心点不再变化
  K-均值的代价函数(又称畸变函数 Distortion function) 如下:
J ( c ( 1 ) , . . . , c ( m ) , μ 1 , . . . , μ k ) = 1 m ∑ i = 1 m ∣ ∣ X ( i ) − μ c ( i ) ∣ ∣ 2 J(c^{(1)},...,c^{(m)},\mu_1,...,\mu_k)=\frac1m\sum^m_{i=1}||X^{(i)}-\mu_{c(i)}||^2 J(c(1),...,c(m),μ1,...,μk)=m1i=1mX(i)μc(i)2
其中 μ 1 , μ 2 , . . . , μ k \mu_1,\mu_2,...,\mu_k μ1,μ2,...,μk表示聚类中心, c ( 1 ) , c ( 2 ) , . . . , c ( m ) c^{(1)},c^{(2)},...,c^{(m)} c(1),c(2),...,c(m)储存 x ( i ) x^{(i)} x(i)最近的聚类中心索引, μ c ( i ) \mu_{c(i)} μc(i) x ( i ) x^{(i)} x(i)最近的聚类中心点。

聚类中心选择

  在进行k均值算法前,需要随机初始化聚类中心。K值通常会根据问题随机选择,但是这里有一个肘部法则可以帮助我们选择聚类中心的数目。

肘部法则:以畸变函数值J为纵坐标,以聚类数目K为横坐标,即不断改变聚类中心的数目计算其代价函数值,然后绘图如下:
机器学习—聚类和降维_第1张图片
可以看出,随着聚类中心数目的增加,畸变函数值刚开始下降得很快,但 K = 3 K=3 K=3之后就下降得很慢,所以这里选择聚类数目 K = 3 K=3 K=3

降维

  降维的目的通常有两个:① 数据压缩;② 数据可视化。主成分分析(Principal Component Analysis, PCA) 是常见的降维算法。

主成分分析

  主成分分析算法步骤:

  1. 均值归一化: x j = x j − μ j x_j=x_j-\mu_j xj=xjμj,如果特征在不同数量级上,还需要将其初一标准差 σ 2 \sigma^2 σ2
  2. 计算协方差矩阵(covariance matrix): Σ = 1 m ∑ i = 1 n ( x ( i ) ) ( x ( i ) ) T \Sigma=\frac1m\sum_{i=1}^n(x^{(i)})(x^{(i)})^T Σ=m1i=1n(x(i))(x(i))T
  3. 计算协方差矩阵的特征向量U:如果我们希望将数据从n维降到k维,那么我们只需要从U中选取前k个向量,获得一个 n × k n\times k n×k的矩阵,用Ureduce 表示
  4. 计算 z ( i ) = U r e d u c e T ∗ x ( i ) z^{(i)}=U_{reduce}^T*x^{(i)} z(i)=UreduceTx(i)得到我们降维后的新特征向量 z ( i ) z^{(i)} z(i)

  注意: ① 一般不使用主成分分析(减少特征数量)来减少模型的过拟合程度。主成分分析在使用过程中可能会丢掉数据的重要特征。
      ② 一般算法运行太慢或者占用太多内存时,才考虑采用主要成分分析对数据进行降维。

你可能感兴趣的:(吴恩达机器学习课程整理,机器学习,聚类,算法,pca降维)