2020/01/18
《百面
机器学习-算法工程师带你去面试》读书笔记
《No.17: p152~p159》第七章 优化算法
Q58 如何验证目标函数梯度功能的正确性?
透过泰勒展开式来计算近似误差,来检查梯度计算是否正确。
Q59 当训练数据量特别大时,经典的梯度下降法存在何种问题? 如何改进?
1. 经典的梯度下降法采用所有训练数据的平均损失来近似目标函数,当样本很大时,计算量很大,实际应用中不可行。
2. 可用随机梯度下降法(Stochastic Gradient Descent, SGD),用单个训练样本的损失来近似平均损失。可加快收敛速度。适合在线更新场景。
3. 亦可用小批量梯度下降法(Mini-Batch Gradient Descent),透过同时处理若干训练数据。
Q60 随机梯度下降法失效的原因?
1. 随机梯度下降法,每步仅仅随机采样一个(或少量)样本来估计当前梯度,但每步信息量有限,所以梯度估计常常出现偏差,造成目标函数曲现收敛很不稳定。
2. 随机梯度下降法,害怕山谷和鞍点两类地形。山谷地形会使梯度估计收敛不稳定及速度慢;鞍点地形,若在平坦之地,可能会走错方向,或停滞。