1、学习和纯优化有什么不同?
机器学习:关注性能度量P,P定义于测试集上且可能不可解。----------间接的优化P(降低代价函数);
纯优化:优化目标J本身;
1.1、经营风险最小化
真实分布风险:数据取自数据生成分布(这种情况可以被解决的优化问题)
经验风险:
经验风险最小化:容易过拟合(会记住训练集)---------------------------------故最有效的方法:基于低度下降
1.2、代理损失函数和提前终止:
机器学习:通常优化代理损失函数,在基于提前终止的收敛条件满足时结束;提前终止时代理损失函数仍有较大的导数,纯优化终止时导数较小。
代理损失函数:原损失函数的替代,eg:正确类别的负对数似然通常用0-1损失替代。
提前终止early stopping:
你可以在模型性能开始下降的时候停止训练。这帮我们节省了大量时间,也许因此就能使用更精细的重采样方法来评价模型了。early stopping也是防止数据过拟合的一种正则化方法,需要你在每轮训练结束后观察模型在训练集和验证集上的效果。
一旦模型在验证集上的效果下降了,则可以停止训练。你也可以设置检查点,保存当时的状态,然后模型可以继续学习。
提供几个学习early stopping的链接:
维基百科:https://en.wikipedia.org/wiki/Early_stopping#Early_stopping_based_on_analytical_results
深度学习:https://deeplearning4j.org/earlystopping
1.3、批量算法和小批量算法
批量/确定性算法:使用整个训练集的优化方法;
小批量/小批量随机 / 随机方法:使用一部分样本的优化算法;-----典型的:随机梯度下降
随机/在线算法:每次只使用单个样本的优化算法;
2、神经网络优化中的挑战
2.1、病态
2.2、局部最小值
2.3、高原、鞍点、其他平坦区域
2.4、悬崖和梯度爆炸
2.5、长期依赖
2.6、非精确梯度
2.7、局部与全局结构间的弱对应
2.8、优化的理论限制