机器学习笔记 - week2 -(四、多变量线性回归 Part2)


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个样本X = \begin{bmatrix} x_{1}^{1} & x_{2}^{1} & \cdots & x_{n}^{1} \\ x_{1}^{2} & x_{2}^{2} & \cdots & x_{n}^{2} \\ \vdots & \vdots & \ddots & \vdots \\ x_{1}^{m} & x_{2}^{m} & \cdots & x_{n}^{m} \\ \end{bmatrix},每个样本有n个连续型特征,和一个标签值,现在需要找出特征和标签值之间的线性关系, 希望对每个特征确定一个系数,使该线性模型的误差最小。用计算方差来表示代价函数,目标就是优化代价函数使之达到最小值。


前提知识:

  • 表示 m行n列的矩阵A, 表示矩阵第i行第j列的元素
  • 表示行向量,表示行向量的第i个元素
  • 表示列向量,表示列向量
  • 表示求函数的梯度,

解:
的推导过程:

① 其中:

② 将向量表达形式转为矩阵表达形式,则有 ,其中为行列的矩阵

③对进行如下变换:
   
   
   

④接下来对偏导,需要用到以下几个矩阵的求导法则:     、    
所以有:
   
   

⑤令, 则有

你可能感兴趣的:(机器学习笔记 - week2 -(四、多变量线性回归 Part2))