Loading [MathJax]/extensions/AssistiveMML.js

通过向量和投影来实现函数的降维

函数f(x)=5-\frac{1}{2}x^4的图像如下:

马同学高等数学

它其实和二次曲线的图像差不多,比如f(x)=5-\frac{1}{2}x^2

马同学高等数学

那我们有没有办法找到一个最接近f(x)=5-\frac{1}{2}x^4的二次曲线,从而实现函数的降维呢(这里看起来像是降幂,其实是降维,后面会进一步解释)?这就是本文要讨论的问题。

本文讨论的或许有点高能,如果同学能沉下心来看完,就算没有完全看懂,也可能会在数学上开一扇窗。

1 正交投影与降维

让我们从某个向量的降维说起。这需要两步,“正交投影”和“降维”,下面一一来说明。

1.1 正交投影

比如下图是三维向量\boldsymbol{x}=\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}

马同学高等数学

假如将其向某平面V作垂线,得到它的正交投影\boldsymbol{x}_1

马同学高等数学

根据高中的几何知识可知,\boldsymbol{x}_1是平面V中离三维向量\boldsymbol{x}最近的点,其余点(比如下图中的红点)和\boldsymbol{x}的距离都会更远:

马同学高等数学

所以,可认为正交投影\boldsymbol{x}_1是平面V中关于三维向量\boldsymbol{x}的最佳近似。

1.2 降维

假设平面V是由\boldsymbol{v}_1\boldsymbol{v}_2张成的:

马同学高等数学

那么正交投影\boldsymbol{x}_1就必然可由\boldsymbol{v}_1\boldsymbol{v}_2线性组合出来:

马同学高等数学

也就是存在k_1,k_2\in\mathbb{R}使得:

\boldsymbol{x}_1=k_1\boldsymbol{v}_1+k_2\boldsymbol{v}_2

或者认为正交投影\boldsymbol{x}_1在平面V中的坐标为\begin{pmatrix}k_1\\k_2\end{pmatrix}。所以,如果用正交投影\boldsymbol{x}_1来近似表示\boldsymbol{x}的话,就可以认为完成了\boldsymbol{x}的降维:

\begin{pmatrix}x_1\\x_2\\x_3\end{pmatrix}\xrightarrow{\large \quad用\ \boldsymbol{x}_1\ 来近似\ \boldsymbol{x}\quad}\begin{pmatrix}k_1\\k_2\end{pmatrix}

2 函数的降维
2.1 原理

函数降维的原理和上面类似,但更抽象,不容易图形化,所以下面的讲解需要同学们大胆地去想象。

函数f(x)=5-\frac{1}{2}x^4其实也是一个向量,它由向量1xx^2x^3以及x^4(向量变为由函数构成,这样会极大扩大线性代数的应用场景。至于为什么能这么做,同学们可以自己扩展阅读高等代数)线性组合而成,也就是说它在1xx^2x^3以及x^4张成的向量空间中:

5-\frac{1}{2}x^4=5\cdot 1+0\cdot x+0\cdot x^2+0\cdot x^3+\frac{1}{2\cdot x^4}

如果将该函数向量f(x)=5-\frac{1}{2}x^4投影到1xx^2张成的向量空间,其正交投影肯定由1xx^2线性组合而成,这样就达到了降维的目的。

2.2 制定标准

和实数相比,函数更为复杂,所以函数向量的近似也更复杂。比如下面有两个二次函数,它们都是对f(x)=5-\frac{1}{2}x^4不错的近似:

马同学高等数学

哪一个更好?就看你的判断标准是什么。比如其中的\frac{14}{3}-\frac{1}{2}\left(x^2-\frac{2}{3}\right),它在x=-1x=0以及x=1时和四次函数y=5-\frac{1}{2}x^4完全重合:

马同学高等数学

如果以这三点为判断标准的话,那么选择该二次函数作为近似就是最好的。下面是具体的计算过程。

2.3 函数值向量

要近似的函数向量是四次函数f(x)=5-\frac{1}{2}x^4,因为判断标准是x=-1x=0以及x=1这三个点,所以将这三个点对应的函数值算出来,组成函数值向量:

函数值向量:\quad\begin{pmatrix}f(-1)\\f(0)\\f(1)\end{pmatrix}=\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix}

要求的二次函数由1xx^2线性组合而成,那么x=-1x=0以及x=1这三个点的二次函数值也会由1xx^2的函数值线性组合而成,所以分别算出函数向量1xx^2在这三个点的函数值向量:


\begin{array}{cccc}
    \quad 函数向量:\quad & \quad 1 \quad & x & \ \ x^2 \\
    \quad 函数值向量:\quad & \begin{pmatrix}1\\1\\1\end{pmatrix}&\begin{pmatrix}-1\\0\\1\end{pmatrix}&\begin{pmatrix}1\\0\\1\end{pmatrix} \\
