基于神经网络技术的发帖预测系统的制作方法

文档序号:9235732阅读:613来源:国知局
基于神经网络技术的发帖预测系统的制作方法
【技术领域】
[0001] 本发明涉及互联网论谈技术领域,尤其涉及基于神经网络技术的发贴预测系统。
【背景技术】
[0002] 由于网络发帖是有一个时间序列的特征,网络发贴时间序列具有经下的特点:
[0003] 趋势性:某个变量由于受到某些因素持续的影响,其时间序列表现为持续的上升 或者下降的总体变化趋势,可能是线性的,也可能是非线性的。如最近几年我国的经济增长 率,由于受到各种因素的影响,其表现为持续的增长。
[0004] 季节性:考虑的时间序列W-定时间为周期,随着自然季节的变化而出现明显的 季节性特征。如空调的销售,各种服装的销售等。
[0005] 周期性:比季节性更一般。时间序列随着一个时间段的变化呈现周期性。该样的 周期可W是年、月、日,甚至数十年。
[0006] 不规则性:包括时间序列变化的突然性和随机性。突然性的变动一般由于目前难 W预料的作用因素而引起的,其规律性或概率难W认识和推测。随机性变动则是可W利用 概率统计的方法进行描述的变动。
[0007] 传统的建模和预测方法已经广泛地应用,但并不适合非线性的时间序列。在鉴别 出时间序列性质W后,如果判定序列W随机性为主,则采用AR、ARM等模型来预测,如果判 定W非线性为主,则应采用非线性确定性的方法进行预测。非线性时间序列的预测是经过 相空间重构后,对相空间中的动力轨迹进行预报。在短时间内,该些动力轨迹有一定的规 律,他们的预测性是可获得的,并比一般的基于统计方法的预测能力要好。因此,可利用相 空间重构,进行短期预测。
[0008] 综上所述,本发明提出基于神经网络技术的发贴预测系统,W更好的实现对神经 网络发贴的预测。

【发明内容】

