理解变换
变换是一个函数,如果一个变换被称为线性变换,则必须满足下面的两个条件,
- T ( u ⃗ + v ⃗ ) = T ( u ⃗ ) + T ( v ⃗ ) T(\vec{u}+\vec{v})=T(\vec{u})+T(\vec{v}) T(u+v)=T(u)+T(v)
- T ( c u ⃗ ) = c T ( u ⃗ ) T(c\vec{u})=cT(\vec{u}) T(cu)=cT(u),其中 c c c是常数。
矩阵运算就是线性变换
在之前的笔记中提到过矩阵可以被视为向量的函数,故矩阵所表示的变换均为线性变换。可以写为,
T
(
x
⃗
)
=
A
x
⃗
T(\vec{x})=A\vec{x}
T(x)=Ax
对上面的式子进行证明,
T
(
u
⃗
+
v
⃗
)
=
A
(
u
⃗
+
v
⃗
)
=
A
u
⃗
+
A
v
⃗
=
T
(
u
⃗
)
+
T
(
v
⃗
)
T(\vec{u}+\vec{v})=A(\vec{u}+\vec{v})=A\vec{u}+A\vec{v}=T(\vec{u})+T(\vec{v})
T(u+v)=A(u+v)=Au+Av=T(u)+T(v)
T
(
c
u
⃗
)
=
A
(
c
u
⃗
)
=
c
(
A
u
⃗
)
=
c
T
(
u
⃗
)
T(c\vec{u})=A(c\vec{u})=c(A\vec{u})=cT(\vec{u})
T(cu)=A(cu)=c(Au)=cT(u)
在空间相关的笔记中,空间中的基是矩阵中的列向量,实际上一直是将矩阵视为一个空间,同时也是空间中的变换。具体可见矩阵高级
线性变换的应用
在机器学习中常常提及对数据进行压缩,实际上就是通过矩阵(或者可以视为某个空间的一组基向量)对已有的数据进行转换,如
当通过线性变换将原本的数据从黑色坐标系的空间转换到
红
色
\color{red}{红色}
红色坐标系的空间时,所有数据在
红
色
\color{red}{红色}
红色坐标系竖直方向的值都很小,即其包含的信息很少。
经过转换后原始数据的信息几乎都集中在了新的坐标系水平方向上,竖直方向的信息可以抛弃。此时就完成了对数据的压缩,使用比之前少的数据就可以表示先前所有信息。更高维度的空间中更是如此。
压缩算法、傅里叶变换和小波变换都是这一原理。