\end{array}

(说明一下,比如1是一个常值函数,所以在x=-1x=0以及x=1这三个点的函数值都为1,所以此时函数值向量为\begin{pmatrix}1\\1\\1\end{pmatrix};而xx=-1x=0以及x=1这三个点的函数值分别为-101,所以其函数值向量为\begin{pmatrix}-1\\0\\1\end{pmatrix}x^2的函数值向量以此类推。)

这样我们就有了 4 个函数向量和函数值向量:


\begin{array}{cccc}
    \quad 函数向量:\quad & \quad 1 \quad & x & \ \ x^2 & 5-\displaystyle\frac{1}{2}x^4\\
    \quad 函数值向量:\quad & \begin{pmatrix}1\\1\\1\end{pmatrix}&\begin{pmatrix}-1\\0\\1\end{pmatrix}&\begin{pmatrix}1\\0\\1\end{pmatrix}&\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix} \\
\end{array}

为什么要算出函数值向量呢?因为x=-1x=0以及x=1这三个点是我们的判断标准,所谓标准就是用它们来计算,也就是之后的投影操作都会用到这些函数值向量。

2.4 正交基

我们要投影的向量空间是由1xx^2张成的,这三个向量目前并不是两两正交的,这样没有办法计算投影,所以先需要转为正交基。

为什么说不是两两正交的呢?因为我们的判断标准,也就是它们对应的函数值向量的点积不全为0

\begin{pmatrix}1\\1\\1\end{pmatrix}\cdot \begin{pmatrix}-1\\0\\1\end{pmatrix}=0,\quad \begin{pmatrix}1\\1\\1\end{pmatrix}\cdot \begin{pmatrix}1\\0\\1\end{pmatrix}\ne 0,\quad\begin{pmatrix}-1\\0\\1\end{pmatrix}\cdot \begin{pmatrix}1\\0\\1\end{pmatrix}= 0

下面用之前介绍过的施密特正交化来完成正交操作:


\boldsymbol{x_1},\cdots,\boldsymbol{x_n}
\xrightarrow{\quad\text{施密特正交化}\quad}
\begin{cases}
    \boldsymbol{v_1}=\boldsymbol{x_1}\\
    \quad\\
    \boldsymbol{v_2}=\boldsymbol{x_2}-\frac{\boldsymbol{x_2}\cdot\boldsymbol{v_1}}{\boldsymbol{v_1}\cdot\boldsymbol{v_1}}\boldsymbol{v_1}\\
    \quad\\
    \boldsymbol{v_3}=\boldsymbol{x_3}-\frac{\boldsymbol{x_3}\cdot\boldsymbol{v_1}}{\boldsymbol{v_1}\cdot\boldsymbol{v_1}}\boldsymbol{v_1}-\frac{\boldsymbol{x_3}\cdot\boldsymbol{v_2}}{\boldsymbol{v_2}\cdot\boldsymbol{v_2}}\boldsymbol{v_2}\\
    \quad\\
    \qquad\qquad\vdots\\
    \\
    \boldsymbol{v_n}=\boldsymbol{x_n}-\frac{\boldsymbol{x_n}\cdot\boldsymbol{v_1}}{\boldsymbol{v_1}\cdot\boldsymbol{v_1}}\boldsymbol{v_1}-\cdots-\frac{\boldsymbol{x_n}\cdot\boldsymbol{v_{n-1}}}{\boldsymbol{v_{n-1}}\cdot\boldsymbol{v_{n-1}}}\boldsymbol{v_{n-1}}
\end{cases}

其中\begin{pmatrix}1\\1\\1\end{pmatrix}\cdot \begin{pmatrix}-1\\0\\1\end{pmatrix}=0,这说明1x是正交的,所以只需要计算(所有的点积运算都要依靠我们的判断标准,也就是函数值向量来进行):


\begin{aligned}
    x^2-\frac{x^2\cdot 1}{1\cdot 1}1-\frac{x^2\cdot x}{x\cdot x}x
        &=x^2-(\begin{pmatrix}1\\0\\1\end{pmatrix}\cdot\begin{pmatrix}1\\1\\1\end{pmatrix})/(\begin{pmatrix}1\\1\\1\end{pmatrix}\cdot\begin{pmatrix}1\\1\\1\end{pmatrix})1\\
        &\quad - (\begin{pmatrix}1\\0\\1\end{pmatrix}\cdot\begin{pmatrix}-1\\0\\1\end{pmatrix})/(\begin{pmatrix}-1\\0\\1\end{pmatrix}\cdot\begin{pmatrix}-1\\0\\1\end{pmatrix})x\\
        &=x^2-\frac{2}{3}