[0009] 本发明的目的是提供基于神经网络技术的发帖预测系统,实现产品数据及信息的 结构化、规范化,信息条理化、系统化,对数据和信息进行采集,并利用系统对信息和数据进 行多层次的浏览、查询处理,同时提供数据的深度分析和数据挖掘。
[0010] 本发明为解决其技术问题所采用的技术方案是,
[0011] 基于神经网络技术的发帖预测系统,该系统采用相空间重构来实现非线性时间序 列分析,系统采用基于J2邸平台的化owser/Server结构;该系统在结构上分为数据预处理 模块、预测分析管理模块、预测建模仿真接口软件;
[0012] 神经网络的基本处理单元是神经元,它一般是多输入单输出的非线性器件,其输 入输出关系可表示为:
[0013] 式中,xj (j=l,2,…,n)是神经元的输入信号;0 i为阀值;wji表示神经元j到神 经元i的连接权值;f为激活函数(又称传递函数),它必须连续可微,常用激活函数有线性 函数,s型的非线性函数,或具有任意阶导数的非线性函数,本文在发帖预测时采用s型函 数,S型函数中传递函数f(x)可表示为:
[0014]
[0015] 人工神经网络的学习也称为训练,指的是神经网络在受到外部环境刺激下调整神 经网络的参数,使神经网络W-种新的方式对外部环境做出反映的一个过程,人工神经网 络的学习方式可分为有导师学习、无导师学习和再励学习,本系统采用导师学习,也称监督 学习;
[0016] 本系统的具体原理和算法采用BP炬ack Propagation)算法,BP是一种有导师的 学习,BP算法在于利用输出后的误差来估计输出层的直接前导层的误差,再用该个误差估 计更前一层的误差,如此一层一层的反传下去,就获得了所有其它各层的误差估计,人们特 将此算法称为误差反向后传算法,简称BP算法,BP神经网络属于前向神经网络类型;
[0017] 数据预处理模块负责选择和清洗的跟踪分析预测系统提供的原始数据,选择发帖 预测过程中所需用到字段的数据,通过一些数据预处理的方法清洗数据,填补空缺值,检测 调整异常值,合并字段值等,并将处理后的新数据保留到预测数据库;
[0018] 预测分析管理模块是进行发帖预测的管理部分,负责维护预测分析的基础数据, 如预测评价指标,样本数据范围等,并将样本数据传递给预测仿真子系统,同时调用来自预 测仿真系统已经建好的预测模型,进行智能预测和分析,预测结果在此模块中通过信息发 布方式显示;
[0019] 预测建模仿真软件与预测分析管理模块通过J2EE标准编程接口连接,预测建模 仿真软件是一个可视化的神经网络建模仿真工具,主要负责神经网络的创建、训练及仿真 测试,经反复调整参数,对于经过训练并经测试符合要求的预测模型可W导出。
[0020] 进一步,BP的标准算法如下:
[0021] 为了算法描述的方便,先定义下面向量和变量:
[002引输入向量X=(Xi,X2,…,X。),隐含层输入向量hi=化ii,叫,Lhip),隐含层 输出向量ho=化01,h02,LhOp),输出层输入向量yi= (yi。5^2,L:yiq),输出层输出向量 yo=(y0i,y02,LyOq),期望输出向量d=(di,d2,Ld。),输入层与中间层的连接权值W&,隐含层 与输出层的连接权值Wh。,隐含层各神经元的阔值bh,输出层各神经元的阔值b。,样本数据个 数k=l,2,Lm;激活函数f(0
[002引 (1)网络初始化给wik、who、化和bo分别赋一个区间(-1,1)内的随机数,设定误 差函数
[0024]
[0025] 给定计算精度值e和最大学习次数M;
[002引 似随机选取第k个输入样本X似=(Xi化),X2化),L X。化))及对应的期望输出
[0027] d 化)=冲化),d2 化),L d。化))
[0028] (3)计算隐含层各神经元的输入hih化),然后用hih(k)和激活函数计算隐含层各 神经元的输出h〇h化)
[003引 (4)利用网络期望输出向量d化)=(di化),d2化),L d。似),网络的实际输出 yo。化),计算误差函数对输出层的各神经元的偏导数5。化)
[0034] 5 〇(k) = (d。似-yo。化))? yo〇(k) (1-yo。化))〇=1, 2, Lq
[003引妨利用隐含层到输出层的连接权值Wh。化)、输出层的5。似和隐含层的输出 h0h(k)计算误差函数对隐含层各神经元的偏导数5h(k)
[0036]
[0037] (6)利用输出层各神经元的5。化)和隐含层各神经元的输出h〇h(k)来修正连接 权值Wh。似和阔值b。似
[0040] 式中,N表示调整前,化1表示调整后,n为学习率,在(0,1)之间取值,学习率对 于神经网络训练至关重要,太低会导致训练时间过长,太高可能会引起训练误差摆动,难W 到达最优,选择正确的学习率意味着能得到好的训练结果;
[0041] (7)使用隐含层各神经元的5 h(k)和输入层各神经元的输入Xi化)修正连接权和 励值:
[0046] (9)判断网络误差是否满足要求当E< e或学习次数大于设定的最大次数M,则结 束算法,否则,随机选取下一个学习样本及对应的期望输出,返回到第3步,进入下一轮学 习过程。
[0047] 进一步,在BP神经网络中,误差函数是一个形状极其复杂的曲面,它有两个特点:
[0048] (1)存在一些较平坦的区域,在此区域内误差改变很小,收敛较慢,有些情况下,误 差曲面会出现一些阶梯状;
[0049] (2)存在不少局部的最小点,标准BP算法实质上是最速梯度下降法,它学习速度 慢,尤其在局部最优点附近收敛速度慢,易于陷入局部最小点,同时,由于误差函数只能按 单方向减小,网络很难跳出局部最小点;
[0050] 算法基本思想是使其每次迭代不再沿着单一的负梯度方向,而是允许误差沿着恶 化的方向进行搜索,同时通过在最速梯度下降法和高斯一牛顿法之间自适应调整来优化网 络权值,使网络能够有效收敛,提高了网络的收敛速度和泛化能力;
[0051] L-M优化算法,又称为阻尼最小二乘法,其权值调整公式为:
[0052] Aw=(jTj+y 1)-恥 [005引式中e误差向量;
[0054]J误差对权值微分的雅可比矩阵;
[00巧]y -个标量,当y增加时,它接近于具有较小的学习速率的最速下降法,当y下 降到0时,该算法就变成了高斯一牛顿法了
[0056] 因此,L-M算法是在最速梯度下降法和高斯一牛顿法之间的平滑调和;
[0057] L-M算法具体的迭代步骤为:
[0058] (1)将所有输入送到网络并计算出网络的输出,另用误差函数计算出训练集中所 有目标的误差平方和:
[0059] (2)计算出误差对权值微分的雅可比矩阵J:
[0060] 首先,定义Marquar化敏感度:
[0061]
[0062] 从上式可W看出,敏感度为误差函数E对m层输入的第i个元素变化的敏感性,其 中n为每层网络的加权和;
[0063] 敏感性的递推关系式为:
[0064]
[0065] 可见敏感性可由最后一层通过网络被反向传播到第一层:
[0066] S--S--1-A-S2-si
[0067] 然后,计算雅各比矩阵的元素:
[0068]
[0069] (3)求出 Aw;
[0070] (4)用w+Aw重复计算误差的平方和,如果新的和小于(1)中计算的和,则用y除 W 0 ( 0〉1),并有w=w+Aw,转(1);否则,用y乘W e,转(3),当误差平方和减小到某一 目标误差时,算法即被认为收敛。
[0071] 进一步,BP神经网络用于单变量时间序列预测方法:
[0072] 设一个单变量时间序列XI,x2,…,对它进行预测的前提是认为其未来值与其前面 的m个值之间有着某种函数关系,可描述如下:
[007引Xn+k=F (X。,Xn-i,A,X。-T)
[0074] 利用神经网络来拟合该种函数关系F( ?),并用它来推导未来的值,进行时间序列 预测的神经网络结构可W分为两种,一种是单步预测网络,一种是多步网络预测,单步预测 网络输出个数为1个,一次可计算一步的预测值,多步预测网络的输出个数不止一个而是 多个化个),每一次可计算出K步的预测值,在预测过程中,可将得到的预测值作为
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1