4.2 投影

一、投影和投影矩阵

我们以下面两个问题开始,问题一是为了展示投影是很容易视觉化的,问题二是关于 “投影矩阵”(projection matrices)—— 对称矩阵且 P 2 = P P^2=P P2=P b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb

  1. b = ( 2 , 3 , 4 ) \boldsymbol b=(2,3,4 ) b=(2,3,4) z z z 轴和 x y xy xy 平面的投影是什么?
  2. 什么样的矩阵 P 1 P_1 P1 P 2 P_2 P2 可以产生这条直线和平面上的投影?
    b \boldsymbol b b 投影到一条直线上时,它的投影 p \boldsymbol p p 是沿着这条直线的一部分。如果 b \boldsymbol b b 投影到一个平面, p \boldsymbol p p 是这条平面的一部分。投影 p \boldsymbol p p 就是 P b P\boldsymbol b Pb
    投影矩阵 P P P b \boldsymbol b b 得到 p \boldsymbol p p。这一节就是找到 p \boldsymbol p p P P P

我们将 z z z 轴上的投影称为 p 1 \boldsymbol p_1 p1。第二个投影是垂直下降到 x y xy xy 平面的,图像如 Figure 4.5 所示。从 b = ( 2 , 3 , 4 ) \boldsymbol b=(2,3,4) b=(2,3,4) 开始,横向的投影 p 1 = ( 0 , 0 , 4 ) \boldsymbol p_1=(0,0,4) p1=(0,0,4),竖直的投影 p 2 = ( 2 , 3 , 0 ) \boldsymbol p_2=(2,3,0) p2=(2,3,0),它们分别是 b \boldsymbol b b 沿着 z z z 轴和在 x y xy xy 平面的部分。
在这里插入图片描述

投影矩阵 P 1 P_1 P1 P 2 P_2 P2 都是 3 × 3 3\times3 3×3 的矩阵,它们乘上 b \boldsymbol b b 3 3 3 个分量可以得到投影 p \boldsymbol p p(也有 3 3 3 个分量)。投影到一条直线上的矩阵是秩一矩阵,投影到一个平面上的矩阵是秩二矩阵: 投影矩阵 到   z   轴 P 1 = [ 0 0 0 0 0 0 0 0 1 ] 到   x y   平面 P 2 = [ 1 0 0 0 1 0 0 0 0 ] \pmb{投影矩阵}\kern 10pt到\,z\,轴\kern 5ptP_1=\begin{bmatrix}0&0&0\\0&0&0\\0&0&\pmb1\end{bmatrix}\kern 10pt到\,xy\,平面\kern 5ptP_2=\begin{bmatrix}\pmb1&0&0\\0&\pmb1&0\\0&0&0\end{bmatrix} 投影矩阵zP1= 000000001 xy平面P2= 100010000 P 1 P_1 P1 筛选出每个向量的 z z z 轴分量, P 2 P_2 P2 筛选出 x x x y y y 分量。为了求出 b \boldsymbol b b 的投影 p 1 \boldsymbol p_1 p1 p 2 \boldsymbol p_2 p2,将 P 2 P_2 P2 P 2 P_2 P2 分别乘上 b \boldsymbol b b(小写的 p \boldsymbol p p 是向量,大写的 P P P 是产生投影向量的矩阵): p 1 = P 1 b = [ 0 0 0 0 0 0 0 0 1 ] [ x y z ] = [ 0 0 z ] p 2 = P 2 b = [ 1 0 0 0 1 0 0 0 0 ] [ x y z ] = [ x y 0 ] \boldsymbol p_1=P_1\boldsymbol b=\begin{bmatrix}0&0&0\\0&0&0\\0&0&1\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}\pmb0\\\pmb0\\\pmb z\end{bmatrix}\kern 10pt\boldsymbol p_2=P_2\boldsymbol b=\begin{bmatrix}1&0&0\\0&1&0\\0&0&0\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}=\begin{bmatrix}\pmb x\\\pmb y\\\pmb0\end{bmatrix} p1=P1b= 000000001 xyz = 00z p2=P2b= 100010000 xyz = xy0 这种情况下的投影 p 1 \boldsymbol p_1 p1 p 2 \boldsymbol p_2 p2 是垂直的, x y xy xy 平面和 z z z 轴是正交子空间,就像房间的地板和两面墙的交线一样。
它们不仅仅是正交的子空间,这条直线和平面嗨还是正交补,它们的维度相加是 1 + 2 = 3 1+2=3 1+2=3。整个空间的任意向量 b \boldsymbol b b 都是这两个子空间部分的和,投影 p 1 \boldsymbol p_1 p1 p 2 \boldsymbol p_2 p2 就是 b \boldsymbol b b 的这两个部分: 向量得到   p 1 + p 2 = b 矩阵得到   P 1 + P 2 = I ( 4.2.1 ) 向量得到\,\boldsymbol p_1+\boldsymbol p_2=\boldsymbol b\kern 10pt矩阵得到\,P_1+P_2=I\kern 15pt(4.2.1) 向量得到p1+p2=b矩阵得到P1+P2=I(4.2.1)这很完美,对于这个例子,我们的目标达到了。对于任意直线、任意平面和任意的 n n n 维子空间,我们有相同的目标,就是寻找在每个子空间的部分 p \boldsymbol p p,还有可以得到这个 p \boldsymbol p p 的矩阵 P P P,即 p = P b \boldsymbol p=P\boldsymbol b p=Pb R m \pmb{\textrm R}^m Rm 的每个子空间都有自己的 m × m m\times m m×m 投影矩阵。为了计算 P P P,我们需要一个好的可以描述投影到的目标子空间。
子空间的最好的描述就是基,将基向量放到 A A A 的列,现在我们投影到 A A A 的列空间 z z z 轴就是 3 × 1 3\times1 3×1 矩阵 A 1 A_1 A1 的列空间, x y xy xy 平面就是 A 2 A_2 A2 的列空间,这个平面同样也是 A 3 A_3 A3 的列空间(一个子空间有很多组基),所以 p 2 = p 3 \boldsymbol p_2=\boldsymbol p_3 p2=p3 P 2 = P 3 P_2=P_3 P2=P3 A 1 = [ 0 0 1 ] , A 2 = [ 1 0 0 1 0 0 ] , A 3 = [ 1 2 2 3 0 0 ] A_1=\begin{bmatrix}0\\0\\1\end{bmatrix},\kern 5ptA_2=\begin{bmatrix}1&0\\0&1\\0&0\end{bmatrix},\kern 5ptA_3=\begin{bmatrix}1&2\\2&3\\0&0\end{bmatrix} A1= 001 ,A2= 100010 ,A3= 120230 我们的问题是把任意的 b \boldsymbol b b 投影到任意的 m × n m\times n m×n 矩阵的列空间中。从一条直线开始(维度为 n = 1 n=1 n=1)。矩阵 A A A 只有一列,称为 a \boldsymbol a a

二、投影到一条直线

