-
Time: 2021-03-15
-
GNG
-
理解矢量量化(https://blog.csdn.net/qq_16234613/article/details/79991191)
-
概念:信号压缩方法:将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损失多少信息。
-
难点:难点在于它要要解决一个多维积分(multi-dimensional integration)的问题
-
例子:
-
二维为例:
image
我们用蓝色实线将这张图划分为16个区域。任意的一对数(也就是横轴x和纵轴y组成的任意的一个坐标点(x, y))都会落到上面这张图中的某一特定区域。然后它就会被该区域的红星的点近似。这里有16块不同区域,就是16个红星点。然后这16个值就可以用4位的二进制码来编码表示(2^4=16)。因此,这是个2-dimensional, 4-bit VQ,它的速率同样是2bits/dimension。上面这些红星点就是量化矢量,表示图中的任意一个点都可以量化为这16个矢量中的其中一个。
-
设计问题(写出优化目标)
-
优化准则
-
LBG算法(迭代)
-
二维为例:
image
-
-
论文阅读(A Growing Neural Gas Network Learns Topologies)、
-
摘要
-
输入:一组向量
-
输出:向量的拓扑结构
-
学习方式:类似于赫布理论的学习方式
-
-
算法步骤
-
0 初始化两个结点
-
1 输入一个信号
-
2 找到最近的结点k和次近的结点p
-
3 最近结点的边的年龄增加1
-
4 计算最近点k和输入信号的距离误差
-
5 将结点k和k的邻居向输入信号的方向移动
-
6 如果k,p有边,令边的年龄为0;没有边创建边
-
7 删除超过年龄最大值的边;并且删除度为0的结点
-
8 生成新的结点r
-
a 设置输入多少数据产生新的结点;找到累计误差最大的结点q
-
b 在结点q和q的邻居(f误差最大)插入一个结点r
-
c 创建新的结点,并且连接边,删除原来的边
-
d 减小结点q和f的误差(乘上参数)
-
-
9 减小所有的结点误差(乘上参数)
-
10 设置循环结束的条件可以是数据的轮数,也可是结点的大小
-
-
模型的参数如下:
- e_b=0.1, e_n=0.006, a_max=10, l=200, a=0.5, d=0.995, passes=8,num_node=100
e_b表示获胜的神经元移动的学习率
e_n表示获胜的神经元的邻居移动的学习率
a_max表示神经元连接的年龄
l表示什么时候增加新的units
a减少误差变量
d减小所有unit误差变量
passes训练次数
num_node网络结点的个数
- e_b=0.1, e_n=0.006, a_max=10, l=200, a=0.5, d=0.995, passes=8,num_node=100
-
-
网友评论