一种基于粒子群算法的多标签分类方法

文档序号:9274736阅读:1062来源:国知局
一种基于粒子群算法的多标签分类方法
【技术领域】
[0001] 本发明属于多标签分类技术领域,具体涉及一种基于粒子群算法的多标签分类方 法。
【背景技术】
[0002] 多标签分类问题的研宄是被文本分类推动的,现代,许多实际应用都是多标签分 类问题,比如场景分类、蛋白质功能分析、电影分类和音乐归类。多标签数据集中的样本拥 有多个标签,怎样建立和求解这样的最优化问题是要解决的重要问题。算法的实现虽有一 定的难度,但其优点是它没有改变数据集的结构,没有破坏类别之间的关联关系,反映了多 标签分类的特殊性质。根据建立最优化问题的不同方法,该算法也可以分成多种不同的形 式,如:基于Adaboost算法的多标签分类算法、使用决策树方法扩展的多标签分类算法、多 标签支持向量机算法、多标签k近邻算法(KNN算法)、多标签最大化摘算法。但是这些算法 会由于特征值的冗余或不相关而造成计算误差。

【发明内容】

[0003] 本发明目的之一在于为克服现有技术的缺陷,提供了一种精确度高的基于粒子群 算法的多标签分类方法。
[0004] 本发明提供的一种基于粒子群算法的多标签分类方法,包括优化阶段和分类阶 段:
[0005] S10 :优化阶段是采用粒子群算法优化特征加权KNN算法的特征权值,具体包括如 下步骤:
[0006] S11 :采用随机方法初始化粒子群,每个粒子的位置和速度的维度为n,其位置对 应数据集中一条记录的特征权值向量w= (Wi,W2,? ? ?,wn):其中有 n
[0007] Zw/ = 1 :
[0008] S12 :计算适应值,进而求出局部最优解和全局最优解:
[0009] 在计算适应值时,将粒子的位置即特征权值应用到特征加权KNN算法中,将原训 练样本集中前70%当做新的训练样本,后30%当做新的预测样本集,对此预测样本集进行 分类,算出分类的准确度,准确度越高越符合适应值;
[0010] 预测样本集每条记录的原始标签为li = (lil,li2, ? ? ?,lin),分类过后的预 测标签为lj = (ljl, lj2, ? ? ?,ljn),li与1」与重合个数为sum,那么准确率Accruay = sum/n ;
[0011] S20:分类阶段:
[0012] 将优化阶段得出的特征权值应用到特征加权KNN算法中给测试样本X进行分类, 最终输出测试集中所有样本的标签,即分类完成。
[0013] 进一步的,所述粒子群算法包括如下步骤:
[0014] SA1 :初始化微粒群,其中包括初始化整个粒子群的位置xi = (xn, xi2, ? ? ? xid) T和速度vi= (vn,vi2, ? ? 及局部最优和整体最优,其中id表示第i代中第d个 粒子。
[0015] SA2:计算每个粒子在当前位置处的适应度值fitnessid= f (x id)。然后根据适应 度值的大小,初始化局部最优解pbesti= fitness i和整体最优解gbest = min(fintess ^ f itness2, ? ? ? , fitnessN), i = 1, 2, ? ? ?,N ;
[0016] SA3 :在每次迭代过程中,每个粒子根据以下准则来更新自己的位置和速度
[0017] vid (t+1) = wvid (t) +0^! (pld-xid (t)) +c2r2 (pgd-xid (t))
[0018] xid(t+l) = xid(t)+vid(t+l)
[0019] 其中vid为粒子的速度,x 1(1为粒子的位置,w为惯性权重,cl和c2为加速度系数, rdP r 2是随机数,P ld为全局最优解而P gd为局部最优解;
[0020] SA4 :更新局部最优解pbesti和整体最优解gbest ;
[0021] SA5 :如果整体最优解gbest达到设定的阈值或者已经达到最大迭代次数,算法即 可终止计算;否则跳转至步骤SA3。
[0022] 进一步的,所述特征加权KNN算法具体包括如下步骤:
[0023] SB 1 :输入m个训练样本,并设定k值大小;
[0024] SB2:先随机选择训练集中的A[l]~A[k]样本作为待预测样本X的k个初始最邻 近节点;
[0025] SB3:计算待预测样本X与每个初始k个最邻近节点的加权欧几里得距离 wd(X, A[i]), i = 1, 2,....., k),计算距离公式为:
[0026]
[0027]其中 n 表示样本 A[i]属性个数,即 A[i] = (A[i]l,A[i]2,A[i]3, ? ? ? A[i]n);
[0028] SB4:将所述步骤SB3中求得到的距离wd (X,A[i])按升序排序,求得距离 wd(X,A[i])的最远距离 maxD = max{d(X,A[i]) | i = 1,2,....., k};
[0029] SB5 :依次计算训练集中剩下记录与待测样本X的距离,并与所述步骤SB4中求得 的最远距离maxD相比,若比最远距离maxD小,则将最远距离maxD更新为该记录与待测样 本X的距离值,并且再按升序对距离wd(X,A [i])排序;
[0030] SB6 :计算出现在距离wd(X,A[i])序列中的每条记录的标签的出现次数,并按照 出现次数的高低排序;
[0031] SB7 :将所述步骤SB6中排序得到的前L个标签作为样本X的标签。
[0032] 本发明的有益效果在于,本方法能够找到最优的特征权值来消除数据集中的特征 (计算距离时是指属性值)的冗余或是不相关,从而减少了距离偏差,提高了分类的准确 度。
【附图说明】
[0033] 图1所示为本发明基于粒子群算法的多标签分类方法流程图。
【具体实施方式】
[0034] 下文将结合具体实施例详细描述本发明。应当注意的是,下述实施例中描述的技 术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的 技术效果。
[0035] 如图1所示,本发明提供的一种基于粒子群算法的多标签分类方法包括优化阶段 和分类阶段:
[0036] 优化阶段是采用粒子群(Particle Swarm Optimization,PSO)算法优化特征加权 KNN算法的特征权值,具体步骤如下:
[0037] S10 :优化阶段是采用粒子群算法优化特征加权KNN算法的特征权值,具体包括如 下步骤:
[0038] S11 :采用随机方法初始化粒子群,每个粒子的位置和速度的维度为n,其位置对 应数据集中一条记录的特征权值向量w= (Wi,W2,? ? ?,wn):其中有
[0039]
[0040] S12:计算适应值,进而求出局部最优解和全局最优解:
[0041] 在计算适应值时,将粒子的位置即特征权值应用到特征加权KNN算法中,将原训 练样本集中前70%当做新的训练样本,后30%当做新的预测样本集,对此预测样本集进行 分类,算出分类的准确度,准确度越高越符合适应值;
[0042]预测样本集每条记录的原始标签为li = (lil,li2, ? ? ?,lin),分类过后的预 测标签为lj = (ljl, lj2, ? ? ?,ljn),li与1」与重合个数为sum,那么准确率Accruay = sum/n ;
[0043] S20 :分类阶段:
[0044] 将优化阶段得出的特征权值应用到特征加权KNN算法中给测试样本X进行分类, 最终输出测试集中所有样本的标签,完成分类。
[0045] 粒子群算法是属于演化算法的一种,是一种基于迭代的优化算法,系统初始 化为一组随机解,通过迭代搜寻最优值。但是它没有使用交叉(crossover)以及变异 (mutation),而是粒子在解空间追随最优的粒子进行搜索,PS0的优势在于简单容易实现并 且没有许多参数需要调整。它的每个粒子群里都有很多粒子,每个粒子都有它的位置x和 速度v两个变量,每产生一代新的粒子群里都有一个粒子的位置最好,这个粒子就是这一 代的局部最优解pbestp从局部最优解中产生全局最优解gbest。
[0046] 粒子群算法包括如下步骤:
[0047] SA1 :初始化微粒群,其中包括初始化整个粒子群的位置xi=(xn, xi2,? ? ?xid) T和速度vi= (vn,vi2, ? ? 及局部最优和整体最优,其中id表示第i代中第d个 粒子。
[0048] SA2 :计算每个粒子在当前位置处的适应度值fitnessid= f (x id)。然后根据适应 度值的大小,初始化局部最优解pbesti= fitness i和整体最优解gbest = min(fintess ^ f itness2, ? ? ? , fitnessN), i = 1, 2, ? ? ?,N〇
[0049] SA3 :在每次迭代过程中,每个粒子根据以下准则来更新自己的位置和速度:
[0050] vid (t+1) = wvid (t) (pld-xid (t)) +c2r2 (pgd-xid (t))
[0051] xid(t+l) = xid(t)+
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1