1、什么是神经网络
神经网络(Neural Network,NN),是一种模仿生物神经网络的结构和功能的数学/计算模型,用于拟合各种函数。
2、神经网络的两个要素
神经元
一个神经元,有输入(上图中神经元接受输入:x1、x2、x3),有输出(输出:y),并在神经元内部进行操作,将输入映射为输出。
连接
所谓连接,就是神经元组织在一起的形式。
不同的神经元通过连接结合在一起,形成了一个网络,例如下图:
神经网络的训练
NN 的神奇之处在于,它只有结构,没有超参数,一旦结构确定,投入数据去训练就好了,并不需要一般机器学习模型必不可少的“调参”步骤。它可以用来拟合任意的函数(输入到输出的映射),具备无限的可能性。而不像统计学习模型那样,有一个预设的模型函数,适用范围明确但狭窄。
NN 的训练过程是一个迭代的过程,最初初始化可以认为是随机获得各个权值,然后每次迭代:
-
输入样本进入到当前 NN 的每一个神经元,用现有的权值加权,然后再由激活函数输出给后面连接的神经元。这样一层层递进,最终形成 NN 整体网络的输出。
-
这次运行的输出与目标相比对,计算出 Cost,然后再通过最小化 Cost 来反向调整网络各层、各个神经元的权值。
如此不断重复迭代,直至收敛。