【学习笔记】机器学习-无监督学习

一、 无监督学习(unsupervised learning)

无监督学习用于处理未被分类标记的样本集。
当缺乏足够的先验知识,因此难以人工标注类别;或是进行人工类别标注的成本太高时,可使用无监督学习。

1. 典型例子:聚类(Clustering)

所有数据只有特征向量没有标签,但是可以发现这些数据呈现出聚群的结构,本质是一个相似的类型的会聚集在一起。这样可以把这些没有标签的数据分成一个一个组合类。

聚类算法最主要的是划分方法和层次方法。

划分聚类算法通过优化评价函数把数据集分割为K个部分,它需要K作为输人参数。典型的分割聚类算法有K-means算法, K-medoids算法CLARANS算法

层次聚类由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系。它不需要输入参数,这是它优于分割聚类算法的一个明显的优点,其缺点是终止条件必须具体指定。典型的分层聚类算法有BIRCH算法DBSCAN算法CURE算法等。

2.无监督学习的重要因素

数据特征

  • 图像中颜色、纹理或形状等特征
  • 听觉信息中旋律和音高等特征
  • 文本中单词出现频率等特征

相似度函数

  • 定义一个相似度计算函数,基于所提取的特征来计算数据之间的相似性

在无监督学习中,数据特征和相似度函数都很重要。

二、 K均值聚类(K-means 聚类)

K均值聚类算法接受一个未标记的数据集,然后将数据聚类成不同的组。

聚类算法会做两件事:簇分配和移动聚类中心

对于数据集中的每一个数据,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一类。

计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置。

  • 输入:n个m维数据(x1,x2,……xn),𝑥𝑖∈𝑅𝑚(1≤𝑖≤𝑛),(无任何标注信息)
  • 输出:k个聚类结果
  • 目的:将n个数据聚合到k个集合(也称为类簇)

1. K均值聚类算法

2个m维数据之间的欧式距离:
d ( x i , x j ) = [ ( x i 1 − x j 1 ) 2 + ( x i 2 − x j 2 ) 2 + . . . + ( x i m − x j m ) 2 ] 1 2 d(x_i,x_j)=[(x_{i1}-x_{j1})^2+(x_{i2}-x_{j2})^2+...+(x_{im}-x_{jm})^2]^\frac{1}{2}\quad d(xi,xj)=[(xi1xj1)2+(xi2xj2)2+...+(ximxjm)2]21
𝑑(𝑥𝑖,𝑥𝑗)值越小,表示𝑥𝑖和𝑥𝑗越相似;反之越不相似。

第一步:初始化聚类质心
  • 初始化𝑘个聚类质心 c = c 1 , c 2 , . . . , c k , c j ∈ R m ( 1 ≤ j ≤ k ) c={c_1,c_2,...,c_k}, c_j∈R^m(1≤j≤k) c=c1,c2,...,ck,cjRm(1jk)

  • 每个聚类质心𝑐𝑗所在集合记为𝐺𝑗

第二步:把每个待聚类数据放入唯一一个聚类集合中
  • 计算待聚类数据xi和质心cj之间的欧式距离d(xi, yj)(1≤i≤n, 1≤j≤k)
  • 将每个xi放入与之距离最近聚类质心所在聚类集合中。
第三步:根据聚类结果,更新聚类质心
  • 根据每个聚类集合中所包含的数据,更新该聚类集合质心值,即新质心值为该聚类集合包含的数据的均值。
第四步:算法循环迭代,直到满足条件
  • 在新聚类质心的基础上,根据欧式距离大小,将每个待聚类数据放入唯一一个聚类集合中。
  • 根据新的聚类结果,更新聚类质心

2. 聚类迭代结束条件

当达到迭代次数上限时,聚类停止;
前后两次迭代中,聚类质心基本保持不变,则聚类也停止。

3. K均值聚类算法的另一个视角:最小化每个类簇的方差

方差:用来计算变量(观察值)与样本平均值之间的差异。
方差越大,则数据波动性越大。
Kmeans方差

欧式距离与方差的量纲相同。最小化每个类簇方差将使得最终聚类集合中所包含数据呈现出来的差异性最小。

4. K均值聚类算法的不足

  • 需要事先确定聚类数目,很多时候我们并不知道数据应聚类的数目
  • 需要初始化聚类质心,初始化聚类中心对聚类结果有较大影响
    可通过多次运行K均值算法,每一次都重新进行随机初始化,最后再比较多次运行K均值的结果,选择代价函数最小的结果。(在K较小的时候(K=2-10)还是可行的)
  • 算法是迭代执行,时间开销非常大
  • 欧式距离假设每个维度之间的重要性是一样的

