基于粒子分类与bp神经网络的移动通信用户流失预测方法

文档序号:9708836阅读:495来源:国知局
基于粒子分类与bp神经网络的移动通信用户流失预测方法
【技术领域】
[0001] 本发明涉及大数据以及人工智能领域,具体涉及一种基于粒子分类与BP神经网络 的移动通信用户流失预测方法。
【背景技术】
[0002] 如今,人们的生活几乎离不开手机。因为手机所提供服务越来越多,移动运营商之 间的相互竞争也变得更加激烈。很难想象的处理每个月几亿手机用户所生成的数据,更不 用说从如此庞大的数据中提取有用的信息数据集对用户流失进行预测。移动通信用户流失 预测,对移动通信网络制定适当的营销策略非常关键,只有将要流失的用户准确地预测出 来,才能制定适当的营销策略,挽回将流失的用户,取得最佳的效益,提高移动通信的营销 业绩。因此用户流失预测已被广泛讨论,并提出了许多对用户流失预测的方法。贝叶斯网 络、支持向量机、决策树以及随机森林等一些预测方法也都被应用到移动通信用户流失预 测中。但这些方法应用到大数据分类预测的时候,具有很高的时间和空间复杂度,通常在搭 建预测模型的时候仅是通过对小量数据进行分析,搭建的模型很难描述所有用户的特征, 在用户流失预测的问题上难免会有错误判断。

【发明内容】

