Machine learning 机器学习:无监督反向传播

Machine learning 机器学习:无监督反向传播,machine-learning,neural-network,unsupervised-learning,Machine Learning,Neural Network,Unsupervised Learning,我在通过神经网络进行机器学习时遇到了一些问题。其中之一是。在权重更新方程中 delta_w = a*(t - y)*g'(h)*x t是“目标输出”,在监督学习的情况下,它可能是你的班级标签或其他东西。但无监督学习的“目标输出”是什么 有人能举一个例子说明你如何在无监督学习中使用BP,特别是在分类聚类中 提前感谢。最常用的方法是训练,期望的输出等于输入。这使得网络试图学习一种最能“压缩”输入分布的表示法 描述一种不同的方法,其中输出标签随机分配,然后有时根据收敛速度翻转。我觉得很奇怪,但没关系

我在通过神经网络进行机器学习时遇到了一些问题。其中之一是。在权重更新方程中

delta_w = a*(t - y)*g'(h)*x
t
是“目标输出”,在监督学习的情况下,它可能是你的班级标签或其他东西。但无监督学习的“目标输出”是什么

有人能举一个例子说明你如何在无监督学习中使用BP,特别是在分类聚类中


提前感谢。

最常用的方法是训练,期望的输出等于输入。这使得网络试图学习一种最能“压缩”输入分布的表示法

描述一种不同的方法,其中输出标签随机分配,然后有时根据收敛速度翻转。我觉得很奇怪,但没关系


我不熟悉使用反向传播进行集群或其他无监督任务的其他方法。使用ANN的聚类方法似乎使用了其他算法(,)。

我不确定哪种无监督机器学习算法专门使用反向传播;如果有我没听说过的。你能举个例子吗

反向传播用于计算误差函数的导数,以训练人工神经网络相对于网络中的权重。之所以这样命名,是因为“错误”是通过网络“向后”传播的。在这种情况下,您需要它,因为与目标相关的最终误差取决于函数的函数(函数的函数…取决于ANN中的多少层)。导数允许您调整值以改善误差函数,并通过学习率进行调节(这是)


在无监督算法中,您不需要这样做。例如,在中,当您试图最小化均方误差(MSE)时,您可以在给定赋值的每个步骤中直接最小化误差;不需要梯度。在其他聚类模型(如a)中,(EM)算法比任何基于梯度下降的方法更强大、更精确。

要使用反向传播进行无监督学习,只需设置目标输出t,在算法的每个阶段,更新前到类中每个元素的平均距离最小的类。简言之,我们总是试图训练ANN将其输入放入在我们的输入方面成员最相似的类中。由于该过程对输入比例敏感,因此有必要首先通过减去每个分量的平均值并除以标准偏差来规范每个维度中的输入数据,以便以比例不变的方式计算距离


使用back-prop神经网络而不是从簇的中心定义的简单距离的优点是,神经网络可以允许簇之间更复杂和不规则的边界

您可能会问的是关于无监督功能学习和深度学习的问题

特征学习是我能想到的关于NN或其最新变体的唯一无监督方法(称为RBM混合的变体类似于高斯混合,但你可以基于这两种变体构建很多模型)。但基本上我熟悉的两种型号是RBM(受限玻尔兹曼机器)和自动编码器

自动编码器(可选地,稀疏激活可以在优化函数中编码)只是前馈神经网络,它调整其权重,使输出为重构输入。可以使用多个隐藏层,但权重初始化使用贪婪的分层训练以获得更好的起点。因此,要回答这个问题,目标函数将被输入自身

RBM是一种随机网络,通常被解释为对连接有限制的图形模型。在此设置中,没有输出层,输入层和潜在层之间的连接是双向的,就像一个无向图形模型。它试图了解的是输入(观察到的和未观察到的变量)的分布。在这里,您的答案是输入是目标

RBM的混合(类似于高斯混合)可用于软聚类,KRBM(类似于K-均值)可用于硬聚类。这实际上就像学习多个非线性子空间


另一种方法是使用生成性反向传播之类的方法。在这种情况下,您将训练一个更新权重和输入值的神经网络。给定的值用作输出值,因为您可以直接计算错误值。该方法已用于降维、矩阵补全(缺失值插补)等应用。有关更多信息,请参阅和,它使用了生成性反向传播的思想。UBP通过引入预训练阶段来扩展NLPCA。UBP和NLPCA以及无监督反向传播的实现可以在华夫饼机器学习工具包中找到。使用NLPCA命令可以找到UBP和NLPCA的文档。

+1关于自动编码器。完全忘记了那件事。:)所以,我想我还有一个后续问题是。。我们能用EM训练有监督的神经网络吗?如果是这样,为什么我们更喜欢反向传播而不是EM?