李宏毅机器学习04:梯度下降Gradient Descent

文章目录

  • 李宏毅机器学习04:梯度下降Gradient Descent
    • 一、梯度下降方法
    • 二、梯度下降的改进方法
      • Tip 1: Tuning your learning rates 调整学习率
        • 1.学习率大小对梯度下降的影响
        • 2.Adaptive Learning Rates 自适应学习率
        • 3.Adagrad算法
          • (1)Adagrad 是什么
          • (2)Adagrad 举例
          • (3)Adagrad 理解
            • Ⅰ Intuitive Reason 直观原因
            • Ⅱ Mathematical Reason 数学原因
      • Tip 2: Stochastic Gradient Descent 随机梯度下降
      • Tip 3: Feature Scaling 特征缩放
        • 1.特征缩放Feature Scaling是什么(what)?
        • 2.特征缩放Feature Scaling为什么(why)?
        • 3.特征缩放Feature Scaling怎么做(how)?
    • 三、Gradient Descent Theory梯度下降的数学理论
      • 基本原理1:泰勒级数
      • 基本原理2:梯度矢量点乘
    • 四、梯度下降的限制

一、梯度下降方法

Review: 李宏毅机器学习02:回归Regression

在回归问题的第三步中,需要解决下面的最优化问题,即寻找一组参数 θ\thetaθ,使损失函数Loss Function 尽可能的小。

θ∗=arg min⁡θL(θ)\theta^*=\argmin_\theta L(\theta)θ∗=θargmin​L(θ)

  • LLL : 损失函数loss function
  • θ\thetaθ : 参数parameters

梯度下降方法如下:

假设θ有两个变量 { θ1,θ2\theta_1,\theta_2θ1​,θ2​ },随机选取初值θ0=[θ10θ20]\theta^0=\begin{bmatrix} \theta_1^0 \\ \theta_2^0 \end{bmatrix}θ0=[θ10​θ20​​]

损失函数loss function的梯度 ∇L(θ)=[∂L(θ1)∂θ1∂L(θ2)∂θ2]\nabla L(\theta)=\Large\begin{bmatrix} \frac{\partial L(\theta_1)}{\partial \theta_1} \\ \frac{\partial L(\theta_2)}{\partial \theta_2} \end{bmatrix}∇L(θ)=⎣⎢⎡​∂θ1​∂L(θ1​)​∂θ2​∂L(θ2​)​​⎦⎥⎤​

不断地更新参数:

  • [θ11θ21]=[θ10θ20]−η[∂L(θ10)∂θ1∂L(θ20)∂θ2]\begin{bmatrix} \theta_1^1 \\ \theta_2^1 \end{bmatrix} = \begin{bmatrix} \theta_1^0 \\ \theta_2^0 \end{bmatrix} -\eta\Large\begin{bmatrix} \frac{\partial L(\theta_1^0)}{\partial \theta_1} \\ \frac{\partial L(\theta_2^0)}{\partial \theta_2} \end{bmatrix}[θ11​θ21​​]=[θ10​θ20​​]−η⎣⎢⎡​∂θ1​∂L(θ10​)​∂θ2​∂L(θ20​)​​⎦⎥⎤​ ⟹\large\Longrightarrow⟹ θ1=θ0−η∇L(θ0)\theta^1=\theta^0-\eta\nabla L(\theta^0)θ1=θ0−η∇L(θ0)
  • [θ12θ22]=[θ11θ21]−η[∂L(θ11)∂θ1∂L(θ21)∂θ2]\begin{bmatrix} \theta_1^2 \\ \theta_2^2 \end{bmatrix} = \begin{bmatrix} \theta_1^1 \\ \theta_2^1 \end{bmatrix} -\eta\Large\begin{bmatrix} \frac{\partial L(\theta_1^1)}{\partial \theta_1} \\ \frac{\partial L(\theta_2^1)}{\partial \theta_2} \end{bmatrix}[θ12​θ22​​]=[θ11​θ21​​]−η⎣⎢⎡​∂θ1​∂L(θ11​)​∂θ2​∂L(θ21​)​​⎦⎥⎤​ ⟹\large\Longrightarrow⟹ θ2=θ1−η∇L(θ1)\theta^2=\theta^1-\eta\nabla L(\theta^1)θ2=θ1−η∇L(θ1)
  • … …

