神经网络:顾名思义,由许多节点一步步连接而成,而要使神经网络达到比较好的效果,一是需要大量的数据来训练,二是需要调到最适合的参数。如下,涉及到的一些概念,自身的理解。
1.w——weight 权重 每两层之间每两个神经元之间都对应一个w 比如 输入层为100个神经元(在图像处理中,输入为像素点对应的值) 第一个隐藏层为20个神经元 则有20*100 = 2000个w
2 b——bias 偏向 每一层对应的神经元各有一个b
3.正向传播:t= w*b 实际为线性代数中矩阵的乘法 具体的实现有 numpy.dot函数 tensorflow 一个函数 具体记不清了
4.激活函数 第二层的输入值是第一层的输出即x 应用激活函数后的值 常用的激活函数有 sigmond tanh Relu leakge-Relu
具体函数自行百度 拼写错误请谅解
5.反向传播 :用途:用于更新权重和偏向 来完善神经网络的模型 将预测所得的值和真实值做差 平方/2后所得值为损失函数
权重更新为 原权重减去损失函数对w的偏导并乘上学习率 学习率反映的是你想要训练模型的快慢,偏向更新 类似
6.cross-entropy 在损失函数中加入一个函数 来防止overfitting dropout-随机去掉几个神经元(隐藏层) 同样用于减少overfitting