前言
AI(人工智能)现在火的一塌糊涂,其实在AI领域,机器学习已广泛应用在搜索引擎、自然语言处理、计算机视觉、生物特征识别、医学诊断、证券市场分析等领域,并且机器学习已经是各大互联网公司的基础设施,不再是一个新鲜的技术。但当你真的开始学习机器学习的时候,就会发现上手门槛其实还挺高的,这主要是因为机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
本文主要介绍一下机器学习涉及到的一些最常用的的数学知识,方便大家在学习机器学习的时候,能扫除一些基础障碍。
标量(scalar)
标量是一个单独的数,一般用普通小写字母或希腊字母表示,如 等。
向量(vector)相关
向量的定义
把数排成一列就是向量,比如:
向量一般用粗体小写字母或粗体希腊字母表示,如 等(有时候也会用箭头来标识,如 ),其元素记作 。
向量默认为列向量,行向量需要用列向量的转置表示,例如 等。
- 物理专业视角:向量是空间中的箭头,决定一个向量的是它的长度和方向
- 计算机专业视角:向量是有序的数字列表
- 数学专业视角:向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可
运算规则
向量的加法和数量乘法定义:
加法 相同维数的向量之间的加法为:
数量乘法 任意的常数 和向量的乘法为:
在给定数 及向量 的情况下
张成空间
张成空间是向量 和 全部线性组合构成的向量集合,即:
( 在实数范围内变动)
向量空间的基
向量空间中的一组基是张成该空间的一个线性无关向量的集合。
只有当以下两个条件同时满足时,一组向量 才能成为基底。
- (当前空间中的)任意向量 都可以表示成 的形式( 为任意数)
- 并且这种表示方法是唯一的
向量空间的维数
空间的维数可以通过基向量的个数来定义
维数 = 基向量的个数 = 坐标的分量数
线性无关
当且仅当 时 成立,则 是线性无关的。
换种表达方式,线性无关是说:其中任意一个向量都不在其他向量张成空间中,也就是对所有的 和 , 均不成立。
线性变换
线性的两个条件:直线依旧是直线 和 原点保持固定.
线性的严格定义:
线性变换保持网格线平行且等距分布,并且保持原点不动。
线性变换由它对空间的基向量的作用完全决定,在二维空间中,基向量就是 和 ,这是因为其他任意向量都成表示为基向量的线性组合,坐标为(x,y)的向量就是x乘以 加上y乘以 ,在线性变换之后,网格线保持平行且等距分布这一性质有个绝妙的推论,向量(x,y)变换之后的结果,将是x乘以变换后的 的坐标加上y乘以变换后的 的坐标。
向量的点积
点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。两个维度相同的向量,点积定义如下:
- 点积和顺序无关
- 两个向量相互垂直时,点积为0
- 两个向量方向相同时,点积为正;相反时,点积为负
向量的叉积
叉乘,也叫向量的外积、向量积。顾名思义,求下来的结果是一个向量。
- 向量的叉积不满足交换律
对偶向量
给定一个向量,如果存在这样一个映射,它把给定的向量映射为一个实数,就说这个映射是对偶向量。例如一个n维行向量(a1,a2...an),它既可以理解为行向量,也可理解为某种映射,该映射把给定的n维列向量(b1,b2...bn)(矢量)映射为实数k,k=a1b1+a2b2+...anbn,即矩阵的乘积。则这个映射满足对偶向量的定义,因此行向量(a1,a2...an)是对偶(b1,b2...bn)的对偶向量。
矩阵(matrix)相关
矩阵的定义
矩阵是一个二维数组,其中的每一个元素由两个索引(而非一个)所确定,一般用粗体的大写字母表示,比如: 。
矩阵 中的第 行第 列的值,称为 的 元素;当矩阵行数和列数相同时,称为方阵。
矩阵就是映射,或者说是向量运动的描述。
将 维向量 乘以 矩阵 ,能得到 维向量 。也就是说,指定了矩阵 ,就确定了从向量到另外一个向量的映射。
两个矩阵相乘的几何意义就是两个线性变换相继作用。
矩阵运算
加法:
只要两个矩阵的形状一样,就可以把两个矩阵相加。两个矩阵相加是指对应位置的元素相加,比如 ,其中 。
乘法:
两个矩阵 和 的矩阵乘积是第三个矩阵 。为了使乘法可被定义,矩阵A的列数必须和矩阵B的行数相等。如果矩阵 的形状是 ,矩阵 的形状是 ,那么矩阵 的形状是 。例如
具体地,该乘法操作定义为:
矩阵乘积服从分配律:
矩阵乘积也服从结合律:
矩阵乘积不满足交换律: 的情况并非总是满足
矩阵乘积的转置有着简单的形式:
矩阵的秩
矩阵的秩,为变换后的空间的维数
核与值域
核:所有经过变换矩阵后变成了零向量的向量组成的集合,通常用Ker(A)来表示。
值域:某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示。
维数定理
对于 矩阵 ,有
其中 表示X的维度。
列空间
矩阵 的列空间为所有可能的输出向量 构成的集合,换句话说,列空间就是矩阵所有的列所张成的空间。
所以更精确的秩的定义是列空间的维数;当秩达到最大值时,意味着秩和列数相等,也即满秩。
零向量
变换后落在原点的向量的集合被称为矩阵的‘零空间’或者‘核’。
- 零向量一定在列空间中
- 对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量自身
- 对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,变换后的已给向量落在零向量上,而“零空间”正是这些向量所构成的空间