吴恩达-机器学习(8)-K-Mean、PCA

Clustering

K-Mean Algorithm

下图中已经有没有标签的点,现在需要分为两类
进行k-Mean算法
1、随机选取两个聚类中心,需要分为几类就选取几个聚类中心

2、遍历所有的点,根据点到聚类中心的距离来判断将该点分到哪个聚类中

3、然后将红色的聚类中心移动到所有红色点的均值位置,蓝色的聚类中心移动到所有蓝色点的均值位置

重复2、3过程直到收敛
K-Mean中的K就只的是要分为几类

Opetimization objective

K-Mean中的优化目标
J是点到聚类中心的平均距离,J也被称为失真函数

Random Initialization

随机选取聚类中心
一般是随机选取K个样本,在让聚类中心等于这些样本

局部最优

加入随机初始化和代价函数后的K-Mean,最后的J的结果一般在2~10之间才是全局最优解

Choosing the number of Clusters

Elbow Method
绘制代价函数关于K的函数曲线,J会随着K的增大而减小,逐渐趋于平稳,拐点处的K即我们所需要的K
但大部分情况拐点不是很清晰,不能很明显的找出来

通过聚类要达到的目的来确定K的值,以T恤为例,如果T恤的尺码只有S、M、L那么K就应该选择3

Motivation

Data Compression

数据压缩不仅可以使数据量减少,减小内存和硬盘的占用,而且可以提高算法的计算速度
数据压缩就是寻找相关特征之间的关系如下图中的x1和x2都是表示长度,只是单位不一样,就可以根据他们的线性关系,合并为一个一维特征

三维数据降到二维
将三维数据投影到一个二维平面

Data Visualiztion

一个高维数据可以被计算机处理,但人只能感知三维的数据,所以在做高维数据可视化时,要先对数据进行降维,在进行可视化。

Principal Component Analysis

Principal Component Analysis Problem Formulation

PCA将高维数据投影到低维空间,使得数据投影到这个面的误差最小,这个误差也叫作投影误差,在进行降维之前,要对数据进行均值归一化和特征规范化

对于二维降到一维,是要寻找一个向量,使得投影误差最小
对于n维降到k维,是要寻找k个向量,使得投影误差最小
PCA和线性回归的区别:

  1. 线性回归的误差是结果值得误差,PCA是点到投影面的距离
  2. PCA是无监督学习

Principal Component Analysis Algorithm

数据预处理(特征缩放/均值归一化)

PCA算法的步骤:

  1. 计算协方差矩阵
  2. 使用svd计算 Σ \Sigma 的特征值和特征向量
  3. 将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵 U r U_r
  4. Z = U T X Z=U^T*X 就是降维之后的数据

Applying PCA

Reconstruction from Compressed Representation

Choosing the Number of Principal Components

计算平均投影误差和总变差的比,选择该值最小时候的K,该值表示的是与原数据的差异性,当为0.01时代表PCA保留了99%的差异性

选择K的两种两种方法:

  1. 尝试不同的K,计算差异性,如果>99%则符合要求
  2. 根据svd的到奇异值矩阵,矩阵对角上前K个数的和除以全部数的和就是差异性,从而根据差异性找到K

Advice for applying PCA

监督学习加速
降维矩阵应该在训练集上运行PCA获得,得到降维矩阵后就可以在交叉验证集合测试集上使用

PCA并不是一个防止过拟合的好方法,应当使用正则化来防止过拟合

猜你喜欢

转载自blog.csdn.net/u014351944/article/details/82844274