......续前
ANN包括三个部分
Active function(激活函数),把输入的数值进行复杂的数学转换,将多组输入转换成一个最终输出的数值(信号);
Network topolgy(网络架构),确定参与计算的神经元数量(可以理解为进行计算的函数),以及神经元的分层及连接方式,典型的结构有一组输入层,一个输出层,中间设定若干“隐层”,除了输出层只有一个神经元之外之外,每个层的神经元数量和隐层数量都可以设定;
Training algorithm(训练函数),确定层间的神经元之间的权重如何设定,并根据计算结果加以调整。
基本流程是这样,首先随机分配输入层的各个神经元权重,即对结果的影响程度(类似于回归里面的回归系数),然后由定义的激活函数进行计算,由训练函数进行调整,整体的计算量与数据数量、神经元数量和“隐层”数量有关。
很多文章谈到神经网络计算的计算量巨大,多数需要GPU辅助,这多指大型商业或者科研应用领域,以复杂图形识别、手写音频学习较为多见,而如果使用的数据量级不算太大,个人电脑基本上是可以应付的,以两个数据集为例,根据在普通个人电脑上的实验,10000*10的数据矩阵,设定3个隐层,每层3个神经元,计算时间是十秒左右,手写数字识别的mnist训练测试集,大约6万张28*28像素的图片训练,时间大约一分钟。
在医疗应用中,ANN基本上可以胜任用回归或其他机器学习算法解决的问题(例如多项检查数值和诊断的关联,包括费用信息等),如果不考虑大型图像识别的话,大多数问题解决的成本并不高,只需要一台电脑和几个人脑。
附真实截图:每个圆圈代表一个神经元,数据(最左侧)输入后,分别经过输入层和两个隐层,最后输出结果。
领取专属 10元无门槛券
私享最新 技术干货