【机器学习】正规方程

简介: 【1月更文挑战第23天】【机器学习】正规方程

最小二乘法矩阵表示

最小二乘法可以将误差方程转化为有确定解的代数方程组(其方程式数目正好等于未知数的个数),从而可求解出这些未知参数。这个有确定解的代数方程组称为最小二乘法估计的正规方程。公式如下:

$\theta = (X^TX)^{-1}X^Ty$ 或者 $W = (X^TX)^{-1}X^Ty$ ,其中的$W、\theta$ 即使方程的解!

image.png

最小二乘法公式如下:
公式是如何推导的?

最小二乘法公式如下:

$J(\theta) = \frac{1}{2}\sum\limits{i = 0}^n(h{\theta}(x_i) - y_i)^2$

使用矩阵表示:

$J(\theta) = \frac{1}{2}\sum\limits{i = 0}^n(h{\theta(xi)} - y)(h{\theta(x_i)} - y)$ $J(\theta) = \frac{1}{2}(X\theta - y)^T(X\theta - y)$

image.png

image.png

使用Python代码标识:

# 上面八元一次方程对应的X数据
X = np.array([[  0 ,14 , 8 ,  0 ,  5,  -2,   9,  -3],
 [ -4 , 10 ,  6 ,  4 ,-14 , -2 ,-14  , 8],
 [ -1 , -6  , 5 ,-12 ,  3 , -3 ,  2 , -2],
 [  5 , -2  , 3 , 10  , 5 , 11 ,  4  ,-8],
 [-15 ,-15  ,-8 ,-15 ,  7 , -4, -12 ,  2],
 [ 11 ,-10 , -2 ,  4  , 3 , -9 , -6 ,  7],
 [-14 ,  0 ,  4 , -3  , 5 , 10 , 13 ,  7],
 [ -3 , -7 , -2 , -8  , 0 , -6 , -5 , -9]])
# 对应的y
y = np.array([ 339 ,-114  , 30 , 126, -395 , -87 , 422, -309])
display(X,y)

矩阵转置公式与求导公式:

image.png

推导正规方程 $\theta$ 的解:

  1. 矩阵乘法公式展开
  • $J(\theta) = \frac{1}{2}(X\theta - y)^T(X\theta - y)$
  • $J(\theta) = \frac{1}{2}(\theta^TX^T - y^T)(X\theta - y)$
  • $J(\theta) = \frac{1}{2}(\theta^TX^TX\theta - \theta^TX^Ty -y^TX\theta + y^Ty)$
  1. 进行求导(注意X、y是已知量,$\theta$ 是未知数):
  • $J'(\theta) = \frac{1}{2}(\theta^TX^TX\theta - \theta^TX^Ty -y^TX\theta + y^Ty)'$
  1. 根据上面求导公式进行运算:
  • $J'(\theta) = \frac{1}{2}(X^TX\theta + (\theta^TX^TX)^T-X^Ty - (y^TX)^T)$
  • $J'(\theta) = \frac{1}{2}(X^TX\theta + X^TX\theta -X^Ty - X^Ty)$
  • $J'(\theta) = \frac{1}{2}(2X^TX\theta -2X^Ty)$
  • $J'(\theta) =X^TX\theta -X^Ty$
  • $J'(\theta) =X^T(X\theta -y)$ 矩阵运算分配律
  1. 令导数$J'(\theta) = 0:$
  • $0 =X^TX\theta -X^Ty$
  • $X^TX\theta = X^Ty$
  1. 矩阵没有除法,使用逆矩阵进行转化:
  • $(X^TX)^{-1}X^TX\theta = (X^TX)^{-1}X^Ty$
  • $I\theta = (X^TX)^{-1}X^Ty$
  • $\theta = (X^TX)^{-1}X^Ty$

到此为止,公式推导出来了~

相关文章
|
6月前
|
机器学习/深度学习 算法 TensorFlow
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
【Python机器学习】梯度下降法的讲解和求解方程、线性回归实战(Tensorflow、MindSpore平台 附源码)
175 0
|
1月前
|
机器学习/深度学习 API
机器学习入门(七):线性回归原理,损失函数和正规方程
机器学习入门(七):线性回归原理,损失函数和正规方程
|
机器学习/深度学习 算法 Python
学习笔记: 机器学习经典算法-多元线性回归的正规方程解
机器学习经典算法-个人笔记和学习心得分享
130 0
|
机器学习/深度学习 算法
【机器学习】浅谈正规方程法&梯度下降
【机器学习】浅谈正规方程法&梯度下降
【机器学习】浅谈正规方程法&梯度下降
|
机器学习/深度学习 算法
【机器学习】浅谈正规方程法&梯度下降
正规方程法(最小二乘)与梯度下降法都是为了求解线性回归的最优参数,但是不同的是正规方程法只需要一步就可以得到代价函数最优点,而梯度下降则是迭代下降,看起来似乎正规方程法要好得多,但实际梯度下降使用场景更多,下面我们介绍这两种算法以及优缺点
【机器学习】浅谈正规方程法&梯度下降
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
阿里云人工智能平台 PAI 团队发表的图像编辑算法论文在 MM2024 上正式亮相发表。ACM MM(ACM国际多媒体会议)是国际多媒体领域的顶级会议,旨在为研究人员、工程师和行业专家提供一个交流平台,以展示在多媒体领域的最新研究成果、技术进展和应用案例。其主题涵盖了图像处理、视频分析、音频处理、社交媒体和多媒体系统等广泛领域。此次入选标志着阿里云人工智能平台 PAI 在图像编辑算法方面的研究获得了学术界的充分认可。
【MM2024】阿里云 PAI 团队图像编辑算法论文入选 MM2024
|
21天前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
29天前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
50 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
1月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
1月前
|
机器学习/深度学习 算法 Python
探索机器学习中的决策树算法:从理论到实践
【10月更文挑战第5天】本文旨在通过浅显易懂的语言,带领读者了解并实现一个基础的决策树模型。我们将从决策树的基本概念出发,逐步深入其构建过程,包括特征选择、树的生成与剪枝等关键技术点,并以一个简单的例子演示如何用Python代码实现一个决策树分类器。文章不仅注重理论阐述,更侧重于实际操作,以期帮助初学者快速入门并在真实数据上应用这一算法。