一条过原点的直线方向是 a = ( a 1 , a 2 , ⋯   , a m ) \boldsymbol a=(a_1,a_2,\cdots,a_m) a=(a1,a2,,am),我们要找到沿着这条直线的一点 p \boldsymbol p p,它离 b = ( b 1 , b 2 , ⋯   , b m ) \boldsymbol b=(b_1,b_2,\cdots,b_m) b=(b1,b2,,bm) 最近。投影的关键是正交: b \boldsymbol b b p \boldsymbol p p 的直线与向量 a \boldsymbol a a 垂直,就是 Figure 4.6左侧标识 e = b − p \boldsymbol e=\boldsymbol b-\boldsymbol p e=bp 的点线,它代表误差。现在我们使用代数计算 p \boldsymbol p p
在这里插入图片描述
投影 p \boldsymbol p p 会是 a \boldsymbol a a 的某个倍数,记为 p = x ^ a \boldsymbol p=\hat x\boldsymbol a p=x^a 读作 “ x    hat x\,\,\textrm{hat} xhat” 乘 a \boldsymbol a a。通过计算 x ^ \hat x x^ 我们可以得到向量 p \boldsymbol p p,然后根据 p \boldsymbol p p 的公式可以得到投影矩阵 P P P。这三步可以求出所有的投影矩阵: x ^ \hat x x^;然后求向量 p \boldsymbol p p;再求出矩阵 P P P
点线 b − p \boldsymbol b-\boldsymbol p bp 就是“误差” e = b − x ^ a \boldsymbol e=\boldsymbol b-\hat x\boldsymbol a e=bx^a,它与向量 a \boldsymbol a a 垂直,由这个条件我们就可以求出 x ^ \hat x x^。由于 b − x ^ a \boldsymbol b-\hat x\boldsymbol a bx^a 和向量 a \boldsymbol a a 垂直,所以它们的点积为零:

b   投影到   a   上,误差   e = b − x ^ a a ⋅ ( b − x ^ a ) = 0   或   a ⋅ b − x ^ a ⋅ a = 0 x ^ = a ⋅ b a ⋅ a = a T b a T a ( 4.2.2 ) \begin{matrix}\boldsymbol b\,投影到\,\boldsymbol a\,上,误差\,\boldsymbol e=\boldsymbol b-\hat x\boldsymbol a\\\boldsymbol a\cdot(\boldsymbol b-\hat x\boldsymbol a)=0\,或\,\boldsymbol a\cdot\boldsymbol b-\hat x\boldsymbol a\cdot\boldsymbol a=0\end{matrix}\kern 20pt\begin{matrix}\hat x=\displaystyle\frac{\boldsymbol a\cdot\boldsymbol b}{\boldsymbol a\cdot\boldsymbol a}=\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}\end{matrix}\kern 10pt(4.2.2) b投影到a上,误差e=bx^aa(bx^a)=0abx^aa=0x^=aaab=aTaaTb(4.2.2)

乘法 a T b \boldsymbol a^T\boldsymbol b aTb a ⋅ b \boldsymbol a\cdot\boldsymbol b ab 是一样的,转置的表示方法会更好些,因为它也可以应用在矩阵上。由公式 x ^ = a T b a T a \hat x=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a} x^=aTaaTb 可以得到投影 p = x ^ a \boldsymbol p=\hat x\boldsymbol a p=x^a

向量   b   在通过   a   的直线上的投影是向量 p = x ^ a = a T b a T a a   特殊情况 1 :如果   b = a ,则   x ^ = 1 。 a   投影到   a   是它自己。 P a = a 。 特殊情况 2 :如果   b   垂直于   a ,则   a T b = 0 。投影   p = 0. {\color{Blue}向量\,\boldsymbol b\,在通过\,\boldsymbol a\,的直线上的投影是向量\kern 7pt\boldsymbol p=\hat x\boldsymbol a=\displaystyle{\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}\boldsymbol a}}\\\,\\特殊情况1:如果\,\boldsymbol b=\boldsymbol a,则\,\hat x=1。\boldsymbol a\,投影到\,\boldsymbol a\,是它自己。P\boldsymbol a=\boldsymbol a。\\特殊情况2:如果\,\boldsymbol b\,垂直于\,\boldsymbol a,则\,\boldsymbol a^T\boldsymbol b=0。投影\,\boldsymbol p=0.\kern 63pt 向量b在通过a的直线上的投影是向量p=x^a=aTaaTba特殊情况1:如果b=a,则x^=1a投影到a是它自己。Pa=a特殊情况2:如果b垂直于a,则aTb=0。投影p=0.

例1】将 b = [ 1 1 1 ] \boldsymbol b=\begin{bmatrix}1\\1\\1\end{bmatrix} b= 111 投影在 a = [ 1 2 2 ] \boldsymbol a=\begin{bmatrix}1\\2\\2\end{bmatrix} a= 122 上,求出 Figure 4.6 中的 p = x ^ a \boldsymbol p=\hat x\boldsymbol a p=x^a
解: 数字 x ^ \hat x x^ a T b = 5 \boldsymbol a^T\boldsymbol b=5 aTb=5 a T a = 9 \boldsymbol a^T\boldsymbol a=9 aTa=9 的比值,所以投影 p = 5 9 a \boldsymbol p=\displaystyle\frac{5}{9}\boldsymbol a p=95a
b \boldsymbol b b p \boldsymbol p p 之间的误差向量是 e = b − p \boldsymbol e=\boldsymbol b-\boldsymbol p e=bp,向量 p \boldsymbol p p e \boldsymbol e e 相加可以得到 b = ( 1 , 1 , 1 ) \boldsymbol b=(1,1,1) b=(1,1,1) p = 5 9 a = ( 5 9 , 10 9 , 10 9 ) e = b − p = ( 4 9 , − 1 9 , − 1 9 ) \boldsymbol p=\displaystyle\frac{5}{9}\boldsymbol a=\left(\frac{5}{9},\frac{10}{9},\frac{10}{9}\right)\kern 15pt\boldsymbol e=\boldsymbol b-\boldsymbol p=\left(\frac{4}{9},-\frac{1}{9},-\frac{1}{9}\right) p=95a=(95,910,910)e=bp=(94,91,91)误差 e \boldsymbol e e 垂直于 a = ( 1 , 2 , 2 ) \boldsymbol a=(1,2,2) a=(1,2,2) e T a = 4 9 − 2 9 − 2 9 = 0 \boldsymbol e^T\boldsymbol a=\displaystyle\frac{4}{9}-\frac{2}{9}-\frac{2}{9}=0 eTa=949292=0
直角三角形 b , p \boldsymbol b,\boldsymbol p bp e \boldsymbol e e,向量 b \boldsymbol b b 分成两部分 —— 沿着直线的分量是 p \boldsymbol p p,与直线垂直的部分是 e \boldsymbol e e。这两条边 p \boldsymbol p p e \boldsymbol e e 的长度是 ∣ ∣ p ∣ ∣ = ∣ ∣ b ∣ ∣ cos ⁡ θ ||\boldsymbol p||=||\boldsymbol b||\cos\theta ∣∣p∣∣=∣∣b∣∣cosθ ∣ ∣ e ∣ ∣ = ∣ ∣ b ∣ ∣ sin ⁡ θ ||\boldsymbol e||=||\boldsymbol b||\sin\theta ∣∣e∣∣=∣∣b∣∣sinθ。与三角学的点积相匹配: p = a T b a T a a 的长度 ∣ ∣ p ∣ ∣ = ∣ ∣ a ∣ ∣ ∣ ∣ b ∣ ∣ cos ⁡ θ ∣ ∣ a ∣ ∣ 2 ∣ ∣ a ∣ ∣ = ∣ ∣ b ∣ ∣ cos ⁡ θ ( 4.2.3 ) \boldsymbol p=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}\boldsymbol a\kern 5pt的长度\kern 5pt||\boldsymbol p||=\displaystyle\frac{||\boldsymbol a||||\boldsymbol b||\cos\theta}{||\boldsymbol a||^2}||\boldsymbol a||=||\boldsymbol b||\cos\theta\kern 20pt(4.2.3) p=aTaaTba的长度∣∣p∣∣=∣∣a2∣∣a∣∣∣∣b∣∣cosθ∣∣a∣∣=∣∣b∣∣cosθ(4.2.3)点积比上述带有 cos ⁡ θ \cos\theta cosθ b \boldsymbol b b 长度的形式更简洁,本例中会在 cos ⁡ θ = 5 3 3 \cos\theta=\displaystyle\frac{5}{3\sqrt3} cosθ=33 5 ∣ ∣ b ∣ ∣ = 3 ||\boldsymbol b||=\sqrt 3 ∣∣b∣∣=3 出现平方根,而投影 p = 5 9 a \boldsymbol p=\displaystyle\frac{5}{9}\boldsymbol a p=95a 没有平方根出现。通过 a T b a T a \displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a} aTaaTb 得到 5 9 \displaystyle\frac{5}{9} 95 是比较好的一种方法。
现在来看投影矩阵,在 p \boldsymbol p p 的公式中,是哪个矩阵乘 b \boldsymbol b b 呢?如果将 x ^ \hat x x^ 放在 a \boldsymbol a a 的右侧,那么就很容易看出这个矩阵:

