上图为一个简单神经网络结构图
神经网络:是一种用来模拟和预测现实问题的数学模型
简单理解为我们最终要得到一个能解决实际问题的数学公式F(x)
上图为一个简单的神经网络层,输入为x,输出部分我们设为y1,则
y1 = w1 * x + b1
两层神经网络连接在一起,,我们设输出为用y2
,*y2 = w2 y1 + b2
但就算是1000层神经网络叠加在一起,我们最终的得到的F(x)也是一个线性函数,而实际问题往往是一个复杂的函数
因此,我们就需要对线性函数进行非线性操作,我们把进行非线性操作的函数叫做激活函数
因此我们最终要得到一般是一个非线性函数
所以每一层神经网络可以写成一个数学公式(圈圈那个符号代表激活函数):
要想使我们的神经网络(数学公式)得到正确的结果,就需要在已有数据的基础上不断调整,寻找到正确的参数。
还是假设有一层最简单的神经网络y = w1 * x
一开始,w是未知的,我们有一组数据(x,y),我们假设他是1,此时我们得到预期输入y1,我们定义一个值loss等于预测值-实际值。
loss = y1 - y
但loss越大,意味着w离实际值越远,我们可以认为loss = 0时,w就是我们需要的值。
也就是寻找loss-w函数中的极小值点
我们用w减去loss-w函数的导数乘以η(η为自己指定的值)
不断重复以上步骤,直到找到目标值w。
我们将以上过程称为梯度下降