机器学习&深度学习优化算法

梯度下降算法

1.给定数据集X = {x^{(1)},x^{(2)},x^{(3)},...,x^{(n)}}, 数据标记为:Y = {y^{(1)},y^{(2)},y^{(3)},...,y^{(n)}}

   学习器:f(x;w) =w _{1}x _{1} + w _{2}x _{2} + w _{3}x _{3} + ... + w _{n}x _{n}, 学习率:\alpha

   for i = 0 : \infty

   {

        w_{i} = w_{i} + \alpha * 1/m \sum_{i=1}^{m}(y^{i} - f(x^{(i)};w)) * x^{(i)}

   } 

    2.批量梯度下降算法(BGD)

批量梯度下降算法又称之为最速梯度下降,这里的“批量”指的是全部一起处理的意思。

2.给定数据集X = {x^{(1)},x^{(2)},x^{(3)},...,x^{(n)}}, 数据标记为:Y = {y^{(1)},y^{(2)},y^{(3)},...,y^{(n)}}

   学习器:f(x;w) =w _{1}x _{1} + w _{2}x _{2} + w _{3}x _{3} + ... + w _{n}x _{n}, 学习率:\alpha

 for i = 0 : \infty

   {

        w_{i} = w_{i} + \alpha * 1/N \sum_{i=1}^{N}(y^{i} - f(x^{(i)};w)) * x_{i}^{(j)}

   } 

这里的 指的是样本数量。我们计算一次梯度时,需要计算完所有的数据的误差梯度,累加后再平均,这就是我们要找的最速下降梯度。也就类似于:“环顾四周”。

    当然,实物具有两面性,有点是准确,但是在如今大数据的时代,这就造成了巨大的计算困难。

    3.随机梯度下降算法(SGD)

2.给定数据集X = {x^{(1)},x^{(2)},x^{(3)},...,x^{(n)}}, 数据标记为:Y = {y^{(1)},y^{(2)},y^{(3)},...,y^{(n)}}

   学习器:f(x;w) =w _{1}x _{1} + w _{2}x _{2} + w _{3}x _{3} + ... + w _{n}x _{n}, 学习率:\alpha

 for i = 0 : \infty

   {

        随机选择一条数据x^{(j)};

        w_{i} = w_{i} + \alpha * (y^{(j)} - f(x^{(j)};w)) * x_{i}^{(j)};

   } 

  SGD最大的好处就是我们不需要考虑数据集的尺寸,我们看见一条数据就修改一条数据,我们的机器学习就可以边学习边工作,也就是现在流行的 在线学习(Online Learing)。


猜你喜欢

转载自blog.csdn.net/wangheng673/article/details/84330398
今日推荐