二、梯度下降的改进方法

Tip 1: Tuning your learning rates 调整学习率

θi=θi−1−η∇L(θi−1)\theta^{i}=\theta^{i-1}-\eta\nabla L(\theta^{i-1})θi=θi−1−η∇L(θi−1)
η\etaη is called Learning Rate

1.学习率大小对梯度下降的影响

  • Learning Rate Ver large 步长非常大
    学习率步长太大,会出现损失函数Loss Function不降反增的情况
  • Learning Rate Small 步长小
    学习率步长小,会出现损失函数Loss Function下降速度过慢的情况
  • Learning Rate Just make 步长刚刚好
    学习率大小适当,可以使损失函数Loss Function收敛于最小值
  • Learning Rate Large 步长大
    学习率大可能出现损失函数Loss Function无法到达最低点的情况

通常可以做出参数更新值和损失函数Loss Function的图像来判断学习率的情况

2.Adaptive Learning Rates 自适应学习率

  • Popular & Simple Idea: Reduce the learning rate by some factor every few epochs
    通俗、简单的思想:随着次数的增加,通过一些因子来减少学习率

    • At the beginning, we are far from the destination, so we use larger learning rate
      通常刚开始,初始点会距离最低点比较远,所以使用大一点的学习率
    • After several epochs, we are close to the destination, so we reduce the learning rate
      经过一段时间后,参数比较靠近最低点了,此时减少学习率
    • E.g. : 1/t decay ηt=ηt+1\eta^t=\Large\frac{\eta}{\sqrt{\smash[b]{t+1}}}ηt=t+1​η​
      例如分数减缓1/t decay:ηt\eta^tηt表示第t次的步长,随着次数的增加,步长不断减小。
  • Learning rate cannot be one-size-fits-all
    学习率不能是一个值通用所有特征

    • Giving different parameters different learning rates
      不同的参数需要不同的学习率

3.Adagrad算法

(1)Adagrad 是什么

Divide the learning rate of each parameter by the root mean square of
its previous derivatives 将每个参数的学习速率除以其先前导数的均方根

  • Vanilla Gradient descent
    wt+1←wt−ηtgtw^{t+1} \gets w^t - \eta^t g^twt+1←wt−ηtgt

  • Adagrad
    wt+1←wt−ηtσtgtw^{t+1} \gets w^t - \Large\frac{\eta^t}{\sigma^t} \normalsize g^twt+1←wt−σtηt​gt

    设ηt\eta^tηt, gtg^tgt 分别表示第ttt 次的学习率和偏微分。
    ηt=ηt+1\eta^t=\Large\frac{\eta}{\sqrt{\smash[b]{t+1}}}ηt=t+1​η​ ; gt=∂L(θt)∂wg^t=\Large\frac{\partial L(\theta^t)}{\partial w}gt=∂w∂L(θt)​

    • w is one parameters
      w是参数
    • σt\sigma^tσt: root mean square of the previous derivatives of parameter w,(Parameter dependent)
      σt\sigma^tσt是之前参数的所有微分的方均根,依赖于参数w
