机器学习基础
BP算法
- 通过迭代性的来处理训练集中的实例
- 对比经过神经网络后输入层预测值(predicted value)与真实值(target value)之间
- 反方向(从输出层=>隐藏层=>输入层)来以最小化误差(error)来更新每个连接的权重(weight)
算法详细介绍
输入:D:数据集,l 学习率(learning rate), 一个多层前向神经网络
输出:一个训练好的神经网络(a trained neural network)- 初始化权重(weights)和偏向(bias): 随机初始化在-1到1之间,或者-0.5到0.5之间,每个单元有一个偏向
对于每一个训练实例X,执行以下步骤:
由输入层向前传送
根据误差(error)反向传送
对于输出层:
对于隐藏层:
权重更新:
偏向更新:
终止条件
- 权重的更新低于某个阈值
- 预测的错误率低于某个阈值
- 达到预设一定的循环次数
Backpropagation 算法举例
对于输出层:
对于隐藏层:
权重更新:
偏向更新:
OverFitting
定义:在训练集上表现很好,在测试集上表现很差
- Regulazition和Dropout
- 增大训练集