神经网络之线性变换

一、什么是线性变换(Linear Transformation)

1️⃣ 定义

设有一个从向量空间到向量空间的映射
T:Rn→Rm T: \mathbb{R}^n \to \mathbb{R}^m T:Rn→Rm

当且仅当它满足以下两个条件时,称 (T) 为线性变换

{T(x+y)=T(x)+T(y) T(cx)=cT(x)∀c∈R \begin{cases} T(\mathbf{x} + \mathbf{y}) = T(\mathbf{x}) + T(\mathbf{y}) \ T(c\mathbf{x}) = cT(\mathbf{x}) \quad \forall c \in \mathbb{R} \end{cases} {T(x+y)=T(x)+T(y) T(cx)=cT(x)∀c∈R

也就是说:

线性变换保持加法数乘结构,它不会破坏向量之间的线性关系。


2️⃣ 直观理解

线性变换可以看作一种"纯粹的空间拉伸、旋转、翻转或投影"。

它让"原点仍然映射到原点",所有通过原点的直线仍然映射为直线。

(而平移不是线性变换,因为平移会把原点移开。)


3️⃣ 矩阵形式表示

所有线性变换都可以写作矩阵乘法:
T(x)=Ax T(\mathbf{x}) = A\mathbf{x} T(x)=Ax

其中 (A) 是一个矩阵。

因此线性变换的所有性质,都可以通过矩阵的性质来分析。


二、常见的线性变换类型

线性变换种类很多,常见的有以下几类,每一类都有清晰的几何意义👇

类型 常见形式 几何含义 是否线性
缩放(Scaling) (T(x,y)=(kx,ky))(T(x,y)=(kx, ky))(T(x,y)=(kx,ky)) 放大或缩小
旋转(Rotation) (R(θ)x)(R(\theta)\mathbf{x})(R(θ)x) 保持长度与角度
反射(Reflection) (x−2(n⋅x)n)(\mathbf{x}-2(\mathbf{n}\cdot\mathbf{x})\mathbf{n})(x−2(n⋅x)n) 关于直线/平面翻转
投影(Projection) ((u⋅x)u)((\mathbf{u}\cdot\mathbf{x})\mathbf{u})((u⋅x)u) 投影到某方向或平面上
错切(Shear) (T(x,y)=(x+ky,y))(T(x,y)=(x+ky,y))(T(x,y)=(x+ky,y)) 平行方向滑动
零变换(Zero Map) (T(x)=0)(T(\mathbf{x})=\mathbf{0})(T(x)=0) 所有向量变为零
单位变换(Identity) (T(x)=x)(T(\mathbf{x})=\mathbf{x})(T(x)=x) 不改变任何向量
平移(Translation) (T(x)=x+b)(T(\mathbf{x})=\mathbf{x}+\mathbf{b})(T(x)=x+b) 整体移动 ❌(非线性)

三、各类型的线性本质与几何理解


(1)缩放变换(Scaling)

T(x,y)=(kx,ky) T(x, y) = (kx, ky) T(x,y)=(kx,ky)

矩阵形式:
A=[k0 0k] A = \begin{bmatrix} k & 0\ 0 & k \end{bmatrix} A=[k0 0k]

验证线性:
T(x+y)=k(x+y)=kx+ky=T(x)+T(y) T(\mathbf{x}+\mathbf{y})=k(\mathbf{x}+\mathbf{y})=k\mathbf{x}+k\mathbf{y}=T(\mathbf{x})+T(\mathbf{y}) T(x+y)=k(x+y)=kx+ky=T(x)+T(y)
T(cx)=ckx=cT(x) T(c\mathbf{x})=ck\mathbf{x}=cT(\mathbf{x}) T(cx)=ckx=cT(x)

✅ 满足线性条件。

几何意义:

  • 当 (k>1) → 放大;
  • 当 (0<k<1) → 缩小;
  • 当 (k<0) → 翻转方向并缩放。

(2)旋转变换(Rotation)

二维情况下:
R(θ)=[cos⁡θ−sin⁡θ sin⁡θcos⁡θ] R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta\ \sin\theta & \cos\theta \end{bmatrix} R(θ)=[cosθ−sinθ sinθcosθ]
T(x)=R(θ)x T(\mathbf{x}) = R(\theta)\mathbf{x} T(x)=R(θ)x

验证线性:
R(θ)(x+y)=R(θ)x+R(θ)y,R(θ)(cx)=cR(θ)x R(\theta)(\mathbf{x}+\mathbf{y})=R(\theta)\mathbf{x}+R(\theta)\mathbf{y},\quad R(\theta)(c\mathbf{x})=cR(\theta)\mathbf{x} R(θ)(x+y)=R(θ)x+R(θ)y,R(θ)(cx)=cR(θ)x

✅ 满足线性定义。

几何意义:

旋转保持长度与角度,只改变方向,是正交线性变换 的一种。
RTR=I,det⁡R=+1 R^T R = I, \quad \det R = +1 RTR=I,detR=+1


(3)反射变换(Reflection)

关于某个单位法向量 (n)(\mathbf{n})(n) 的反射:
T(x)=x−2(n⋅x)n T(\mathbf{x}) = \mathbf{x} - 2(\mathbf{n}\cdot\mathbf{x})\mathbf{n} T(x)=x−2(n⋅x)n

验证线性:
T(x+y)=T(x)+T(y),T(cx)=cT(x) T(\mathbf{x}+\mathbf{y}) = T(\mathbf{x})+T(\mathbf{y}),\quad T(c\mathbf{x})=cT(\mathbf{x}) T(x+y)=T(x)+T(y),T(cx)=cT(x)

✅ 满足线性。

几何意义:

  • 反射会翻转向量在法向量方向上的分量;
  • 保持平面内分量不变;
  • 改变方向(det⁡R=−1))(\det R = -1))(detR=−1))。