投影矩阵   P 当矩阵   P = a a T a T a   时, p = a x ^ = a a T b a T a = P b \pmb{投影矩阵\,P}\kern 10pt当矩阵\,{\color{Blue}P=\displaystyle\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a}}\,时,{\color{Blue}p=\boldsymbol a\hat x=\boldsymbol a\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}=P\boldsymbol b} 投影矩阵P当矩阵P=aTaaaT时,p=ax^=aaTaaTb=Pb

P P P 是一列乘一行!列是 a \boldsymbol a a,行是 a T \boldsymbol a^T aT,除以数字 a T a \boldsymbol a^T\boldsymbol a aTa。投影矩阵 P P P 是一个 m × m m\times m m×m秩一矩阵,我们对一维子空间做投影,这条直线通过 a \boldsymbol a a,它是 P P P 的列空间。

例2】求投影在通过 a = [ 1 2 2 ] \boldsymbol a=\begin{bmatrix}1\\2\\2\end{bmatrix} a= 122 的直线上的投影矩阵 P = a a T a T a P=\displaystyle\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a} P=aTaaaT
解: a \boldsymbol a a 乘行 a T \boldsymbol a^T aT 再除以 a T a = 9 \boldsymbol a^T\boldsymbol a=9 aTa=9 投影矩阵 P = a a T a T a = 1 9 [ 1 2 2 ] [ 1 2 2 ] = 1 9 [ 1 2 2 2 4 4 2 4 4 ] 投影矩阵\kern 10ptP=\displaystyle\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a}=\frac{1}{9}\begin{bmatrix}1\\2\\2\end{bmatrix}\begin{bmatrix}1&2&2\end{bmatrix}=\frac{1}{9}\begin{bmatrix}1&2&2\\2&4&4\\2&4&4\end{bmatrix} 投影矩阵P=aTaaaT=91 122 [122]=91 122244244 这个矩阵可以将任意向量 b \boldsymbol b b 投影到 a \boldsymbol a a,验证例1中 p = P b \boldsymbol p=P\boldsymbol b p=Pb,其中 b = ( 1 , 1 , 1 ) \boldsymbol b=(1,1,1) b=(1,1,1) p = P b = 1 9 [ 1 2 2 2 4 4 2 4 4 ] [ 1 1 1 ] = 1 9 [ 5 10 10 ] 正确 \boldsymbol p=P\boldsymbol b=\frac{1}{9}\begin{bmatrix}1&2&2\\2&4&4\\2&4&4\end{bmatrix}\begin{bmatrix}1\\1\\1\end{bmatrix}=\frac{1}{9}\begin{bmatrix}5\\10\\10\end{bmatrix}\kern 10pt正确 p=Pb=91 122244244 111 =91 51010 正确如果向量 a \boldsymbol a a 加倍,矩阵 P P P 不变!它仍然是投影在相同的直线上。如果矩阵平方, P 2 = P P^2=P P2=P投影两次不会改变任何东西,所以 P 2 = P P^2=P P2=P。对角元素的和 1 9 ( 1 + 4 + 4 ) = 1 \displaystyle\frac{1}{9}(1+4+4)=1 91(1+4+4)=1
矩阵 I − P I-P IP 也是投影矩阵,它可以得到三角形的另一边 e \boldsymbol e e,即 b \boldsymbol b b 的垂直部分。注意 ( I − P ) b = b − p (I-P)\boldsymbol b=\boldsymbol b-\boldsymbol p (IP)b=bp 就是左零空间中的 e \boldsymbol e e
P P P 投影到一个子空间, I − P I-P IP 会投影到垂直的子空间中。这里 I − P I-P IP 投影到垂直于 a \boldsymbol a a 的平面。

三、投影到一个子空间

