PH525x series - Projections

2019-12-13  本文已影响0人  3between7

前面的章节学的是降维、奇异值分解以及主成分分析的大致内容,本篇文章则开始更加详细的介绍这背后的数学原理,首先要学的就是投影(projection)

概念

投影其实就是一种可以最小化一个点与一个子空间距离的线性代数算法,现在我们假设\vec{y}是一个N维空间里的某点:\vec{y} \in \mathbb{R}^NL是这个空间的一个子空间:L \subset \mathbb{R}^N。现以二维空间为例说明这个影到底是怎么投的:

Y = \begin{pmatrix} 2 \\ 3\end{pmatrix},如下图:

1912121752.png

通过将\vec{y}投影到由\begin{pmatrix}1\\0\end{pmatrix}(x轴)和\begin{pmatrix}0\\1\end{pmatrix}(y轴)定义的空间上,很快我们就可以得到相应的坐标(coordinate):

\begin{align*} Y &= \begin{pmatrix} 2 \\ 3\end{pmatrix} \\ &=2 \begin{pmatrix} 1\\ 0\end{pmatrix} + 3 \begin{pmatrix} 0\\ 1\end{pmatrix} \end{align*}

也就是(2,3)即为Y的坐标。

现在定义一个新的子空间L,这个空间呢是由一个满足c\vec{v}\vec{v}=\begin{pmatrix} 2& 1\end{pmatrix}^\top的点定义的。既然\vec{y}在这个空间上的投影就是L上到\vec{y}最近的那个点,也就说我们需要计算出可以最小化\vec{y}c\vec{v}=(2c,c)之间距离的c值。

而在线性代数中我们已知,如果两个向量相交,那么其乘积则为0,因此:

(\vec{y}-\hat{c}\vec{v}) \cdot \vec{v} = 0也就是:
\vec{y}\cdot\vec{v} - \hat{c}\vec{v}\cdot\vec{v} = 0所以:
\hat{c} = \frac{\vec{y}\cdot\vec{v}} {\vec{v}\cdot\vec{v}}

另外,上述公式中的点\cdot的意思是:\,\, \vec{x} \cdot \vec{y} = x_1 y_1+\dots x_n y_n,举例说明:

mypar(1,1)
plot(c(0,4),c(0,4),xlab="Dimension 1",ylab="Dimension 2",type="n")
arrows(0,0,2,3,lwd=3)
abline(0,0.5,col="red",lwd=3) #if x=2c and y=c then slope is 0.5 (y=0.5x)
text(2,3," Y",pos=4,cex=3)
y=c(2,3)
v=c(2,1)
cc = crossprod(v,y)/crossprod(v)
segments(v[1]*cc,v[2]*cc,y[1],y[2],lty=2)
##segments(x0,y0,x1,y1):在(x0,y0)和(x1,y1)之间画一条线段
text(v[1]*cc,v[2]*cc,expression(hat(Y)),pos=4,cex=3)
1912130957.png

样本均值

假设\vec{y} \in \mathbb{R}^N,而L \subset \mathbb{R}^N的定义如下:
\vec{v}=\begin{pmatrix} 1\\ \vdots \\ 1\end{pmatrix}; L = \{ c \vec{v}; c \in \mathbb{R}\}

在这个空间里,\vec{v}的所有元素都是相同的数字,所以投影到这个空间上每一个维度上对应的坐标都该是相同的。那这种情况下该如何最小化c\vec{v}\vec{y}呢?

已知:

\hat{c} = \frac{\vec{y}\cdot\vec{v}} {\vec{v}\cdot\vec{v}}

因此:

\hat{c} = \frac{\vec{y}\cdot\vec{v}}{\vec{v}\cdot\vec{v}} = \frac{\sum_{i=1}^N Y_i}{\sum_{i=1}^N 1} = \bar{Y}

所以说,样本均值其实也是一种投影。

线性回归

除了均值以外,线性回归同样是一种投影,从投影的角度理解,线性回归其实就是:

假设我们的数据Y是一个N维的向量,且线性回归模型为:Y_{i} = \beta_0 + \beta_1X_i,求使得Y和如下定义的子空间L之间的距离最小的\beta_0\beta_1究竟是多少:

L = \{ \beta_0 \vec{v}_0 + \beta_1 \vec{v}_1 ; \vec{\beta}=(\beta_0,\beta_1) \in \mathbb{R}^2 \}

其中:

\vec{v}_0=\begin{pmatrix}1\\1\\\vdots \\1\\\end{pmatrix} \mbox{ , }\vec{v}_1=\begin{pmatrix}X_{1}\\X_{2}\\\vdots \\X_{N}\\\end{pmatrix}

除此之外,N\times 2矩阵\mathbf{X}[ \vec{v}_0 \,\, \vec{v}_1],在L中的任何一个点都可以被写成:X\vec{\beta}

正交投影的多维度版本公式是(这个公式咋推导的。。。):

X^\top (\vec{y}-X\vec{\beta}) = 0

再加上我们之前学过:

X^\top X \hat{\beta}= X^\top \vec{y} \hat{\beta}= (X^\top X)^{-1}X^\top \vec{y}

因此向L中的投影就是:

X (X^\top X)^{-1}X^\top \vec{y}

阅读原文请戳

上一篇下一篇

猜你喜欢

热点阅读