吴恩达机器学习课程笔记——Ch2 单变量线性回归

Chapter 2  单变量线性回归(Linear Regression with One Variable)

课程笔记总览传送门:https://blog.csdn.net/weixin_42900928/article/details/86523192


Ch2

2.1 模型表示

2.2 Cost Function(代价函数)

2.3 Gradient descent(梯度下降)

小结


2.1 模型表示

一元回归没啥可说的,下图上半部分就是一个一元线性回归函数,下半部分顺便回顾了监督学习的概念。

监督学习回顾

值得注意的是一些参数的标定问题:

一些参数的标定

 

m——训练样本的数量                                                 如:

x^{(i)}——特征/输入变量                                                         x^{(1)} = 2104

y^{(i)}——目标变量/输出变量                                                   y^{(1)} = 460

x^{(i)}y^{(i)})——第i个观察实例                                         (x^{(1)}y^{(1)})= (2104,460)

 

一元线性回归模型流程图

 

如上图可知,一元线性回归的一般方程为:h_{\theta }(x)=\theta _{0}x + \theta_{1}x  [可简化成h(x)]

这里还解释了一下为什么会用 h 作为函数表达的形式。


2.2 Cost Function(代价函数)

什么是代价函数呢,看图(这里 \theta_{0} = 0)。

 

 

三根蓝线代表回归函数的值h_{\theta}(x^{(i)})和实际观测样本 y^{(i)}的误差,而代价函数J(\theta_{0},\theta_{1})就是所有误差(h_{\theta}(x^{(i)}) - y^{(i)})的平方的和再除以2倍样本数。公式为:

                                             J(\theta_{0},\theta_{1})=\tfrac{1}{2m}\sum ^{m}_{i=1}(h_{\theta}(x^{i})-y^{(i)})^{2}= \tfrac{1}{2m}\sum ^{m}_{i=1}(\theta_{0}+\theta_{1}x^{(i)}-y^{(i)})^{2}

和最小二乘法的概念几乎一样,不同仅在于为了方便计算除以的2m。

 

接下来,为了更进一步了解代价函数的问题,令常数项 \theta_{0} = 0 :

 

 

左图,三条过原点的直线分别对应不同 \theta_{1} 的取值的 h_{\theta1}(x) ,三个红叉代表观测值 y^{(i)} ,黑的竖线代表误差(h_{\theta1}(x^{(i)}) - y^{(i)}

右图,黑叉代表不同 \theta_{1} 取值下的代价函数 J(\theta_{1}) 的值。

以 \theta_{1}=1 为例,h_{\theta1}(x) 完美经过三个观测点,即误差为0,因此 J(\theta_{1}) 也为0,对应右图的(1,0)点;

\theta_{1}=0.5 为例,h_{\theta1}(x)与观测点有误差,因此经过计算 J(\theta_{1}) 也有对应的值,即右图的(0.5,J(\theta_{1}) )点;

......

取无穷个 \theta_{1} 的值,就会有无穷个误差,也会有无穷个 J(\theta_{1}) 值。而无穷个 J(\theta_{1}) 构成的函数就是Cost Function(代价函数)→右图,需要注意的是,这里常数项 \theta_{0} = 0。

那么,说了这么多,Cost Function的意义是什么呢。意义是:通过改变 \theta_{1} 的取值,找出J(\theta_{1})最小的值,从而得到误差最小,拟合程度最高的,即满足 min_{(\theta_0,\theta_{1})}J(\theta_{0},\theta_{1}) 的回归模型(这里指一元、没有常数项的回归模型)。再偷偷换一下概念,这个过程就是找最小值。

 

了解了特殊的 J(\theta_{1}) 后,需要了解更一般的代价函数 J(\theta_{0},\theta_{1}) 。

 

 

那么,在常数项 \theta_{0} = 0 时,J(\theta_{0},\theta_{1}) 是一条在二维平面的曲线,如果在常数项 \theta_{0}\neq 0 时,它的图像如下:

 

 

二维→三维,不难理解。

 

和之前 \theta_{0} = 0 时类比,这里也有一样的示意图,左边是h_{\theta}(x^{(i)}),右边则是三维图二维化(?)的“等高线图”:

 

 

越接近中心点,误差越小,代价函数也越接近最小值。


2.3 Gradient descent(梯度下降)

首先,理一下思路。

 

梯度下降过程:1.选个 (\theta_{0} ,\theta_{1}) (比如(0,0));

                          2.改变(\theta_{0} ,\theta_{1}),目的是尽可能降低代价函数 J(\theta_{0},\theta_{1}) 的值(减少误差),也就是上文提过的找最小值。

需要注意的是:改变(\theta_{0} ,\theta_{1})的过程中,\theta_{0} 和 \theta_{1} 要同步更新(simultaneous update),后面会再提到。

举个例子:

 

上图,假设是一个代价函数的图像,红圈是第1步的取值,接下来就要往下走(减少代价函数的值),走到最低处就成功;

下图,相较于上图,第1步稍微偏移了一下,可以看到走了一条完全不同的路径,因此最后的值也不一定相同,这是什么呢?这是极小值啊(破音)。梯度下降,要找最小值,然而如果图像是上面那样的,很有可能面临一堆极小值。好在,吴老师说,一元线性方程的代价函数图都是这样的:

所以,在一元线性回归里,极小值有且仅有一个,就是最小值,莫担心。

到底说没说过,为什么在笔记里没看到,完了,不管了,懒得回去看视频了

 

接下来,喜闻乐见的公式环节:

 

说实话,并不复杂,吴老师的乱涂乱画搞得很难受 =_= ?来解释一下,需要注意的有3个点:

1.公式主体——

 \theta_{j}:=\theta_{j}-\alpha\frac{\partial }{\partial \theta_{j}}J(\theta_{0},\theta_{1})(j= 0,1) 

2.新出的符号、参数——“ := ” 代表赋值的意思;\alpha 是学习率(learning rate),大就变化的快,小就慢;偏导符号没得说。

3.之前提到的同步更新(simultaneous update)——看图中下半部分....反正我是懂了。

 

例子1( \theta_{0} =0):

 

上图,初始点在右侧,偏导数为 +,\theta_{1} 减小;

下图,初始点在左侧,偏导数为 - ,\theta_{1} 增大;

目的都是到达最低点。

 

例子2:

 

上图,\alpha 太小,会收敛(术语!术语!)的太慢;

下图,\alpha 太大,可能导致发散。

 

例子3:

 

随着迭代的发生,斜率会越来越小,即偏导数越来越小,所以梯度下降的程度会自动减缓。

 

最后,整理一下 \theta_{0} 和 \theta_{1} 的迭代公式,强调,二者同时更新。

 

结束,对了,这个方法叫“Batch” Gradient Descent,是一个比较常用的梯度下降方法。

 


小结

这学期在课上听的云里雾里的梯度下降原来是这么回事,学习——了解专业术语并掌握之,仅此而已。嘿嘿。富文本编辑器好像比那个M编辑器好用很多啊&_&

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值