机器学习心得(二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


一、梯度下降的概念

梯度下降顾名思义就是不停的向下推进,比如,我们正在山顶现在需要快速回到山下,那么我们就需要找到一条安全且可靠的路下山,我们每走一步就会看一眼。如下图所示:在这里插入图片描述

二、梯度下降的主要三种形式

1.批量梯度下降(Batch Gradient Descent,BGD)

  • 梯度下降的每一步中,都用到了所有的训练样本,公式如下:
    w j = w j − α 1 m ∑ i = 1 m ( ( h ( x ( i ) ) − y ( i ) ) x ( j ) ) w_{j}=w_{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}((h(x^{(i)})-y^{(i)})x^{(j)}) wj=wjαm1i=1m((h(x(i))y(i))x(j)),其中 ( ( h ( x ( i ) ) − y ( i ) ) x ( j ) ) ((h(x^{(i)})-y^{(i)})x^{(j)}) ((h(x(i))y(i))x(j))为梯度, α \alpha α为学习率

2.随机梯度下降(Stochastic Gradient Descent)

  • 梯度下降的每一步中,用到一个样本,在每一次计算之后便更新参数 ,而不需要首先将所有的训练集求和,公式如下:
    w = w − ∂ ∂ J ( w ) ∂ w w=w-\partial \frac{\partial J(w)}{\partial w} w=wwJ(w)
    h ( x ) = w T x = w 0 x 0 + w 1 x 1 + . . . + w n x n h(x)=w^{T}x=w_{0}x_{0}+w_{1}x_{1}+...+w_{n}x_{n} h(x)=wTx=w0x0+w1x1+...+wnxn
    J ( w ) = 1 2 ( h ( x ( i ) ) − y ( i ) ) 2 J(w)=\frac{1}{2}(h(x^{(i)})-y^{(i)})^{2} J(w)=21(h(x(i))y(i))2
    ∂ J ( w ) ∂ w j = ∂ ∂ w j 1 2 ( h ( x ( i ) ) − y ( i ) ) 2 = 2 × 1 2 ( h ( x ( i ) ) − y ( i ) ) × ∂ ∂ w j ( h ( x ( i ) ) − y ( i ) ) = ( h ( x ( i ) ) − y ( i ) ) × ∂ ∂ w j ( ∑ i = 0 n ( w i x i ( i ) − y ( i ) ) ) = ( h ( x ( i ) ) − y ( i ) ) x j ( i ) \frac{\partial J(w)}{\partial w_{j}}=\frac{\partial }{\partial w_{j}}\frac{1}{2}(h(x^{(i)})-y^{(i)})^{2}=2\times \frac{1}{2}(h(x^{(i)})-y^{(i)})\times \frac{\partial }{\partial w_{j}}(h(x^{(i)})-y^{(i)})=(h(x^{(i)})-y^{(i)})\times \frac{\partial }{\partial w_{j}}( \sum_{i=0}^{n}(w_{i}x_{i}^{(i)}-y^{(i)})) = (h(x^{(i)})-y^{(i)}) x_{j}^{(i)} wjJ(w)=wj21(h(x(i))y(i))2=2×21(h(x(i))y(i))×wj(h(x(i))y(i))=(h(x(i))y(i))×wj(i=0n(wixi(i)y(i)))=(h(x(i))y(i))xj(i)
    因此,通过上述公式的推导我们就可以得到 w j = w j − α 1 m ∑ i = 1 m ( ( h ( x ( i ) ) − y ( i ) ) x ( j ) ) w_{j}=w_{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}((h(x^{(i)})-y^{(i)})x^{(j)}) wj=wjαm1i=1m((h(x(i))y(i))x(j))

3.小批量梯度下降(Mini-Batch Gradient Descent)

  • 梯度下降的每一步中,用到了一定批量的训练样本每计算常数𝑏次训练实例,便更新一次参数 w w w,公式如下
    w j = w j − α 1 b ∑ k = i i + b − 1 ( h ( x ( k ) ) − y ( k ) ) x j ( k ) w_{j}=w_{j}-\alpha \frac{1}{b}\sum_{k=i}^{i+b-1}(h(x^{(k)})-y^{(k)})x_{j}^{(k)} wj=wjαb1k=ii+b1(h(x(k))y(k))xj(k)
  • 当𝑏=1(随机梯度下降,SGD)
  • 当𝑏=m(批量梯度下降,BGD)
  • 当𝑏=batch_size,通常是2的指数倍,常见有32,64,128等。(小批量梯度下降,MBGD)

4.数据归一化/标准化

  1. 为什么要归一化/标准化?
    提升模型精度:不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。
    加速模型收敛:最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。
  2. 归一化:数据归一化的目的是使得各特征对目标变量的影响一致,会将特征数据进行伸缩变化,所以数据归一化是会改变特征数据分布的,能将数据映射到[0,1]之间。归一化公式如下: x ∗ = x − x m i n x m a x − x m i n x^{*}=\frac{x-x_{min}}{x_{max}-x_{min}} x=xmaxxminxxmin
  3. 标准化:数据标准化为了不同特征之间具备可比性,经过标准化变换之后的特 征数据分布没有发生改变。就是当数据特征取值范围或单位差异较大时,最好是做一下标准化处理。处理后的数据均值为0,方差为1.公式如下: x ∗ = x − μ σ x^{*}=\frac{x-\mu }{\sigma } x=σxμ

总结

本人也才刚刚开始学习,请大家多多包涵。大家在学习机器学习之前可以先学习下线性代数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值