TensorFlow2 notebook: Class1 神经网络的计算过程, 搭建出第一个神经网络模型.
In summary
Prerequisites
TensorFlow2.3.0
+Python3.6.9
人工智能三学派
- 行为主义
- 符号主义
- 连接主义
- 神经网络
- 计算机仿真神经网络连接关系
- 准备数据:‘特征-标签’数据
- 搭建网络:神经网络结构
- 优化参数:训练网络获取最佳参数
- 应用网络:输出分类,或输出预测结果
神经网络设计过程
- 分类目标:
- 0狗尾草Iris
- 1杂色Iris: 花萼长>花萼宽 and 花瓣长/花瓣宽>2
- 2弗吉尼亚Iris
- 采集大量数据对作为数据集: 输入特征(花萼长,花萼宽,花瓣长,花瓣宽), 人工标定的标签(对应的类别)
- 将已有数据集喂入搭建好的神经网络结构
- 随机初始化所有参数, 然后反向传播进行网络优化参数,得到模型
- 损失函数输出最小(预测值与标准答案之间的差距),得到所有的最优参数
- 梯度下降法
- 设置合适的学习率(超参数): 不可以过大或者过小
- 梯度下降法
- 损失函数输出最小(预测值与标准答案之间的差距),得到所有的最优参数
- 读入新输入特征(待测)
- 输出识别结果: 所属分类
张量生成
常用函数
-
reduce_mean,reduce_sum
- axis=0:纵向,经度方向
- axis=1:横向,维度方向
-
维度相同的张量可以做四则运算
- add, subtract, multiply, divide.
-
平方, 次方, 开方
- square, pow, sqrt
-
矩阵乘
- tf.matmul
-
将(特征, 标签)进行配对
1
tf.data.Dataset.from_tensor_slices((features, labels))
-
梯度
1
tf.GradientTape
-
枚举, python内置函数
1
enumerate
-
独热编码,作为标签
- tf.one_hot
- 1: 表示是
- 0: 表示非
-
使输出符合概率分布 -tf.nn.softmax –>n分类n输出调用softmax()函数
-
自减
1
assign_sub
-
张量方向最大值的索引
1
tf.argmax()
Iris 数据集读入
神经网络实现iris分类
Attach is the file of TensorFlow2class1.ipynb, or view it via the link.
Show me the code