下面我们将视角从一维移开,看一下投影在一个 n n n 维子空间的情况。
R m \textrm{\pmb R}^m Rm 中有 n n n 个向量 a 1 , a 2 , ⋯   , a n \boldsymbol a_1,\boldsymbol a_2,\cdots,\boldsymbol a_n a1,a2,,an,假设这些向量都是线性无关的。
问题: 找到离给定向量   b   最近的组合   p = x ^ 1 a 1 + x ^ 2 a 2 + ⋯ + x ^ n a n 。 {\color{Blue}\pmb{问题:}找到离给定向量\,\boldsymbol b\,最近的组合\,\boldsymbol p=\hat x_1\boldsymbol a_1+\hat x_2\boldsymbol a_2+\cdots+\hat x_n\boldsymbol a_n。} 问题:找到离给定向量b最近的组合p=x^1a1+x^2a2++x^nan 我们要将 R m \pmb{\textrm R}^m Rm 中的每个向量 b \boldsymbol b b 投影到由 a ′ s \boldsymbol a's as 所张成的子空间中。
n = 1 n=1 n=1(只有一个向量 a 1 \boldsymbol a_1 a1)时,就是投影到一条直线上,这条直线是 A A A 的列空间,此时 A A A 只有一列。一般情况下矩阵 A A A n n n 列,分别是 a 1 , a 2 , ⋯   , a n \boldsymbol a_1,\boldsymbol a_2,\cdots,\boldsymbol a_n a1,a2,,an
R m \textrm{\pmb R}^m Rm 中的组合是列空间中的向量 A x A\boldsymbol x Ax,我们要找到一个特别的组合 p = A x ^ \boldsymbol p=A\hat {\boldsymbol x} p=Ax^投影),它离 b \boldsymbol b b 是最近的。在 x ^ \hat{\boldsymbol x} x^ 上的一个帽子表示这是一个最好的选择,它可以得到子空间中最靠近 b \boldsymbol b b 的一个向量。当 n = 1 n=1 n=1 时,选择就是 x ^ = a T b a T a \hat x=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a} x^=aTaaTb;当 n > 1 n>1 n>1 时,就是我们现在要找到的最佳选择 x ^ = ( x ^ 1 , x ^ 2 , ⋯   , x ^ n ) \hat {\boldsymbol x}=(\hat x_1,\hat x_2,\cdots,\hat x_n) x^=(x^1,x^2,,x^n)
和一维的情况一样,我们同样用三个步骤来计算在 n n n 维子空间的投影:找到向量 x ^ \hat{\boldsymbol x} x^;找到投影 p = A x ^ \boldsymbol p=A\hat{\boldsymbol x} p=Ax^;找到投影矩阵 P P P
这里的关键就在几何方面!Figure 4.6 中的点线是从 b \boldsymbol b b 到子空间最近的点 A x ^ A\hat{\boldsymbol x} Ax^误差向量 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} bAx^ 垂直于子空间。误差 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} bAx^ 和所有的基向量 a 1 , a 2 , ⋯   , a n \boldsymbol a_1,\boldsymbol a_2,\cdots,\boldsymbol a_n a1,a2,,an 都有一个直角,这 n n n 个直角可以得到 n n n x ^ \hat{\boldsymbol x} x^ 的方程:

a 1 T ( b − A x ^ ) = 0 ⋮ a n T ( b − A x ^ ) = 0 或 [ − a 1 T − ⋮ − a n T − ] [ b − A x ^ ] = [   0   ] ( 4.2.4 ) \begin{matrix}\boldsymbol a_1^T(\boldsymbol b-A\hat{\boldsymbol x})=0\\\vdots\\\boldsymbol a_n^T(\boldsymbol b-A\hat{\boldsymbol x})=0\end{matrix}\kern 5pt或\kern 5pt\begin{bmatrix}-\boldsymbol a_1^T-\\\vdots\\-\boldsymbol a_n^T-\end{bmatrix}\begin{bmatrix}\boldsymbol b-A\hat{\boldsymbol x}\end{bmatrix}=\begin{bmatrix}\,\\0\\\,\end{bmatrix}\kern 15pt(4.2.4) a1T(bAx^)=0anT(bAx^)=0 a1TanT [bAx^]= 0 (4.2.4)

行是 a i T \boldsymbol a_i^T aiT 的据说是 A T A^T AT,这 n n n 个方程就是 A T ( b − A x ^ ) = 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})=\boldsymbol 0 AT(bAx^)=0
A T ( b − A x ^ ) = 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})=\boldsymbol 0 AT(bAx^)=0 改写成著名的形式 A T A x ^ = A T b A^TA\hat{\boldsymbol x}=A^T\boldsymbol b ATAx^=ATb,这个就是 x ^ \hat{\boldsymbol x} x^ 的方程,系数矩阵是 A T A A^TA ATA。现在我们就可以按照顺序求出 x ^ 、 p \hat{\boldsymbol x}、\boldsymbol p x^p P P P

组合 p = x ^ 1 a 1 + x ^ 2 a 2 + ⋯ + x ^ n a n = A x ^ \boldsymbol p=\hat x_1\boldsymbol a_1+\hat x_2\boldsymbol a_2+\cdots+\hat x_n\boldsymbol a_n=A\hat{\boldsymbol x} p=x^1a1+x^2a2++x^nan=Ax^ 是由 x ^ \hat{\boldsymbol x} x^ 得到的距离 b \boldsymbol b b 最近的点: 求   x ^    ( n × 1 ) A T ( b − A x ^ ) = 0    或    A T A x ^ = A T b ( 4.2.5 ) 求\,\hat{\boldsymbol x}\,\,(n\times1)\kern 10ptA^T(\boldsymbol b-A\hat{\boldsymbol x})=\boldsymbol 0\,\,或\,\,A^TA\hat{\boldsymbol x}=A^T\boldsymbol b\kern 15pt(4.2.5) x^(n×1)AT(bAx^)=0ATAx^=ATb(4.2.5) A T A A^TA ATA n × n n\times n n×n 的对称矩阵,如果 a ′ s \boldsymbol a's as 是无关的,则它可逆,解是 x ^ = ( A T A ) − 1 A T b \hat{\boldsymbol x}=(A^TA)^{-1}A^T\boldsymbol b x^=(ATA)1ATb b \boldsymbol b b 在子空间的投影 p \boldsymbol p p 求   p    ( m × 1 ) p = A x ^ = A ( A T A ) − 1 A T b ( 4.2.6 ) 求\,\boldsymbol p\,\,(m\times1)\kern 15pt\boldsymbol p=A\hat{\boldsymbol x}=A(A^TA)^{-1}A^T\boldsymbol b\kern 35pt(4.2.6) p(m×1)p=Ax^=A(ATA)1ATb(4.2.6)下个公式是投影矩阵,就是(4.2.6)中乘 b \boldsymbol b b 的部分: 求   P    ( m × m ) P = A ( A T A ) − 1 A T ( 4.2.7 ) 求\,P\,\,(m\times m)\kern 20ptP=A(A^TA)^{-1}A^T\kern 55pt(4.2.7) P(m×m)P=A(ATA)1AT(4.2.7)

对比一下在直线上的投影,当 A A A 只有一列时: A T A A^TA ATA 就是 a T a \boldsymbol a^T\boldsymbol a aTa

当   n = 1 , x ^ = a T b a T a , p = a a T b a T a , P = a a T a T a 当\,n=1,\kern 20pt\hat x=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a},\boldsymbol p=\boldsymbol a\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a},P=\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a} n=1,x^=aTaaTbp=aaTaaTbP=aTaaaT

