微信优惠券网站怎么做的,区块链开发,黄骅港泰地码头,百度搜索关键词排名人工优化一、投影和投影矩阵
我们以下面两个问题开始#xff0c;问题一是为了展示投影是很容易视觉化的#xff0c;问题二是关于 “投影矩阵”#xff08;projection matrices#xff09;—— 对称矩阵且 P 2 P P^2P P2P。 b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb。…一、投影和投影矩阵
我们以下面两个问题开始问题一是为了展示投影是很容易视觉化的问题二是关于 “投影矩阵”projection matrices—— 对称矩阵且 P 2 P P^2P P2P。 b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb。 b ( 2 , 3 , 4 ) \boldsymbol b(2,3,4 ) b(2,3,4) 在 z z z 轴和 x y xy xy 平面的投影是什么什么样的矩阵 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}000\\000\\00\pmb1\end{bmatrix}\kern 10pt到\,xy\,平面\kern 5ptP_2\begin{bmatrix}\pmb100\\0\pmb10\\000\end{bmatrix} 投影矩阵到z轴P1 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_1P_1\boldsymbol b\begin{bmatrix}000\\000\\001\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}\begin{bmatrix}\pmb0\\\pmb0\\\pmb z\end{bmatrix}\kern 10pt\boldsymbol p_2P_2\boldsymbol b\begin{bmatrix}100\\010\\000\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix}\begin{bmatrix}\pmb x\\\pmb y\\\pmb0\end{bmatrix} p1P1b 000000001 xyz 00z p2P2b 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 123 123。整个空间的任意向量 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_1P_2I\kern 15pt(4.2.1) 向量得到p1p2b矩阵得到P1P2I(4.2.1)这很完美对于这个例子我们的目标达到了。对于任意直线、任意平面和任意的 n n n 维子空间我们有相同的目标就是寻找在每个子空间的部分 p \boldsymbol p p还有可以得到这个 p \boldsymbol p p 的矩阵 P P P即 p P b \boldsymbol pP\boldsymbol b pPb。 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 p2p3 P 2 P 3 P_2P_3 P2P3。 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}10\\01\\00\end{bmatrix},\kern 5ptA_3\begin{bmatrix}12\\23\\00\end{bmatrix} A1 001 ,A2 100010 ,A3 120230 我们的问题是把任意的 b \boldsymbol b b 投影到任意的 m × n m\times n m×n 矩阵的列空间中。从一条直线开始维度为 n 1 n1 n1。矩阵 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 eb−p 的点线它代表误差。现在我们使用代数计算 p \boldsymbol p p。 投影 p \boldsymbol p p 会是 a \boldsymbol a a 的某个倍数记为 p x ^ a \boldsymbol p\hat x\boldsymbol a px^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 b−p 就是“误差” e b − x ^ a \boldsymbol e\boldsymbol b-\hat x\boldsymbol a eb−x^a它与向量 a \boldsymbol a a 垂直由这个条件我们就可以求出 x ^ \hat x x^。由于 b − x ^ a \boldsymbol b-\hat x\boldsymbol a b−x^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 a0\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上误差eb−x^aa⋅(b−x^a)0或a⋅b−x^a⋅a0x^a⋅aa⋅baTaaTb(4.2.2) 乘法 a T b \boldsymbol a^T\boldsymbol b aTb 和 a ⋅ b \boldsymbol a\cdot\boldsymbol b a⋅b 是一样的转置的表示方法会更好些因为它也可以应用在矩阵上。由公式 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 px^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 x1。\boldsymbol a\,投影到\,\boldsymbol a\,是它自己。P\boldsymbol a\boldsymbol a。\\特殊情况2如果\,\boldsymbol b\,垂直于\,\boldsymbol a则\,\boldsymbol a^T\boldsymbol b0。投影\,\boldsymbol p0.\kern 63pt 向量b在通过a的直线上的投影是向量px^aaTaaTba特殊情况1如果ba则x^1。a投影到a是它自己。Paa。特殊情况2如果b垂直于a则aTb0。投影p0. 【例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 px^a。 解 数字 x ^ \hat x x^ 是 a T b 5 \boldsymbol a^T\boldsymbol b5 aTb5 和 a T a 9 \boldsymbol a^T\boldsymbol a9 aTa9 的比值所以投影 p 5 9 a \boldsymbol p\displaystyle\frac{5}{9}\boldsymbol a p95a。 b \boldsymbol b b 和 p \boldsymbol p p 之间的误差向量是 e b − p \boldsymbol e\boldsymbol b-\boldsymbol p eb−p向量 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) p95a(95,910,910)eb−p(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 eTa94−92−920。 直角三角形 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) paTaaTba的长度∣∣p∣∣∣∣a∣∣2∣∣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 p95a 没有平方根出现。通过 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当矩阵PaTaaaT时pax^aaTaaTbPb 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} PaTaaaT。 解 列 a \boldsymbol a a 乘行 a T \boldsymbol a^T aT 再除以 a T a 9 \boldsymbol a^T\boldsymbol a9 aTa9 投影矩阵 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}122\end{bmatrix}\frac{1}{9}\begin{bmatrix}122\\244\\244\end{bmatrix} 投影矩阵PaTaaaT91 122 [122]91 122244244 这个矩阵可以将任意向量 b \boldsymbol b b 投影到 a \boldsymbol a a验证例1中 p P b \boldsymbol pP\boldsymbol b pPb其中 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 pP\boldsymbol b\frac{1}{9}\begin{bmatrix}122\\244\\244\end{bmatrix}\begin{bmatrix}1\\1\\1\end{bmatrix}\frac{1}{9}\begin{bmatrix}5\\10\\10\end{bmatrix}\kern 10pt正确 pPb91 122244244 111 91 51010 正确如果向量 a \boldsymbol a a 加倍矩阵 P P P 不变它仍然是投影在相同的直线上。如果矩阵平方 P 2 P P^2P P2P。投影两次不会改变任何东西所以 P 2 P P^2P P2P。对角元素的和 1 9 ( 1 4 4 ) 1 \displaystyle\frac{1}{9}(144)1 91(144)1。 矩阵 I − P I-P I−P 也是投影矩阵它可以得到三角形的另一边 e \boldsymbol e e即 b \boldsymbol b b 的垂直部分。注意 ( I − P ) b b − p (I-P)\boldsymbol b\boldsymbol b-\boldsymbol p (I−P)bb−p 就是左零空间中的 e \boldsymbol e e。 当 P P P 投影到一个子空间 I − P I-P I−P 会投影到垂直的子空间中。这里 I − P I-P I−P 投影到垂直于 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最近的组合px^1a1x^2a2⋯x^nan。 我们要将 R m \pmb{\textrm R}^m Rm 中的每个向量 b \boldsymbol b b 投影到由 a ′ s \boldsymbol as a′s 所张成的子空间中。 当 n 1 n1 n1只有一个向量 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 pA\hat {\boldsymbol x} pAx^投影它离 b \boldsymbol b b 是最近的。在 x ^ \hat{\boldsymbol x} x^ 上的一个帽子表示这是一个最好的选择它可以得到子空间中最靠近 b \boldsymbol b b 的一个向量。当 n 1 n1 n1 时选择就是 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 n1 n1 时就是我们现在要找到的最佳选择 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 pA\hat{\boldsymbol x} pAx^找到投影矩阵 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} b−Ax^ 垂直于子空间。误差 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} b−Ax^ 和所有的基向量 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(b−Ax^)0⋮anT(b−Ax^)0或 −a1T−⋮−anT− [b−Ax^] 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(b−Ax^)0。 将 A T ( b − A x ^ ) 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})\boldsymbol 0 AT(b−Ax^)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_nA\hat{\boldsymbol x} px^1a1x^2a2⋯x^nanAx^ 是由 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(b−Ax^)0或ATAx^ATb(4.2.5) A T A A^TA ATA 是 n × n n\times n n×n 的对称矩阵如果 a ′ s \boldsymbol as a′s 是无关的则它可逆解是 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 pA\hat{\boldsymbol x}A(A^TA)^{-1}A^T\boldsymbol b\kern 35pt(4.2.6) 求p(m×1)pAx^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 20ptPA(A^TA)^{-1}A^T\kern 55pt(4.2.7) 求P(m×m)PA(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 当\,n1,\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} 当n1,x^aTaaTbpaaTaaTbPaTaaaT 这些公式和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(b−Ax^)0在这里使用了几何性质 e \boldsymbol e e 与每个 a \boldsymbol a a 正交。线性代数用快速又漂亮的方法也给出了 “正态方程”normal equation
子空间是 A A A 的列空间误差向量 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} b−Ax^ 垂直于这个列空间因此 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} b−Ax^ 在 A T A^T AT 的零空间中就是 A T ( b − A x ^ ) 0 A^T(\boldsymbol b-A\hat{\boldsymbol x})\boldsymbol 0 AT(b−Ax^)0 的意思。
左零空间在投影中非常重要 A T A^T AT 的零空间包含误差向量 b − A x ^ \boldsymbol b-A\hat{\boldsymbol x} b−Ax^。向量 b \boldsymbol b b 分成了投影 p \boldsymbol p p 和误差 e b − p \boldsymbol e\boldsymbol b-\boldsymbol p eb−p。投影产生了三个边分别是 p e \boldsymbol p\boldsymbol e pe 和 b \boldsymbol b b 的三角形。
【例3】如果 A [ 1 0 1 1 1 2 ] A\begin{bmatrix}10\\11\\12\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}111\\012\end{bmatrix}\begin{bmatrix}10\\11\\12\end{bmatrix}\begin{bmatrix}33\\35\end{bmatrix}A^T\boldsymbol b\begin{bmatrix}111\\012\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}33\\35\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][5−3](4.2.8)组合 p A x ^ \boldsymbol pA\hat{\boldsymbol x} pAx^ 是 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 p5\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) p5 111 −3 012 52−1 误差是eb−p 1−21 (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 PA(A^TA)^{-1}A^T PA(ATA)−1AT A T A A^TA ATA 的行列式是 15 − 9 6 15-96 15−96很容易就可以求出 ( 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 7pt52-1\\\kern 7pt22\kern 7pt2\\-12\kern 7pt5\end{bmatrix}\kern 15pt(4.2.10) (ATA)−161[5−3−33]P61 52−1222−125 (4.2.10)一定有 P 2 P P^2P P2P因为第二次投影不会改变第一次投影。 警告 矩阵 P A ( A T A ) − 1 A T PA(A^TA)^{-1}A^T PA(ATA)−1AT 会具有误导性如果将 ( A T A ) − 1 (A^TA)^{-1} (ATA)−1 分成 A − 1 A^{-1} A−1 乘 ( A T ) − 1 (A^T)^{-1} (AT)−1然后将它们继续代入 P P P则会发现 P A A − 1 ( A T ) − 1 A T PAA^{-1}(A^T)^{-1}A^T PAA−1(AT)−1AT此时全部都消去了看起来就像是 P I PI PI是一个单位矩阵。但是这是错误的。 矩阵 A A A 是矩形大部分情况下是没有逆矩阵的。我们不能将 ( A T A ) − 1 (A^TA)^{-1} (ATA)−1 拆成 A − 1 A^{-1} A−1 乘 ( A T ) − 1 (A^T)^{-1} (AT)−1因为 A − 1 A^{-1} A−1 都不一定存在。 以我们的经验来看牵涉到矩形矩阵的情况大多数都会得到 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 Ax0左乘 A T A^T AT 得 A T A x 0 A^TA\boldsymbol x\boldsymbol 0 ATAx0所以 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 ATAx0 证明 A x 0 A\boldsymbol x\boldsymbol 0 Ax0。我们不能在左边乘上 ( 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 x0\,即\,(A\boldsymbol x)^T(A\boldsymbol x)0\,或\,||A\boldsymbol x||^20\kern 20pt(4.2.11) (xT)ATAx0即(Ax)T(Ax)0或∣∣Ax∣∣20(4.2.11)这里证明了若 A T A x 0 A^TA\boldsymbol x\boldsymbol 0 ATAx0那么 A x A\boldsymbol x Ax 的长度为零所以 A x 0 A\boldsymbol x\boldsymbol 0 Ax0。每个向量 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)^TA^T(A^T)^TA^TA (ATA)TAT(AT)TATA。我们刚刚证明了当 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}110\\220\end{bmatrix}\begin{bmatrix}12\\12\\00\end{bmatrix}\begin{bmatrix}24\\48\end{bmatrix}\begin{bmatrix}110\\221\end{bmatrix}\begin{bmatrix}12\\12\\01\end{bmatrix}\begin{bmatrix}24\\49\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 px^1a1x^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 pA\hat{\boldsymbol x} pAx^误差是 e b − p b − A x ^ \boldsymbol e\boldsymbol b-\boldsymbol p\boldsymbol b-A\hat{\boldsymbol x} eb−pb−Ax^。投影矩阵 P A ( A T A ) − 1 A T PA(A^TA)^{-1}A^T PA(ATA)−1AT 得到 p P b \boldsymbol pP\boldsymbol b pPb。 投影矩阵满足 P 2 P 。从 b 到子空间 C ( A ) 的距离是 ∣ ∣ e ∣ ∣ 。 \pmb{投影矩阵满足\,P^2P。从\,\boldsymbol b\,到子空间\,\pmb C(A)\,的距离是\,||\boldsymbol e||。} 投影矩阵满足P2P。从b到子空间C(A)的距离是∣∣e∣∣。
四、主要内容总结 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} pax^aaTaaTb。秩一的投影矩阵 P a a T a T a P\displaystyle\frac{\boldsymbol a\boldsymbol a^T}{\boldsymbol a^T\boldsymbol a} PaTaaaT 乘 b \boldsymbol b b 得到 p \boldsymbol p p。把 b \boldsymbol b b 投影到子空间会有 e b − p \boldsymbol e\boldsymbol b-\boldsymbol p eb−p 垂直于这个子空间。当 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 pA\hat{\boldsymbol x} pAx^。投影矩阵 P A ( A T A ) − 1 A T PA(A^TA)^{-1}A^T PA(ATA)−1AT有 P T P 、 P 2 P 、 P b p P^TP、P^2P、P\boldsymbol b\boldsymbol p PTP、P2P、Pbp。
五、例题
【例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 b−p 垂直于 a \boldsymbol a a第二个误差向量 e ∗ b − p ∗ \boldsymbol e^*\boldsymbol b-\boldsymbol p^* e∗b−p∗ 也垂直于 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 p2\boldsymbol a p2a 投影在直线 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 投影在直线paTaaTba918(2,2,1)(4,4,2)2a误差向量 e b − p ( − 1 , 0 , 2 ) \boldsymbol e\boldsymbol b-\boldsymbol p(-1,0,2) eb−p(−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}21\\20\\10\end{bmatrix},\kern 5ptA^TA\begin{bmatrix}92\\21\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}500\\042\\021\end{bmatrix} A 221100 ,ATA[9221],(ATA)−151[1−2−29],P51 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∗b−p∗(0,−54,58) 垂直于 a \boldsymbol a a 和 a ∗ \boldsymbol a^* a∗。 e ∗ \boldsymbol e^* e∗ 在 P P P 的零空间它的投影是零注意 P 2 P P T P^2PP^T P2PPT。
【例5】假设测量你的心跳每分钟是 x 70 x70 x70然后是 x 80 x80 x80再然后是 x 120 x120 x120。这三个方程 A x b A\boldsymbol x\boldsymbol b Axb 只有一个未知数且 A [ 1 1 1 ] A\begin{bmatrix}111\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 的 _____。使用微积分和投影
由 d E d x 0 \displaystyle\frac{\textrm dE}{\textrm dx}0 dxdE0最小化 E ( x − 70 ) 2 ( x − 80 ) 2 ( x − 120 ) 2 E(x-70)^2(x-80)^2(x-120)^2 E(x−70)2(x−80)2(x−120)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 70、80、120 的水平线是平均值 x ^ 90 \hat x90 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{7080120}{3}90 dxdE2(x−70)2(x−80)2(x−120)0解得x^3708012090 用投影求解 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{7080120}{3}90 用投影求解x^aTaaTb(1,1,1)T(1,1,1)(1,1,1)T(70,80,120)3708012090在递归最小二乘法中第四个测量数据 130 130 130 将会把平均值 x ^ o l d 90 \hat x_{old}90 x^old90 变成 x ^ n e w 100 \hat x_{new}100 x^new100。验证新的公式 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^newx^old41(130−x^old)。当我们有一个新的测量值时不需要把旧的测量值再次平均。