线性回归损失函数的极大似然推导:西瓜书公式3.4除了用最小二乘法以外,怎么用极大似然推得?
一元线性回归的参数求解公式推导:西瓜书公式3.7和3.8怎么推来的?
多元线性回归的参数求解公式推导:西瓜书公式3.10和3.11怎么推来的?
线性回归损失函数的最优化算法:什么是批量梯度下降、随机梯度下降、小批量梯度下降?
1 线性回归损失函数的极大似然推导:西瓜书公式3.4除了用最小二乘法以外,怎么用极大似然推得?
参考材料:
http://blog.51cto.com/12133258/2051527
https://www.jianshu.com/p/fbd736a61927
2一元线性回归的参数求解公式推导:西瓜书公式3.7和3.8怎么推来的?
3 多元线性回归的参数求解公式推导:西瓜书公式3.10和3.11怎么推来的?
4 线性回归损失函数的最优化算法:什么是批量梯度下降、随机梯度下降、小批量梯度下降?
(一)批量梯度下降(Batch Gradient Descent,BGD)
批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。从数学上理解如下:
优点:
(1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。
(2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。
缺点:
(1)当样本数目很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。
(二)随机梯度下降(Stochastic Gradient Descent,SGD)
随机梯度下降是每次迭代使用一个样本来对参数进行更新。使得训练速度加快。
优点:
(1)由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。
缺点:
(1)准确度下降。由于即使在目标函数为强凸函数的情况下,SGD仍旧无法做到线性收敛。
(2)可能会收敛到局部最优,由于单个样本并不能代表全体样本的趋势。
(3)不易于并行实现。
(三)小批量梯度下降(Mini-Batch Gradient Descent, MBGD)
小批量梯度下降,是对批量梯度下降以及随机梯度下降的一个折中办法。其思想是:每次迭代 使用 ** batch_size** 个样本来对参数进行更新。
这里我们假设 batchsize=10 ,样本数 m=1000
优点:
(1)通过矩阵运算,每次在一个batch上优化神经网络参数并不会比单个数据慢太多。
(2)每次使用一个batch可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。
(3)可实现并行化。
缺点:
(1)batch_size的不当选择可能会带来一些问题。