【TensorFlow】神经网络计算过程及模型搭建

人工智能三学派

行为主义:基于控制论,构建感知-动作控制系统。(控制论,如平衡、行走、避障等自适应控制系统)

符号主义:基于算数逻辑表达式,求解问题时先把问题描述为表达式,再求解表达式。(可用公式描述、实现理性思维,如专家系统)

连接主义:仿生学,模仿神经元连接关系。(仿脑神经元连接,实现感性思维,如神经网络)

神经网络模型处理问题的过程

准备数据:采集大量“特征/标签”数据
(特征,标签)形式的数据

搭建网络:搭建神经网络结构

优化参数:训练网络获取最佳参数(反传)

应用网络:将网络保存为模型,输入新数据(之前模型从未见过的新数据),输出分类或预测结果(前传)
在这里插入图片描述

鸢尾花分类

数据集介绍

采用鸢尾花数据集,此数据集包含鸢尾花花萼长、花萼宽、花瓣长、花瓣宽及对应的类别。其中前4个属性作为输入特征,类别作为标签,0代表狗尾草鸢尾,1代表杂色鸢尾,2代表弗吉尼亚鸢尾。人们通过对数据进行分析总结出了规律:通过测量花的花萼长、花萼宽、花瓣长、花瓣宽,可以得出鸢尾花的类别(如:花萼长>花萼宽且花瓣长/花瓣宽>2 ,则杂色鸢尾)。

由上述可知,可通过if与case语句构成专家系统,进行判别分类。但是在这里,我们采用搭建神经网络的办法对其进行分类,即将鸢尾花花萼长、花萼宽、花瓣长、花瓣宽四个输入属性喂入搭建好的神经网络,网络优化参数得到模型,输出分类结果。

网络搭建与训练

我们搭建包含输入层与输出层的神经网络模型,通过对输入值乘权值,并于偏置值求和的方式得到输出值,图示如下。
在这里插入图片描述
输出y=x*w+b,即所有的输入x乘以各自线上的权重w求和加上偏置项b得到输出y。由2.1部分对数据集的介绍可知,输入特征x形状应为(1,4)即1行4列,输出y形状应为(1,3)即1行3列,w形状应为(4,3)即4行3列,b形状应为(3, )即有3个偏置项。

搭建基本网络后,需要输入特征数据,并对线上权重w和偏执b进行初始化
在这里插入图片描述
有了上述权值后,我们课按照y=x*w+b的方式进行前向传播
在这里插入图片描述
输出y中,1.01代表0类鸢尾得分,2.01代表1类鸢尾得分,-0.66代表2类鸢尾得分。通过输出y可以看出数值最大(可能性最高)的是1类鸢尾,而不是标签0类鸢尾。这是由于最初的参数w和b是随机产生的,现在输出的结果是蒙的。

扫描二维码关注公众号,回复: 12420075 查看本文章

为了修正这一结果,我们用损失函数,定义预测值y和标准答案(标签) y_的差距,损失函数可以定量的判断当前这组参数w和b的优劣,当损失函数最小时,即可得到最优w的值和b的值。

损失函数的定义有多种方法,均方误差就是一种常用的损失函数,它计算每个前向传播输出y和标准答案y_的差求平方再求和再除以n求平均值,表征了网络前向传播推理结果和标准答案之间的差距。

在这里插入图片描述

通过上述对损失函数的介绍,其目的是寻找一组参数w和b使得损失函数最小。为达成这一目的,我们采用梯度下降的方法。损失函数的梯度表示损失函数对各参数求偏导后的向量,损失函数梯度下降的方向,就是是损失函数减小的方向。梯度下降法即沿着损失函数梯度下降的方向,寻找损失函数的最小值,从而得到最优的参数。梯度下降法涉及的公式如下。

在这里插入图片描述
lr表示学习率,是一个超参数,表征梯度下降的速度。如学习率设置过小,参数更新会很慢,如果学习率设置过大,参数更新可能会跳过最小值。
在这里插入图片描述

上述梯度下降更新的过程为反向传播

猜你喜欢

转载自blog.csdn.net/qq_45654306/article/details/112629119