推导正规方程的解

2024-08-23 19:52
文章标签 方程 推导 正规

本文主要是介绍推导正规方程的解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 准备工作

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

1.1.1 转置公式:

  • ( m A ) T = m A T (mA)^T=mA^T (mA)T=mAT,M是常数
  • ( A + B ) T = A T + B T (A+B)^T = A^T + B^T (A+B)T=AT+BT
  • ( A B ) T = B T A T (AB)^T = B^TA^T (AB)T=BTAT
  • ( A T ) T = A (A^T)^T = A (AT)T=A

1.1.2 求导公式:

∂ X T ∂ X = I \frac{\partial{X^T}}{\partial{X}} = I XXT=I,求解出来是单位矩阵
∂ X T A ∂ X = A \frac{\partial{X^T}A}{\partial{X}} = A XXTA=A
∂ A X T ∂ X = A \frac{\partial{A}X^T}{\partial{X}} = A XAXT=A
∂ A X ∂ X = A T \frac{\partial{A}X}{\partial{X}} = A^T XAX=AT
∂ X A ∂ X = A T \frac{\partial{X}A}{\partial{X}} = A^T XXA=AT
∂ X T A X ∂ X = ( A + A T ) X \frac{\partial{X^T}AX}{\partial{X}} = (A + A^T) X XXTAX=(A+AT)X,则:A不是对称矩阵
∂ X T A X ∂ X = 2 A X \frac{\partial{X^T}AX}{\partial{X}} = 2A X XXTAX=2AX,则:A是对称矩阵

2. 推导过程

2.1 推导正规方程的 θ \theta θ

  1. 矩阵乘法公式展开
    J ( θ ) = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta) = \frac{1}{2}(X \theta - y)^T(X \theta - y) J(θ)=21(y)T(y)
    J ( θ ) = 1 2 ( X T θ T − y T ) ( X θ − y ) J(\theta) = \frac{1}{2}(X^T \theta^T - y^T)(X \theta - y) J(θ)=21(XTθTyT)(y)
    J ( θ ) = 1 2 ( X T θ T X θ − X T θ T y − y T X θ + y T y ) J(\theta) = \frac{1}{2}(X^T \theta^T X\theta - X^T \theta^T y - y^T X \theta + y^T y) J(θ)=21(XTθTXTθTyyT+yTy)
  2. 进行求导(X,y是已知量, θ \theta θ是变量)
    J ′ ( θ ) = 1 2 ( X T θ T X θ − X T θ T y − y T X θ + y T y ) ′ J'(\theta) = \frac{1}{2}(X^T \theta^T X\theta - X^T \theta^T y - y^T X \theta + y^T y)' J(θ)=21(XTθTXTθTyyT+yTy)
  3. 根据上面求导公式进行运算,( θ \theta θ是变量)
    // 把上面2式子里的导数拿到括号里
    J ′ ( θ ) = 1 2 ( ∂ X T θ T X θ ∂ θ − ∂ X T θ T y ∂ θ − ∂ y T X θ ∂ θ + ∂ y T y ∂ θ ) J'(\theta) = \frac{1}{2}(\frac{\partial{X^T \theta^T X\theta}}{\partial{\theta}} - \frac{\partial{{X^T \theta^T y}}}{\partial{\theta}} - \frac{\partial{y^T X \theta}}{\partial{\theta}} + \frac{\partial{y^T y}}{\partial{\theta}}) J(θ)=21(θXTθTθXTθTyθyT+θyTy)
    // 下面根据求导公式转换
    J ′ ( θ ) = 1 2 ( X T X θ − X T y − ( y T X ) T + ( θ T X T X ) T ) J'(\theta) =\frac{1}{2}(X^TX\theta - X^Ty - (y^TX)^T + (\theta^TX^TX)^T) J(θ)=21(XTXTy(yTX)T+(θTXTX)T)
    J ′ ( θ ) = 1 2 ( X T X θ − X T y − X T y + X T X θ ) J'(\theta) =\frac{1}{2}(X^TX\theta - X^Ty - X^Ty + X^TX\theta) J(θ)=21(XTXTyXTy+XT)
    J ′ ( θ ) = 1 2 ( 2 X T X θ − 2 X T y ) J'(\theta) =\frac{1}{2}(2X^TX\theta - 2X^Ty) J(θ)=21(2XT2XTy)
    J ′ ( θ ) = X T X θ − X T y J'(\theta) =X^TX\theta - X^Ty J(θ)=XTXTy
    J ′ ( θ ) = X T ( X θ − y ) J'(\theta) =X^T(X\theta - y) J(θ)=XT(y) // 矩阵运算分配率
  4. 令导数 J ′ ( θ ) = 0 J'(\theta) = 0 J(θ)=0(为什么要令它等于0呢?因为最小二乘法公式上有个平方,所以必然是凸函数,所以它的导数=0时,函数值必然是最小值。)
    0 = X T X θ − X T y 0 =X^TX\theta - X^Ty 0=XTXTy
    X T X θ = X T y X^TX\theta = X^Ty XT=XTy
    // 到这里似乎可以得到 θ = y X \theta = \frac{y}{X} θ=Xy,不过不对,矩阵运算没有除法,得用逆矩阵参与运算
  5. 使用逆矩阵转换
    ( X T X ) − 1 X T X θ = ( X T X ) − 1 X T y (X^TX)^{-1}X^TX\theta = (X^TX)^{-1}X^Ty (XTX)1XT=(XTX)1XTy
    I θ = ( X T X ) − 1 X T y I\theta = (X^TX)^{-1}X^Ty Iθ=(XTX)1XTy
    θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

