去年秋天看过这个视频,现在再好好看看
后面关于代码的内容,too lazy to write,我现在只想接受深度学习的知识
1. 专家系统与神经网络区别
要求:对iris进行分类
专家系统将经验编写成条件语句,输入当前鸢尾花的特征,输出其类别
神经网络通过训练集训练好,输入当前鸢尾花的特征,输出其类别
2. 神经网络对iris进行分类
输入是四个特征:花萼长、花萼宽、花瓣长、花瓣宽
输出:狗尾草鸢尾 或 杂色鸢尾 或 弗吉尼亚鸢尾
y = x*w + b
(1,3) = (1,4)*(4,3) + (1,3)
2.1 参数学习
参数学习的方法:梯度下降法,使得损失函数L最小
梯度:函数对各参数求导后的向量
损失函数采用均方误差
y为输出向量,y*为目标向量
损失函数对参数w b求导
lr为学习率
链式法则
标量函数L对矩阵w求偏导 = 标量函数L对向量y求偏导 X 向量y对矩阵w求偏导
标量函数L对向量b求偏导 = 标量函数L对向量y求偏导 X 向量y对向量b求偏导
所以需要求出三个偏导,即
标量函数y1 y2 y3
讨论结果的维数:
标量函数L 对 向量y 求导 结果
向量y 对 矩阵w 求导 结果
向量y 对 向量b 求导 结果
结果为
结果为
参数更新
将损失函数L对向量y的偏导结果带入得
这便说明了,如何通过输入x、输出y、目标y 来更新w与b
但是说实话,我这里的矩阵微分有很大问题。
2.2 tensorflow实现代码
环境 python3.7 tensorflow2.1
3.tensorflow 生成张量
tf数据类型
4.tensorflow 常用函数
5.tensorflow 读入iris数据集
6.tensorflow 神经网络实现iris分类