基于神经网络的商业数据挖掘的分析与实现

2019-06-20 01:22徐枫陈辉
科技视界 2019年11期
关键词:网络爬虫BP神经网络数据挖掘

徐枫 陈辉

【摘 要】随着信息技术的发展以及数据库管理系统的广泛应用,作为系统数据支撑的数据库,其存储的数据量急剧增大。运用网络爬虫技术和BP神经网络技术,可以提取到这些海量的数据背后隐藏着的许多重要信息。本文阐述了一种网络爬虫技术和增加动量因子的BP神经网络算法在数据挖掘中的应用及实现方法。

【关键词】数据挖掘;网络爬虫;BP神经网络

中图分类号: TP399 文献标识码: A 文章编号: 2095-2457(2019)11-0240-002

DOI:10.19694/j.cnki.issn2095-2457.2019.11.115

【Abstract】With the development of information technology and the extensive application of database management system, the amount of data stored by database, which is the support of system data, increases dramatically. Using network reptile technology and BP neural network technology, we can extract many important information hidden behind these massive data. This paper describes the application and implementation of a network reptile technique and BP neural network algorithm to increase momentum factor in data mining.

【Key words】Data mining; Network Reptiles; BP neural network

1 数据挖掘技术

1.1 数据挖掘的概念

随着计算机技术的不断发展,数据库管理系统在各个行业得到广泛应用。随着数据库中存储的数据量的快速增长,从海量数据中挖掘提取可能有潜在价值信息的技术,称为数据挖掘。数据挖掘是一种新的商业信息处理技术,对商业数据库中的大量业务数据进行抽取、转换、分析处理,从中提取辅助商业决策的关键性数据。

1.2 商业数据挖掘的步骤

基于数据挖掘的商业问题的解决一般过程包括定义目标、选择数据、准备数据、选择及转换变量、处理模型、验证模型和实现模型这7个步骤。其中选择数据就是抽取商业信用业务历史数据样本,准备数据是对所选择的数据进行预处理,选择及转换变量就是选择初始变量进行模型的建立,处理模型、验证模型和实现模型就是通过建立数据挖掘模型,并根据处理后的结果改进模型方案,最后对实际应用中出现的新问题进行反馈的过程。当前数据挖掘过程中采用比较多的处理模型是人工神经网络技术,BP神经网络是人工神经网络技术中比较典型的一种网络结构,也是常用的数据挖掘技术之一。

2 商业数据的选择

本文介绍的商业模型以。为例,采用数据爬虫技术获取需要的商业数据,并存放在mysql数据库中,该业务实现过程采用python語言实现。

网络蜘蛛(Web spider)也叫网络爬虫(Web crawler),是一种“自动化浏览网络”的程序,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息。

2.1 网络爬虫的设计流程

首先通过URL获取说要爬取的页面的响应信息(Requests库的使用),然后使用python中的解析库来对response进行结构化解析(BeautifulSoup库的使用),随后对解析库的使用和对所需要的信息的定位从response中获取需要的数据(selecter和xpath的使用),并将数据组织成一定的格式进行保存,最后对数据库中的数据进行筛选和组织。

2.2 网络爬虫的设计实现

使用BeautifulSoup库对所需要的网页进行请求并解析返回的数据,典型的python代码是soup=BeautifulSoup(web_data.text, lxml);对爬取到的数据进行存储和初步的可视化显示,数据的存储使用文本数据库的方式。数据的可视化使用了HighCharts,可以直接在网页上显示出数据结果,链接数据库的代码为client=pymongo.MongoClient(localhost, 27017),可视化显示数据的代码为charts.plot(seroes,show=inline,options=dict(title=dict(text=最近7日的数据统计图)))。

3 人工神经网络

3.1 人工神经网络的含义

人工神经网络,简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或者计算模型。

3.2 BP神经网络

BP神经网络是目前为止最为成功的神经网络模型之一,其学习方式采用标准梯度下降的误差逆传播(error BackPropagation)的方式,基本BP神经网络为3层前馈神经网络。BP神经网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;同时网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;网络具有一定的推广、概括能力。

虽然BP神经网络具有以上优点,但是BP算法的缺点也是不可避免的,例如该网络学习速度很慢;从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败。

3.3 改进的BP神经网络算法

针对上述BP算法的缺陷,国内外已经有不少的改进算法,本文提出的增加关键因子的改进方法,该方法简单有效,效果也比较明显。

基本的BP算法在调整权值时,只按第n次迭代是误差的梯度下降方向调整,而没有考虑第n次迭代前的梯度方向,因此使得训练过程发生震荡,收敛速度较慢。为了提高训练速度,可以在权值调整時增加一个动量因子,具体实现方法是:将上一次权值调整量的一部分加到本次误差计算所得到的权值上,并作为本次实际权值调整量。增加动量因子后的公式为:

其中M为动量因子项,取值范围为(0,1),通常取0.9左右,ΔWij(n)为本次应得权值修正量,ΔWij(n-1)为上次应得权值修正量。增加了M项降低了网络对误差曲面局部调节的敏感性,进而有效避免网络陷入局部极值。

3.4 改进的BP神经网络数据挖掘的实现

BP算法的程序实现的主要步骤如下:

(1)用随机数对每一层的权值W和偏差B初始化,同时进行以下参数的设定和初始化,最大循环次数,期望误差最小值和修正权值的学习速率等。

(2)计算网络各层输出矢量y1和y2以及网络误差E,首先计算从输入层到隐层,然后再计算从隐层到输出层。

(3)计算各层反传的误差变化D1和D2并计算各层权值,同时对输入训练样本重新计算训练。按照增加动量因子的训练公式进行样本训练。

(4)检查网络踪误差是否小于期望的植,如果满足择训练结束。

常规BP算法与增加动量项算法的实验比较如图1所示。

4 结束语

本文提出了网络爬虫技术和增加动量项的BP神经网络技术在商务数据挖掘中的一般操作步骤和方法。网络爬虫技术对数据的获取带来了方便的操纵机制,再结合不同的数据库系统,能够对获取到的数据进行筛选和整合。而增加动量项的BP神经网络技术对于后续的数据分析提供了智能的数据挖掘手段,同时加入动量项的BP算法简单实用,具有很好的应用前景。

【参考文献】

[1]崔庆才.Python3网络爬虫开发实战[M].北京:人民邮电出版社,2018.

[2]韩力群.人工神经网络教程[M].北京:北京邮电大学出版社,2006.

[3]张良均.神经网络实用教程[M].北京:机械工业出版社,2008.

[4]王静为.BP神经网络改进算法的研究[J].中国水运,2008,8(1):157-158.

[5]彭玲玲,杨媛,周慧慧.一种基于改进的BP神经网络[J].科教导刊,2013,3(下):133-134.

作者简介:徐枫(1973—),男,汉族,安徽安庆人,浙江省杭州市浙江商业职业技术学院讲师,主要从事计算机软件设计开发研究。

陈辉(1973—),男,汉族,湖北武汉人,讲师,浙江省杭州市浙江商业职业技术学院讲师。主要从事计算机软件设计开发研究。

猜你喜欢
网络爬虫BP神经网络数据挖掘
基于并行计算的大数据挖掘在电网中的应用
炼铁厂铁量网页数据获取系统的设计与实现
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究