这些公式和(4.2.5)、(4.2.6)、(4.2.7)是一致的,数字 a T a \boldsymbol a^T\boldsymbol a aTa 变成了矩阵 A T A A^TA ATA,当它是数字时,我们可以直接除以它;当它是矩阵时,我们取它的逆。新的公式里是 ( A T A ) − 1 (A^TA)^{-1} (ATA)1 而不是 1 / a T a 1/\boldsymbol a^T\boldsymbol a 1/aTa。列 a 1 , a 2 , ⋯   , a n \boldsymbol a_1,\boldsymbol a_2,\cdots,\boldsymbol a_n a1,a2,,an 的线性无关保证了逆矩阵的存在。
关键的步骤是 A T ( b − A x ^ ) = 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})=\boldsymbol 0 AT(bAx^)=0,在这里使用了几何性质( e \boldsymbol e e 与每个 a \boldsymbol a a 正交)。线性代数用快速又漂亮的方法也给出了 “正态方程”(normal equation):

  1. 子空间是 A A A 的列空间
  2. 误差向量 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} bAx^ 垂直于这个列空间
  3. 因此 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} bAx^ A T A^T AT 的零空间中!就是 A T ( b − A x ^ ) = 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})=\boldsymbol 0 AT(bAx^)=0 的意思。

左零空间在投影中非常重要, A T A^T AT 的零空间包含误差向量 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} bAx^。向量 b \boldsymbol b b 分成了投影 p \boldsymbol p p 和误差 e = b − p \boldsymbol e=\boldsymbol b-\boldsymbol p e=bp。投影产生了三个边分别是 p , e \boldsymbol p,\boldsymbol e pe b \boldsymbol b b 的三角形。

例3】如果 A = [ 1 0 1 1 1 2 ] A=\begin{bmatrix}1&0\\1&1\\1&2\end{bmatrix} A= 111012 b = [ 6 0 0 ] \boldsymbol b=\begin{bmatrix}6\\0\\0\end{bmatrix} b= 600 ,求 x ^ 、 p \hat{\boldsymbol x}、\boldsymbol p x^p P P P
解: 计算方阵 A T A A^TA ATA 和向量 A T b A^T\boldsymbol b ATb A T A = [ 1 1 1 0 1 2 ] [ 1 0 1 1 1 2 ] = [ 3 3 3 5 ] , A T b = [ 1 1 1 0 1 2 ] [ 6 0 0 ] = [ 6 0 ] A^TA=\begin{bmatrix}1&1&1\\0&1&2\end{bmatrix}\begin{bmatrix}1&0\\1&1\\1&2\end{bmatrix}=\begin{bmatrix}3&3\\3&5\end{bmatrix},A^T\boldsymbol b=\begin{bmatrix}1&1&1\\0&1&2\end{bmatrix}\begin{bmatrix}6\\0\\0\end{bmatrix}=\begin{bmatrix}6\\0\end{bmatrix} ATA=[101112] 111012 =[3335]ATb=[101112] 600 =[60]下面求解正态方程 A T A x ^ = A T b A^TA\hat{\boldsymbol x}=A^T\boldsymbol b ATAx^=ATb,得到 x ^ \hat{\boldsymbol x} x^ [ 3 3 3 5 ] [ x ^ 1 x ^ 2 ] = [ 6 0 ] 解得   x ^ = [ x ^ 1 x ^ 2 ] = [ 5 − 3 ] ( 4.2.8 ) \begin{bmatrix}3&3\\3&5\end{bmatrix}\begin{bmatrix}\hat x_1\\\hat x_2\end{bmatrix}=\begin{bmatrix}6\\0\end{bmatrix}解得\,\hat{\boldsymbol x}=\begin{bmatrix}\hat x_1\\\hat x_2\end{bmatrix}=\begin{bmatrix}\kern 7pt5\\-3\end{bmatrix}\kern 15pt(4.2.8) [3335][x^1x^2]=[60]解得x^=[x^1x^2]=[53](4.2.8)组合 p = A x ^ \boldsymbol p=A\hat{\boldsymbol x} p=Ax^ b \boldsymbol b b A A A 列空间上的投影: p = 5 [ 1 1 1 ] − 3 [ 0 1 2 ] = [ 5 2 − 1 ] ,误差是   e = b − p = [ 1 − 2 1 ] ( 4.2.9 ) \boldsymbol p=5\begin{bmatrix}1\\1\\1\end{bmatrix}-3\begin{bmatrix}0\\1\\2\end{bmatrix}=\begin{bmatrix}\kern 7pt5\\\kern 7pt2\\-1\end{bmatrix},误差是\,\boldsymbol e=\boldsymbol b-\boldsymbol p=\begin{bmatrix}\kern 7pt1\\-2\\\kern 7pt1\end{bmatrix}\kern 10pt(4.2.9) p=5 111 3 012 = 521 ,误差是e=bp= 121 (4.2.9)在计算上要检查两个地方,第一,误差 e = ( 1 , − 2 , 1 ) \boldsymbol e=(1,-2,1) e=(1,2,1) 与两列 ( 1 , 1 , 1 ) (1,1,1) (1,1,1) ( 0 , 1 , 2 ) (0,1,2) (0,1,2) 都垂直;第二,矩阵 P P P b = ( 6 , 0 , 0 ) \boldsymbol b=(6,0,0) b=(6,0,0) 能够正确得到 p = ( 5 , 2 , − 1 ) \boldsymbol p=(5,2,-1) p=(5,2,1)。我们得到矩阵 P P P 后,就可以立刻对特定的 b \boldsymbol b b 的投影进行求解。
投影矩阵是 P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT A T A A^TA ATA 的行列式是 15 − 9 = 6 15-9=6 159=6,很容易就可以求出 ( A T A ) − 1 (A^TA)^{-1} (ATA)1 A A A ( A T A ) − 1 (A^TA)^{-1} (ATA)1 A T A^T AT 得到 P P P ( A T A ) − 1 = 1 6 [ 5 − 3 − 3 3 ] , P = 1 6 [ 5 2 − 1 2 2 2 − 1 2 5 ] ( 4.2.10 ) (A^TA)^{-1}=\frac{1}{6}\begin{bmatrix}\kern 7pt5&-3\\-3&\kern 7pt3\end{bmatrix},P=\frac{1}{6}\begin{bmatrix}\kern 7pt5&2&-1\\\kern 7pt2&2&\kern 7pt2\\-1&2&\kern 7pt5\end{bmatrix}\kern 15pt(4.2.10) (ATA)1=61[5333]P=61 521222125 (4.2.10)一定有 P 2 = P P^2=P P2=P,因为第二次投影不会改变第一次投影。
警告: 矩阵 P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT 会具有误导性,如果将 ( A T A ) − 1 (A^TA)^{-1} (ATA)1 分成 A − 1 A^{-1} A1 ( A T ) − 1 (A^T)^{-1} (AT)1,然后将它们继续代入 P P P,则会发现 P = A A − 1 ( A T ) − 1 A T P=AA^{-1}(A^T)^{-1}A^T P=AA1(AT)1AT,此时全部都消去了,看起来就像是 P = I P=I P=I,是一个单位矩阵。但是这是错误的。
矩阵 A A A 是矩形,大部分情况下是没有逆矩阵的。我们不能将 ( A T A ) − 1 (A^TA)^{-1} (ATA)1 拆成 A − 1 A^{-1} A1 ( A T ) − 1 (A^T)^{-1} (AT)1,因为 A − 1 A^{-1} A1 都不一定存在。
以我们的经验来看,牵涉到矩形矩阵的情况大多数都会得到 A T A A^TA ATA,如果 A A A 的列是无关的,则 A T A A^TA ATA 是可逆的。这个事实很重要,我们会清楚的描述并证明。

