最近在学习李沐的Mxnet/Gluon深度学习的线性回归部分,线性回归是很基本的一种监督学习,分类问题。
以前学习完一遍吴恩达的《machine learning》,并把《机器学习实战》里面的主要代码都实现一遍,现在有点忘记了,正好开始深度学习,开始线性回归查缺补漏,MXnet框架其实比较小众,但这次学习主要是专注于算法的原理,框架只不过是工具。
这次温故而知新,现将需要的要点材料整理如下:
- 梯度下降可参考:https://www.cnblogs.com/pinard/p/5970503.html,小批量的随机梯度上升(下降)算法是对于整体样本的梯度上升(下降)算法与单个样本的随机梯度上升(下降)算法的折中,兼具了二者的优点。
在机器学习中的无约束优化算法,除了梯度下降以外,还有前面提到的最小二乘法,此外还有牛顿法和拟牛顿法。
梯度下降法和最小二乘法相比,梯度下降法需要选择步长,而最小二乘法不需要。梯度下降法是迭代求解,最小二乘法是计算解析解。如果样本量不算很大,且存在解析解,最小二乘法比起梯度下降法要有优势,计算速度很快。但是如果样本量很大,用最小二乘法由于需要求一个超级大的逆矩阵,这时就很难或者很慢才能求解解析解了,使用迭代的梯度下降法比较有优势。
梯度下降法和牛顿法/拟牛顿法相比,两者都是迭代求解,不过梯度下降法是梯度求解,而牛顿法/拟牛顿法是用二阶的海森矩阵的