基于C#的机器学习--颜色混合-自组织映射和弹性神经网络

本文介绍了自组织映射(SOM)的概念,这是一种无监督的神经网络,用于在二维网格上组织多维数据。通过AForge.NET库,展示了如何在C#中实现SOM,用于颜色映射。通过迭代调整神经元位置,形成对颜色数据的聚类。同时,还探讨了弹性神经网络,展示了如何在数据点组织中应用它们。
摘要由CSDN通过智能技术生成

自组织映射和弹性神经网络

       自组织映射(SOM),或者你们可能听说过的Kohonen映射,是自组织神经网络的基本类型之一。自组织的能力提供了对以前不可见的输入数据的适应性。它被理论化为最自然的学习方式之一,就像我们的大脑所使用的学习方式一样,在我们的大脑中,没有预先定义的模式被认为是存在的。这些模式是在学习过程中形成的,并且在以更低的维度(如二维或一维)表示多维数据方面具有不可思议的天赋。此外,该网络以这样一种方式存储信息,即在训练集中保持任何拓扑关系。

       更正式地说,SOM是一种集群技术,它将帮助我们发现大型数据集中有趣的数据类别。它是一种无监督的神经网络,神经元被排列在一个单一的二维网格中。网格必须是矩形的,例如,纯矩形或六边形。在整个迭代过程中,网格中的神经元将逐渐合并到数据点密度更高的区域。当神经元移动时,它们会弯曲和扭曲网格,直到它们更靠近感兴趣的点,并反映出数据的形状。

       在这一章中,我们将讨论以下主题:

  1. Kohonen SOM(自组织映射)
  2. 使用AForge.NET

SOM引擎

       简而言之,我们网格上的神经元,通过迭代,它们逐渐适应数据的形状(在我们的示例中,如下面的图所示,位于点面板左侧)。我们再来讨论一下迭代过程本身。

       1.第一步是在网格上随机放置数据。我们将随机将网格的神经元放在数据空间中,如下图所示:

       2.第二步是算法将选择单个数据点。

       3.在第三步中,我们需要找到最接近所选数据点的神经元(数据点)。这就成了我们最匹配的单元。

       4.第四步是将最匹配的单元移向该数据点。我们移动的距离是由我们的学习率决定的,每次迭代后学习率都会下降。

       5.第五,我们将把最匹配单元的邻居移得更近,距离越远的神经元移动得越少。你在屏幕上看到的初始半径变量是我们用来识别邻居的。这个值,就像初始学习率一样,会随着时间的推移而降低。如果您已经启动并运行了监视器,您可以看到初始学习率随着时间的推移而降低,如下面的屏幕截图所示:

       6.我们的第六步也是最后一步,是更新初始学习速率和初始半径,就像我们目前描述的那样,然后重复它。我们将继续这一进程,直到我们的数据点稳定下来并处于正确的位置。

       现在我们已经有了了一些关于SOMs的直观的认识,我们再来讨论一下我们这一章要做的事情。我们选择了一个非常常见的机制来教我们的程序,那就是颜色的映射。

       颜色本身是由红色、绿色和蓝色表示的三维对象,但是我们将把它们组织成二维。颜色的组织有两个关键点。首先,颜色被聚集成不同的区域,其次,具有相似属性的区域通常彼此相邻。

       第二个例子更高级一些,它将使用ANN(人工神经网络);这是机器学习的一种高级形式,用于创建与呈现给它的映射相匹配的组织映射。

       让我们看第一个例子。下面是我们示例的屏幕截图。正如所看到的,我们有一个随机的颜色图案,当完成时,它由一组相似的颜色组成:

       如果我们成功了,我们的结果应该是这样的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山信大大懒虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值