机器学习:无监督反向传播
Posted
技术标签:
【中文标题】机器学习:无监督反向传播【英文标题】:Machine Learning: Unsupervised Backpropagation 【发布时间】:2013-03-09 00:29:20 【问题描述】:我对通过神经网络进行机器学习的一些概念有疑问。其中之一是backpropagation。在权重更新方程中,
delta_w = a*(t - y)*g'(h)*x
t
是“目标输出”,在监督学习的情况下,这将是您的类标签或其他东西。但是无监督学习的“目标输出”是什么?
谁能提供一个示例,说明您如何在无监督学习中使用 BP,特别是用于分类聚类?
提前致谢。
【问题讨论】:
【参考方案1】:最常见的做法是训练an autoencoder,其中所需的输出等于输入。这使得网络尝试学习一种最能“压缩”输入分布的表示。
Here's a patent 描述了一种不同的方法,其中输出标签是随机分配的,然后有时会根据收敛速度翻转。我觉得这很奇怪,但没关系。
我不熟悉使用反向传播进行聚类或其他无监督任务的其他方法。使用人工神经网络的聚类方法似乎使用了其他算法(example 1、example 2)。
【讨论】:
+1 提及自动编码器。完全忘记了这一点。 :)【参考方案2】:我不确定哪种无监督机器学习算法专门使用反向传播;如果有一个我没听说过。你能举个例子吗?
反向传播用于计算误差函数的导数,以训练人工神经网络相对于网络中的权重。之所以这样命名,是因为“错误”通过网络“向后”“传播”。在这种情况下您需要它,因为关于目标的最终误差取决于函数的函数(函数的函数......取决于您的 ANN 中的层数。)导数允许您然后调整值以改善误差函数,由学习率调节(这是gradient descent)。
在无监督算法中,您不需要这样做。例如,在k-Means 中,您试图最小化均方误差 (MSE),您可以在给定分配的每个步骤中直接最小化误差;不需要渐变。在其他聚类模型中,例如mixture of Gaussians,expectation-maximization (EM) 算法比任何基于梯度下降的方法都更加强大和准确。
【讨论】:
所以,我想我有一个后续问题是......我们可以使用 EM 来训练有监督的神经网络吗?如果是这样,为什么我们更喜欢 BackPropagation 而不是 EM?【参考方案3】:您可能要问的是关于无监督特征学习和深度学习的问题。
特征学习是我能想到的关于 NN 或其最近变体的唯一无监督方法。(一种称为 RBM 混合的变体类似于高斯混合,但您可以基于两者构建很多模型) .但基本上我熟悉的两个模型是 RBM(受限 Boltzman 机器)和自动编码器。
自动编码器(可选地,稀疏激活可以在优化函数中编码)只是前馈神经网络,它以这样的方式调整其权重,使得输出是重建的输入。可以使用多个隐藏层,但权重初始化使用贪婪层明智训练以获得更好的起点。所以要回答这个问题,目标函数将自己输入。
RBM 是随机网络,通常被解释为对连接有限制的图形模型。在这种情况下,没有输出层,输入层和潜在层之间的连接是双向的,就像无向图模型一样。它试图学习的是输入(观察到的和未观察到的变量)的分布。在这里,您的答案也将是目标。
RBM 的混合(类似于高斯混合)可用于软聚类或 KRBM(类似于 K-means)可用于硬聚类。这实际上感觉就像在学习多个非线性子空间。
http://deeplearning.net/tutorial/rbm.html
http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
【讨论】:
【参考方案4】:另一种方法是使用生成反向传播之类的方法。在这种情况下,您训练一个更新权重和输入值的神经网络。给定值用作输出值,因为您可以直接计算错误值。这种方法已用于降维、矩阵补全(缺失值插补)等应用。有关更多信息,请参阅 non-linear principal component analysis (NLPCA) 和 unsupervised backpropagation (UBP),它们使用了生成反向传播的思想。 UBP 通过引入预训练阶段扩展了 NLPCA。 UBP 和 NLPCA 以及无监督反向传播的实现可以在 waffles 机器学习工具包中找到。可以使用 nlpca 命令找到 UBP 和 NLPCA 的文档。
【讨论】:
【参考方案5】:要使用反向传播进行无监督学习,只需在算法的每个阶段将目标输出 t 设置为更新前到类中每个元素的平均距离最小的类。简而言之,我们总是尝试训练 ANN 将其输入放入与我们的输入最相似的成员中。由于此过程对输入比例敏感,因此有必要首先通过减去平均值并除以每个分量的标准偏差来标准化每个维度的输入数据,以便以比例不变的方式计算距离。
使用反向传播神经网络而不是距离集群中心定义的简单距离的优势在于,神经网络可以允许集群之间更复杂和不规则的边界。
【讨论】:
以上是关于机器学习:无监督反向传播的主要内容,如果未能解决你的问题,请参考以下文章
[机器学习] UFLDL笔记 - 反向传播算法(Backpropagation)
[机器学习] UFLDL笔记 - 反向传播算法(Backpropagation)