Chapter 2 单变量线性回归(Linear Regression with One Variable)
课程笔记总览传送门:https://blog.youkuaiyun.com/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编辑器好用很多啊&_&