2.2 到此为止,正规方程推到完毕,完结撒花!!!

公式:
θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

这篇关于推导正规方程的解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100349

相关文章

uva 10014 Simple calculations(数学推导)

直接按照题意来推导最后的结果就行了。 开始的时候只做到了第一个推导,第二次没有继续下去。 代码: #include<stdio.h>int main(){int T, n, i;double a, aa, sum, temp, ans;scanf("%d", &T);while(T--){scanf("%d", &n);scanf("%lf", &first);scanf

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

正规式与有限自动机例题

答案:D 知识点: 正规式 正规集 举例 ab 字符串ab构成的集合 {ab} a|b 字符串a,b构成的集合 {a,b} a^* 由0或者多个a构成的字符串集合 {空,a,aa,aaa,aaaa····} (a|b)^* 所有字符a和b构成的串的集合 {空,a,b,ab,aab,aba,aaab····} a(a|b)^* 以a为首字符的a,b字符串的集

【无线通信发展史⑧】测量地球质量?重力加速度g的测量?如何推导单摆周期公式?地球半径R是怎么测量出来的?

前言:用这几个问答形式来解读下我这个系列的来龙去脉。如果大家觉得本篇文章不水的话希望帮忙点赞收藏加关注,你们的鼓舞是我继续更新的动力。 我为什么会写这个系列呢? 首先肯定是因为我本身就是一名从业通信者,想着更加了解自己专业的知识,所以更想着从头开始了解通信的来源以及在每一个时代的发展进程。 为什么会从头开始写通信? 我最早是学习了中华上下五千年,应该说朝代史,这个算个人兴趣,从夏

CF #278 (Div. 2) B.(暴力枚举+推导公式+数学构造)

B. Candy Boxes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output 题目链接: http://codeforces.com/contest/488/problem/B There

HDU2524(规律推导)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2524 解题思路: 暴力推出矩阵,以n = 2 , m = 4为例: 1 3  6  10 3 9 18 30 可以发现第一行和第一列都是有规律的,彼此相差2、3、4·····,其他元素为相应行第一个元素乘以第一列元素的积。预处理之后,我们O(1)就可以输出g[n][m]的值。 另外,

Ural1209(数学推导)

题目链接:点击打开链接 解题思路: 此题甚好。推导公式,首先观察序列110100100010000·····,我们把为1的下标单独拿出来看。依次为1、2、4 、7、 11·····,可以分解为1+(0) 、1+(0+1)、1+(0+1+2)、1+(0+1+2+3)、1+(0+1+2+3+4),可以推导出规律1 + x * (x - 1) / 2。 那么对于每个n,我们只要判断是否存在x

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

Python中如何实现列表推导式(List Comprehension)

Python中的列表推导式(List Comprehension)是一种简洁且高效的方式来创建列表。它不仅让代码更加简洁,而且通常比使用循环和条件语句生成列表更快。列表推导式的基本形式允许你从现有的列表或其他可迭代对象中创建新的列表,同时应用过滤和转换操作。下面我将详细解释列表推导式的概念、基本语法、高级用法以及其在实际应用中的优势。 一、列表推导式的基本概念 列表推导式是Python中的一种

对极约束及其性质 —— 公式详细推导

Title: 对极约束及其性质 —— 公式详细推导 文章目录 前言1. 对极约束 (Epipolar Constraint)2. 坐标转换 (Coordinate Transformations)3. 像素坐标 (Pixel Coordinates)4. 像素坐标转换 (Transformations of Pixel Coordinates)5. 本质矩阵 (Essential Matr