【问题标题】:Gradient Descent For Mutivariate Linear Regression多元线性回归的梯度下降
【发布时间】:2017-06-20 02:08:11
【问题描述】:

好的,那么这个算法到底是什么意思?

我所知道的

i) alpha : 梯度下降的步长有多大。

ii) 现在,∑{ hTheta[x(i)] - y(i) } :指给定 Theta 值的总误差。

误差是指预测值{ hTheta[x(i)] }与实际值之间的差异。[ y(i) ]

∑{ hTheta[x(i)] - y(i) } 为我们提供了来自所有训练示例的所有错误的总和。

最后的 Xj^(i) 代表什么?

在为多变量线性回归实现梯度下降时,我们是否在执行以下操作?

Theta (j) 减:

  • 阿尔法

  • 1/m

  • 次:

{ 第一个训练示例的误差乘以第一个训练示例的第 j 个元素。加

第二个训练示例的错误乘以第二个训练示例的第 j 个元素。加

.

.

.

第 n 个训练示例的 PLUS 误差乘以第 n 个训练示例的第 j 个元素。 }

【问题讨论】:

  • n 是您要估计的参数数量,m 是数据中的观察(训练实例)数量。求和内部是针对单个训练示例的,您可以对所有训练示例运行此算法,直到收敛。 j 是参数的索引号。 x^{i} 是第 i 个训练样本的输入特征。 x_{j}^{i} 是第 i 个训练示例中的特征 j。

标签: linear-regression gradient-descent


【解决方案1】:

Gradient Descent 是一种迭代算法,用于查找函数的最小值。当给定一个凸函数时,可以保证在给定足够小的 alpha 的情况下找到该函数的全局最小值。这是寻找函数J最小值的梯度下降算法:

这个想法是以学习率 alpha 沿梯度的相反方向移动参数。最终它会降到函数的最小值。

我们可以为theta的每个轴重写这个参数更新:

在多元线性回归中,优化的目标是最小化误差平方和:

这个代价函数的偏导数可以通过代入微分求导,这里我们用elementary power rule,将2次幂减去1,把2作为系数,去掉1/2系数。然后我们把h(x)的导数放到theta_j上,右边就是x_j。

这里,x_j^(i) 代表 h_theta(x^(i)) 对 theta_j 的偏导数。 x_j^(i) 是第 i 个数据的第 j 个元素。

【讨论】:

  • 对于一些任意的学习率 alpha,通常不能保证收敛。
  • @sascha 修复了它。
猜你喜欢
  • 2019-10-09
  • 2017-01-02
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 2016-10-22
  • 1970-01-01
相关资源
最近更新 更多