【数据挖掘技术】神经网络模型

【数据挖掘技术】神经网络模型

                                                       神经网络模型

一、神经网络原理

     对网络模型的研究始于20世纪40年代,作为一门交叉学科,它是人类基于对其大脑神经认识的基础上,人工构造实现某种功能的网络模型。经过将近70年的发展,神经网络模型已成为机器学习的典型代表,它不依照任何概率分布,而是模仿人脑功能进行抽象运算。神经网络(Neutral Network)是通过数学算法来模仿人脑思维的,它是数据挖掘中机器学习的典型代表。神经网络是人脑的抽象计算模型,我们知道人脑中有数以百亿个神经元(人脑处理信息的微单元),这些神经元之间相互连接,是的人的大脑产生精密的逻辑思维。而数据挖掘中的“神经网络”也是由大量并行分布的人工神经元(微处理单元)组成的,它有通过调整连接强度从经验知识中进行学习的能力,并可以将这些知识进行应用。

     人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。所以网络学习的准则应该是:如果网络作出错误的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。普通计算机的功能取决于程序中给出的知识和能力。显然,对于智能活动要通过总结编制程序将十分困难。
     人工神经网络也具有初步的自适应与自组织能力。在学习或训练过程中改变突触权重值,以适应周围环境的要求。同一网络因学习方式及内容不同可具有不同的功能。人工神经网络是一个具有学习能力的系统,可以发展知识,以致超过设计者原有的知识水平。通常,它的学习训练方式可分为两种,一种是有监督或称有导师的学习,这时利用给定的样本标准进行分类或模仿;另一种是无监督学习或称无为导师学习,这时,只规定学习方式或某些规则,则具体的学习内容随系统所处环境 (即输入信号情况)而异,系统可以自动发现环境特征和规律性,具有更近似人脑的功能。
      神经网络就像是一个爱学习的孩子,您教她的知识她是不会忘记而且会学以致用的。我们把学习集(Learning Set)中的每个输入加到神经网络中,并告诉神经网络输出应该是什么分类。在全部学习集都运行完成之后,神经网络就根据这些例子总结出她自己的想法,到底她是怎么归纳的就是一个黑盒了。之后我们就可以把测试集(Testing Set)中的测试例子用神经网络来分别作测试,如果测试通过(比如80%或90%的正确率),那么神经网络就构建成功了。我们之后就可以用这个神经网络来判断事务的分类了。
      神经网络是通过对人脑的基本单元——神经元的建模和联接,探索模拟人脑神经系统功能的模型,并研制一种具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。神经网络的一个重要特性是它能够从环境中学习,并把学习的结果分布存储于网络的突触连接中。神经网络的学习是一个过程,在其所处环境的激励下,相继给网络输入一些样本模式,并按照一定的规则(学习算法)调整网络各层的权值矩阵,待网络各层权值都收敛到一定值,学习过程结束。然后我们就可以用生成的神经网络来对真实数据做分类。

      简单来说,“神经网络”就是通过输入多个非线性模型以及不同模型之间的加权互联(加权的过程在隐蔽层完成),最终完成一个输出模型。具体来说,”神经网络“是一组互相连接的输入/输出单元,其中每个连接都会与一个券种相关联。在学习阶段,通过调整这些连接的权重,就能够预测输入观测值的正确类标号。因此可以理解为人工神经网络是由大量神经网络元通过丰富完善的连接、抽样、简化和模拟而形成的一种信息处理系统。