[0003] 针对现有技术存在的不足,本发明的目的是提供基于粒子分类与BP神经网络的移 动通信用户流失预测方法,以满足在大数据环境下提高移动用户流失预测准确率的需求。
[0004] 本发明的技术方案:
[0005] -种基于粒子分类与BP神经网络的移动通信用户流失预测方法,包括以下步骤:
[0006] 步骤1:采集移动用户的通信记录数据;
[0007] 步骤2:数据预处理,得到所需的样本数据集;
[0008] 步骤2.1:基于移动用户的通信记录数据,以月为单位,按照下述7种属性类别对移 动用户的通信情况进行统计:(1)月通话时长;(2)月通话次数;(3)月基本费用;(4)月主被 叫比例;(5)入网时间;(6)月掉话次数;(7)月长途费用;
[0009] 步骤2.2:对所采集的移动用户的通信记录数据进行取样,去掉噪声数据,得到所 需的样本数据集;
[0010] 步骤2.3:对所述数据集中的数据进行归一化处理,将数据限制在0到1的范围内;
[0011] 步骤3:建立BP神经网络结构;
[0012]步骤4:基于改进的粒子群优化算法PS0初始化所述BP神经网络的权值矩阵和阈值 矩阵,包括输入层到隐层的权值矩阵、隐层到输出层的权值矩阵、隐层的阈值矩阵和输出层 的阈值矩阵;
[0013] 假设种群中有N个粒子,则种群中的每个粒子都对应着一个BP神经网络,每个粒子 的位置向量都会拆解成该粒子所对应的BP神经网络的权值矩阵和阈值矩阵;根据所述BP神 经网络结构计算出每个粒子位置向量的维度D =输入层神经元个数*隐层神经元个数+隐层 神经元个数*输出层神经元个数+隐层神经元个数+输出层神经元个数;在D维空间中,将第i 个粒子的位置向量表示为乂1=(111,112,...,11〇)1'、第:[个粒子的速度向量可以表示为\^ = (Vil,Vi2, · · ·,ViD)T、第i个粒子当前所发现的最好位置表示为Pi=(Pil,Pi2, · · ·,PiD)T、种群 当前所发现的最好位置表示SPg=(pgl,p g2,...,pgD)T以及第i个粒子的适应度表示为fit (Xi);
[0014] 步骤4.1:根据粒子的适应度对种群内粒子进行分类;
[0015] 将种群内拥有最好适应度的1/3粒子作为引导粒子、拥有最差适应度的1/3粒子作 为饥饿粒子、其他1/3粒子作为普通粒子;
[0016] 步骤4.2:对种群内不同种类的粒子进行速度更新;
[0017] 1)引导粒子的速度更新公式为:
[0018]
C2)
[0019] 其中if为第k次迭代时第i个粒子(此处为引导粒子)的速度;为第k-Ι次迭代 时第i个粒子(此处为引导粒子)的速度;X广为第k-Ι次迭代时第i个粒子(此处为引导粒 子)的位置;以~2为第k_2次迭代时第i个粒子(此处为引导粒子)的速度;if 1为第i个粒子 (此处为引导粒子)在第k-Ι次迭代后所发现的最好位置,if1为种群在第k-Ι次迭代后所发 现的最好位置;cdPc2是两个大于0的常量,通常叫做学习因子或者加速因子,C1用来调整粒 子飞向自己当前最好位置的步长,C2用来调整粒子飞向种群当前最好位置的步长;^和^是 两个取值在[0,1]区间的随机数;ω为惯性权重;其中变量E h用来计算一个引导粒子受其周 围普通粒子影响的程度,其计算公式如下所示:
[0020]
[0021 ] C是引导粒子邻近范围内普通粒子的个数;fitHl是该引导粒子邻近范围内的某个 普通粒子的适应度,distHl是这个普通粒子到该引导粒子的欧几里得距离;f itbest是该引导 粒子的适应度;f是sigmoid函数,用来将普通粒子对该引导粒子的影响控制在[0,1]的范围 内。
[0022] 2)普通粒子的速度更新公式如下所示:
[0023]
(4)
[0024] 其中if为第k次迭代时第i个粒子(此处为普通粒子)的速度;为第k-Ι次迭代 时第i个粒子(此处为普通粒子)的速度;it1表示第k_l次迭代时,第i个普通粒子周围的引 导粒子的d维分量;表示第k-Ι次迭代时,第i个普通粒子的d维分量;
[0025] 3)饥饿粒子的速度更新公式和现有PS0算法中粒子速度更新公式相同,如公式(6) 所示:
[0026:
[0027] 其中0为第k次迭代时第i个粒子(此处为饥饿粒子)的速度;if-1为第k_l次迭代 时第i个粒子(此处为饥饿粒子)的速度;表示在第k-Ι次迭代第i个粒子(此处为饥饿粒 子)的位置向量;if1为种群在第k_l次迭代后所发现的最好位置;if1为第i个粒子(此处为 饥饿粒子)在第k-Ι次迭代后所发现的最好位置;
[0028] 步骤4.3:根据更新后的粒子速度,进行粒子位置更新;
[0029] 粒子位置更新公式采用现有PS0算法中的位置更新公式;
[0030]
[0031] 其中Zf表示在第k次迭代第i个粒子的的位置向量;
[0032]步骤4.4:将粒子位置向量中的元素按顺序依次分配到BP神经网络的输入层到隐 层的权值矩阵、隐层到输出层的权值矩阵、隐层的阈值矩阵和输出层的阈值矩阵;其中输入 层到隐层的权值矩阵的元素个数为输入层神经元个数*隐层神经元个数;隐层到输出层的 权值矩阵的元素个数为隐层神经元个数*输出层神经元个数;隐层的阈值矩阵的元素个数 为隐层神经元个数;输出层的阈值矩阵的元素个数为输出层神经元个数;
[0033] 步骤4.5:计算粒子适应度;
[0034] 步骤4.6:判断种群当前的最好粒子适应度是否达到预设值或者迭代过程是否达 到预设的最大迭代次数,是,则转至步骤5,否,则转至步骤4.1,继续迭代过程;
[0035] 步骤5:利用步骤2得到的数据集,对步骤4中得到的具有最好适应度的粒子对应的 BP神经网络进行训练,得到移动通信用户流失模型;
[0036] 步骤6:利用移动通信用户流失模型进行移动通信用户流失预测。
[0037] 根据所述的基于粒子分类与BP神经网络的移动通信用户流失预测方法,所述步骤 3所述的BP神经网络结构是以所述7种属性类别数据作为网络的输入,以所要得到的移动通 信用户流失状态为输出构建的;即该BP神经网络的输入层神经元为7个,输出层神经元为1 个;另外隐层神经元设置为8个;所述移动通信用户流失状态包括流失和没有
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1