(2)Adagrad 举例
  1. w1←w0−η0σ0g0w^1 \gets w^0 - \Large\frac{\eta^0}{\sigma^0}\normalsize g^0w1←w0−σ0η0​g0 , 其中 σ0=(g0)2\sigma^0 =\sqrt{(g^0)^2}σ0=(g0)2​

  2. w2←w1−η1σ1g1w^2 \gets w^1 -\Large\frac{\eta^1}{\sigma^1}\normalsize g^1w2←w1−σ1η1​g1 , 其中 σ1=12[(g0)2+(g1)2]\sigma^1 =\sqrt{\frac1 2[(g^0)^2+(g^1)^2]}σ1=21​[(g0)2+(g1)2]​

  3. w3←w2−η2σ2g2w^3 \gets w^2 - \Large\frac{\eta^2}{\sigma^2}\normalsize g^2w3←w2−σ2η2​g2 , 其中 σ2=13[(g0)2+(g1)2+(g2)2]\sigma^2 =\sqrt{\frac1 3[(g^0)^2+(g^1)^2+(g^2)^2]}σ2=31​[(g0)2+(g1)2+(g2)2]​

    . … …

  • wt+1←wt−ηtσtgtw^{t+1} \gets w^t - \Large\frac{\eta^t}{\sigma^t}\normalsize g^twt+1←wt−σtηt​gt , 其中 σt=1t+1∑i=0t(gi)2\sigma^t =\sqrt{\frac{1}{t+1}\displaystyle\sum_{i=0}^t(g^i)^2}σt=t+11​i=0∑t​(gi)2​
(3)Adagrad 理解
  • 对学习率和微分的方均根的比值进行化简
    原式为:wt+1←wt−ηtσtgtw^{t+1} \gets w^t - \Large\frac{\eta^t}{\sigma^t}\normalsize g^twt+1←wt−σtηt​gt
    其中 : ηt=ηt+1\eta^t=\Large\frac{\eta}{\sqrt{\smash[b]{t+1}}}ηt=t+1​η​ ; σt=1t+1∑i=0t(gi)2=1t+1∑i=0t(gi)2\sigma^t =\sqrt{\frac{1}{t+1}\displaystyle\sum_{i=0}^t(g^i)^2}=\frac{1}{\sqrt{t+1}}\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}σt=t+11​i=0∑t​(gi)2​=t+1​1​i=0∑t​(gi)2​

    将ηt\eta^tηt ,σt\sigma^tσt 代入:ηtσt=ηt+11t+1∑i=0t(gi)2=η∑i=0t(gi)2\Large\frac{\eta^t}{\sigma^t}\normalsize=\Large\frac{\frac{\eta}{\sout{\sqrt{\smash[b]{t+1}}}}}{\frac{1}{\sout{\sqrt{t+1}}}\small\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}}\normalsize=\frac{\large\eta}{\small\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}}σtηt​=t+1​​1​i=0∑t​(gi)2​t+1​​η​​=i=0∑t​(gi)2​η​

    得到:wt+1←wt−η∑i=0t(gi)2gtw^{t+1} \gets w^t - \Large\frac{\eta}{\small\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}}\normalsize g^twt+1←wt−i=0∑t​(gi)2​η​gt

  • Contradiction ? 出现矛盾

    对比普通梯度下降公式和Adagrad算法

    梯度对迭代值的大小影响相反:梯度值在分子上,梯度越大,迭代值的更新就越大;之前梯度的方均根在分母上,梯度越大,迭代值的更新越小。

Ⅰ Intuitive Reason 直观原因

当梯度值变化很大时,方均根可以造成反差的效果

