您的位置:首页 > 其它

LVQ,Learning Vector Quantization,学习向量量化

2017-09-29 22:38 846 查看


LVQ,Learning Vector Quantization,学习向量量化

LVQ需要数据样本带有类别标记,学习过程中需要利用这些监督信息来辅助聚类。 

接受代标记的数据集D和原型向量个数k,以及初始化的原型向量标记ti,ti∈Y,i=1,2,…,k,学习率参数η∈(0,1)。输出为原型向量q1,q2,…,qk。 

为更清晰的描述LVQ,我们假设样本集为

D={(x1,y1),(x2,y2),…,(xm,ym)}
每个样本均由 n个属性描述,即

xj=(xj1,xj2,…,xjn),yj∈Y,j=1,2,…,m
LVQ的学习目标是得到k 个n 维原型向量

q1,q2,…,qk

算法主要步骤包括:初始化原型向量;迭代优化,更新原型向量。 
具体来说,主要是: 
1、对原型向量初始化,可以选择满足yj=tj,j∈{1,2,…,m}条件的某个样本 xj=(xj1,xj2,…,xjn)作为 qj的初始值; 
2、从数据集D 中任意选择一个样本 xj,找到与此样本距离最近的原型向量,假设为qi ; 
3、如果xj的标记yj 与qi的标记ti相等,即 yj=ti,则令

q′=qi+η⋅(xj−qi)
否则,

q′=qi−η⋅(xj−qi)

4、更新原型向量:

qi=q′

5、判断是否达到最大迭代次数或者原型向量更新幅度小于某个阈值。如果是,则停止迭代,输出原型向量;否则,转至步骤2。 
其中步骤3和4的物理意义是:如果xj和最近的原型向量qi具有同样的类别标记,则令 qi向 xj的方向靠拢,且

dist(p′,xj)=(1−η)⋅dist(pi,xj)
否则,qi 远离 xj,且

dist(p′,xj)=(1+η)⋅dist(pi,xj)

得到原型向量后,即可实现对数据集D 的Voronoi
Diagram划分,每个原型向量对应着一片区域,此区域内的样本点就隶属于此原型向量所代表的聚类簇,也即每个样本被划入与之最近的原型向量所代表的聚类簇中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: