【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射
I. 映射(Mapping)
1. 单射(Injective)
函数f 是单射当且仅当若f(x) = f(y) 则 x = y。
例子: f(x) = x+5 从实数集\(R\)到\(R\)是个单射函数。
这个函数很容易被还原:f(3) = 8,即 已知 8 可以返回 3
2. 满射(Surjective)
函数 f(从集 A 到集 B)是满射当且仅当在 B 中的每个 y 存在至少一个在 A 中的 x 满足 f(x) = y, 就是说, f 是满射当且仅当 f(A) = B。
值域里的每个元素都至少有一个定义域元素与之对应。
例子:函数 f(x) = 2x 从自然数集\(N\)到非负偶数是个满射函数。
但 f(x) = 2x 从自然数集\(N\)到\(N\)不是满射,因为没有一个自然数\(N\)可以被这个函数映射到 3。
3. 双射(Bijective)
函数 f(从 A 集到 B 集)是双射,若每个 B 中的 y 都有唯一的一个(而没有另外一个) A 集中的 x 满足 f(x) = y
或者说:当单射和满射都成立时,f 是双射。
例子: 函数 \(f(x) = x^2\) 从正实数到正实数是单射,也是满射,所以它是双射。
但从实数集\(R\)就不是,因为f(2)=4,并且f(-2)=4
II. 同态&同构
对于向量空间\(V,W\),若有映射\(\Phi :V→W\)满足如下条件,则我们称\(\Phi\)为线性映射(linear mapping)(或者向量空间同态(vector space Homomorphism) 或 linear transform):
\[\forall{x,y}∈V, \lambda,\psi∈R:\Phi(\lambda x+\psi y)=\lambda \Phi(x) + \psi \Phi(y)\]
基于上面已经介绍了的映射的概念,我们现在可以更好地直观理解同态和同构的定义,它们分别如下:
- \(\Phi:V→W \,\,\, linear\): 同态 (Homomorphism)
- \(\Phi:V→W \,\,\, linear \,\, and \,\, injective\): 单一同态 (Monomorphism)
- \(\Phi:V→W \,\,\, linear \,\, and \,\, surjective\): 满同态 (Surjective Homomorphism)
- \(\Phi:V→W \,\,\, linear \,\, and \,\, bijective\): 同构 (Isomorphism)
- \(\Phi:V→V \,\,\, linear\): 自同态 (Endomorphism)
- \(\Phi:V→V \,\,\, linear \,\, and \,\, injective\): 单一自同态 (Monomorphic Endomorphism)
- \(\Phi:V→V \,\,\, linear \,\, and \,\, surjective\): 满自同态 (Surjective Endomorphism)
- \(\Phi:V→V \,\,\, linear \,\, and \,\, bijective\): 自同构 (Automorphism)
定理:两个维度是有限的向量空间\(V,W\),当且仅当二者的维度相同,即\(dim(V)=dim(W)\),\(V,W\)二者同构。
假设现在有三个向量空间分别为\(V,W,X\),那么它们有如下性质:
- 如果有线性映射\(\Phi:V→W\)和\(\Psi:W→X\),那么映射\(\Phi◦\Psi:V→X\)也是线性映射;
- 如果\(\Phi:V→W\)是同构(isomorphsim),那么\(\Phi^{-1}:V→W\)也是同构;
- 如果\(\Phi:V→W,\Psi:V→W\)都是线性映射,那么\(\Psi+\Phi\)和\(\lambda\Phi,\lambda∈R\)也都是线性的。
1. 线性映射的矩阵表示
坐标(Coordinates) 的定义:
假设向量空间\(V\)的顺序基(ordered bases)为\(B=(b_1,...,b_n)\),那么\(V\)中任意一个向量\(x\)可由顺序基线性组合表示,即
\(x=α_1b_1+...+α_nb_n\)\(。此时矢量\)\(\alpha=[α_1,...,α_n]^{T}∈R^n\)则是\(x\)在向量空间\(V\)上以\(B\)为基的坐标。
变换矩阵(Transform Matrix) 的定义:
假设向量空间\(V∈R^n,W∈R^m\)的顺序基分别为\(B=(b_1,...,b_n),C=(c_1,...,c_m)\)。对于映射\(\Psi:V→W\),有
\[\Phi(b_j)=α_{1j}c_1+...+α_{mj}c_m=\sum_{i=1}^mα_{ij}c_i\]
则我们称\(A_{\Phi}(i,j)=α_{ij}\)为映射\(\Phi\)的变换矩阵。
所以向量空间\(V\)中的坐标矢量\(x\)与\(W\)中的坐标矢量\(y\)有如下变换关系:\(y=A_{\Phi}x\)
2. 基变换(Basis Change)
定义:
假设向量空间\(V\)的顺序基有两个,分别是\(B=(b_1,...,b_n),\tilde{B}=(\tilde{b_1},...,\tilde{b_n})\),向量空间\(W\)也有两个顺序基,分别为\(C=(c_1,...,c_n),\tilde{C}=(\tilde{c_1},...,\tilde{c_n})\)。\(A_{\Phi}\)是映射\(\Phi:V→W\)关于顺序基\(B,C\)的变换矩阵,\(\tilde{A_{\Phi}}\)是映射\(\Phi:V→W\)关于顺序基\(\tilde{B},\tilde{C}\)的变换矩阵,两个变换矩阵的关系如下:
\[\tilde{A_{\Phi}}$=T^{-1}A_{\Phi}S\]
其中\(S∈R^{n×n}\)表示向量空间\(V\)从基\(\tilde{B}\)到基\(B\)的恒等映射\(id_V\)的变换矩阵,\(T∈R^{m×m}\)表示向量空间\(W\)基于基\(\tilde{C}\)到基\(C\)的恒等映射\(id_W\)的变换矩阵,
3. 核(kernel)与象(Image)
先看定义:
核(Kernel/null space):
假设有映射\(\Phi:V→W\),核(kernel)为:
\[ker(\Phi)=\Phi^{-1}(0_w)=\{v∈V:\Phi(v)=0_w\}\]
什么意思呢?就是说经过映射后,\(V\)中的一些值被映射到\(W\)的零点(如下图示),而\(V\)这些值组成的集合(即左边橘黄色部分)就称为kernel。
- 象(Image/Range)
\[Im(\Phi)=\Phi(V)=\{w∈W|\exists v∈V:\Phi(v)=w\}\]
怎么理解象呢?就是说整个向量空间\(V\)在经过映射后在向量空间\(W\)上得到的集合,也就是右边黄色部分。
为方便理解,可以把kenel粗略地理解成定义域,Image理解成值域。
另外需要注意的有如下推论:
- 始终有\(\Phi(0_V)=0_W\),即\(0_V∈ker(\Phi)\)
- \(Im(\Phi),Ker(\Phi)\)分别是\(W,V\)的子空间
- 当且仅当\(Ker(\Phi)=\{0\}\)时,\(\Phi\)是单射。

Rank-Nullity Theorem(秩-零定理):对于映射\(\Phi:V→W\)始终满足如下等式:
\[dim(Ker(\Phi))+dim(Im(\Phi))=dim(V)\]
如果用matrix来说的话,假设A是一个n*n的matrix,则:\(rank(A)+nullity(A)=n\)
再通俗点说就是对A进行初等变换后得到的echelon form(行阶梯形式),不为0的行数加上全部为0的行数等于这个矩阵的行数。当然因为一般的matrix的row rank和column rank相等,所以变成column echelon form之后用列来计数也是一样的。
III. 仿射空间(Affine Spaces)
前面提到的映射都是经过零点的,下面介绍的仿射空间是偏离原点的空间。
1. 仿射子空间(Affine Subspaces)
定义:
假设\(V\)为向量空间,\(x_0∈V\), \(U\subseteq{V}\)为子空间,则子集
\[
\begin{align}
L&=x_0+U=\{x_0+u: u∈U\} \notag \\
&=\{v∈V|\exists{u∈U}:v=x_0+u\}\subseteq{V} \notag
\end{align}
\]
称为向量空间\(V\)的 仿射子空间(affine subspace) 或 linear manifold。\(U\)称为Direction (Space),\(x_0\)称为support point

2. 仿射映射(Affine Mappings)

