- Artificial Neural Network Tutorial
- Artificial Neural Network - Home
- Basic Concepts
- Building Blocks
- Learning & Adaptation
- Supervised Learning
- Unsupervised Learning
- Learning Vector Quantization
- Adaptive Resonance Theory
- Kohonen Self-Organizing Feature Maps
- Associate Memory Network
- Hopfield Networks
- Boltzmann Machine
- Brain-State-in-a-Box Network
- Optimization Using Hopfield Network
- Other Optimization Techniques
- Genetic Algorithm
- Applications of Neural Networks
- Artificial Neural Network Resources
- Quick Guide
- Useful Resources
- Discussion
学习矢量量化
学习向量量化(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 更复杂。
左室Q2
正如上面讨论的LVQ其他变体的概念,LVQ2的条件是由窗口形成的。该窗口将基于以下参数 -
x − 当前输入向量
y c - 最接近x 的参考向量
y r − 另一个参考向量,最接近x
dc − x到y c的距离
d r − x到y r的距离
输入向量x落在窗口内,如果
$$\frac{d_{c}}{d_{r}}\:>\:1\:-\:\theta\:\:和\:\:\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
在 LVQ2.1 中,我们将取两个最接近的向量,即y c1和y c2,窗口的条件如下 -
$$Min\begin{bmatrix}\frac{d_{c1}}{d_{c2}},\frac{d_{c2}}{d_{c1}}\end{bmatrix}\:>\:(1\ :-\:\θ)$$
$$Max\begin{bmatrix}\frac{d_{c1}}{d_{c2}},\frac{d_{c2}}{d_{c1}}\end{bmatrix}\:<\:(1\ :+\:\θ)$$
可以使用以下公式完成更新 -
$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$ 是学习率。
左室Q3
在 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$ 是学习率 $\alpha$ 和$\beta\:=\:m \alpha(t)$的倍数,对于每个0.1 < m < 0.5