Deep Learning学习笔记之无监督学习

无监督学习

  • 无监督深度学习
    • 深度学习的分类
    • 无监督学习的分类
  • 无监督特征学习
    • 聚类问题
      • K-Means
      • HAC, Hierarchical Agglomerative Clustering
    • 数据降维
      • PCA
      • Non-Negative Matrix Factorization - NMF - 非负矩阵分解
    • 矩阵因子分解 - Matrix Factorization
    • Auto-encoder - 自编码器

无监督深度学习

深度学习的分类

从数据集是否有标签的角度,我们将深度学习分为两类:监督学习和无监督学习

关于监督学习,是试图通过网络学习,建立一个输入与输出之间的映射关系

关于无监督学习,是从无标签的数据中学习一些有用的模式。发现数据中隐藏的有价值信息,包括有效的特征、类别、结构、概率分布等。

无监督学习的分类

(1)无监督特征学习:从无标签数据中学习有效的特征或表示,用来进行降维、数据可视化或监督学习前期的数据预处理部分。
(2)概率密度估计:也称密度估计,根据一组训练样本来估计样本空间中的概率密度。在概率密度估计中又分参数密度估计和非参数密度估计两类。参数密度估计,是建设数据服从于某个已知概率密度函数形式的分布,在训练过程中去估计密度函数的参数取值;非参数密度估计,是不假设数据服从于某个分布,只通过训练样本对密度进行估计,得到隐式模型。
(3)聚类:将样本根据一定的准则划入不同的簇(cluster),一般的准则是组内样本相似性大于组间样本的相似性。

无监督学习三要素:模型、学习准则、优化算法
在无监督特征学习的过程中,其准则为最小化重构误差。常常对特征进行独立性、非负性,或稀疏性约束。
在概率密度估计中,最大似然估计是常用的一种方法。

无监督特征学习

聚类问题

根据是否预设划分类别数(簇的数目),分为K-Means和HAC两类方法

K-Means

易于KNN混淆,在此做一下区分:
KNN是有监督的分类算法。原理是在一个投影空间中,从训练集中找出k个与输入点(待分类)在欧式空间中最近的点,对这些点的类别进行考察,运用投票法选出票数最多的类别,作为输入点的分类类别
K-Means是无监督的聚类算法。原理是计算样本集中各个点与预设中心点的欧氏距离,将各个点按距离最近的一个中心点,划分入对应中心点的组别,在一次划分完成后,对各组别分别更新中心点,以上为一次迭代。迭代若干次直到达到最大迭代次数 or 中心点不再改变,聚类结束。
Deep Learning学习笔记之无监督学习_第1张图片

HAC, Hierarchical Agglomerative Clustering

即聚合层次聚类
Deep Learning学习笔记之无监督学习_第2张图片
这两个图就能比较详细地说明各自原理了

数据降维

PCA

Deep Learning学习笔记之无监督学习_第3张图片

Non-Negative Matrix Factorization - NMF - 非负矩阵分解

保证矩阵中所有元素均为非负的,这适用于图像的可视化,易于描述像素点的情况

矩阵因子分解 - Matrix Factorization

当数据不存在缺失情况时,运用SVD分解,求解反馈愧疚真,最小化其重构误差。这是一种隐式嵌入模型,常用于推荐系统。

Deep Learning学习笔记之无监督学习_第4张图片
关于M,是对应rA这样的数据的,对应的是A、B、C、D、E等不同偏好的主体的喜好程度
关于K,是对应上表的隐嵌入特征数的,就是图中左上角的“高冷—阳光”图。
关于N,是受选择的个体数


当数据存在部分缺失的情况,SVD不再能够分解矩阵。可忽略缺失的数据,使用SGD法(随机梯度下降),优化损失函数,实现特征嵌入
m i n L = ∑ ( i , j ) ( r i ⋅ r j − n i j ) 2 minL = \sum_{(i,j)} (r_i ·r_j - n_{ij})^2 minL=(i,j)(rirjnij)2

Deep Learning学习笔记之无监督学习_第5张图片

Auto-encoder - 自编码器

其原理:特征表示、最小化重构误差
常用于文本检索、图像检索、预训练DNN、去噪自编码、异常检测、压缩、生成器
其结构大致如下所示,编码器生成一段(降维的)code,经过解码器来还原图片,将输入与输出进行对比,不断追求重构误差的最小化。
Deep Learning学习笔记之无监督学习_第6张图片
对于音频信息任务
Deep Learning学习笔记之无监督学习_第7张图片
其code部分(降维后的数据),常混杂蕴含着多个方面的信息。
我们期望理清编码,明确code中各个属性的取值,不论是用一个编码器,还是k个编码器(k为属性的数目)
Deep Learning学习笔记之无监督学习_第8张图片
这样,当嵌入特征具有可解释性(各个特征在code中有迹可循),我们就可以完成一些“杜撰”或是“创造”性的操作,例如语音转换。
下面是两个人的音频经过同一个Auto-encoder
Deep Learning学习笔记之无监督学习_第9张图片

我们将编码器得到的code进行一些组合操作,就可以做到语音转换
Deep Learning学习笔记之无监督学习_第10张图片
在训练的过程中,我们往往将生成器和判别器交替训练。关于如何做到feature disentangle,我们将生成的code中前段特征输入到classifier,使之不能成功判断出演讲者,自然能够将文本信息和语音特征分开。
Deep Learning学习笔记之无监督学习_第11张图片

你可能感兴趣的:(Deep,Learning学习笔记,算法,机器学习,深度学习,人工智能,python)