什么是神经网络
人工神经网络(ArtificialNeural Network,即ANN),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。如图6.6所示,一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。
人工神经网络中的神经元模型(节点,如图6.7所示)是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式、权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

实质上,神经网络是一种运算模型,如图所示,是由大量的节点(或称神经元)之间相互联接构成。一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。
最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。同时,它也是目前最为火热的研究方向(即深度学习)的基础

任务3:使用sklearn中的MLPClassifier对鸢尾花分类。
scikit-learn中MLPClassifier类实现了通过反向传播(backpropagation)进行训练的多层感知器(Multi-Layer Perceptron,MLP)算法。使用的参考代码如下:
| from sklearn.neural_network import MLPClassifier # 神经网络分类预测 # 评估模型 print("预测准确度:{:.2f}".format(mlp.score(x_test,y_test[['Cluster']]))) |
神经网络运行过程及模型评估结果如图所示,其分类准确度为97%。


