基于神经网络的数据库优化查询方法研究

龙源期刊网 http://www.qikan.com.cn

基于神经网络的数据库优化查询方法研究

作者:樊红珍

来源:《电脑知识与技术》2017年第04期

摘要:通过对云存储数据库查询过程的原理进行研究,该文提出的基于神经网络的数据库优化查询方法主要通过对云存储数据的关键词进行相似度对比,利用神经网络算法对查询数据样本进行记忆训练,通过对查询关键字进行数据匹配,最终实现数据的准确查询。为了测试该文设计的基于神经网络的数据库优化查询方法的可行性及准确性能,作者在完成了模型构建后,Matlab软件中构建实验场景,模拟数据库检索过程,完成了对查询方法进行测试验证。仿真结果表明,该文提出的基于神经网络的数据库优化查询方法的准确率高达99.3%,具有较高的检索精度及稳定性。

关键字:BP神经网络; 数据库; 查询;准确度

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)04-0001-03

神经网络系统是根据人体神经系统的基本原理构建的,其在一定程度上实现了记忆和训练过程[1-2]。此项功能体现了神经网络与传统计算机算法存在的根本差异,其具备在线学习、自调节以及自适应性,同时具备信息的分布式信息存储特性。正是由于神经网络的学习特性,使其在联想记忆、数据非线性映射、在线学习模型构建、数据信息分类与识别等领域具有了广泛的应用空间。

在云数据应用时代,存储系统的应用领域及使用者的范围不断扩大[6],用户呈指数倍的增长使得数据的存储容量不断增长,用户访问数据库的频繁程度也将持续增加,这对存储系统数据库访问的吞吐量性能提出了更高的要求,也对数据查询的效率得出了更加严格的标准。 本文提出的基于神经网络的数据库优化查询方法主要通过对云存储数据的关键词进行相似度对比,利用神经网络算法对查询数据样本进行记忆训练,通过对查询关键字进行数据匹配,最终实现数据的准确查询。为了测试本文设计的基于神经网络的数据库优化查询方法的可行性及准确性能,作者在完成了模型构建后,Matlab软件中构建实验场景,模拟数据库检索过程,完成了对查询方法进行测试验证。 1 神经网络模型的建立 1.1 BP神经网络处理单元模型

为了不失一般性,选取BP神经网络的任意两层介绍其处理单元的数学模型。BP神经网络处理单元的结果如图1所示,其中,L1层的[n]个神经元和L2层的[p]个神经元进行全连接,定义连接权向量为[W={wij},i=1,2,…,n,j=1,2,…,p];L1层的[n]个神经元的输出作

龙源期刊网 http://www.qikan.com.cn

为L2层各神经元的输入列向量[X=(x1,…,xi,…,xn)T],L2层各个神经元的阈值设置为[θj,j=1,2,…,p],因此,L2层各神经元接收的输入加权和如下式所示[3-4]:

L2层各神经元的输出结果利用转移函数进行计算。一般情况下,BP神经网络将Sigmoid函数作为转移函数。Sigmoid函数的数学表达式为: 因此,L2层各个处理单元的输出为:

由于Sigmoid函数的输出类似于本文设计的神经网络的信号输出形式,本文设计的模型采用Sigmoid函数作为系统的转移函数,其能够准确描述数据检索过程中的非线性特性水平[5-6]。

1.2 BP神经网络学习算法

本文的无线通信选择机制采用三层BP神经网络结果,具体学习算法如下所述: 输入模式向量设为[Xk=(x1k,…,xik,…,xnk)T],[k=1,2,…,m],其中[m]表示样本模式对个数,[n]表示输入层神经元数量;输入模式对应的期望输出向量为[Yk=

(y1k,…,yik,…,yqk)T],隐含层神经元的净输入向量设置为[Sk=(s1k,…,sik,…,spk)T],输出向量设置为[Bk=(b1k,…,bik,…,bpk)T],[q]表示输出层单元数量,[p]表示隐含层单元个数;输出层神经元净输入向量设置为[Lk=(l1k,…,lik,…,lqk)T],实际输出向量设置为[Ck=(c1k,…,cik,…,cqk)T];输入层神经元至隐含层神经元的连接权值设置为[W={wij}],其中,[i=1,2,…,n,j=1,2,…,p]隐含层至输出层的连接权值设置为[V={vjt}],隐含层神经元的阈值设置为[θ={θj},j=1,2,…,p],输出层各神经元的阈值设置为[γ={γt},t=1,2,…,q]。

(1)初始化操作。将连接权值矩阵[W]、[V]及阈值[θ]、[γ]在[[-1,+1]]区间内进行随机取值。

(2)随机从训练集合中选取一个学习模式对[(Xk,Yk)]作为BP神经网络的输入。 (3)输入层的输出的计算。输入层的各神经元不对输入模式进行任何处理,而是直接将接收到的数据关键词直接输出到隐含层各神经元,不做任何的数据处理。 (4)根据下式求得隐含层各处理单元的净输入和净输出: (5)根据下式求得各输出层神经元的净输入和实际输出:

(6)根据设定的期望输出,通过下式求得各输出层神经元的校正误差[dkt],

龙源期刊网 http://www.qikan.com.cn

(7)根据下式得出隐含层各神经处理单元的校正误差[ekj],

(8)根据下式调整隐含层至输出层的连接权值[V]和输出层神经元阈值[γ], [α]表示学习速率,[0

(9)根据下式调整输入层至隐含层神经元的连接权值[W]和输出层神经元阈值[θ], [β]表示学习速率,[0

(10)为BP神经网络随机输入下一个学习模式对,返回(3)处,直至训练完成[m]个学习模式对。

(11)对系统的全局误差[E]进行判断,查看其是否满足神经网络设定的精度需求。如果 [E≤ε],这说明满足结束条件,结束学习过程,如果未满足,则继续学习。 (12)更新神经网络学习次数,如果未达到设定的学习次数,则返回Step2。 (13)BP神经网络学习过程结束。

在整个神经网络的学习阶段中,分别涵盖了输入模式的“顺传播过程”,全局误差的“逆传播过程”以及“学习记忆训练”过程,(11)至(12)表示是收敛过程。全局误差[E]的理想学习曲线如图2所示。

为了减小震荡,加快网络的记忆训练速度,作者在对连接权值进行调整时,在改变量基础上添加一定比例的权值改变值,称之为动量项。则附加动量项的连接权值调整方法如下式所示:

式中,[ηΔwij(n-1)]代表动量项,其中[n]为学习次数,[η]作为动量系数,[0

加入动量项的本质目的是使控制学习过程的学习速率[β]不仅仅是一个固定值,而是能够持续变化的。在引入动量项后,网络总是试图使连接权值的调整按照相同方向进行,即使前后两次连接权值的调整值方向相反,也能够降低震荡趋势,加快学习记忆速度,以及网络收敛速度[7]。

通常来说,动量系数的取值不宜过大。若动量系数过大,动量项所占比例过重,则本次误差修正项的作用会不太明显,以致完全没有作用,反而会减慢收敛速度,甚至导致整个网络震荡。一般情况下,动量系数的最大值在0.9作用,本文取值为0.6。 2 数据库查询方法测试

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4