机器学习-Unsupervised Learning 无监督学习

10 篇文章 82 订阅

1. 认识无监督学习

监督学习很容易理解,给一些带有正确答案的训练集,通过最小化 Cost 来调整系统。那么无监督学习是怎么工作的呢?实际上,无监督学习也是通过最小化 Cost 来调优系统的,具体看一个算法。

2. K-means 描述

无监督学习广泛用在分类问题中,K-means分类算法就是一个简单的无监督学习算法。
工作原理是,给出一组数据,使用K-means算法对数据进行 K 个部分的划分。
这里写图片描述
我们可以很容易的分析出,数据应该分为两类。那么 K-means 算法是如何找出这两类的呢?我们首先随机选两个点,(1)然后计算数据点到我们选的两个点的距离并将数据点归属于距离最近的那个点,(2)计算两个点到它所属点的距离的平方和的均值(其实就是Cost)。重复(1)和(2),直到Cost收敛到我们满意的程序为止。见图:

这里写图片描述
这里写图片描述

可以看到运行完算法后,就成功的分类了。

我们将上述算法,以伪代码的方式再描述一遍:

随机初始化 K 个分类点(cluster centroid)
    Repeat{
        for i = 1 to m
            C(i) := index(from 1 to K) of cluster centroid closest to x(i)
        for k = 1 to K
            u(k) := average(mean) of points assigned to cluster k
}

3. K-means 优化

我们随机初始化 K 个分类点的时候,我们需要注意以下事项:

  1. K < m
  2. 随机从训练集中选 K 个点作为分类点
  3. 很明显K-Means容易陷入局部最优的情况,所以我们通常对K-means运行1-100次,并计算 Cost ,然后选择拥有最小 Cost 的那个K个点。

如何确定 K ?容易知道 K 越大时,Cost 越小,那么 K 是越多越好嘛?很明显不是的,我们需要一个适当的 K 值,当我们无法确定的时候,会通过 Elbow 方法来确定 K 的大小。见下图:
这里写图片描述
也是通过绘图得出,我们选择“肘关节”的K值,因为之后随着K的增大, Cost的变化已经不那么明显。

4.降维

降维就是将数据为维度下降,例如 二维变一维,降维的目的有数据压缩或者数据可视化,两个目的作用都很明显。

4.1主成分分析

为什么叫主成分分析呢?因为多维数据中有很多数据是相近的,就例如一个三维图点图,很有可能数据点都在同一个平面或者附近波动,这个时候我们就可以使用主成分分析对数据进行降维了。下面介绍使用主成分分析的步骤:

1.数据预处理:
通常,在我们使用数据时,如果数据的取值相差很大,我们都会对数据进行正规化处理。

2.计算协方差:

=1min(xi)(xi)T ∑ = 1 m ∑ i n ( x i ) ( x i ) T

3.计算特征向量:

[U,S,V]=svd() [ U , S , V ] = s v d ( ∑ )

#Python 中已经计算svd的包
from numpy import linalg

linalg.svd(Sigma)

4.获得新特征:

上面的U 是 N*N 矩阵,这个的N是原特征的维度,我们获取新特征的公式是:

Ureduce=U(:,1:k) U r e d u c e = U ( : , 1 : k )

Z=UTreduceX Z = U r e d u c e T ∗ X

Z就是我们获得的新特征,并且是 K 维的。

5.重构数据:

有时候我们需要用到之前n维的数据,所以需要根据Z重新构造出n维的数据。重新的构造的特征并不是跟之前的一样的,而是有一定差异的。

Xapprox=UreduceZ X a p p r o x = U r e d u c e ∗ Z

6.如何选择 k (主成分的个数)?

1mmi=1||xixiapprox||2mi=1||xi||2 1 m ∑ i = 1 m | | x i − x a p p r o x i | | 2 ∑ i = 1 m | | x i | | 2

根据上述公式,我们可以知道多少特征是保留的了,如果上式小于等0.1,我们就认为有 90% 的特征保留了下来。这样选择 k 很麻烦,还要计算出 xapprox x a p p r o x ,下面的等价的公式可以更方便的计算出特征保留度。

ki=1Siimi=1Sii>=0.99 ∑ i = 1 k S i i ∑ i = 1 m S i i >= 0.99

上述 99%的特征保留了下来。选择k的时候,我们择满足上述不等式条件下尽可能大的 k 值,这里尽可能大是指保留度尽可能大。

7.应用PCA场景:

  1. 监督学习加速,数据维度降了,自然能够加速
  2. 数据压缩
  3. 数据可视化

在我们使用PCA之前,我们要考虑:在未使用PCA前,我们的系统在原数据上表现的如何,只能当表现跟我们预期的不一样时,我们去尝试使用PCA。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值