二、神经网络模型原理

    人工网络模型的结构大致分为两大类:前向型网络和反馈性网络。

    具体来说,所谓前向型网络,是指传播方向是从输入端传向输出端,并且没有任何的反馈;所谓反馈性网络是指在传播方向上除了从输入端传向输出端之外,还有回环或反馈存在。这两种网络原理图如下图所示:

 http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html

      在上述的典型结构里,神经网络通过输入多个非线性模型,以及不同模型之间的加权互联,最终得到一个输出模型。具体来说,多元输入层是指一些自变量,这些自变量通过加权结合到中间的层次上,成为隐蔽层。隐蔽层主要包含的是非线性函数,页脚转换函数或压缩函数。隐蔽层就是所谓的黑箱部分,几乎没有人能在所有的情况下多难过隐蔽层中哪些非线性函数式如何对自变量进行组合的,这是计算机思考代替人类思考的一个典型案例。

      由于“神经网络”拥有特有的大规模并行结构和信息的并行处理等特点,因此它具有良好的自适应性、自组织性和高容错性,并且具有较强的学习、记忆和识别功能。目前神经网络已经在信号处理、模式识别、专家系统、预测系统等众多领域得到广泛的应用。目前最主流的"神经网络"算法是反馈传播(Backpropagation),该算法在多层前向型(Multilayer Feed-Forward)神经网络上进行学习,而多层前向型神经网络又是由一个输入层、一个或多个隐蔽层以及一个输出层。”神经网络“技术在数据化运营中主要用途体现在:作为分类、预测问题的重要技术支持,在用户划分、行为预测、营销响应等诸多方面具有广泛的应用前景。

三、影响神经网络模型的5大因素

      ”神经网络“的主要特点就是其知识和结果的不可解释性,没有人知道隐蔽层离的非线性函数到底是如何处理自变量的,”神经网络“应用中产出物在很多时候让人看不清其中的逻辑关系。但是,他的这个缺点并没有影响该技术在数据化运营的广泛应用,甚至可以这样认为,正是因为其结果具有不可解释性,反而更可能促使我们发现新的没有认识到的规律和关系。在利用”神经网络“技术建模的过程中,有以下5个因素对买模型结果有着重大影响:

  • 层数。对于一定的输入层和输出层,需要有多少个隐蔽层,这点无论是理论上还是实践上,都具有非常重要的意义。虽然没有不变的规律,但是有经验的数据分析师通常要尝试不用的是指,力求找到满意的模型结构。
  • 每层中输入变量的数量。太多的自变量很可能会造成模型的过度拟合,使得模型搭建时看上去很稳定,可是一旦用到新数据中,模型的预测与实际结果却相差很大,这使得模型就是去了预测的价值和意义。所以,在使用神经网络建模之前,输入变量的挑选、精简非常重要。
  • 联系的种类。联系网络模型中,输入变量可以有不同方式的结合,可以向前,可以向后,还可以平行。采用不同的结合方式,可能就会对模型结果产生不同的影响。
  • 联系的程度。在每一层中,其元素可以与他层中的元素完全联系,也可以部分联系。部分联系可以减少模型过度拟合的风险,但是也可能减弱模型的预测能力。
  • 转换函数,又称为激活函数或挤压函数,因为它能把从正无穷大到负无穷大的所有输入变量挤压为很小范围内的一个输入结构。这种非线性的函数关系有助于模型的稳定性和可靠性。选择转换函数的标准很简单,即在最短时间内提供最好的结果函数。常见的转换函数包括阀值逻辑函数、双曲正切函数、S曲线函数等。

四、前向型网络模型的设计原理

      大部分神经网络模型的学习过程,都是通过不断地改变券种来使误差达到总误差的最小绝对值。比如,以常见的前向型网络模型为例,其设计原理如下:

  • 隐蔽层的层数。从理论上讲,两层就够了;在实践中,经常是一层隐蔽层就够了。
  • 每层内输入的变量。输入层的变量由具体分析背景来决定;隐蔽层的数量为输入数与输出数的乘积开平方;输入层的数量应该尽量精简,遵循少而精的原则。
  • 联系的程度。一般都选择所有层次间全部联系。
  • 转换函数。所有逻辑斯底函数为主要函数,因为所有逻辑斯底函数可以提供在最短时间内的最佳拟合。
  • 模型的开发要足够充分,避免过度拟合现象发生。

五、神经网络的应用优势

六、神经网络模型的缺点及注意事项