\end{aligned}

这样我们就得到了要投影的向量空间的正交基1xx^2-\frac{2}{3},以及对应的函数值向量:


\begin{array}{cccc}
    \quad 函数向量:\quad & \quad 1 \quad & x & \ \ x^2-\displaystyle\frac{2}{3}\\
    \quad 函数值向量:\quad & \begin{pmatrix}1\\1\\1\end{pmatrix}&\begin{pmatrix}-1\\0\\1\end{pmatrix}&\begin{pmatrix}\displaystyle\frac{1}{3}\\\displaystyle-\frac{2}{3}\\\displaystyle\frac{1}{3}\end{pmatrix} \\
\end{array}

2.5 完成投影

现在有了正交基以及函数向量f(x)=5-\frac{1}{2}x^4


\begin{array}{cccc}
    \quad 函数向量:\quad & \quad 1 \quad & x & \ \ x^2-\displaystyle\frac{2}{3}&5-\displaystyle\frac{1}{2}x^4\\
    \quad 函数值向量:\quad & \begin{pmatrix}1\\1\\1\end{pmatrix}&\begin{pmatrix}-1\\0\\1\end{pmatrix}&\begin{pmatrix}\displaystyle\frac{1}{3}\\\displaystyle-\frac{2}{3}\\\displaystyle\frac{1}{3}\end{pmatrix}&\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix}\\
\end{array}

下面来计算函数向量f(x)=5-\frac{1}{2}x^4对正交基1xx^2-\frac{2}{3}所张成向量空间的投影(下列公式其实在施密特正交化中也介绍过,这个公式需要正交基才能成立):


\begin{aligned}
    \frac{f(x)\cdot 1}{1\cdot 1}1+&\frac{f(x)\cdot x}{x\cdot x}x+\frac{f(x)\cdot (x^2-\frac{2}{3})}{(x^2-\frac{2}{3})\cdot (x^2-\frac{2}{3})}(x^2-\frac{2}{3})\\\\
        &=(\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix}\cdot\begin{pmatrix}1\\1\\1\end{pmatrix})/(\begin{pmatrix}1\\1\\1\end{pmatrix}\cdot\begin{pmatrix}1\\1\\1\end{pmatrix})1\\\\
        &\quad + (\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix}\cdot\begin{pmatrix}-1\\0\\1\end{pmatrix})/(\begin{pmatrix}-1\\0\\1\end{pmatrix}\cdot\begin{pmatrix}-1\\0\\1\end{pmatrix})x\\\\
        &\quad + (\begin{pmatrix}\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\end{pmatrix}\cdot\begin{pmatrix}\displaystyle\frac{1}{3}\\\displaystyle-\frac{2}{3}\\\displaystyle\frac{1}{3}\end{pmatrix})/(\begin{pmatrix}\displaystyle\frac{1}{3}\\\displaystyle-\frac{2}{3}\\\displaystyle\frac{1}{3}\end{pmatrix}\cdot\begin{pmatrix}\displaystyle\frac{1}{3}\\\displaystyle-\frac{2}{3}\\\displaystyle\frac{1}{3}\end{pmatrix})(x^2-\frac{2}{3})\\\\
        &=\frac{14}{3}-\frac{1}{2}\left(x^2-\frac{2}{3}\right)
\end{aligned}

这就是之前得到的二次函数:

马同学高等数学

拉格朗日插值法也可以得到上述二次函数。

3 不一样的判断标准

如果我们的判断标准修改为x=-2x=-1x=0x=1以及x=2这五个点,那么函数向量保持不变,用于判断的函数值向量需要修改下:


\begin{array}{cccc}
    \quad 函数向量:\quad & \quad 1 \quad & x & \ \ x^2 & 5-\displaystyle\frac{1}{2}x^4\\
    \quad 函数值向量:\quad & \begin{pmatrix}1\\1\\1\\1\\1\end{pmatrix}&\begin{pmatrix}-2\\-1\\0\\1\\2\end{pmatrix}&\begin{pmatrix}4\\1\\0\\1\\4\end{pmatrix}&\begin{pmatrix}-3\\\displaystyle\frac{9}{2}\\5\\\displaystyle\frac{9}{2}\\-3\end{pmatrix} \\
\end{array}

按照上面流程,投影得到的二次函数为\frac{8}{5}-\frac{31}{14}\left(x^2-2\right)(这个结果就没法通过拉格朗日插值法得到):

马同学高等数学

可以看到该二次函数在这五个点虽然不一定重叠,但都还是比较接近的,综合考虑起来是所有二次函数中最佳的。

能不能考虑所有的点呢?也是可以的,就需要使用微积分了,这里不再深入讨论。

关注马同学
马同学高等数学
微信公众号:matongxue314