A T A   可逆当且仅当   A   的列是线性无关的。 {\color{Blue}A^TA\,可逆当且仅当\,A\,的列是线性无关的。} ATA可逆当且仅当A的列是线性无关的。

证明: A T A A^TA ATA 是一个方阵 ( n × n ) (n\times n) (n×n)。对于每个矩阵 A A A,下面会证明 A T A A^TA ATA A A A 有相同的零空间。若 A A A 的列线性无关,则它的零空间只有零向量,由于 A T A A^TA ATA A A A 有相同的零空间,可得 A T A A^TA ATA 可逆。
对于任意的矩阵 A A A,如果 x \boldsymbol x x 在它的零空间中,则 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0,左乘 A T A^T AT A T A x = 0 A^TA\boldsymbol x=\boldsymbol 0 ATAx=0,所以 x \boldsymbol x x 也在 A T A A^TA ATA 的零空间中。
现在从 A T A A^TA ATA 的零空间开始,我们由 A T A x = 0 A^TA\boldsymbol x=\boldsymbol 0 ATAx=0 证明 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0。我们不能在左边乘上 ( A T ) − 1 (A^T)^{-1} (AT)1,一般来说它不存在。我们左乘 x T \boldsymbol x^T xT ( x T ) A T A x = 0   即   ( A x ) T ( A x ) = 0   或   ∣ ∣ A x ∣ ∣ 2 = 0 ( 4.2.11 ) (\boldsymbol x^T)A^TA\boldsymbol x=0\,即\,(A\boldsymbol x)^T(A\boldsymbol x)=0\,或\,||A\boldsymbol x||^2=0\kern 20pt(4.2.11) (xT)ATAx=0(Ax)T(Ax)=0∣∣Ax2=0(4.2.11)这里证明了若 A T A x = 0 A^TA\boldsymbol x=\boldsymbol 0 ATAx=0,那么 A x A\boldsymbol x Ax 的长度为零,所以 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0。每个向量 x \boldsymbol x x 在其中一个的零空间中也在另外一个的零空间。所以 A T A A^TA ATA A A A 有相同的零空间。如果 A T A A^TA ATA 有相关列,那么 A A A 也一样;如果 A T A A^TA ATA 是无关列,则 A A A 也是,这种情况很好,此时 A T A A^TA ATA 可逆。 当   A   的列线性无关时, A T A   是方形、对称且可逆的矩阵。 {\color{Blue}当\,A\,的列线性无关时,A^TA\,是方形、对称且可逆的矩阵。} A的列线性无关时,ATA是方形、对称且可逆的矩阵。再次强调: A T A A^TA ATA 是( n × m n\times m n×m)乘 ( m × n ) (m\times n) (m×n) ,则 A T A A^TA ATA 是方阵( n × n n\times n n×n)。对称是因为 ( A T A ) T = A T ( A T ) T = A T A (A^TA)^T=A^T(A^T)^T=A^TA (ATA)T=AT(AT)T=ATA。我们刚刚证明了当 A A A 的列线性无关时, A T A A^TA ATA 可逆。注意无关列和相关列的差别: A T A A T A A T A A T A [ 1 1 0 2 2 0 ] [ 1 2 1 2 0 0 ] = [ 2 4 4 8 ] [ 1 1 0 2 2 1 ] [ 1 2 1 2 0 1 ] = [ 2 4 4 9 ] 相关 奇异 无关 可逆 \begin{matrix}\kern 14ptA^T\kern 31ptA\kern 37ptA^TA&\kern 13ptA^T\kern 31ptA\kern 35ptA^TA\\\begin{bmatrix}1&1&0\\2&2&0\end{bmatrix}\begin{bmatrix}1&2\\1&2\\0&0\end{bmatrix}=\begin{bmatrix}2&4\\4&8\end{bmatrix}&\begin{bmatrix}1&1&0\\2&2&1\end{bmatrix}\begin{bmatrix}1&2\\1&2\\0&1\end{bmatrix}=\begin{bmatrix}2&4\\4&9\end{bmatrix}\\\kern 51pt相关\kern 28pt奇异&\kern 51pt无关\kern 28pt可逆\end{matrix} ATAATA[121200] 110220 =[2448]相关奇异ATAATA[121201] 110221 =[2449]无关可逆非常简短的总结:为了求出投影 p = x ^ 1 a 1 + x ^ 2 a 2 + ⋯ + x ^ n a n \boldsymbol p=\hat x_1\boldsymbol a_1+\hat x_2\boldsymbol a_2+\cdots+\hat x_n\boldsymbol a_n p=x^1a1+x^2a2++x^nan,求解 A T A x ^ = A T b A^TA\hat{\boldsymbol x}=A^T\boldsymbol b ATAx^=ATb,得到 x ^ \hat{\boldsymbol x} x^。投影 p = A x ^ \boldsymbol p=A\hat{\boldsymbol x} p=Ax^,误差是 e = b − p = b − A x ^ \boldsymbol e=\boldsymbol b-\boldsymbol p=\boldsymbol b-A\hat{\boldsymbol x} e=bp=bAx^。投影矩阵 P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT 得到 p = P b \boldsymbol p=P\boldsymbol b p=Pb 投影矩阵满足   P 2 = P 。从   b   到子空间   C ( A )   的距离是   ∣ ∣ e ∣ ∣ 。 \pmb{投影矩阵满足\,P^2=P。从\,\boldsymbol b\,到子空间\,\pmb C(A)\,的距离是\,||\boldsymbol e||。} 投影矩阵满足P2=P。从b到子空间C(A)的距离是∣∣e∣∣

四、主要内容总结

  1. b \boldsymbol b b 在通过 a \boldsymbol a a 的直线上的投影是 p = a x ^ = a a T b a T a \boldsymbol p=\boldsymbol a\hat x=\boldsymbol a\displaystyle \frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a} p=ax^=aaTaaTb
  2. 秩一的投影矩阵 P = a a T a T a P=\displaystyle\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a} P=aTaaaT b \boldsymbol b b 得到 p \boldsymbol p p
  3. b \boldsymbol b b 投影到子空间会有 e = b − p \boldsymbol e=\boldsymbol b-\boldsymbol p e=bp 垂直于这个子空间。
  4. A A A 有列满秩 n n n 时,由方程 A T A x ^ = A T b A^TA\hat{\boldsymbol x}=A^T\boldsymbol b ATAx^=ATb 可以得到 x ^ \hat{\boldsymbol x} x^ p = A x ^ \boldsymbol p=A\hat{\boldsymbol x} p=Ax^
  5. 投影矩阵 P = A ( A T A ) − 1 A T P=A(A^TA)^{-1}A^T P=A(ATA)1AT,有 P T = P 、 P 2 = P 、 P b = p P^T=P、P^2=P、P\boldsymbol b=\boldsymbol p PT=PP2=PPb=p

