本文是吴恩达《机器学习》视频笔记第42篇,对应第3周第10个视频。
“Regularization——Regularized linear regression”。
01
—
标题内容1
上一小节学到,通过引入惩罚项正则化代价函数。
再次基础上,找到最合适的参数\theta,使得代价函数最小。
再之前呢,我们使用梯度下降法寻找使“没有正则化项的代价函数”最小的那个\theta。
基本算法就是给定一个初始的\theta_0,然后使用迭代公式去不断地优化它们。
而我们正则化中的惩罚项,是针对\theta_1开始的所有的参数的,所以我们在上图\theta_j的更新算法的基础上加上惩罚项,就变成了:
而上图中加了后面红色方框中内容后的梯度下降的参数迭代优化公式,就是加了惩罚项后的代价函数对\theta_j求偏导后的结果。
再对这个式子做一点变换,就成了下图中第二行公式的样子。这个两个式子的比较很有意思,这个式子的后半部分和没有正则化之前的那个式子是一样的,只是前半部分\theta_j的系数由1变成了(1-\alpha*(\lambda/m)),这是一个比1略小的数,取决于\lambda和m。
直观上理解,加入正则项后,我们在进行梯度下降法搜索参数的\theta的时候就没有那么激进了,我们会在原有基础上让这个参数乘以一个比1略小一点的数,让它缩小一点,减少震荡。
正规方程就是我们用训练样本的自变量设计一个矩阵,然后把对应的输出构建为一个向量,然后有这样的公式:
上图最下面的红色框内的公式可以算出\theta。而这个红色框内的\theta的计算公式是可以让代价函数J(\theta)最小的,让这个代价函数对\theta_j求偏导然后等于0得到一个方程,求出来这个方程的解就是上图中红色框中的这样的公式了。
那么,如果我们给代价函数J(\theta)加上正则项呢?那在求解偏导=0之后的结果是什么样子的呢?就是下图这个样子了:
具体的求解过程,大家可以自行尝试一下。
那上图中,我们在括号外面加了一个求逆的-1, 括号里面的东东一定能保证可逆么?
实际上,当我们的训练样本的数量m小于特征的数量n时,括弧里面的东西它就是不可逆的(奇异矩阵)。如前所述,如果使用的时Octave的pinv函数去逆,这个时候依然是可以得到一个结果的,但用inv函数就得不到结果了。总之,这个不可逆问题好像是一个隐藏的炸弹,随时可能爆炸。
幸运的是,引入正则化项的同时还可以帮我们顺带解决这个不可逆问题。只要\lambda>0,下面的括号中的东西就是可逆的。
本小节,我们学习了引入正则化后,梯度下降、正规方程两种线性回归求解方法发生了什么样的变化。
我们还知道了,正则化在防止过拟合的同时,还可以顺便解决正规方程中不可逆的问题。
02
—
视频