例如关于 x 轴反射:
T(x,y)=(x,−y),A=[10 0−1] T(x, y) = (x, -y) ,\quad A = \begin{bmatrix} 1 & 0\ 0 & -1 \end{bmatrix} T(x,y)=(x,−y),A=[10 0−1]


(4)投影变换(Projection)

将向量投影到方向 (u)(\mathbf{u})(u)(单位向量)上:
T(x)=(u⋅x)u T(\mathbf{x}) = (\mathbf{u}\cdot\mathbf{x})\mathbf{u} T(x)=(u⋅x)u

验证线性:
T(x+y)=(u⋅(x+y))u=T(x)+T(y) T(\mathbf{x}+\mathbf{y}) = (\mathbf{u}\cdot(\mathbf{x}+\mathbf{y}))\mathbf{u} = T(\mathbf{x})+T(\mathbf{y}) T(x+y)=(u⋅(x+y))u=T(x)+T(y)
T(cx)=c(u⋅x)u=cT(x) T(c\mathbf{x}) = c(\mathbf{u}\cdot\mathbf{x})\mathbf{u} = cT(\mathbf{x}) T(cx)=c(u⋅x)u=cT(x)

✅ 满足线性。

几何意义:

  • 把向量"垂直压"到某一方向或平面;
  • 长度减小(除非在方向上)。

(5)错切变换(Shear)

T(x,y)=(x+ky,y),A=[1k 01] T(x,y) = (x + ky, y) ,\quad A = \begin{bmatrix} 1 & k\ 0 & 1 \end{bmatrix} T(x,y)=(x+ky,y),A=[1k 01]

验证线性:
T(x+y)=T(x)+T(y),T(cx)=cT(x) T(\mathbf{x}+\mathbf{y})=T(\mathbf{x})+T(\mathbf{y}), \quad T(c\mathbf{x})=cT(\mathbf{x}) T(x+y)=T(x)+T(y),T(cx)=cT(x)

✅ 满足线性。

几何意义:

  • 将空间"斜着推开",形状改变但平行性保持;
  • 各向量的比例关系依旧保持。

(6)平移变换(Translation)【⚠️非线性】

T(x)=x+b T(\mathbf{x}) = \mathbf{x} + \mathbf{b} T(x)=x+b

验证:
T(cx)=cx+b≠cT(x)=c(x+b) T(c\mathbf{x}) = c\mathbf{x} + \mathbf{b} \neq cT(\mathbf{x}) = c(\mathbf{x}+\mathbf{b}) T(cx)=cx+b=cT(x)=c(x+b)

❌ 不满足线性定义。

几何意义:

  • 平移改变了原点位置;
  • 因此破坏了"原点到原点"的线性结构。

四、总结对比表

类型 线性 几何效果 矩阵形式 特征
缩放 放大/缩小 diag(k,k)diag(k,k)diag(k,k) 改变长度,保持方向
旋转 绕原点旋转 正交矩阵,det=+1 保长度与角度
反射 镜像翻转 正交矩阵,det=-1 保长度但翻方向
投影 压到某方向 (uuT)(\mathbf{u}\mathbf{u}^T)(uuT) 缩短长度
错切 平行推移 上三角矩阵 改变形状
平移 整体移动 含常数项 原点被移走

五、总结

  • 线性变换的核心本质: 保持加法与数乘;
  • 所有线性变换都可由矩阵乘法表示: (T(x)=Ax)(T(\mathbf{x}) = A\mathbf{x})(T(x)=Ax);
  • 不同类型的线性变换只是矩阵形式不同,对空间的作用方式不同;
  • **非线性变换(如平移)**破坏原点关系,因此不线性。
相关推荐
陈果然DeepVersion3 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(九)
java·人工智能·spring boot·微服务·kafka·面试题·rag
aneasystone本尊3 小时前
重温 Java 21 之外部函数和内存 API
人工智能
IT_陈寒3 小时前
7个Java Stream API的隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端
weixin_307779134 小时前
构建下一代法律智能助手:需求分析、资源整合与系统设计
人工智能·深度学习·机器学习·需求分析
夫唯不争,故无尤也4 小时前
深度学习Adam优化器核心概念全解析:参数,梯度,一阶动量,二阶动量
pytorch·深度学习·机器学习
草莓熊Lotso4 小时前
Linux 权限管理进阶:从 umask 到粘滞位的深度解析
linux·运维·服务器·人工智能·ubuntu·centos·unix
美狐美颜sdk6 小时前
直播美颜SDK特效功能实战:从API调用到效果调优的全过程
人工智能·1024程序员节·美颜sdk·直播美颜sdk·第三方美颜sdk
sali-tec9 小时前
C# 基于halcon的视觉工作流-章56-彩图转云图
人工智能·算法·计算机视觉·c#
梦想画家9 小时前
基于PyTorch的时间序列异常检测管道构建指南
人工智能·pytorch·python