在MATLAB中最小化公式的误差(最小二乘?)

在MATLAB中最小化公式的误差(最小二乘?),matlab,computer-vision,linear-algebra,Matlab,Computer Vision,Linear Algebra,我不太熟悉MATLAB或计算数学,所以我想知道如何解一个包含平方和的方程,其中每个项包含两个向量——一个已知,一个未知。这个公式应该代表误差,我需要最小化误差。我想我应该使用最小二乘法,但我对它知道的不多,我想知道什么函数最适合这样做,什么参数代表我的方程。我的老师还提到了一些关于求导数的内容,他用导数建立了一个矩阵,这让我更加困惑——我需要求导数吗?你必须解决的问题是 Min u'u=Min\sum_i_i^2,u=y-Xbeta,其中u是误差,y是要解释的因变量向量,X是自变量矩阵,beta

我不太熟悉MATLAB或计算数学,所以我想知道如何解一个包含平方和的方程,其中每个项包含两个向量——一个已知,一个未知。这个公式应该代表误差,我需要最小化误差。我想我应该使用最小二乘法,但我对它知道的不多,我想知道什么函数最适合这样做,什么参数代表我的方程。我的老师还提到了一些关于求导数的内容,他用导数建立了一个矩阵,这让我更加困惑——我需要求导数吗?

你必须解决的问题是

Min u'u=Min\sum_i_i^2,u=y-Xbeta,其中u是误差,y是要解释的因变量向量,X是自变量矩阵,beta是要估计的向量

由于和u_i^2是可微的(并且是凸的),您可以计算此表达式的最小值,计算其导数并使其等于零


如果你这样做,你会发现beta=inv(X'X)X'y。这可以使用matlab函数回归或在matlab中编写此公式进行计算。但是,您应该注意如何计算逆(X'X),请参见

在MATLAB中有几十种工具可以解决各种回归问题,在文件交换中也有很多工具。然而,教你如何做到这一点,对于那些不知道自己在做什么的人来说,需要付出的努力远远超过大多数人愿意付出的努力,特别是因为你对你的实际问题几乎没有告诉我们。因此,任何答案都需要详尽无遗,让你从头开始。我看过所有关于这些问题的课程。我甚至教过一个。