基于PSO对NB算法进行加权改进的研究

第一章

本章节主要阐述如何使用粒子群优化算法对朴素贝叶斯分类进行改进,主要内容包括问题的提出、朴素贝叶斯分类和粒子群优化的介绍、改进算法的详细设计以及测试结果。

1.1问题提出

加权朴素贝叶斯分类的一个重要问题就是如何确定其权值。粒子群优化作为一种群体智能算法,可以通过演化找到非线性最优化问题的解,并且它思路简单,计算开销较小,加入变异机制减小陷入局部最优的几率后后,我认为比较适合用于确定权值。另外,粒子群算法中需要一个比较最优值的适应度函数,我采用分类的正确率当作指标,将正确率的数值作为适应度函数的返回结果,以此来判断最优值。这样,只要将朴素贝叶斯的权值的确定看作一个最优化问题,就可以利用粒子群优化算法,快速的获得某个数据集的最优权值。本文中,我在weka平台上进行代码的实现,数据集采用weka中自带的多组数据集进行实验。

实现过程中的难点,主要在于如何将朴素贝叶斯分类算法和粒子群优化算法相结合,以及确定适合的粒子群算法,来避免局部最优解等。本文在后面将依次进行阐述。

1.2朴素贝叶斯分类介绍

朴素贝叶斯分类算法是基于贝叶斯定理与特征条件独立假设的分类方法。贝叶斯定理的公式如下。贝叶斯公式为,该公式之所以经典,是因为我们往往可以很容易算出P(A|B),但P(B|A)则很难直接得出,贝叶斯定理就为我们提供了一个根据P(A|B)获得P(B|A)的方法。而朴素贝叶斯分类的基础思想非常简洁,就是对于某个给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。再根据贝叶斯定理和特征条件独立假设,去除分母后可以得到公式如下。

 其中c表示类别,a表示属性。利用该公式就可以实现朴素贝叶斯分类器。

1.3粒子群优化算法介绍

粒子群优化算法源于对一个简化鸟群的模拟。算法中的每个粒子可视为N维搜索空间中的一个搜索个体,粒子有两个属性:速度和位置。粒子的当前位置即为对应优化问题的一个候选解,粒子的飞行过程即为该个体的搜索过程。粒子的飞行速度可根据粒子历史最优位置和种群历史最优位置进行动态调整。飞行速度和位置的更新公式如下。

其中w为惯性系数,C1为个体经验系数,C2为社会经验系数。Pid为每个粒子单独搜寻的最优解,即个体极值,Pgd为粒子群中最优的个体极值,即当前的全局最优解。算法通过不断迭代,更新速度和位置。最终得到满足终止条件的最优解。

1.4基于变异粒子群优化的加权朴素贝叶斯分类算法

1.4.1算法原理

传统的朴素贝叶斯将属性赋予权值可以消弱独立性,权值公式如下。

       其中wi为权值,一组权值即为一个粒子的位置。之所以以次幂的形式对P(ai|c)赋予权值,是因为如果以乘法的形式,则C中的每一项所乘的值相同,对分类结果没有作用。

       将以该公式得到分类正确率作为每个粒子的适应值,然后通过粒子群进行搜索得到最优权值,就是该算法的核心思想

1.4.2算法流程

设计该算法的流程时,应该尽量降低其时间复杂度,图1.1为我目前设计的算法流程。

1-1算法流程

1.4.3详细设计

该部分内容包括朴素贝叶斯、改进后的全局数据结构和改进算法各个步骤的核心实现。

(1)朴素贝叶斯的实现

先创建一个分类器类,并创建全

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值