Ⅱ Mathematical Reason 数学原因
  • 以二次函数 y=ax2+bx+c(a>0)y=ax^2+bx+c (a>0)y=ax2+bx+c(a>0) 为例:

    其最小值位于 x=−b2ax=-\large\frac{b}{2a}x=−2ab​ ,

    任取一点 x0x_0x0​ , x0x_0x0​ 到最值点的距离为:∣x0+b2a∣|x_0+\large\frac{b}{2a}\normalsize|∣x0​+2ab​∣ ,

    Best step =∣x0+b2a∣=∣2ax0+b∣2a=|x_0+\large\frac{b}{2a}\normalsize|=\large\frac{|2ax_0+b|}{2a}=∣x0​+2ab​∣=2a∣2ax0​+b∣​

    分子是二次函数y=ax2+bx+c(a>0)y=ax^2+bx+c (a>0)y=ax2+bx+c(a>0) 在x0x_0x0​点的一阶导数值

    由此可以得出结论:

    Larger 1st order derivative means far from the minima
    较大的一阶导数意味着距离极小值较远

  • 然而当考虑多个参数时,结论失效

    例如下图,参数w1w_1w1​ 在a点一阶导数的绝对值小于参数 w2w_2w2​在c点一阶导数的绝对值,而从图上来看c点反而距离极值点更近。

  • 同时考虑∣2ax0+b∣2a\large\frac{|2ax_0+b|}{2a}2a∣2ax0​+b∣​ 的分母:
    分母2a2a2a可以由二次函数y=ax2+bx+c(a>0)y=ax^2+bx+c (a>0)y=ax2+bx+c(a>0) 二阶导数得到

    ∂2y∂x2=2a\large\frac{\partial^2 y}{\partial x^2}=\normalsize2a∂x2∂2y​=2a

    The best step is ∣First−derivative∣Second−derivative\large\frac{|First-derivative|}{Second-derivative}Second−derivative∣First−derivative∣​

    因此最好的步长应该时一阶导数的绝对值与二阶导数的比值

  • 对比公式:wt+1←wt−η∑i=0t(gi)2gtw^{t+1} \gets w^t - \Large\frac{\eta}{\small\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}}\normalsize g^twt+1←wt−i=0∑t​(gi)2​η​gt

gtg^tgt是一阶导数,二阶导数较难计算,使用∑i=0t(gi)2\sqrt{\displaystyle\sum_{i=0}^t(g^i)^2}i=0∑t​(gi)2​来估测

Tip 2: Stochastic Gradient Descent 随机梯度下降

  • Gradient Descent 普通梯度下降
    Loss is the summation over all training examples
    损失函数是所有训练样例的总和
    损失函数loss function
    L(w,b)=∑(yn^−(b+∑w1⋅xcpi))2L(w,b)=\sum\big(\hat{y^n}-(b+\sum w_1\cdot x_{cp}^i)\big)^2L(w,b)=∑(yn^​−(b+∑w1​⋅xcpi​))2
    损失函数loss function梯度下降公式:
    θi=θi−1−η∇L(θi−1)\theta^{i}=\theta^{i-1}-\eta\nabla L(\theta^{i-1})θi=θi−1−η∇L(θi−1)

  • Stochastic Gradient Descent 随机梯度下降
    Loss for only one example
    每次使用一个样例
    损失函数loss function
    L(w,b)=(yn^−(b+∑w1⋅xcpi))2L(w,b)=\big(\hat{y^n}-(b+\sum w_1\cdot x_{cp}^i)\big)^2L(w,b)=(yn^​−(b+∑w1​⋅xcpi​))2
    损失函数loss function梯度下降公式(与普通梯度下降相同):
    θi=θi−1−η∇L(θi−1)\theta^{i}=\theta^{i-1}-\eta\nabla L(\theta^{i-1})θi=θi−1−η∇L(θi−1)

  • 随机梯度下降Stochastic Gradient Descent优点:

    计算速度更快——“天下武功,唯快不破”

Tip 3: Feature Scaling 特征缩放

1.特征缩放Feature Scaling是什么(what)?

设函数: y=b+w1x1+w2x2y=b+w_1x_1+w_2x_2y=b+w1​x1​+w2​x2​
通过特征缩放Feature Scaling后如下图所示

2.特征缩放Feature Scaling为什么(why)?

Make different features have the same scaling
使不同的特征值有相同的比例

经过特征缩放后,便于进行梯度下降:
右边是两个参数scaling比较接近,右边的绿色图就比较接近圆形。
对于左边的情况,这种狭长的情形不用Adagrad算法比较难处理,两个方向上需要不同的学习率。而右边情形更新参数就会变得比较容易。左边的梯度下降并不是向着最低点方向走的,而是顺着等高线切线法线方向走的。但绿色就可以向着圆心(最低点)走,这样做参数更新也是比较有效率。

3.特征缩放Feature Scaling怎么做(how)?

