最近在学习《机器学习实战:基于Scikit-Learn和TensorFlow》,这里把之前的一些基础知识点进行了总结。
对于一个线性函数:
y ^ = h θ ( x ) = θ ⋅ x \hat{y}=h_{\theta}(\mathbf{x})=\boldsymbol{\theta} \cdot \mathbf{x} y^=hθ(x)=θ⋅x
为提高函数的泛化能力,我们需要定义其损失函数,并将之尽可能降到最小。这里我们使用MSE作为损失函数。
MSE ( X , h θ ) = 1 m ∑ i = 1 m ( θ ⊤ x ( i ) − y ( i ) ) 2 \operatorname{MSE}\left(\mathbf{X}, h_{\boldsymbol{\theta}}\right)=\frac{1}{m} \sum_{i=1}^{m}\left(\boldsymbol{\theta}^{\top} \mathbf{x}^{(i)}-y^{(i)}\right)^{2} MSE(X,hθ)=m1i=1∑m(θ⊤x(i)−y(i))2
进一步计算可得:
θ ^ = ( X ⊤ X )

本文总结了机器学习中的三种梯度下降优化算法:批量梯度下降(BGD)、随机梯度下降(SGD)和小批量梯度下降(mini-BGD)。批量梯度下降使用完整训练集计算梯度,适合数据量小的情况;随机梯度下降每次基于单个样本更新,速度快但可能陷入局部最优;小批量梯度下降是两者的折中,平衡效率与精度。
最低0.47元/天 解锁文章
4666

被折叠的 条评论
为什么被折叠?