五、例题

例4】将 b = ( 3 , 4 , 4 ) \boldsymbol b=(3,4,4) b=(3,4,4) 投影在一条过 a = ( 2 , 2 , 1 ) \boldsymbol a=(2,2,1) a=(2,2,1) 的直线上,然后将它投影在同时包含 a ∗ = ( 1 , 0 , 0 ) \boldsymbol a^*=(1,0,0) a=(1,0,0) 的平面上。验证第一个误差向量 b − p \boldsymbol b-\boldsymbol p bp 垂直于 a \boldsymbol a a,第二个误差向量 e ∗ = b − p ∗ \boldsymbol e^*=\boldsymbol b-\boldsymbol p^* e=bp 也垂直于 a ∗ \boldsymbol a^* a
求出将向量投影在包含有 a \boldsymbol a a a ∗ \boldsymbol a^* a 平面上的 3 × 3 3\times3 3×3 的投影矩阵 P P P。找到一个在这个平面上的投影是零向量的向量,为什么它就是误差 e ∗ \boldsymbol e^* e?
解: b \boldsymbol b b 在通过 a = ( 2 , 2 , 1 ) \boldsymbol a=(2,2,1) a=(2,2,1) 直线上的投影是 p = 2 a \boldsymbol p=2\boldsymbol a p=2a 投影在直线 p = a T b a T a a = 18 9 ( 2 , 2 , 1 ) = ( 4 , 4 , 2 ) = 2 a \pmb{投影在直线}\kern 20pt\boldsymbol p=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}\boldsymbol a=\frac{18}{9}(2,2,1)=(4,4,2)=2\boldsymbol a 投影在直线p=aTaaTba=918(2,2,1)=(4,4,2)=2a误差向量 e = b − p = ( − 1 , 0 , 2 ) \boldsymbol e=\boldsymbol b-\boldsymbol p=(-1,0,2) e=bp=(1,0,2) 垂直于 a = ( 2 , 2 , 1 ) \boldsymbol a=(2,2,1) a=(2,2,1),所以 p \boldsymbol p p 是正确的。
a = ( 2 , 2 , 1 ) \boldsymbol a=(2,2,1) a=(2,2,1) a ∗ = ( 1 , 0 , 0 ) \boldsymbol a^*=(1,0,0) a=(1,0,0) 所形成的平面是 A = [ a a ∗ ] A=\begin{bmatrix}\boldsymbol a&\boldsymbol a^*\end{bmatrix} A=[aa] 的列空间: A = [ 2 1 2 0 1 0 ] , A T A = [ 9 2 2 1 ] , ( A T A ) − 1 = 1 5 [ 1 − 2 − 2 9 ] , P = 1 5 [ 5 0 0 0 4 2 0 2 1 ] A=\begin{bmatrix}2&1\\2&0\\1&0\end{bmatrix},\kern 5ptA^TA=\begin{bmatrix}9&2\\2&1\end{bmatrix},\kern 5pt(A^TA)^{-1}=\frac{1}{5}\begin{bmatrix}\kern 7pt1&-2\\-2&\kern 7pt9\end{bmatrix},\kern 5ptP=\frac{1}{5}\begin{bmatrix}5&0&0\\0&4&2\\0&2&1\end{bmatrix} A= 221100 ,ATA=[9221],(ATA)1=51[1229],P=51 500042021 可得 p ∗ = P b = ( 3 , 24 5 , 12 5 ) \boldsymbol p^*=P\boldsymbol b=\displaystyle(3,\frac{24}{5},\frac{12}{5}) p=Pb=(3,524,512),误差向量 e ∗ = b − p ∗ = ( 0 , − 4 5 , 8 5 ) \boldsymbol e^*=\boldsymbol b-\boldsymbol p^*=(0,-\displaystyle\frac{4}{5},\frac{8}{5}) e=bp=(0,54,58) 垂直于 a \boldsymbol a a a ∗ \boldsymbol a^* a e ∗ \boldsymbol e^* e P P P 的零空间,它的投影是零!注意 P 2 = P = P T P^2=P=P^T P2=P=PT

例5】假设测量你的心跳每分钟是 x = 70 x=70 x=70,然后是 x = 80 x=80 x=80,再然后是 x = 120 x=120 x=120。这三个方程 A x = b A\boldsymbol x=\boldsymbol b Ax=b 只有一个未知数,且 A = [ 1 1 1 ] A=\begin{bmatrix}1&1&1\end{bmatrix} A=[111] b = ( 70 , 80 , 120 ) \boldsymbol b=(70,80,120) b=(70,80,120)。则最好的 x ^ \hat{\boldsymbol x} x^ 70 , 80 , 120 70,80,120 70,80,120 的 _____。使用微积分和投影:

  1. d E d x = 0 \displaystyle\frac{\textrm dE}{\textrm dx}=0 dxdE=0,最小化 E = ( x − 70 ) 2 + ( x − 80 ) 2 + ( x − 120 ) 2 E=(x-70)^2+(x-80)^2+(x-120)^2 E=(x70)2+(x80)2+(x120)2
  2. b \boldsymbol b b 投影到 a = ( 1 , 1 , 1 ) \boldsymbol a=(1,1,1) a=(1,1,1),求解 x ^ = a T b a T a \hat x=\displaystyle\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a} x^=aTaaTb

解: 最接近高度 70 、 80 、 120 70、80、120 7080120 的水平线是平均值 x ^ = 90 \hat x=90 x^=90 d E d x = 2 ( x − 70 ) + 2 ( x − 80 ) + 2 ( x − 120 ) = 0 解得 x ^ = 70 + 80 + 120 3 = 90 \frac{\textrm dE}{\textrm dx}=2(x-70)+2(x-80)+2(x-120)=0\kern 5pt解得\kern 5pt\hat x=\frac{70+80+120}{3}=90 dxdE=2(x70)+2(x80)+2(x120)=0解得x^=370+80+120=90 用投影求解: x ^ = a T b a T a = ( 1 , 1 , 1 ) T ( 70 , 80 , 120 ) ( 1 , 1 , 1 ) T ( 1 , 1 , 1 ) = 70 + 80 + 120 3 = 90 用投影求解:\hat x=\frac{\boldsymbol a^T\boldsymbol b}{\boldsymbol a^T\boldsymbol a}=\frac{(1,1,1)^T(70,80,120)}{(1,1,1)^T(1,1,1)}=\frac{70+80+120}{3}=90 用投影求解:x^=aTaaTb=(1,1,1)T(1,1,1)(1,1,1)T(70,80,120)=370+80+120=90在递归最小二乘法中,第四个测量数据 130 130 130 将会把平均值 x ^ o l d = 90 \hat x_{old}=90 x^old=90 变成 x ^ n e w = 100 \hat x_{new}=100 x^new=100。验证新的公式 x ^ n e w = x ^ o l d + 1 4 ( 130 − x ^ o l d ) \hat x_{new}=\hat x_{old}+\displaystyle\frac{1}{4}(130-\hat x_{old}) x^new=x^old+41(130x^old)。当我们有一个新的测量值时,不需要把旧的测量值再次平均。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/775256.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