其中一种做法类似于概率统计学中正态分布的标准化:
具体方法如下:

  • 一共有R组数据:{x1,x2,x3...xr...xR}\{x^1,x^2,x^3...x^r...x^R\}{x1,x2,x3...xr...xR}

  • 对于第 rrr 个数据,其第 iii 维特征值xirx_i^rxir​ 可以通过:
    xir←xir−miσix_i^r \gets \large\frac{x_i^r-m_i}{\sigma_i}xir​←σi​xir​−mi​​

    其中mim_imi​ 是第 iii 维数值的均值,σi\sigma_iσi​ 是第 iii 维数据的标准差

通过特征缩放Feature Scaling,所有维度数据的均值为0,标准差为1

三、Gradient Descent Theory梯度下降的数学理论

梯度下降Gradient Descent可以看作在圆圈内不断寻找最小值点,并更新圆心的过程

基本原理1:泰勒级数

  • 一阶泰勒展开:
    h(x)=∑k=0∞h(k)(x0)k!(x−x0)kh(x)=\displaystyle\sum_{k=0}^∞\frac{h^{(k)}(x_0)}{k!}(x-x_0)^kh(x)=k=0∑∞​k!h(k)(x0​)​(x−x0​)k
    =h(x0)+h′(x0)(x−x0)+h′′(x0)2!(x−x0)2+...=h(x_0)+h'(x_0)(x-x_0)+\frac{h''(x_0)}{2!}(x-x_0)^2+...=h(x0​)+h′(x0​)(x−x0​)+2!h′′(x0​)​(x−x0​)2+...
    当x→x0x \to x_0x→x0​ 时,有h(x)≈h(x0)+h′(x0)(x−x0)h(x)\approx h(x_0)+h'(x_0)(x-x_0)h(x)≈h(x0​)+h′(x0​)(x−x0​)
  • 二阶泰勒展开:
    h(x,y)=h(x0,y0)+∂h(x0,y0)∂x(x−x0)+∂h(x0,y0)∂y(y−y0)+...h(x,y)=h(x_0,y_0)+\frac{\partial h(x_0,y_0)}{\partial x}(x-x_0)+\frac{\partial h(x_0,y_0)}{\partial y}(y-y_0)+...h(x,y)=h(x0​,y0​)+∂x∂h(x0​,y0​)​(x−x0​)+∂y∂h(x0​,y0​)​(y−y0​)+...
    由于‘…’中的项在x→x0,y→y0x \to x_0,y \to y_0x→x0​,y→y0​ 时可以忽略,因此:
    h(x,y)≈h(x0,y0)+∂h(x0,y0)∂x(x−x0)+∂h(x0,y0)∂y(y−y0)h(x,y)\approx h(x_0,y_0)+\frac{\partial h(x_0,y_0)}{\partial x}(x-x_0)+\frac{\partial h(x_0,y_0)}{\partial y}(y-y_0)h(x,y)≈h(x0​,y0​)+∂x∂h(x0​,y0​)​(x−x0​)+∂y∂h(x0​,y0​)​(y−y0​)

利用泰勒级数,对于有两个参数{θ1,θ2}\{\theta_1,\theta_2\}{θ1​,θ2​}的损失函数loss function在点 (a,b)(a,b)(a,b) 处可以表示为如下形式:
L(θ)≈L(a,b)+∂L(a,b)∂θ1(θ1−a)+∂L(a,b)∂θ2(θ2−b)L(\theta)\approx L(a,b)+\frac{\partial L(a,b)}{\partial \theta_1}(\theta_1-a)+\frac{\partial L(a,b)}{\partial \theta_2}(\theta_2-b)L(θ)≈L(a,b)+∂θ1​∂L(a,b)​(θ1​−a)+∂θ2​∂L(a,b)​(θ2​−b)

基本原理2:梯度矢量点乘

L(θ)≈L(a,b)+∂L(a,b)∂θ1(θ1−a)+∂L(a,b)∂θ2(θ2−b)L(\theta)\approx L(a,b)+\frac{\partial L(a,b)}{\partial \theta_1}(\theta_1-a)+\frac{\partial L(a,b)}{\partial \theta_2}(\theta_2-b)L(θ)≈L(a,b)+∂θ1​∂L(a,b)​(θ1​−a)+∂θ2​∂L(a,b)​(θ2​−b)

