Chapter 2 单变量线性回归(Linear Regression with One Variable)
课程笔记总览传送门:https://blog.csdn.net/weixin_42900928/article/details/86523192
Ch2
2.1 模型表示
一元回归没啥可说的,下图上半部分就是一个一元线性回归函数,下半部分顺便回顾了监督学习的概念。
值得注意的是一些参数的标定问题:
m——训练样本的数量 如:
——特征/输入变量 = 2104
——目标变量/输出变量 = 460
(,)——第i个观察实例 (,)= (2104,460)
如上图可知,一元线性回归的一般方程为: [可简化成h(x)]
这里还解释了一下为什么会用 h 作为函数表达的形式。
2.2 Cost Function(代价函数)
什么是代价函数呢,看图(这里 = 0)。
三根蓝线代表回归函数的值和实际观测样本 的误差,而代价函数就是所有误差( - )的平方的和再除以2倍样本数。公式为:
和最小二乘法的概念几乎一样,不同仅在于为了方便计算除以的2m。
接下来,为了更进一步了解代价函数的问题,令常数项 = 0 :
左图,三条过原点的直线分别对应不同 的取值的 ,三个红叉代表观测值 ,黑的竖线代表误差( - )
右图,黑叉代表不同 取值下的代价函数 的值。
以 为例, 完美经过三个观测点,即误差为0,因此 也为0,对应右图的(1,0)点;
以 为例,与观测点有误差,因此经过计算 也有对应的值,即右图的(0.5, )点;
......
取无穷个 的值,就会有无穷个误差,也会有无穷个 值。而无穷个 构成的函数就是Cost Function(代价函数)→右图,需要注意的是,这里常数项 = 0。
那么,说了这么多,Cost Function的意义是什么呢。意义是:通过改变 的取值,找出最小的值,从而得到误差最小,拟合程度最高的,即满足 的回归模型(这里指一元、没有常数项的回归模型)。再偷偷换一下概念,这个过程就是找最小值。
了解了特殊的 后,需要了解更一般的代价函数 。
那么,在常数项 = 0 时, 是一条在二维平面的曲线,如果在常数项 时,它的图像如下:
二维→三维,不难理解。
和之前 = 0 时类比,这里也有一样的示意图,左边是,右边则是三维图二维化(?)的“等高线图”:
越接近中心点,误差越小,代价函数也越接近最小值。
2.3 Gradient descent(梯度下降)
首先,理一下思路。
梯度下降过程:1.选个 ( ,) (比如(0,0));
2.改变( ,),目的是尽可能降低代价函数 的值(减少误差),也就是上文提过的找最小值。
需要注意的是:改变( ,)的过程中, 和 要同步更新(simultaneous update),后面会再提到。
举个例子:
上图,假设是一个代价函数的图像,红圈是第1步的取值,接下来就要往下走(减少代价函数的值),走到最低处就成功;
下图,相较于上图,第1步稍微偏移了一下,可以看到走了一条完全不同的路径,因此最后的值也不一定相同,这是什么呢?这是极小值啊(破音)。梯度下降,要找最小值,然而如果图像是上面那样的,很有可能面临一堆极小值。好在,吴老师说,一元线性方程的代价函数图都是这样的:
所以,在一元线性回归里,极小值有且仅有一个,就是最小值,莫担心。
到底说没说过,为什么在笔记里没看到,完了,不管了,懒得回去看视频了
接下来,喜闻乐见的公式环节:
说实话,并不复杂,吴老师的乱涂乱画搞得很难受 =_= ?来解释一下,需要注意的有3个点:
1.公式主体——
2.新出的符号、参数——“ := ” 代表赋值的意思; 是学习率(learning rate),大就变化的快,小就慢;偏导符号没得说。
3.之前提到的同步更新(simultaneous update)——看图中下半部分....反正我是懂了。
例子1( =0):
上图,初始点在右侧,偏导数为 +, 减小;
下图,初始点在左侧,偏导数为 - , 增大;
目的都是到达最低点。
例子2:
上图, 太小,会收敛(术语!术语!)的太慢;
下图, 太大,可能导致发散。
例子3:
随着迭代的发生,斜率会越来越小,即偏导数越来越小,所以梯度下降的程度会自动减缓。
最后,整理一下 和 的迭代公式,强调,二者同时更新。
结束,对了,这个方法叫“Batch” Gradient Descent,是一个比较常用的梯度下降方法。
小结
这学期在课上听的云里雾里的梯度下降原来是这么回事,学习——了解专业术语并掌握之,仅此而已。嘿嘿。富文本编辑器好像比那个M编辑器好用很多啊&_&