关键词:输入层、输出层、中间层、单元\节点、感知器、BP神经网络、激活函数、深度学习、梯度下降、损失函数、反向传播、过拟合现象、泛化、权重衰减
我理解的神经网络本质
本质上来说,神经网络就是通过将样本属性进行线性组合形成新的不同变量集合,这些变量又能组成新的不同变量集合……如此不断地加权计算,最后一层套用一个激活函数,得到输出。激活函数可以是符号函数、sigmoid函数、ReLU函数等。
中间层的数量,分别对应神经网络的不同发展阶段:感知机、BP神经网络(典型,不如SVM算法)、深度学习。其中单层感知机只能处理线性分类任务,双层感知机能处理非线性分类任务,深度学习解决问题的能力则更为强大。
神经网络的关键在于数据的训练以及激活函数的选择。典型的双层神经网络模型涉及到梯度下降算法和反向传播算法,梯度下降算法是为了寻找使得使损失函数最小的权重值,反向传播算法是为了解决神经网络结构复杂,计算梯度代价大的问题。梯度下降算法简单理解为:待求参数-步长梯度,不断循环,直至梯度为0,待求参数不再变化。反向传播算法是利用了神经网络的结构进行的计算。不一次计算所有参数的梯度,而是从后往前。首先计算输出层的梯度,然后是第二个参数矩阵的梯度,接着是中间层的梯度,再然后是第一个参数矩阵的梯度,最后是输入层的梯度。
神经网络的一个问题:如果数据在样本集上求得一个较小的误差,但是的在测试集上却表现不好, 就会出现过拟合问题。提升模型在测试集上的预测效果的主题叫做泛化(generalization),相关方法被称作正则化(regularization)。神经网络中常用的泛化技术有权重衰减等。
参考:https://blog.csdn.net/illikang/article/details/82019945
网友评论