神经网络到底是个啥?

浏览: 1525

数据挖掘实乃技术,而技术实现源于理论。此为数据挖掘首篇文章,陆续更新,持续提升~


  神经网络是一种基于脑与神经系统研究,所启发的信息处理技术。它具有人脑功能基本特性:学习、记忆和归纳。

 过程:首先需要给出一个训练样本使神经网络进行学习,训练样本的建立大多数来自于实际系统输入与输出。比如我们的目标是识别潜在购车人群中真正有购车意向的群体,首先我们对历史的潜在购车人群(包含有真正购车意向的人)进行学习(训练)。学习后,神经网络会对学习结果进行归纳记忆,以便对测试集进行处理。 

  架构

  • 神经网络主要结构是由神经元、层和网络三个部份所组成。

  • 整个类神经网络包含一系列基本的神经元,通过权重(weight)相互连接。

  • 这些单元以层的方式组织。

神经元(由感知器演变而来):

n表示变量的个数;Oi表示第i个输入值(X);Wij表示第j个神经元的第i个输入值的权重 ;是第j个神经元的偏置:偏置有增大或者减小激活函数的净输入的作用,取决于该偏置是负值还是正值。表示第j个神经元的输入值(组合函数)。 f(•)是神经元的启动(激活或赋活)函数;Oj=f(Ij)是第j个神经元的输出值(Y)。启动函数f(•)类型分为以下几种:线性启动函数,阶梯(step)启动函数,Sigmoid(或称S型)启动函数,分段线性启动函数,高斯启动函数。

神经网络是通过更新权重Wij和偏置使得网络预测的误差达到最小。

具体步骤如下: 

1)通过输入节点将输入变量加以标准化,标准化后的变量数值落在0和1之间,或者是-1和1之间。

2)将网络权重初始值设定为0(或随机产生)。通过各节点的启动函数,估计数据的目标变量值。

3)比较实际值和估计值之间的误差,并根据误差值重新调整各权重和偏置。



其中,为学习速率:通常是介于0~1之间,当其数值越大,每次权数的修正量就越大。不能太小或太大。经验设置为1/t,t为迭代次数。

4)重新执行第二步骤,反复执行,一直到实际值和估计值之间的误差值最小,此时才停止学习,此时获得最佳权重。 

如此,即达成一个学习循环的类神经网络权重修正,接下来持续此步骤,使得输出值越来越接近真值,从而达到建立模型的目的。 

优点:

  • 神经网络可以建构非线性的模型,模型的准确度高。

  • 神经网络有良好的推广性,对于未知的输入亦可得到正确的输出。

  • 神经网络可以接受不同种类的变量作为输入,适应性强。

  • 神经网络可应用的领域相当广泛,模型建构能力强。

  • 神经网络具模糊推论能力,允许输出入变量具模糊性,归纳学习较难具备此能力。 

缺点:

  • 神经网络的隐藏层一般为1-2层,数目可设为任意数目,且有学习速率等参数需设定,工作相当费时。

  • 神经网络以迭代方式更新阀值,计算量大,相当耗费计算机资源。

  • 神经网络的解有无限多组,无法得知哪一组的解为最佳解。

  • 神经网络是以建立数值结构(含加权值的网络)来学习,其知识结构是隐性的,缺乏解释能力。

神经网络的实现,可以运用SPSS-Climentine,SAS-enterprise,R软件操作。




推荐 5
本文由 结实 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

2 个评论

数据挖掘实乃技术,而技术实现源于理论。 这句话经典,收藏了
谢谢,共同切磋,加油

要回复文章请先登录注册