吴恩达机器学习笔记之单变量线性回归

模型表示(Model Representation)

  • 在监督学习中有一个数据集,我们把它称之为训练集(Training Set)。
  • h(x)在这里表示hypothesis,这是机器学习的术语,不用太在意名称。

代价函数(Cost Function)

  • 代价函数使我们用来评估h(x)准确度的一个函数,
  • 代价函数也叫平方误差函数,或者叫做平方误差代价函数,前面除以2的原因是为了后面梯度下降的计算时更方便。代价函数反应的是拟合的函数与原始数据的差异程度。

                                                                h_{\theta }=\theta _{0}+\theta _{1}x

梯度下降(Gradient Descent)

  • 梯度下降的特点是,不同的初始点可能会得到不同的局部最优解。
  • 梯度下降就是通过求导,数学上是做该点的切线,然后沿着切线的方向下降,\alpha是学习速率,学习速率过大可能会导致不收敛,学习速率过小的话可能会导致收敛速度很慢。

更新参数的时候是同步更新的,应为下图左边所示,右图是一种错误的更新方法,因为先更新\theta _{0},在更新\theta _{1}

一个参数的梯度下降

下图是关于一个参数的代价函数梯度下降时的具体说明,因为梯度下降时,它的步伐会越来越小,因此我们使用一个固定的学习速率也能使它达到收敛。

线性回归的梯度下降

下面是线性回归梯度下降的公式表示:

下面是求导的具体表达式:

我们把每次更新参数时都使用所有样本进行计算的过程叫做Batch  gradient descent。

一般的线性回归的代价函数是只有一个全局最优解的,我们把它叫做凸函数,下图是一个凸函数的等高图,图中的线表示的就是从一个初始化的点经过梯度下降之后到达最优点的过程。

matlab代码实现:

theta_temp = theta
theta(1) = theta(1) - alpha/ m * sum((X * theta_temp - y) .* X(:,1));
theta(2) = theta(2) - alpha/ m * sum((X * theta_temp - y) .* X(:,2));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值