当前位置 : 主页 > 编程语言 > java >

神经网络简介

来源:互联网 收集:自由互联 发布时间:2022-06-23
Artificial Neural Network, 缩写ANN, 简称为神经网络,在机器学习,尤其是深度学习领域广泛应用。 神经网络采用了一种仿生学的思想,通过模拟生物神经网络的结构和功能来实现建模。神经


Artificial Neural Network, 缩写ANN,  简称为神经网络,在机器学习,尤其是深度学习领域广泛应用。

神经网络采用了一种仿生学的思想,通过模拟生物神经网络的结构和功能来实现建模。神经元细胞结构如下

神经网络简介_神经网络

在两侧分布着树突和轴突两种结构,树突用于接受其他神经元传递的信号,而轴突用于向其他神经元传递信号,信号在多个神经元之间传导,构成了神经网络。许许多多的神经元细胞构成了神经中枢,用于对刺激作出响应。

借鉴神经元这一生物结构,1943年MoCulloch和Pitts提出了人工神经元模型,即M-P神经元模型,结构如下

神经网络简介_数据分析_02

input层的不同信号,首先通过一个线性加和模型进行汇总,每个信号有一个不同的权重,然后通过一个激活函数来判断是否需要进行输出。激活函数可以有多种形式,部分激活函数展示如下

神经网络简介_权重_03

激活函数与线性组合的关系表示如下

神经网络简介_数据分析_04

其中的θ表示阈值,ω表示权重,在MP神经元模型中,权重和阈值是固定值,是一个不需要学习的模型。

为了让机器具备学习的能力,在MP神经元模型的基础上,提出了最早的神经网络模型, 单层感知器perceptron,结构如下

神经网络简介_数据分析_05

是一个两层的神经网络,第一层为输入层,第二层为输出层。因为只有在输出层需要进行计算,就是说只有一层计算层,所以称之为单层感知器。从形式上看,仅仅是将MP模型中的输入信号当作了独立的一层神经元,但是本质上却有很大差别。

感知器模型中权重和阈值不再是固定的了,而是计算机"学习"出来的结果。引入了损失函数的概念,通过迭代不断调整权重和阈值,使得损失函数最小,以此来寻找最佳的权重和阈值。

单层感知器只可以解决线性可分的问题,在单层感知器的基础上,再引入一层神经元,构成一个3层的神经网络,结构如下

神经网络简介_神经网络_06

这样的一个神经网络模型,适用范围更广,涵盖了线性和非线性可分的场景。其中的每一层称之为layer, 除了输出层和输出层之外,还有中间的隐藏层。这样的神经网络模型,通过反向传播算法来求解。

增加一层的好处在于更好的数据表示和函数拟合的能力,在3层的基础上,再引入更多的隐藏层,就变成了深度神经网络,图示如下

神经网络简介_权重_07

可以看到,每增加一层,模型的参数数量急剧增加,所以深度学习对计算资源的要求特别高,在实际使用中,模型训练时间非常的久。

虽然耗费计算资源,但是深度学习的优点也很突出,相比机器学习,模型自动完成特征提取,不需要人工的特征工程,这一点对于高维数据的处理特别重要,二者的对比图如下

神经网络简介_神经网络_08

由输入层,隐藏层,输出层这3种典型结构组成的神经网络统称为前馈神经网络,通过反向传播算法来迭代更新参数。

除此之外,还有卷积神经网络,循环神经网络,生成对抗网络等多种变种,在计算机视觉,自然语言处理,图像生成等领域,各自发挥着重大作用。

·end·

神经网络简介_数据分析_09

一个只分享干货的

生信公众号

上一篇:LDA线性判别分析
下一篇:没有了
网友评论