面试问题零散整理(持续更新...)
1、为什么要做数据归一化,在梯度下降时有什么好处?
规避不同特征的数值大少带来的差异影响。
不做归一化的话,每一个特征所对应的的数据规模是不一样的。那么在求导数的时候,求得的很可能会导数比较大(比较小),最终即使乘以学习率后的步长比较大,导致整体不收敛。或者要进行多次迭代
2、梯度下降法和随机梯度下降法的区别?
梯度下降时,每个样本都会参与梯度的计算,那么在大样本情况下,提低下降的计算量将非常大;随机梯度采用每次随机抽取一个样本,进行梯度迭代,大大减少了计算,通常也能找到损失最小的点。(学习率=a/(i_iters+b))
3、知道梯度调试吗?
梯度调试就是利用某一点导数的数学思想,在我们没有推导出损失函数的导数时,可以先用梯度调试,进行结果的计算,然后在使用推导出的公式进行比对。通常使用数学定义去调试时 ,计算时相对较慢。