无监督学习与维度约减 机器学习基础(7)

无监督学习

无监督学习算法只需要样本 x (无标签),这种算法可应用于细分市场、文本总结等应用。同时,无监督学习模块中引入了主成分分析(Principal components analysis, PCA),用于加速学习,它在可视化方面非常有效,帮助我们理解数据。


聚簇

无监督学习:引言

无标签的数据中学习。
这里我们介绍一下监督学习与无监督学习的区别。

无监督学习引言

聚簇(Clustering algorithm)是无监督学习的一种方法。

聚簇的应用包含:

  1. 细分市场 Market segmentation
  2. 社会网络分析 Social network analysis
  3. 组织运算集群 Organize computing clusters
  4. 天文数据分析 Astronomical data analysis

K 均值算法

K 均值算法的目标是将有紧密关系的子集/簇聚集起来,该方法是一种迭代的方法,算法的输入是簇的个数 K,训练集为无标签的数据集。

1 k-means 算法

x(i) 为样本点; c(i) x(i) 的簇中心; μk 为簇中心

Randomly initialize k cluster centroids μ1,μ1,,μKRn
Repeat {
         for i = 1 to m do
                 c(i) := index (from 1 to K ) of cluster centroid closest to x(i)
         for k = 1 to K do
                 μk := average (mean) of points assigned to cluster k
}

2 k-means 应对不可划分的簇

簇不可划分

优化目标

k-means 的优化目标函数为

优化目标

其中 x(i)μc(i) x(i) 与其所在簇 c(i) 中心 的距离, k=c(i)

k-meas 算法的实质是将 c(i) μk 分开来求最优值,并迭代(代价递减)直至收敛

K 均值算法的代价函数 J 又称失真函数(Distortion function),算法可能收敛至局部最优点。

随机初始化

一般来讲,当 K=[2,10] 随机初始化会使得结果较好。其实质是反复地选择初始中心点,取最好的一次。随机的位置是从 x(i) 中去选,这些的效果较好。

簇数的选择

簇数的选择是一个问题,在一个目标中, K=2 or K=4 都很难说明哪个更合适,问题如下图所示。

簇数的选择

确定 K 的方法有“肘点法则”(Elbow method)、从应用出发:

1)“肘点法则”
肘点法则
代价 J 应采用“随机初始化”的方法求其最小值。

2) 从应用出发选择 K
以 T-shirt 尺寸划分为目标,S/M/L 或 XS/S/M/L/XL 尺寸。
应用除法

维度约减

在这一模块中,我们介绍主成分分析(Principal components analysis, PCA),应用于数据压缩(Data compression),以至于加速学习算法效率,适用于复杂数据的可视化
维度约减是一种无监督学习,它的实质是去除冗余特征


动机

动机:数据压缩

数据压缩

动机:可视化

nD2D/3D/1D(/4D)

新的坐标轴与原数据有大致的对应关系。


主成分分析

主成分分析是常用的降维方法。

主成分分析的公式描述

在主成分分析中,特征规范化与均值归一化是必需的。主成分分析目标的数据描述为最小化投影误差的平方,即点与投影后的对应点之间的距离的平方值最小化。

PCA 与线性回归的区别如下图所示。

主成分分析

主成分分析算法

PCA 执行前必须对数据集进行与处理,从而对数据进行有效地降维。

1 数据预处理

对数据做规范化处理,

μj=1mi=1mx(i)jx(i)j=xjμj

当特征值的范围相差很大时,有必要做归一化处理,

sj=maxi{x(i)j}mini{x(i)j}thenx(i)j=xjμjsj

2 PCA 算法

x(i)Rnx(i)RK,Kn

1 计算 协方差矩阵
协方差矩阵记作Sigma(或
Sigma==1mi=1n(x(i))(x(i))T = 1mXTX

其中,
X=[x(1)x(n)]T
2 计算协方差矩阵的 特征向量
通过 奇异值分解(Singular value decomposition, SVD)求 X 的特征向量。
[u, s, v] = svd(Sigma)
其中,u 为特征向量, uRn×n
u=[u(1)u(K)u(n)]n×n

新的特征 z
z=[u(1)u(K)]Tx

应用主成分分析

于压缩表达式中重构

重构是将压缩得到的特征 z ,近似重构出原来的高维特征。

z=[u(1)u(K)]Tx

同样的,

x=[u(1)u(K)]Tz

其中,

u(i)Rn×1,xRn×1,zRK×1[u(1),,u(K)]Rn×Kxx

U=[u(1),,u(n)] U 为酉矩阵;记 xapprox=x

主成分数量的选择

K 为主成分的数量,那么 K 如何选择才能更合适呢?有多种方法可以用于确定参数 K 的值。

与参数 K 相关的 2 个数值:

1 平均平方 映射误差
1mi=1mx(i)x(i)approx2min
2 总变差
1mi=1mx(i)2

使得平均平方映射误差与总变差之比小于阈值 α ,即

1mi=1mx(i)x(i)approx21mi=1mx(i)2α α=1%,5%,10% 

这意味着 (1α) 的差异被保留了。

因此,求解最优 K 值的模型为

minKKi=1siini=1sii1α

其中, s 为奇异值分解得到的对称阵,即特征值矩阵

应用 PCA 的建议

1 加速监督学习

x(1),,x(m)UreducePCAz(1),,z(m)x(i)Rn,z(i)RK

经过降维处理之后,得到新的数据

(z(1),y(1)),(z(2),y(2)),,(z(m),y(m))

2 PCA 的应用
1) 压缩
降低数据存储量
加速学习算法
2) 可视化
K=2 or K=3

值得注意的是,PCA 不适合避免过拟合。当计算量过大,存储空间过大时,再考虑使用 PCA,PCA 不是一种提高预测准确度的方法。


参考链接:

  1. 主成分分析 http://blog.csdn.net/xiaoyu714543065/article/details/7832132
  2. 聚类 http://blog.csdn.net/jiang1st2010/article/details/7654120
  3. K 均值算法 / k-means http://coolshell.cn/articles/7779.html
  4. 数据降维 http://blog.csdn.net/abcjennifer/article/details/8002329
  5. 奇异值分解 / SVD http://blog.csdn.net/ningyaliuhebei/article/details/7104951

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值