求正则化代价函数最小值
梯度下降法
在求解之前的线性回归方程的代价函数的最小值时,我们使用了以下的方程来迭代θ值。
我们知道正则化后的代价函数中我们是从θ1开始惩罚,θ0并未动。所以我们将θ从迭代方程中分离出来。得到以下迭代方程:
其实并没有任何改变,至少将计算θ0的等式分离出来了而已。 然后θj从1开始取值,到n。 如果我们想用这个方法来求节正则化的目标函数,我们还需要在θj的等式上添加一项。 添加后如图:
然后对这个等式变一下形,得到:
1-α(朗达/m)是小于1的,并且α(朗达/m)是非常小的数,所以1-α*(朗达/m)有时近似等于0.99**
我们可以看出θj更新后近似变成了原来的0.99倍,只小了一点点。
关于第二项偏微分的求和,可以查看我写的另一篇文章:
https://blog.csdn.net/Ace_bb/article/details/103996097
正规方程
我们假设有一个数据集,里面有n个变量,m组样本。
由此将全部数据样本构成一个m*(n+1)维的矩阵X,如下图中所示。 将每一个样本对于的预测值y构成m维向量。 如下图所示:
我们目的是求使代价函数J(θ)取得最小值的的θ值,θ是一个向量,可以使用下面这个公式直接计算出,当朗达>0时可以使用。
中间的矩阵是(n+1)*(n+1)维矩阵,对角线上只有第一个元素为0,其他全为1,非对角线上的元素全为0.
当m<n时,可能导致X的转置乘以X矩阵的结果不可逆。所以在m<n时经量不用
——————————————————————————————
图片来自吴恩达老师的网课:
https://www.bilibili.com/video/av9912938?p=43