风也温柔

计算机科学知识库

线性回归算法java实现 Stanford公开课机器学习2

  单变量[线性回归]12.1 模型表达(Model )

  单变量线性回归:只含有一个特征/输入变量 x

  hθ=θ0+θ1x

  2.2 代价函数(Cost )

  目标便是选择出可以使得建模误差的平方和能够最小的模型参数线性回归算法java实现线性回归算法java实现 Stanford公开课机器学习2,使得代价函数J(θ0,θ1)最小

  J(θ0,θ1)=12m∑1m(hθ(x(i))?y(i))2

  J(θ0,θ1)形成的图像:Bowl-弓形函数,又叫 凸函数:

  θ0=0 时:

  J(θ1)随着θ1的改变而改变

  θ0θ1都存在:

  二维上用不同颜色的等高线把Bowl-弓形函数映射为如下右图

  2.3 梯度下降( )

  因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是 全局最小值( )

  选择不同的初始参数组合,可能会找到不同的局部最小值(如下图)。

  批量梯度下降(batch ):下降的每一步都使用所有的训练样本。

  要同时更新θ0θ1:

  公式 含义

  ??θjJ(θ0,θ1)

  1.该点的切线斜率(slope):决定下降方向

  α

  2.学习率( rate):决定了下降方向向下迈出的步子有多大。

  切线斜率(slope):可正可负(下降方向)

  2.学习率( rate)

  α过小:下降过慢

  α过大:过学习,可能不能找到局部最小值或不能收敛

  因为随着下降过程,越来越接近局部最小值(此处斜率为0),斜率(梯度)逐渐减小,所以无需减小α线性回归算法java实现,下降步子也会随斜率减小。如下图:

  2.4 对线性回归运用梯度下降法

  把梯度下降法用于对线性回归求代价函数的最小值:

  ??θjJ(θ0,θ1)=??θj12m∑1m(hθ(x(i))?y(i))2

  j=0时:

  ??θ0J(θ0,θ1)=1m∑1m(hθ(x(i))?y(i))

  j=1时:

  ??θ1J(θ0,θ1)=1m∑1m((hθ(x(i))?y(i))?x(i))

  得到此线性函数hθ(x)的梯度下降公式:

  2.5 测试

  公开课机器学习---2.单变量线性回归( with One )

  文章来源:https://database.php1.cn/detail/Stanford_GongKai_9e85b5ae.html