我对通过神经网络进行机器学习的一些概念有疑问。其中之一是反向传播。在权重更新方程中,
delta_w = a*(t - y)*g'(h)*x
t
是“目标输出”,在监督学习的情况下,这将是您的类标签或其他东西。但是无监督学习的“目标输出”是什么?
有人可以提供一个示例,说明您如何在无监督学习中使用 BP,特别是用于分类聚类?
提前致谢。
我对通过神经网络进行机器学习的一些概念有疑问。其中之一是反向传播。在权重更新方程中,
delta_w = a*(t - y)*g'(h)*x
t
是“目标输出”,在监督学习的情况下,这将是您的类标签或其他东西。但是无监督学习的“目标输出”是什么?
有人可以提供一个示例,说明您如何在无监督学习中使用 BP,特别是用于分类聚类?
提前致谢。
最常见的做法是训练一个自动编码器,其中所需的输出等于输入。这使得网络尝试学习一种最能“压缩”输入分布的表示。
这是一个描述不同方法的专利,其中输出标签是随机分配的,然后有时会根据收敛速度翻转。这对我来说似乎很奇怪,但没关系。
我不熟悉使用反向传播进行聚类或其他无监督任务的其他方法。使用 ANN 的聚类方法似乎使用其他算法(示例 1、示例 2)。
我不确定哪种无监督机器学习算法专门使用反向传播;如果有一个我没听说过。你能举个例子吗?
反向传播用于计算误差函数的导数,以训练人工神经网络相对于网络中的权重。之所以这样命名,是因为“错误”通过网络“向后”“传播”。在这种情况下您需要它,因为相对于目标的最终误差取决于函数的函数(函数的函数......取决于您的 ANN 中的层数。)然后您可以通过导数调整值以改善误差函数,由学习率调节(这是梯度下降)。
在无监督算法中,您不需要这样做。例如,在k-Means中,您试图最小化均方误差 (MSE),您可以在给定分配的每个步骤中直接最小化误差;不需要渐变。在其他聚类模型中,例如混合高斯模型,期望最大化(EM) 算法比任何基于梯度下降的方法更强大和准确。
您可能要问的是无监督特征学习和深度学习。
特征学习是我能想到的关于 NN 或其最近变体的唯一无监督方法。(一种称为 RBM 混合的变体类似于高斯混合,但您可以基于两者构建很多模型)。但基本上我熟悉的两个模型是 RBM(受限博尔兹曼机)和自动编码器。
自动编码器(可选地,稀疏激活可以在优化函数中编码)只是前馈神经网络,它以这样的方式调整其权重,使得输出是重建的输入。可以使用多个隐藏层,但权重初始化使用贪婪层明智训练以获得更好的起点。所以要回答这个问题,目标函数将自己输入。
RBM 是随机网络,通常被解释为对连接有限制的图形模型。在这种情况下,没有输出层,输入层和潜在层之间的连接是双向的,就像无向图模型一样。它试图学习的是输入(观察到的和未观察到的变量)的分布。在这里,您的答案也将是目标。
RBM 的混合(类似于高斯混合)可用于软聚类或 KRBM(类似于 K-means)可用于硬聚类。这实际上感觉就像学习多个非线性子空间。
An alternative approach is to use something like generative backpropagation. In this scenario, you train a neural network updating the weights AND the input values. The given values are used as the output values since you can compute an error value directly. This approach has been used in dimensionality reduction, matrix completion (missing value imputation) among other applications. For more information, see non-linear principal component analysis (NLPCA) and unsupervised backpropagation (UBP) which uses the idea of generative backpropagation. UBP extends NLPCA by introducing a pre-training stage. An implementation of UBP and NLPCA and unsupervised backpropagation can be found in the waffles machine learning toolkit. The documentation for UBP and NLPCA can be found using the nlpca command.
要将反向传播用于无监督学习,只需在算法的每个阶段将目标输出 t 设置为更新前到类中每个元素的平均距离最小的类。简而言之,我们总是尝试训练 ANN 将其输入放入与我们的输入最相似的成员中。由于此过程对输入比例敏感,因此有必要首先通过减去平均值并除以每个分量的标准偏差来标准化每个维度的输入数据,以便以比例不变的方式计算距离。
使用反向传播神经网络而不是距离集群中心定义的简单距离的优点是神经网络可以允许集群之间更复杂和不规则的边界。