Tensorflow 解决数据分类问题
数据处理
- 即使是同样的 model,如果数据不经过正规化处理,对决策结果也会产生很大的影响。
- 图像处理,除以 255 也许是我至今见过最简单的正规化方法。但是效果不错。
- Tensorflow 的数据基础结构是张量,如果不经过张量处理,有时候也会产生错误。
关键词
- 提高精度的方法
- 增加层数
- 修改激励函数,大家都用 relu
- 修改学习率,可以通过 tensorflow 的方法找到最佳的学习率
- 增加训练的 epoch 数量,更长的训练时间
- 学习率
你永远可以相信 Adam 和它的默认学习率 0.01,但是也有自己找到最佳学习率的方法。
- 激励函数
非线性模型如果没有激励函数,永远打造不出一个好模型。
- 优化函数 Adam
Adam 的名字是怎么来的?
Adam(Adaptive Moment Estimation)的名字来源于其算法的性质。Adam 是一种自适应学习率的优化算法,结合了动量(momentum)和适应性学习率的思想。
具体来说,Adam 算法维护两个动态调整的参数:
- 动量项(Momentum): 类似于牛顿定律中的动量,它保持了过去梯度的指数加权平均,以平滑梯度的变化方向,有助于在梯度变化方向上更快地前进。
- 适应性学习率项(Adaptive Learning Rate): 通过维护过去梯度平方的指数加权平均,Adam 可以对每个参数应用不同的学习率,对于稀疏梯度或非常稀疏的数据,学习率将自适应地调整。
- 这两个部分的结合使得 Adam 在训练神经网络时表现良好,尤其适用于处理大规模数据和参数空间较大的深度学习模型。Adam 的名字”Adaptive Moment Estimation”反映了它的这种自适应性质。
- 好吧,其实我更想认为它是一个帅哥。
原理讲解