我研究了基本的SOM初始化,并寻求确切地了解该过程PCI,用于初始化地图上的权重向量的作品。我的理解是,对于二维映射,此初始化方法着眼于数据矩阵的两个最大特征值的特征向量,然后使用这些特征向量跨越的子空间来初始化地图。这是否意味着要获得初始地图权重,此方法是否采用最大两个特征向量的随机线性组合来生成地图权重?有patten吗?
例如,对于地图上的40个输入数据向量,Lininit初始化方法是否采用组合A1*[E1] A2*[E2],其中[E1]和[E2]是两个最大的特征向量,A1和A2随机整数范围从-3到3不等?还是有不同的机制?我一直在寻找确保我确切地知道Lininit如何将输入数据矩阵的两个最大特征向量取转,并使用它们来构造地图的初始权重向量。
SOM创建了一个在附近节点之间具有邻里关系的地图。随机初始化无助于此过程,因为节点随机启动。因此,使用PCA初始化的想法只是使地图更接近最终状态的快捷方式。这节省了很多计算。
那么这是如何工作的?使用了前两个主要组件(PC)。将初始权重设置为PC的线性组合。权重不使用随机a1
和a2
,而是将重量设置为与主组件的比例相对应的范围。
例如,对于5x3映射,a1
和a2
都可以在相关数量的元素的范围内(-1,1)。换句话说,对于5x3地图,a1 = [-1.0 -0.5 0.0 0.5 1.0]
和a2 = [-1.0 0.0 1.0]
,分别具有5个节点和3个节点。
然后设置节点的每个权重。对于矩形SOM,每个节点都有索引[m, n]
。使用a1[m]
和a2[n]
的值。因此,对于所有m = [1 2 3 4 5]
和n = [1 2 3]
:
weight[m, n] = a1[m] * e1 + a2[n] * e2
这是使用主组件初始化权重的方法。这使得全球订购的初始状态,因此现在使用SOM算法来创建本地排序。
名称的 principal组件是https://en.wikipedia.org/wiki/principal_component_analysis.
的参考。这是这个想法。您从放置在许多基本因素的向量的数据点开始。但是它们可能与您的数据相关。因此,例如,如果您要测量身高,体重,血压等,您希望高个子的人会更大。但是您想做的是用数据中与彼此无关的因素替换为
。因此,您的主组件是长度1的向量,它与数据集的变化尽可能密切相关。
您的次要组件是长度1的向量与第一个成分直角,它与数据集的其余变化尽可能密切相关。
您的三级组件是长度1的向量与前两个的直角,与数据集的其余变化尽可能密切相关。
等等。
实际上,您可能会从许多因素开始,但是大多数信息仅在前几个中被捕获。例如,在智能测试的结果中,第一个组件是智商,第二个组件是您处于口头和定量推理之间的区别。
这是如何适用于SOM初始化的,这是一个由PCA分析构建的简单线性模型,这是您所寻找的答案的一个很好的猜测,因此从那里开始,可以减少您要完成的工作量答案。