📅  最后修改于: 2020-11-26 08:33:44             🧑  作者: Mango
学习矢量量化(LVQ)与矢量量化(VQ)和Kohonen自组织图(KSOM)不同,它基本上是一个使用监督学习的竞争性网络。我们可以将其定义为对模式进行分类的过程,其中每个输出单元代表一个类。由于它使用监督学习,因此将为网络提供一组具有已知分类的训练模式以及输出类别的初始分布。在完成训练过程之后,LVQ将通过将输入向量分配给与输出单元相同的类别来对其进行分类。
下图显示了LVQ的体系结构,它与KSOM的体系结构非常相似。如我们所见,输入单位为“ n”个,输出单位为“ m”个。这些层完全相互连接,并具有重量。
以下是LVQ训练过程以及流程图中使用的参数
x =训练向量(x 1 ,…,x i ,…,x n )
T =训练向量x的类
w j =第j个输出单元的权重向量
C j =与第j个输出单元关联的类
步骤1-初始化参考向量,可以执行以下操作-
步骤1(a) -从给定的一组训练向量中,采用第一个“ m ”(簇数)训练向量并将其用作权重向量。其余向量可用于训练。
步骤1(b) -随机分配初始权重和分类。
步骤1(c) -应用K均值聚类方法。
步骤2-初始化参考向量$ \ alpha $
步骤3-如果不满足停止此算法的条件,请继续执行步骤4-9。
步骤4-对每个训练输入向量x遵循步骤5-6。
步骤5-计算j = 1到m和i = 1到n的欧几里德距离的平方
$$ D(j)\:= \:\ displaystyle \ sum \ limits_ {i = 1} ^ n \ displaystyle \ sum \ limits_ {j = 1} ^ m(x_ {i} \ :: \\:w_ {ij })^ 2 $$
步骤6-获得中奖单元J ,其中D(j)最小。
步骤7-通过以下关系式计算获胜单位的新权重-
如果T = C j,则$ w_ {j}(新)\:= \:w_ {j}(旧)\:+ \:\ alpha [x \:-\:w_ {j}(旧)] $
如果T≠C j,则$ w_ {j}(新)\:= \:w_ {j}(旧)\:-\:\ alpha [x \:-\:w_ {j}(旧)] $
步骤8-降低学习率$ \ alpha $。
步骤9-测试停止条件。可能如下-
Kohonen还开发了其他三个变体,即LVQ2,LVQ2.1和LVQ3。由于获胜者和亚军都将学习的概念,所有这三个变体的复杂性都比LVQ高。
如上所述,LVQ的其他变体的概念由窗口形成了LVQ2的条件。该窗口将基于以下参数-
x-当前输入向量
y c-最接近x的参考向量
y r-另一个参考向量,下一个最接近x
d c-从x到y c的距离
d r-从x到y r的距离
输入向量x落在窗口中,如果
$$ \ frac {d_ {c}} {d_ {r}} \:> \:1 \:-\:\ theta \:\:and \:\:\ frac {d_ {r}} {d_ {c }} \:> \:1 \:+ \:\ theta $$
在此,$ \ theta $是训练样本的数量。
可以使用以下公式进行更新-
$ y_ {c}(t \:+ \:1)\:= \:y_ {c}(t)\:+ \:\ alpha(t)[x(t)\:-\:y_ {c} (t)] $ (属于不同类别)
$ y_ {r}(t \:+ \:1)\:= \:y_ {r}(t)\:+ \:\ alpha(t)[x(t)\:-\:y_ {r} (t)] $ (属于同一班级)
这里$ \ alpha $是学习率。
在LVQ2.1中,我们将采用两个最接近的向量y c1和y c2,并且窗口的条件如下-
$$ Min \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}},\ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \:> \ 🙁 1 \ :-\:\ theta)$$
$$ Max \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}},\ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \:
可以使用以下公式进行更新-
$ y_ {c1}(t \:+ \:1)\:= \:y_ {c1}(t)\:+ \:\ alpha(t)[x(t)\:-\:y_ {c1} (t)] $ (属于不同类别)
$ y_ {c2}(t \:+ \:1)\:= \:y_ {c2}(t)\:+ \:\ alpha(t)[x(t)\:-\:y_ {c2} (t)] $ (属于同一班级)
这里,$ \ alpha $是学习率。
在LVQ3中,我们将采用两个最接近的向量y c1和y c2,并且窗口的条件如下-
$$ Min \ begin {bmatrix} \ frac {d_ {c1}} {d_ {c2}},\ frac {d_ {c2}} {d_ {c1}} \ end {bmatrix} \:> \ 🙁 1 \ :-\:\ theta)(1 \:+ \:\ theta)$$
此处$ \ theta \约0.2 $
可以使用以下公式进行更新-
$ y_ {c1}(t \:+ \:1)\:= \:y_ {c1}(t)\:+ \:\ beta(t)[x(t)\:-\:y_ {c1} (t)] $ (属于不同类别)
$ y_ {c2}(t \:+ \:1)\:= \:y_ {c2}(t)\:+ \:\ beta(t)[x(t)\:-\:y_ {c2} (t)] $ (属于同一班级)
这里$ \ beta $是每0.1