令s=L(a,b)s=L(a,b)s=L(a,b)
u=∂L(a,b)∂θ1u=\frac{\partial L(a,b)}{\partial \theta_1}u=∂θ1​∂L(a,b)​ , v=∂L(a,b)∂θ2v=\frac{\partial L(a,b)}{\partial \theta_2}v=∂θ2​∂L(a,b)​

则 L(θ)≈s+u(θ1−a)+v(θ2−b)L(\theta)\approx s+u(\theta_1-a)+v(\theta_2-b)L(θ)≈s+u(θ1​−a)+v(θ2​−b)

再令(θ1−a)→Δθ1,(θ2−b)→Δθ2(\theta_1-a)\to \Delta\theta_1 , (\theta_2-b)\to \Delta\theta_2(θ1​−a)→Δθ1​,(θ2​−b)→Δθ2​
有(Δθ1)2+(Δθ2)2⩽d2(\Delta\theta_1)^2+(\Delta\theta_2)^2\leqslant d^2(Δθ1​)2+(Δθ2​)2⩽d2
为了使L(θ)L(\theta)L(θ)最小,考虑Δθ1,Δθ2\Delta\theta_1,\Delta\theta_2Δθ1​,Δθ2​组成的(Δθ1,Δθ2)(\Delta\theta_1,\Delta\theta_2)(Δθ1​,Δθ2​)向量
L(θ)=s+(Δθ1,Δθ2)⋅(u,v)L(\theta)=s+(\Delta\theta_1,\Delta\theta_2)\cdot(u,v)L(θ)=s+(Δθ1​,Δθ2​)⋅(u,v)
显然,当(Δθ1,Δθ2)(\Delta\theta_1,\Delta\theta_2)(Δθ1​,Δθ2​)与(u,v)(u,v)(u,v)反向时,L(θ)L(\theta)L(θ)最小。

因此,令 [Δθ1Δθ2]=η[uv]\begin{bmatrix} \Delta\theta_1 \\ \Delta\theta_2 \end{bmatrix}=\eta\begin{bmatrix} u \\ v \end{bmatrix}[Δθ1​Δθ2​​]=η[uv​] ,

即 [θ1θ2]=[ab]−η[uv]=[ab]−η[∂L(a,b)∂θ1∂L(a,b)∂θ2]\begin{bmatrix} \theta_1 \\ \theta_2 \end{bmatrix}=\begin{bmatrix} a \\ b \end{bmatrix}-\eta\begin{bmatrix} u \\ v \end{bmatrix}=\begin{bmatrix} a \\ b \end{bmatrix}-\eta\begin{bmatrix} \frac{\partial L(a,b)}{\partial \theta_1} \\ \frac{\partial L(a,b)}{\partial \theta_2} \end{bmatrix}[θ1​θ2​​]=[ab​]−η[uv​]=[ab​]−η[∂θ1​∂L(a,b)​∂θ2​∂L(a,b)​​]

四、梯度下降的限制

  • (1)Very slow at the plateau 在稳定的‘高原’时下降缓慢
  • (2)Stuck at saddle point 停在马鞍点
  • (3)Stuck at local minima 停在局部最小值点

【知识索引】【李宏毅机器学习】

