人工神经网络 ANN 如何用于无监督聚类?

机器算法验证 聚类 神经网络 无监督学习 自组织图
2022-01-23 01:55:48

我了解如何artificial neural network (ANN)使用反向传播以有监督的方式训练 , 以通过减少预测中的误差来改进拟合。我听说 ANN 可以用于无监督学习,但是如果没有某种成本函数来指导优化阶段,如何做到这一点?使用 k-means 或 EM 算法,每次迭代搜索都会增加一个函数。

  • 我们如何使用 ANN 进行聚类,它使用什么机制对同一位置的数据点进行分组?

(以及添加更多层会带来哪些额外功能?)

2个回答

神经网络广泛用于无监督学习,以便更好地学习输入数据的表示。例如,给定一组文本文档,NN 可以学习从文档到实值向量的映射,使得结果向量对于具有相似内容的文档是相似的,即保持距离。这可以使用例如自动编码器来实现 - 一种经过训练的模型,可以从较小的表示(隐藏层激活)重建原始向量,其中重建误差(与 ID 函数的距离)作为成本函数。此过程不会为您提供集群,但它会创建可用于集群的有意义的表示。例如,您可以在隐藏层的激活上运行聚类算法。

聚类:有许多不同的神经网络架构专门为聚类而设计。最广为人知的可能是自组织地图。SOM 是一个 NN,它具有一组连接在一起形成拓扑网格(通常是矩形)的神经元。当某些模式呈现给 SOM 时,具有最接近权重向量的神经元被认为是赢家,其权重会适应该模式,以及其邻域的权重。通过这种方式,SOM 自然地找到数据集群。一个有点相关的算法是增长神经气体(它不限于预定义的神经元数量)。

另一种方法是自适应共振理论,其中我们有两层:“比较场”和“识别场”。识别场还确定与从比较场转移的向量的最佳匹配(神经元),并且还具有横向抑制连接。通过谷歌搜索这些模型的名称可以很容易地找到实现细节和精确方程,所以我不会把它们放在这里。

你想研究自组织地图Kohonen(发明它们的人)写了一关于它们的书。R( somkohonen )中有这方面的包,并且有其他语言的实现,例如MATLAB