涂山璟无缘奥运会

“涂山璟无缘奥运会”在那片被浪漫与幻想包裹的剧集世界里,涂山璟与小夭的故事,如同夏日里的一缕清风,温柔而又坚定。当爱情以纯粹的形式展现,一个简单的愿望——亲手摘取湖中的海棠花,便成为了两人情感交流的甜蜜桥梁…

吉洪诺夫正则化随笔

前言 前几天在回顾压缩感知中的特征选择与LASSO回归发现了这个Tikhonov regularization,查了一下叫个如题的名字。先来浅说一下正则化这玩意:正则化(Regularization)是一种用来防止模型过拟合(Overfitting&#xff09…

【数据库了解与学习】

1.下载所需版本安装包 1.1将所需文件压缩包以及安装包放在你选择的任意一盘,新建一个没有文字和空格的文件夹 1.2双击打开安装包,选择Custom自定义模式然后点击右下方的Next 1.4三连点击1,再点击箭头出现3,选中3出现4,…

AJAX-day1:

注:文件布局: 一、AJAX的概念: AJAX是浏览器与服务器进行数据通信的技术 >把数据变活 二、AJAX的使用: 使用axios库,与服务器进行数据通信 基于XMLHttpRequest封装,代码简单 Vue,React项目使用 学习…

day04-matplotlib入门

matplotlib Matplotlib 提供了一个套面向绘图对象编程的 API接口 是一款用于数据可视化的 Python 软件包,支持跨平台运行 它能够根据 NumPyndarray 数组来绘制 2D(3D) 图像,它使用简单、代码清晰易懂,深受广大技术爱好 者喜爱。 实列&…

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下,挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前,Blender与KeyShot作为业界领先的全能渲染解决方案,广受推崇。它们虽皆能创造出令人信服的逼真视觉效果,但在特色功能上各有所长。本篇文章旨在…

加装德国进口高精度主轴 智能手机壳「高质量高效率」钻孔铣槽

在当前高度智能化的社会背景下,智能手机早已成为人们生活、工作的必备品,智能手机壳作市场需求量巨大。智能手机壳的加工过程涉及多个环节,包括钻孔和铣槽等。钻孔要求精度高、孔位准确,而铣槽则需要保证槽位规整、深度适宜。这些…

利用C语言实现三子棋游戏

文章目录 1.游戏界面2.游戏内容2.1 棋盘类型2.2棋盘的初始化2.3 打印棋盘的界面展示 3.游戏操作3.1 玩家操作3.2 电脑操作3.3 胜负判定 4.代码整合 1.游戏界面 无论写任何程序,我们都需要先去了解它的大概框架,这里我们先把它的初始界面写出来。一个游戏…

自动化设备上位机设计 二

目录 一 设计原型 二 后台代码 一 设计原型 二 后台代码 namespace 自动化上位机设计 {public partial class Form1 : Form{public Form1(){InitializeComponent();timer1.Enabled true;timer1.Tick Timer1_Tick;}private void Timer1_Tick(object? sender, EventArgs e)…

「媒体邀约」天津媒体资源?媒体邀约宣传报道

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 天津拥有丰富的媒体资源,利用这些资源进行有效…

数智化配补调:零售品牌增长新引擎

随着科技的不断进步和消费者需求的日益个性化、多元化,传统服装行业正面临着前所未有的挑战与机遇。在这个快速变化的时代,如何精准把握市场脉搏,实现库存的高效管理,成为了服装品牌生存与发展的关键。数智化配补调策略应运而生&a…

Java后端每日面试题(day3)

目录 Spring中Bean的作用域有哪些?Spring中Bean的生命周期Bean 是线程安全的吗?了解Spring Boot中的日志组件吗? Spring中Bean的作用域有哪些? Bean的作用域: singleton:单例,Spring中的bean默…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

卫星轨道平面简单认识

目录 一、轨道平面 1.1 轨道根数 1.2 应用考虑 二、分类 2.1 根据运行高度 2.2 根据运行轨迹偏心率 2.3 根据倾角大小 三、卫星星座中的轨道平面 四、设计轨道平面的考虑因素 一、轨道平面 1.1 轨道根数 轨道平面是定义卫星或其他天体绕行另一天体运动的平面。这个平…

小白 | Linux安装python3

一、更新包列表 首先&#xff0c;确保你的包管理器是最新的&#xff1a; sudo apt update 二、安装 Python 3 安装 Python 3 以及常用的开发工具 sudo apt install python3 python3-pip python3-venv 三、验证安装 python3 --version

如何在 SwiftUI 中熟练使用 sensoryFeedback 修饰符

文章目录 前言背景介绍平台支持仅支持watchOS支持watchOS和iOS 基本用法预定义样式根据触发器值选择样式使用场景当值更改时触发使用条件闭包触发使用反馈闭包触发 可以运行 Demo总结 前言 SwiftUI 引入了新的 sensoryFeedback 视图修饰符&#xff0c;使我们能够在所有 Apple …

【数据结构】(6.2)堆的应用——Top-K问题(C语言)

系列文章目录 文章目录 系列文章目录问题引入一、TopK 问题 是什么&#xff1f;二、TopK 问题解决思路2.1 TopK 思路2.2 随机产生数字2.2 完整代码2.3 验证结果 问题引入 TopK 问题 (在一堆数据里面找到前 K 个最大 / 最小的数)。 一、TopK 问题 是什么&#xff1f; 生活中也…

Linux_fileio学习

参考韦东山老师教程&#xff1a;https://www.bilibili.com/video/BV1kk4y117Tu?p12 目录 1. 文件IO函数分类2. 函数原型2.1 系统调用接口2.2 标准IO接口 3. fileio内部机制3.1 系统调用接口内部流程3.1 dup函数使用3.2 dup2函数使用 4. open file4.1 open实例4.2 open函数分析…

【matlab】智能优化算法——基准测试函数

智能优化算法的基准测试函数是用于评估和优化算法性能的一组标准问题。这些测试函数模拟了真实世界优化问题的不同方面&#xff0c;包括局部最小值、全局最优解、高维度、非线性、不连续等复杂性。以下是对智能优化算法基准测试函数的详细归纳&#xff1a; 测试函数的分类&…

任天堂称未来第一方游戏不会使用生成式AI

虽然EA、育碧、暴雪、Embracer等西方游戏厂商都大力支持生成式AI技术&#xff0c;但日本老牌游戏公司任天堂并不会追随这一步伐。任天堂已经确认该公司未来的第一方游戏不会使用生成式AI技术。 在公司最近的投资人问答会上&#xff0c;任天堂描绘了公司未来游戏愿景。在谈到AI技…