【李宏毅机器学习】04:梯度下降Gradient Descent相关推荐

  1. 机器学习(1)之梯度下降(gradient descent)

    机器学习(1)之梯度下降(gradient descent) 题记:最近零碎的时间都在学习Andrew Ng的machine learning,因此就有了这些笔记. 梯度下降是线性回归的一种(Line ...

  2. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降

    Lesson 4.3 梯度下降(Gradient Descent)基本原理与手动实现 在上一小节中,我们已经成功的构建了逻辑回归的损失函数,但由于逻辑回归模型本身的特殊性,我们在构造损失函数时无法采用 ...

  3. 梯度下降(Gradient Descent),一句代码,一个式子

    一直以来,总是觉得国外的PhD们的教育以及课程的安排很好很强大,虽然是说很累作业多工作量大,但是功率大了,效果好点儿,浪费的时间也少,年轻人哪有怕苦怕累的.比比身边好多每天睡超过12小时的研究生们,不 ...

  4. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

    前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公 ...

  5. 机器学习代码实战——梯度下降(gradient descent)

    文章目录 1.实验目的 2.梯度下降 2.1.借助sklearn库 2.2.手写梯度下降函数 1.实验目的 本实验将使用两种方法实现梯度下降算法并可打印出参数,可视化梯度下降过程.第一种方法是借助sk ...

  6. 梯度下降 gradient descent

    文章目录 导数 偏导数 方向导数 梯度 代价函数的梯度 梯度下降的详细算法 先决条件 算法过程 代价损失中 θ 偏导数公式推导 批量梯度下降(Batch Gradient Descent,BGD) 随 ...

  7. excel计算二元线性回归_用人话讲明白梯度下降Gradient Descent(以求解多元线性回归参数为例)...

    文章目录 1.梯度 2.多元线性回归参数求解 3.梯度下降 4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频率特别高,是非常常用的优化算法. 本文借多元线性回归,用人话解释清楚梯度下降的 ...

  8. 梯度下降 Gradient Descent 详解、梯度消失和爆炸

    1.什么是梯度 在微积分中,对多元函数的参数求∂偏导,把求得的各个参数的偏导数以向量形式写出来即为梯度. 例如对于函数f(x,y),分别对x,y求偏导,求得的梯度向量就是 (∂f/∂x, ∂f/∂y) ...

  9. 机器学习 の04 梯度提升决策树GBDT

    机器学习 の04 梯度提升决策树GBDT GBDT的背景知识 集成学习(ensemble learning) Bagging(Bootstrap Aggregating)算法 Boosting提升算法 ...

最新文章

  1. [leetcode]_Integer to Roman
  2. 指尖大冒险、跳一跳升级版html5游戏全代码
  3. HDU 5459 Jesus Is Here (递推,组合数学)
  4. liferay和cas系统集成
  5. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning
  6. BC:带你温习并解读《中国区块链技术和应用发展白皮书》—国内外区块链发展现状
  7. solr获取同义词 java_java操作solr实现查询功能的实例
  8. easyui combo自动高度(下拉框空白问题)
  9. [react] 写例子说明React如何在JSX中实现for循环
  10. 【CentOS 7笔记11】,目录权限,所有者与所有组,隐藏权限#171022
  11. 面向接口编程 (噬菌体) 不错的接口
  12. php生成迷宫和迷宫寻址算法实例
  13. linux opera flash插件,Opera 浏览器找不到 flash 插件的解决方案
  14. 单页面响应式模板:黑石
  15. series 锐捷rgrsr20_锐捷路由器(RG-RSR20-04)清除密码的方法详解
  16. 三星手机和计算机如何连接打印机,三星打印机连接到电脑没反应怎么办
  17. c语言小红今年12岁小明13岁,[转载]三年级下“创新思维数学讲义”——年龄问题...
  18. Ethereum开发
  19. 3DMax 2020中文版
  20. hudson插件开发入门

热门文章

  1. python语言的实验心得体会_爱的五种语言——“好妈妈”培训班家教情商课课堂纪实!...
  2. 依赖倒转原则_Java设计模式的七大原则
  3. js 获取当天时间,实现展示包含今天的一周时间的方法
  4. 基础06final、权限、内部类
  5. cesium 获取当前经纬度和视角还有当前level层级
  6. 查不到元素_浓重中国元素游戏的本地化地狱
  7. linux cpu监控方案,Linux性能优化和监控系列(二)分析CPU性能
  8. Java自带工具包StringUtils包含方法
  9. spring boot 启动 Error:java: Compilation failed: internal java compiler error 解决办法
  10. MYSQL数学函数哪些事