参考资料
【Math for ML】线性代数-单射,满射,双射,同构,同态,仿射的更多相关文章
- 【Math for ML】矩阵分解(Matrix Decompositions) (下)
[Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular V ...
- 【Math for ML】线性代数之——向量空间
I. Groups 在介绍向量空间之前有必要介绍一下什么Group,其定义如下: 注意定义中的\(\bigotimes\)不是乘法,而是一种运算符号的统一标识,可以是乘法也可以是加法等. 此外,如果\ ...
- 【Math for ML】向量微积分(Vector Calculus)
I. 向量梯度 假设有一个映射函数为\(f:R^n→R^m\)和一个向量\(x=[x_1,...,x_n]^T∈R^n\),那么对应的函数值的向量为\(f(x)=[f_1(x),...,f_m(x)] ...
- 【Math for ML】矩阵分解(Matrix Decompositions) (上)
I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\ ...
- 【Math for ML】解析几何(Analytic Geometry)
I. 范数(Norm) 定义: 向量空间\(V\)上的范数(norm)是如下函数: \[ \begin{align} \|·\|:V→R, \notag \\ x→\|x\| \notag \end{ ...
- 离散数学 II(最全面的知识点汇总)
离散数学 II(知识点汇总) 目录 离散数学 II(知识点汇总) 代数系统 代数系统定义 例子 二元运算定义 运算及其性质 二元运算的性质 封闭性 可交换性 可结合性 可分配性 吸收律 等幂性 消去律 ...
- AI:模式识别的数学表示(集合—函数观点)
前言: 模式识别的定义,参考:模式识别两种方法:知识和数据 .百科定义:模式识别(英语:Pattern Recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读.我们把环境与客 ...
- 【NLP CS224N笔记】Lecture 3 GloVe: Global Vectors for Word Representation
I. 复习word2vec的核心思路 1. Skip-gram 模型示意图: 2.word vectors的随机梯度 假设语料库中有这样一行句子: I love deep learning and N ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
随机推荐
- (线性回归)Liner Regression简单应用
警告:本文为小白入门学习笔记 数据连接: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearni ...
- 使用docker-compose部署nginx
1.新建docker-compose.yml文件,文件的基本模板如下:(由于yml格式比较严格,注意空格缩进) version: '2.0' services: nginx: restart: a ...
- 4.django学习模板
##引用模板 步骤: 在应用目录下创建templates目录,在目录下创建html文件 在views.py返回render(渲染) 1.requests请求本身,2.模板文件,3.后台传递到前端的数据 ...
- shop++改造之Filter类
基于shop++源码进行商城改造.本来想大展手脚,结果一入手.发觉瞬间淹没了我的才华,sql语句也得贼溜没啥用. 不得不说这个商城源码价值很高,封装的很精屁. 下面是我第一天入手的坑. 数据库建好了表 ...
- Idea构建maven项目
Idea构建maven项目: 步骤一: 步骤二: 自动导入Maven项目: 步骤三:增加web 二:搭建spring项目结构: 结构图: 网上都是一大堆的:自己也可以去搜:ssm pom.xml ...
- in和hasOwnProperty的区别
两者都代表查看某个属性是不是对象自己的,返回布尔值 in判断的是对象的所有属性,包括对象实例及其原型的属性 hasOwnProperty则是判断对象实例的是否具有某个属性
- 启动aspx文件错误
有一次,为了模仿翻页效果,设置的启动也是aspx文件.当时因为重装系统的原因,我的系统暂时不支持aspx文件的发布访问.所以,我就在MIME Type里面添加了对aspx文件的访问,如下图: 这样就可 ...
- JS面向对象的程序设计之理解对象
一.对象定义 (1)ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同: (2)ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数” 二. ...
- Learn jQuery in y seconds
[兼容IE8以下没办法][虽不是Modern Web(不建议直接操作DOM)但也是一大利器] 个人推荐书[CSS 网站实录][JavaScript Dom 编程艺术][刚开始学不能太纠结机制机理原理因 ...
- 修改教材P74 一行代码 NineNineTable.java, 让执行结果是个三角形
修改教材P74 一行代码 NineNineTable.java, 让执行结果是个三角形: 提交在IDEA或命令行中运行结查截图,加上学号水印,没学号的不给成绩 2*9=18 3*9=27 4*9=36 ...