https://blog-static.cnblogs.com/files/z1174299705/shCoreRDark.css https://blog-static.cnblogs.com/files/z1174299705/shThemeDefault.css

吴恩达机器学习笔记——梯度下降算法(1)

       在单变量线性回归问题中,主要有两个功能函数,分别为假设函数(Hypothesis)和代价函数(Cost Function),

其中假设函数为线性函数,本文中设为hθ(x) = θ0 + θ1*x;

其代价函数为J(θ0,θ1) = 1 / ( 2 * m ) * Σ(h(x(i)) - y(i))2

x(i):训练集中的第i组数据

y(i):训练集中的第i组结论

       我们需要解决的问题是在单变量线性回归问题中,确定θ的值使代价函数取得最小值,而我们知道J(θ)在二维(如果是多维取偏导数)中的取值类似于弓形,如下图所示,所以我们使用梯度下降算法逐步迭代找出使得J(θ)值最小时候的θ值。

 

梯度下降算法的描述可以表示为:

其中α为学习速率,可以控制步伐。

需要注意的是,算法中的两个theta值必须保证同时更新,梯度下降算法求得的是局部最优解。

以此类推,多元线性回归问题梯度下降算法的过程如下:

Hypothesis:

  hθ(x) = θTx = θ0x0 + ...+θnxn

Parameters:

  θ01,...,θn

Cost Function:

  J(θ0,θ1,...,θn) = 1 / ( 2 * m ) * Σ(hθ(x(i)) - y(i))2

Gradient Descent:

   ,即

  Repeat{

    θj := θj - α * (1/m)Σ(hθ(x(i)) - y(i)) * xj(i)

  }(j = 0,1,2,...,n)

 

posted @ 2018-04-12 15:14  张俊余  阅读(1094)  评论(0编辑  收藏  举报