发明内容
本发明的目的是结合目前应用效果较好的Apriori智能算法以及半学习式的BP神经网络算法对智慧商场的商品信息进行智能挖掘与分析方法。有效实现商品货柜位置摆放的优化以及商品销售量的预测的功能,为商场提供更多更可靠的参考信息。
本发明提供了一种结合并实现多种智能算法的智慧商场信息系统。
本发明所采用的技术方案是:
1、智能商业信息系统,其特点是,按以下定义和步骤实施:
定义:
定义1:定义D为事物数据项集,是消费者购物数据的总和;
定义2:定义L1’项集为D所包含的所有的销售记录中不重复的包含一种商品的项集;
定义3:支持度(Support)指A和B两个项集的并集A∪B在D中出现的概率P(AUB),即
;
定义4:置信度(Confidence)表示事务数据库D在包含A的事务的前提下同时也包含B的概率P(B|A),即
\*MERGEFORMAT;
定义5:定义L1为一维频繁项集,指支持度不小于用户给定的最小支持度阈值(minsup)的项集,1维频繁项集记为L1,以此类推,n维频繁项集记为Ln;
定义6:定义训练集\*MERGEFORMAT,表示若干组销售量数据与对应月份所组成的集合;
定义7:在向前的多层前馈网络中
\*MERGEFORMAT
定义8:在后向传播中,有
\*MERGEFORMAT
定义9:均方误差e的结果由均方函数求得,其中,均方函数:,输出维度为1;
定义10:梯度下降法更新权值时,
\*MERGEFORMAT
步骤1:从本地SD卡获得事务数据项集D;
步骤2:打开软件运行,导入购物数据置软件中,通过用户输入的自定义值,为阈值sup;
步骤3:系统软件运用Apirori算法对事务数据项集D进行频繁项集的发现,并对频繁项集中项目的推荐度进行计算;
步骤4:根据步骤3的分析结果,实现对消费者输入的商品进行相关商品智能推荐的功能;
步骤5:从本地SD卡获得商品的前一段时间每个月的销售量记录,运用BP神经网络算法,对该数据记录进行分析,预测下一月该商品的销售量。
该系统包括一个FPGA模块及外接设备,
所述的FPGA模块中,设置有Avalon总线及三态桥总线,在Avalon总线及三态桥总线上连接有Flash控制器、SDRAM控制器、通用IO、LCD驱动器、定时器、LTM控制器、C2H加速、SD卡控制器、以太网控制器、JTAGUART模块和NiosII软核;
所述的外接设备包括,Flash控制器外接Flash设备,SDRAM控制器外接SDRAM设备,通用IO外接LED等和按钮,LCD驱动器外接LCD显示器,LTM控制器外接触摸屏,SD卡控制器外接SD卡,以太网控制器外接以太网。
本发明的有益效果是,针对目前商场对商品信息挖掘的需求,并从商品信息的特性出发,将Apriori算法以及BP神经网络学习算法在系统中进行结合,并形成完整可行具有多个功能块的系统。该系统整体上具有相对集成化高,成本低,速度快,商品信息分析可靠具有可参考性,并且支持在本地的商品信息输入,具有良好的可行性、适应性以及可观的人机交互性。
具体实施方式
下面结合附体和具体实施方式对本发明进行详细说明。
为了方便描述,对本发明方法中所涉及到的术语进行如下定义:
定义1:定义D为事物数据项集,是消费者购物数据的总和。
定义2:定义L1’项集为D所包含的所有的销售记录中不重复的包含一种商品的项集。
定义3:支持度(Support)指A和B两个项集的并集A∪B在D中出现的概率P(AUB),即
\*MERGEFORMAT;
定义4:置信度(Confidence)表示事务数据库D在包含A的事务的前提下同时也包含B的概率P(B|A),即
\*MERGEFORMAT;
定义5:定义L1为一维频繁项集,指支持度不小于用户给定的最小支持度阈值(minsup)的项集,1维频繁项集记为L1,以此类推,n维频繁项集记为Ln;
定义6:定义训练集\*MERGEFORMAT,表示若干组销售量数据与对应月份所组成的集合;
定义7:在向前的多层前馈网络中
\*MERGEFORMAT
定义8:在后向传播中,有
\*MERGEFORMAT
定义9:均方误差e的结果由均方函数求得,其中,均方函数:,输出维度为1;
定义10:梯度下降法更新权值时,
\*MERGEFORMAT
参照图1,本发明智慧商场信息系统,基于前述定义,按照以下步骤实施:
步骤1:从本地SD卡获得事务数据项集D;
步骤2:打开软件运行,导入购物数据置软件中,通过用户输入的自定义值,为阈值sup;
步骤2.1:得到一维频繁项集L1,并求出相关的置信度Confidence;
1)得到L1’项集,利用Apirori算法在事务数据项集D中进行逐项扫描对该项集中的商品的支持度S进行统计;
2)将L1’项集中各商品的支持度与阈值sup进行比较,删除L1项集中支持度小于阈值的商品项目,保留L1项集中其他项,得到商品数目为一的一维频繁项集L1。
步骤2.2:由频繁项集L1得到二维频繁项集L2,并求出相关置信度Confidence;
1)根据一维频繁项集L1项集,进行Apriori-gen“并集”运算,即两两重组,得到完整的商品种类数为2的二维候选项目集,记为L2’项集;
2)将L2’项集各项目在数据事务项集D中逐项扫描统计各项目的支持度,将各商品的支持度与阈值sup进行比较,对项集中的项目再次进行筛选,删除小于最小支持度的项集,得到二维频繁项集L2。
3)找出二维频繁项集L2的所有非空子集,假设L2中的元素是A、B,即L2={A,B},此时它的非空真子集为{A},{B},在选购A的前提
下,选购B的概率\*MERGEFORMAT可表示为:
\*MERGEFORMAT
同理,在选购B的前提下,选购A的概率P(A|B)可表示为:\*MERGEFORMAT;
步骤2.3:重复步骤2.2,得到更高维的频繁项集Ln(n>=3)和与其相关的置信度,直到Ln频繁项集只包含一个项目,停止运算;
步骤2.4:将以上所求的相关置信度按从大到小的顺序输出;
步骤3:系统软件运用Apirori算法对事务数据项集D进行频繁项集的发现,并对频繁项集中项目的推荐度进行计算;
步骤4:根据步骤3的分析结果,实现对消费者输入的商品进行相关商品智能推荐的功能;
步骤4.1:向系统中输入消费者消费的商品,设输入的商品集合为M;
步骤4.2:假设在消费者购买M的情况下仍有可能购买的商品为n,遍历所计算的置信度,得出\*MERGEFORMAT的值;
步骤4.3:将\*MERGEFORMAT与所设置的推荐支持度阈值\*MERGEFORMAT进行比较,若\*MERGEFORMAT,则将商品n推荐给消费者;反之,则舍弃该项推荐。
步骤5:从本地SD卡获得商品的前一段时间每个月的销售量记录,运用BP神经网络算法,对该数据记录进行分析,预测下一月该商品的销售量;
步骤5.1:从本机读取训练集T;
步骤5.2:归一化训练集T中的每月销售量数据,得到t’,并记录归一化系数G;
步骤5.3:初始化权值矩阵w和偏移矩阵b,其中初始化值可以任意设定,本系统中设置为1,本算法中共两处用到权值矩阵和偏移矩阵,分别设为w1,b1,w2,b2;
步骤5.4:系统从读入的训练集中读取第一个月份;
步骤5.5:系统由多层前馈网络得到一个输出a,该输出a乘于归一化系数G(即a*G)是系统算出的该月份的销售量,与实际的销售量t存在误差;
步骤5.6:计算系统输出销售量a*G与实际值t的均方误差e,e初始化为0;
步骤5.7:在后项传播中,采用梯度下降算法,根据输出误差从后向前对两处权值矩阵和偏移矩阵w1,b1,w2,b2进行调节,使误差减小;
步骤5.8:重复步骤5.4~5.7,并累加均方误差e(通过均方误差函数求得);
步骤5.9:将均方误差与系统设置的可接受均方误差e0进行比较,若e>e0,则重复步骤5.1~5.9,对训练集T再次训练;若e<e0,则表示训练已达到效果,结束训练。当训练次数超过一定值,同样结束训练;
步骤5.10:训练结束后,存储最终的权值矩阵w1,w2和偏移矩阵b1,b2;
步骤5.11:神经网络训练完成后,可以用来进行预测。读取存储的权值矩阵和偏移矩阵w1,w2,b1,b2和归一化G;
步骤5.12:向系统输入待预测月份,根据所求的权值矩阵和偏移矩阵,在前馈网络中得到输出F;
步骤5.13:输出结果F再乘以归一化系数G,即得到下个月的销售量预测值。
本发明智能商场信息系统,将上述Apriori算法以及BP神经网络学习算法进行结合以及NiosIISoPC架构进行设计。该系统硬件上是一台终端,优选友晶公司的TRDB_LTM触摸屏和以CycloneII系列EP2C35FPGA芯片为核心的开发板。为了搭建SoPC系统,利用Avalon总线及三态桥总线结构在Fast型NiosII软核周围挂上所需的外围器件,主要部件包括以下几个:
1)SDRAM控制器用于连接外部SDRAM模块,作为系统主存储器使用;
2)Flash控制器连接Flash设备,以便存储必要程序和数据,如本发明基于\*MERGEFORMAT语言编写的Apriori算法以及BP神经网络学习方法;
3)FPGA内部的自定义LTM控制器和SD卡控制器用于与NiosII软核交互配置,以实现操作触摸屏以及读写SD卡。SD卡主要用于存储通过网络从上位机获得的商品信息挖掘分析结果;触摸屏则提供给相关操作人员对软件界面进行交互式触摸选择功能等;
3)以太网控制器连接以太网网络芯片(如DM9000A),用于实现以太网互联和通信,本发明用于从上位机获得商品基础数据;
4)通用IO接口为用户提供LED灯、按键等,利于操控系统;
5)JTAGUART模块用于程序的下载和在线调试;
6)LCD驱动器用于连接LCD显示终端;
利用用户自定义指令和C2H加速,能够提高系统中核心程序的执行效率,硬件层面增强商品信息分析的实时性。
如图3所示,是本发明智慧商场信息系统的SoPC实施例结构示意图,包括一个FPGA模块,在FPGA模块中,设置有Avalon总线及三态桥总线,在Avalon总线及三态桥总线上连接有Flash控制器、SDRAM控制器、通用IO、LCD驱动器、定时器、LTM控制器、C2H加速、SD卡控制器、以太网控制器、JTAGUART模块和NiosII软核;外接设备包括,Flash控制器外接Flash设备,SDRAM控制器外接SDRAM设备,通用IO外接LED等和按钮,LCD驱动器外接LCD显示器,LTM控制器外接触摸屏,SD卡控制器外接SD卡,以太网控制器外接以太网。
智慧商场信息系统以NiosIIIDE为基本开发平台,基于移植的多任务实时操作系统(内核)以及图形库和用户自定义接口控制模块(主要包括自定义SD卡控制器模块及TRDB-LTM控制器模块)等,预置有界面友好实用、操作快捷方便的触摸屏人机交互式智慧商场信息系统软件。
是一种通用的实时内核,具有可移植、可裁剪、抢占式、实时等特点。该系统目前已经被移植到NiosII处理器中。提供下列服务:信号量以及消息传递、存储器管理、任务(线程)管理、时间管理等。
图形库中设置有专门的接收鼠标、键盘、触摸屏等外设输入的接口。
TRDB-LTM控制器模块可完成显示多种图形、图像、文字,并可实现动画效果。
自定义SD卡控制器模块分别完成初始化、读扇区、写扇区和执行普通SD命令的功能。
基于上述的下层服务功能,智能商业信息系统能更好地分析商场海量无序的消费数据,帮助商家更好地管理运营,以获得更大的利润。
本发明的智能商业信息系统在实现时,首先根据关联规则,实现优化商场商品的摆放位置;然后,根据相关性,通过消费者的消费记录,实现对消费者进行智能推荐;最后,利用BP算法,实现销售量预测,帮助商家更好预定进货量。