优化:深度学习中的优化

来源:互联网 发布:手机截屏是那个软件 编辑:程序博客网 时间:2024/05/16 12:50

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、优化的理论限制

原创粉丝点击