学习向量量化

学习向量量化 (LVQ) 不同于向量量化 (VQ) 和 Kohonen 自组织映射 (KSOM),它基本上是一个使用监督学习的竞争网络。我们可以将其定义为对模式进行分类的过程,其中每个输出单元代表一个类。由于它使用监督学习,网络将获得一组具有已知分类的训练模式以及输出类的初始分布。完成训练过程后,LVQ 将通过将输入向量分配给与输出单元相同的类来对其进行分类。

架构

下图显示了 LVQ 的架构,它与 KSOM 的架构非常相似。我们可以看到,有 "n" 个输入单元和 "m" 个输出单元。各层完全互连,并带有权重。

Layers

使用的参数

以下是 LVQ 训练过程以及流程图中使用的参数

  • x = 训练向量 (x1,...,xi,...,xn)

  • T = 训练向量 x

  • 的类别
  • wj = 第 j 个输出单元的权重向量

  • Cj = 与第 j 个输出单元

训练算法

步骤 1 − 初始化参考向量,可按如下方式完成 −

  • 步骤 1(a) − 从给定的训练向量集中,取出前"m"(聚类数)个训练向量并将其用作权重向量。其余向量可用于训练。

  • 步骤 1(b) − 随机分配初始权重和分类。

  • 步骤 1(c) − 应用 K 均值聚类方法。

步骤 2 −初始化参考向量 $\alpha$

步骤 3 − 如果停止此算法的条件不满足,则继续执行步骤 4-9。

步骤 4 − 对每个训练输入向量 x 执行步骤 5-6。

步骤 5 − 计算 j = 1 到 mi = 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 = Cj 则 $w_{j}(new)\:=\:w_{j}(old)\:+\:\alpha[x\:-\:w_{j}(old)]$

如果 T ≠ Cj 则 $w_{j}(new)\:=\:w_{j}(old)\:-\:\alpha[x\:-\:w_{j}(old)]$

步骤 8 −降低学习率$\alpha$。

步骤 9 − 测试停止条件。可能如下 −

  • 已达到最大 epoch 数。
  • 学习率降低到可忽略不计的值。

流程图

Flowchart

变体

Kohonen 开发了其他三个变体,即 LVQ2、LVQ2.1 和 LVQ3。由于获胜者和亚军单元都将学习的概念,这三个变体的复杂性都高于 LVQ。

LVQ2

如上文所述,LVQ 的其他变体概念,LVQ2 的条件由窗口形成。此窗口将基于以下参数 −

  • x − 当前输入向量

  • yc − 最接近 x

  • 的参考向量
  • yr − 下一个最接近 x

  • 的另一个参考向量
  • dc − 从 xyc

  • 的距离
  • dr −从 xyr

如果输入向量 x 落在窗口中,则

$$\frac{d_{c}}{d_{r}}\:>\:1\:-\: heta\:\:and\:\:\frac{d_{r}}{d_{c}}\:>\:1\:+\: heta$$

这里,$ heta$ 是训练样本的数量。

可以使用以下公式 − 进行更新

$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 中,我们将取两个最接近的向量,即 yc1yc2,窗口条件如下−

$$Min\begin{bmatrix}\frac{d_{c1}}{d_{c2}},\frac{d_{c2}}{d_{c1}}\end{bmatrix}\:>\:(1\:-\: heta)$$

$$Max\begin{bmatrix}\frac{d_{c1}}{d_{c2}},\frac{d_{c2}}{d_{c1}}\end{bmatrix}\:<\:(1\:+\: heta)$$

可以使用以下公式进行更新 −

$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

在 LVQ3 中,我们将取两个最接近的向量,即 yc1yc2 并且窗口的条件如下 −

$$Min\begin{bmatrix}\frac{d_{c1}}{d_{c2}},\frac{d_{c2}}{d_{c1}}\end{bmatrix}\:>\:(1\:-\: heta)(1\:+\: heta)$$

这里 $ heta\approx 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$ 的倍数,对于每 0.1 < m < 0.5

,$\beta\:=\:m \alpha(t)$