10.1 神经网络技术的实践应用和注意事项

对神经网络的研究始于20世纪40年代,作为一门交叉学科,它是人类基于对其大脑神经认识理解的基础上,人工构造实现某种功能的网络模型。经过将近70年的发展,神经网络技术已经成为机器学习的典型代表,它不依照任何概率分布,而是模仿人脑功能进行抽象运算。

简单来讲,神经网络是一组互相连接的输入/输出单元,其中每个连接都会与一个权重相关联。在学习阶段,通过调整这些连接的权重,就能够预测输入观察值的正确类标号。因此可以理解为人工神经网络是由大量神经元通过丰富完善的连接、抽象、简化和模拟而形成的一种信息处理系统。

10.1.1 神经网络的原理和核心要素

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

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

00098.jpeg

图 10-1 人工神经网络的典型结构图

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

利用神经网络技术建模的过程中,有以下5个因素对模型的结果有重大影响[1]

❑层数。对于一定的输入层和输出层,需要有多少个隐蔽层,这点无论是在理论上,还是在实践中都非常有意义。虽然没有不变的规律,但是有经验的数据分析师通常要尝试不同的设置,力求找到满意的模型结构。

❑每层中输入变量的数量。太多的自变量很可能会造成模型的过度拟合,使得模型搭建时看上去很稳定,可是一旦用到新数据中,模型的预测与实际结果却相差很大,这时模型就失去了预测的价值和意义。所以,在使用神经网络建模之前,输入变量的挑选、精简非常重要。

❑联系的种类。神经网络模型中,输入变量可以有不同方向的结合,可以向前,可以向后,还可以平行。采用不同的结合方式,可能就会对模型的结果产生不同的影响。

❑联系的程度。在每一层中,其元素可以与他层中的元素完全联系,也可以部分联系。部分联系可以减少模型过度拟合的风险,但是也可能减弱模型的预测能力。

❑转换函数。转换函数也称为挤压函数,因为它能把从正无穷大到负无穷大的所有输入变量挤压为很小范围内的一个输出结果。这种非线性的函数关系有助于模型的稳定和可靠性。选择转换函数的标准很简单,即在最短时间内提供最好的结果函数。常见的转换函数包括阀值逻辑函数、双曲正切函数、S曲线函数等。

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

❑隐蔽层的层数。从理论上讲,两层就足够了;在实践中,经常是一层隐蔽层就足够了。

❑每层内的输入变量。输出层的变量由具体分析背景来决定;隐蔽层的数量为输入数与输出数的乘积开平方;输入层的数量应该尽量精简,遵循少而精的原则,这在后面要详细阐述。

❑联系的程度。一般都选择所有层次间全部联系。

❑转换函数。选用逻辑斯蒂函数为主要转换函数,因为逻辑斯蒂函数可以提供在最短时间内的最佳拟合。

❑模型开发样本要足够充分,避免过拟合现象发生。

[1]罗茂初.数据库营销[M].北京:经济管理出版社,2007:239.

10.1.2 神经网络的应用优势

在数据挖掘实践应用中,人工神经网络的应用主要有以下优点:

❑有良好的自组织学习功能。神经网络可以根据外界数据的变化来不断修正自身的行为,对未经训练的数据模式的分类能力也比较强。

❑有比较优秀的在数据中挑选非线性关系的能力,能有效发现非线性的内在规律。在纷繁复杂的业务实践中,数据间非线性关系出现的机会远比线性关系多得多,神经网络的这种有效发现非线性关系的能力,大大提高了其在数据化运营等各种商业实践中的应用价值和贡献潜力。

❑由于神经网络具有复杂的结构,因此在很多实践场合中其应用效果都明显优于其他的建模算法;它对异常值不敏感,这是个很不错的“宽容”个性。

❑对噪声数据有比较高的承受能力。

10.1.3 神经网络技术的缺点和注意事项

虽然神经网络有上述这多优点,但是人无完人,金无足赤,它同样也有以下一些典型的不足之处需要引起数据分析师的注意:

❑神经网络需要比较长的模型训练时间,在面对大数据量时尤其如此。

❑对于神经网络模型来说少而精的变量才可以充分发挥神经网络的模型效率。但是,神经网络本身是无法挑选变量的。因此,对于神经网络的实际应用来讲,之前的变量挑选环节就必不可少了。虽然变量的选择对于任何一个模型的搭建来说都是很重要的环节,但是必须强调的是,对于神经网络模型来说尤为重要,这是由其复杂的内部结构决定的。

❑如果搭建模型后直接将其投入应用,可能会得不到想要的效果。为了确保模型投入应用后具有稳定的效果,最好先尝试几种不同的神经网络模型,经过多次验证后,再挑选最稳定的模型投入应用。

❑神经网络本身对于缺失值(Missing Value)比较敏感。所以,应用该技术时要注意针对缺失值进行适当的处理,或者赋值,或者替换,或者删除,参见本书8.4.1节。

❑它具有过度拟合(Over-Fitting)数据的倾向,可能导致模型应用于新数据时效率显著下降。鉴于此,针对神经网络模型的应用要仔细验证,在确保稳定的前提下才可以投入业务落地应用。

❑由于其结构的复杂性和结论的难以解释性,神经网络在商业实践中远远没有回归和决策树应用得广泛,人们对它的理解、接纳还有待提高。它也缺乏类似回归那样的丰富多样的模型诊断指标和措施。正因为如此,很多数据分析师视之为“黑盒子”,只是在实在无计可施的时候才“放手一搏”。