三、 主成分分析(Principle Component Analysis, PCA)

主成分分析是一种特征降维方法,符合人类认知过程中主动“化繁为简”的直觉。降维后的结果要保持原始数据的固有结构
奥卡姆剃刀定律:简单有效原理。如果同时有两种理论能解释同一种现象,应选择更简单的那种。在深度学习中,该定律可防止模型过拟合。

1.方差和协方差

方差:衡量样本数据的波动程度
协方差:衡量两个变量间的相关度
协方差

2. 主成分分析中,要保证降维投影后的方差最大

在降维中,需要尽可能将数据向方差最大方向投影,使得数据所蕴含信息没有丢失。
降维投影

主成分分析思想将n维特征数据映射到l维空间(n>>l),去除原始数据之间的冗余性(通过去除相关性手段达到这一目的)

3. 主成分分析算法描述

假设有𝑛个𝑑维样本数据所构成的集合𝐷={𝒙1,𝒙2,…,𝒙𝑛} ,其中𝒙𝑖(1≤𝑖≤𝑛)∈𝑅𝑑。

  • 集合𝐷可以表示成一个𝑛×𝑑 的矩阵𝐗。
  • 假定每一维度的特征均值均为零(已经标准化)。
  • 主成分分析的目的是求取一个且使用一个𝑑×𝑙的映射矩阵𝐖。
  • 给定一个样本𝒙𝑖,可将𝒙𝑖 从𝑑维空间如下映射到 𝑙 维空间: (𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙
  • 将所有降维后数据用𝐘 表示,有
    主成分分析

算法具体步骤:
输入:𝑛个𝑑维样本数据所构成的矩阵𝐗,降维后的维数𝑙
输出:映射矩阵𝐖={𝒘𝟏,𝒘𝟐,…,𝒘𝒍}

  1. 对于每个样本数据xi进行中心化处理(使特征均值为0): x i = x i − u , u = 1 n ∗ ∑ j = 1 n x j x_i=x_i-u,u=\frac{1}{n}\quad*\sum_{j=1}^nx_j xi=xiu,u=n1j=1nxj

  2. 计算原始样本数据的协方差矩阵: ∑ 1 n − 1 ∗ X T X \sum\frac{1}{n-1}\quad *X_TX n11XTX

  3. 对协方差矩阵𝚺进行特征值分解,对所得特征根按其值大到小排序𝜆1≥ 𝜆2≥⋯≥𝜆𝑑 4. 取前𝑙个最大特征根所对应特征向量𝒘𝟏,𝒘𝟐,…,𝒘𝒍组成映射矩阵𝐖

  4. 将每个样本数据𝒙𝑖按照如下方法降维:(𝒙𝑖)1×𝑑(𝐖)𝑑×𝑙=1×𝑙

四、 特征人脸方法(Eigenface)

特征人脸方法是一种应用主成分分析来实现人脸图像降维的方法,其本质是用一种称为“特征人脸(eigenface)”的特征向量按照线性组合形式来表示每一张原始人脸图像。

将每幅人脸图像转换为列向量,如将一幅 32 ∗ 32 32*32 3232的人脸图像转成 1024 ∗ 1 1024*1 10241的列向量。
采用主成分分析的算法:

  • 每个人脸特征向量wi与原始人脸数据xi的维数是一样的,均为1024
  • 可将每个特征向量还原为32*32的人脸图像,称之为特征人脸,因此得到L个特征人脸。
  • 将每幅人脸与每个特征人脸做矩阵乘法,得到一个相关系数
  • 这样让每幅人脸与L个特征人脸做矩阵乘法,得到L个相关系数,即每幅人脸从1024维降到L维。
  • 由于每幅人脸是所有特征人脸的线性组合,因此就实现了人脸从“像素点表达”到“特征人脸表达”的转变。每幅人脸从1024维约减到L维。
    特征人脸
    在后续人脸识别分类中,就可使用这𝑙个系数来表示原始人脸图像。即计算两张人脸是否相似,不是去计算两个32×32矩阵是否相似,而是计算两个人脸所对应的𝑙个系数是否相似。

若采用聚类方法表达人脸,则用待表示人脸最相似的聚类质心来表示
若采用非负矩阵人脸分解方法表示,则通过一部分特征人脸的线性组合来重建原始人脸数据xi,体现了“部分组成整体”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值