4.6 正规方程
对于某些线性回归问题,正规方程方法是更好的解决方案!!!
正规方程(Normal Equation):
与梯度下降对比对比
正规方程的python实现:import numpy as np def normalEqn(X, y): theta = np.linalg.inv(X.T@X)@X.T@y #X.T@X等价于X.T.dot(X) return theta
问题化简:
训练集中共有m个样本,每个样本有n个连续型特征
,和一个标签值
,现在需要找出特征和标签值之间的线性关系, 希望对每个特征确定一个系数,使该线性模型的误差最小。用计算方差来表示代价函数
,目标就是优化代价函数使之达到最小值。
前提知识:
表示 m行n列的矩阵A,
表示矩阵第i行第j列的元素
表示行向量,
表示行向量的第i个元素
表示列向量,
表示列向量
表示求
函数的梯度,
![]()
解:
的推导过程:
①
其中:
② 将向量表达形式转为矩阵表达形式,则有
,其中
为
行
列的矩阵
③对
进行如下变换:
④接下来对
偏导,需要用到以下几个矩阵的求导法则:
、
所以有:
⑤令
, 则有