数据熊猫社区「DP论坛」

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 286|回复: 0

人工神经网络初识【转自微信公众号:泰迪大数据挖掘】

[复制链接]
发表于 2016-11-14 09:55:18 | 显示全部楼层 |阅读模式
       做过数据挖掘的朋友对人工神经网络肯定不陌生,因为这个模型的分类和预测的效果实在是太棒了。但是世间多没有完美的事物,有好就有坏,神经网络复杂的原理和结果的难以解释的性质让很多人望而却步。
       今天想介绍几个最基础的概念来尝试解释下人工神经网络最基本的框架,为以后进行神经网络的深入学习和了解现在很火深度学习算法建立基础。
    在正式介绍之前必须熟悉几个概念:神经元、激活函数、网络结构、训练算法,了解清楚这些最基本的概念,才能帮助我们更好的掌握人工神经网络模型。
生物神经网络到人工神经元
       人工神经网络虽然在数据挖掘、机器学习、模式识别网络等领域非常活跃,不过有意思的事情是最初神经并不是由数学家或者计算机学家发明的。1943年,心理学家W·Mcculloch和数理逻辑学家W·Pitts在分析、总结神经元基本特性的基础上首先提出神经元的数学模型。此模型沿用至今,并且直接影响着这一领域研究的进展。因而,他们两人可称为人工神经网络研究的先驱。
    神经元有两种状态,抑制状态和兴奋状态。一个神经元通常具有多个树突,主要用来接收传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他神经元传递信息。轴突末梢和其他神经元树突产生链接,从而传递信号。这个链接的部位在生物学上叫突触。当树突接受其他神经元的信号不断累积达到一定阈值后,神经元有抑制状态转变兴奋状态,小宇宙爆发出洪荒之力,将信息由轴突传递至突触,从而实现了神经元的传递过程。
图片1.png
神经元模型    神经网络中神经元正式模拟生物神经元的工作原理而设置的。一个神经元 j,有阈值,从上一层连接的神经元得到n个输入变量X,每个输入变量附加一个链接权重w。输入变量将依照不同权重加以合并(一般是加权总和),链接成组合函数(combination function),组合函数的值称为电位(potential);然后,启动(转换、激活、赋活)函数(activation function)将电位转换成输出信号。
图片2.png
激活函数
    将神经元的净输入信号转换成单一的输出信号,以便进一步在网络中传播。激活函数就是负责将神经元接受的输入脉冲总和,转换成输出脉冲,但是人类神经在处理外部刺激时,输出信号是有极限的,否则可能会因为输出信号过强而造成对神经元的伤害。不同类型的激活函数的差异的主要细节就是输出信号的范围不同。影响输出信号的输入值范围相对是有限的。打个比方,一把吉他的扩音器调到很高以至于由于削弱声波的峰值而使声音失真。S型激活函数,对于一个地域-5或超过+5的输入信号,输出信号始终为0或1。
图片3.png
图片4.png
图片5.png
网络结构
    神经网络主要结构是由神经元(neuron)、层(layer)和网络(network)三个部份所组成。整个类神经网络包含一系列基本的神经元,通过权重(weight)相互连接。这些单元以层的方式组织,每一层的每个神经元和前一层、后一层的神经元连接。
图片6.png
单层神经网络结构
    单层或两层神经网络结构是早期神经网络模型的互连模式,这种互连模式是最简单的层次结构。
图片7.png
多层神经网络结构
    通常把三层和三层以上的神经网络结构称为多层神经网络结构。所有神经元按功能分为若干层。一般有输入层、隐层(中间层)和输出层。
图片8.png
神经网络的信息传播方向
    神经网络的传播方向常见的主要有以下三种,多层前向神经网络,互连型前向网络,反馈的多层神经网络。

多层前向神经网络

    多层前向神经网络模型如图所示。输入模式:由输入层进入网络,经中间各层的顺序变换,最后由输出层产生一个输出模式,便完成一次网络更新。前向网络的连接模式不具有侧抑制和反馈的连接方式。
图片9.png
互连型前向网络
    同一层内有相互连接的多层前向网络,它允许网络中同一层上的神经元之间相互连接,如图。这种连接方式将形成同一层的神经元彼此之间的牵制作用,可实现同一层上神经元之间的横向抑制或兴奋的机制。
图片10.png
反馈的多层神经网络
    这是一种允许输出层-隐层,隐层中各层之间,隐层-输入层之间具有反馈连接的方式,反馈的结果将构成封闭环路。
图片11.png
神经网络的训练学习
    神经网络学习前,必须建立出一个训练样本(training pattern)使类神经网络在学习的过程中有一个参考,训练样本的建立来自于实际系统输入与输出或是以往的经验。
    网络结构是一张白纸,通过它本身并没有学到任何东西。就像一个刚出生的婴儿,它必须用经验进行训练。当神经网络处理数据时,神经元之间的连接被加强或者减弱,类似于一个婴儿体验外界环境时,他大脑的发育过程。
    神经模型训练的目的,就是使得参数尽可能的与真实模型逼近。也就是要使得预测目标和真实值之间的差值尽量的小。这种问题常常可以转化为数学中的最优化问题。
    神经网络的训练学习方法有很多,比如Hebb学习规则、Delta学习规则、LMS学习规则、Outstar学习规则,可以说每出现一种学习方法就会有新的神经网络诞生。
    以上就对神经神经网络做了一个简单的概要性的介绍。


*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|商业数据分析论坛  

GMT+8, 2017-1-25 01:21 , Processed in 0.459925 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表