神经网络是一层一层组织起来的一个层状结构。简单来说,就是由输入层,隐藏层,输出层组成。
输入层用于接受数据,节点数等于输入特征的维度。
隐藏层也就是神经网络进行思考的地方。
输出层就是产生预测结果。
神经网络最重要的一个步骤就是学习,那么他是如何学习呢?
实质上就是重复"进行前向传播计算损失函数
进行反向传播
进行更新权重",从而重复"反向传播"从而的得到最优参数。
导数
指的是函数值随自变量变化的速率
方向导数
指的是多元函数在某一个特定方向上的导数值。
最常用的方法就是利用梯度下降法,通过计算损失函数关联模型参数的梯度,从而优化模型参数。
简单的就是举一个例子:
目标是得到预测的房价,输入为面积,输出为房价。
该神经网络只有输入层,输出层。输出层没有激活函数
是
的简称,
是
这是输出层:
均方误差:
输入100平方米,真实值为300万元
设置随机值为
,于是
。
误差为200-300=-100
损失函数为
计算损失函数对w的梯度
计算损失函数对b的梯度
利用学习率更新模型参数
学习率为lr=0.0001
更新完一轮
如果有激活函数当然也要给激活函数求导,所以激活函数一定要可导