机器学习之数学基础:线性代数

点击上方“程序IT圈”,选择“置顶”公众号

重磅干货,第一时间送达

作者:上帝不玩骰子@cnblogs

图片:pexels

01

前言

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。本文主要介绍一下机器学习涉及到的一些最常用的的数学知识,方便大家在学习机器学习的时候,能扫除一些基础障碍。

02

标量、向量

标量(scalar)

标量是一个单独的数,一般用普通小写字母或希腊字母表示,如  等。

向量(vector)相关

向量的定义,把数排成一列就是向量,比如:

向量一般用粗体小写字母或粗体希腊字母表示,如  等(有时候也会用箭头来标识,如  ),其元素记作 

向量默认为列向量,行向量需要用列向量的转置表示,例如  等。

  • 物理专业视角:向量是空间中的箭头,决定一个向量的是它的长度和方向

  • 计算机专业视角:向量是有序的数字列表

  • 数学专业视角:向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可

运算规则

向量的加法和数量乘法定义:

加法 相同维数的向量之间的加法为:

 

数量乘法 任意的常数  和向量的乘法为:

在给定数  及向量  的情况下

张成空间

张成空间是向量  和  全部线性组合构成的向量集合,即:

 (  在实数范围内变动)

 

向量空间的基

向量空间中的一组基是张成该空间的一个线性无关向量的集合。

只有当以下两个条件同时满足时,一组向量  才能成为基底。

  1. (当前空间中的)任意向量  都可以表示成  的形式(  为任意数)

  2. 并且这种表示方法是唯一的

向量空间的维数

空间的维数可以通过基向量的个数来定义

维数 = 基向量的个数 = 坐标的分量数

 

线性无关

当且仅当  时  成立,则  是线性无关的。

换种表达方式,线性无关是说:其中任意一个向量都不在其他向量张成空间中,也就是对所有的  和  ,  均不成立。

线性变换

线性的两个条件:直线依旧是直线 和 原点保持固定.线性的严格定义:

线性变换保持网格线平行且等距分布,并且保持原点不动。

线性变换由它对空间的基向量的作用完全决定,在二维空间中,基向量就是  和  ,这是因为其他任意向量都成表示为基向量的线性组合,坐标为(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)的对偶向量。

 

03

矩阵(matrix)相关

矩阵是一个二维数组,其中的每一个元素由两个索引(而非一个)所确定,一般用粗体的大写字母表示,比如:

矩阵  中的第  行第  列的值,称为  的  元素;当矩阵行数和列数相同时,称为方阵。

矩阵就是映射,或者说是向量运动的描述。
将  维向量  乘以  矩阵  ,能得到  维向量  。也就是说,指定了矩阵 ,就确定了从向量到另外一个向量的映射。
两个矩阵相乘的几何意义就是两个线性变换相继作用。

矩阵运算

加法:

只要两个矩阵的形状一样,就可以把两个矩阵相加。两个矩阵相加是指对应位置的元素相加,比如  ,其中 

乘法:

两个矩阵  和  的矩阵乘积是第三个矩阵  。为了使乘法可被定义,矩阵A的列数必须和矩阵B的行数相等。如果矩阵  的形状是  ,矩阵  的形状是  ,那么矩阵  的形状是  。例如

具体地,该乘法操作定义为:

矩阵乘积服从分配律: 
矩阵乘积也服从结合律: 
矩阵乘积不满足交换律: 的情况并非总是满足
矩阵乘积的转置有着简单的形式:

 

矩阵的秩

矩阵的秩,为变换后的空间的维数

核与值域

核:所有经过变换矩阵后变成了零向量的向量组成的集合,通常用Ker(A)来表示。

值域:某个空间中所有向量经过变换矩阵后形成的向量的集合,通常用R(A)来表示。

 

维数定理

对于  矩阵  ,有 

其中  表示X的维度。

列空间

矩阵  的列空间为所有可能的输出向量  构成的集合,换句话说,列空间就是矩阵所有的列所张成的空间。

所以更精确的秩的定义是列空间的维数;当秩达到最大值时,意味着秩和列数相等,也即满秩。

零向量

变换后落在原点的向量的集合被称为矩阵的‘零空间’或者‘核’。

  • 零向量一定在列空间中

  • 对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量自身

  • 对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,变换后的已给向量落在零向量上,而“零空间”正是这些向量所构成的空间

行列式

线性变换的行列式即线性变换改变面积的比例。

  • 检验一个矩阵的行列式是否为0,就能了解这个矩阵所代表的变换是否将空间压缩到更小的维度上

  • 在三维空间下,行列式可以简单看作这个平行六面体的体积,行列式为0则意味着整个空间被压缩为零体积的东西,也就是一个平面或者一条直线,或者更极端情况下的一个点

  • 行列式的值可以为负,代表空间定向发生了改变(翻转);但是行列式的绝对值依然表示区域面积的缩放比例

 

 

奇异矩阵

行列式为零的矩阵

特征值和特征向量

特征分解

如果说一个向量  是方阵  的特征向量,将一定可以表示成下面的形式:

 为特征向量  对应的特征值。特征值分解是将一个矩阵分解为如下形式:

其中,  是这个矩阵  的特征向量组成的矩阵,  是一个对角矩阵,每一个对角线元素就是一个特征值,里面的特征值是由大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。也就是说矩阵A的信息可以由其特征值和特征向量表示。

对于矩阵为高维的情况下,那么这个矩阵就是高维空间下的一个线性变换。可以想象,这个变换也同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变化方向。我们利用这前N个变化方向,就可以近似这个矩阵(变换)。

总结一下,特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要,而特征向量表示这个特征是什么。不过,特征值分解也有很多的局限,比如说变换的矩阵必须是方阵。

奇异值分解

特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有N个学生,每个学生有M科成绩,这样形成的一个N * M的矩阵就不可能是方阵,我们怎样才能描述这样普通的矩阵呢的重要特征呢?奇异值分解可以用来干这个事情,奇异值分解是一个能适用于任意的矩阵的一种分解的方法:

分解形式:

假设A是一个M * N的矩阵,那么得到的U是一个M * M的方阵(称为左奇异向量),Σ是一个M * N的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),VT(V的转置)是一个N * N的矩阵(称为右奇异向量)。

 

LU分解

给定矩阵A,将A表示成下三角矩阵L和上三角矩阵U的乘积,称为LU分解。

转置矩阵

对于矩阵A,将其行列互换得到的矩阵,称为A的转置矩阵,记为 

矩阵的转置是以对角线为轴的镜像,这条从左上到右下的对角线被称为主对角线(main diagonal)。

单位矩阵

方阵中,如果除了对角线(从左上到右下)上的元素为1,其余元素都为0,则该矩阵称为单位矩阵,记为  表示  阶单位矩阵。

单位矩阵表示的映射是“什么都不做”的映射。

逆矩阵

A逆乘以A等于一个‘什么都不做’的矩阵。

  • 一旦找到A逆,就可以在两步同乘A的逆矩阵来求解向量方程

  • 行列式不为零,则矩阵的逆存在


零矩阵

所有元素都为0的矩阵称为零矩阵,记为 

零矩阵表示的映射是将所有的点都映射到原点的映射。

对角矩阵

在方阵中,对角线(从左上到右下)上的值称为对角元素。

非对角元素全部为0的矩阵称为对角矩阵。

对角矩阵表示的映射是沿着坐标轴伸缩,其中对角元素就是各坐标轴伸缩的倍率。


04

张量(tensor)

在某些情况下,我们会讨论坐标超过两维的数组。一般的,一个数组中的元素分布在若干维坐标的规则网络中,我们称之为张量。

一阶张量可以用向量表示,二阶张量可以用矩阵表示。


如果需要机器学习视频,可以在公众号后台聊天框回复【机器学习】,可以免费获取编程视频 。

你可能还喜欢

数学在机器学习中到底有多重要?

AI 新手学习路线,附上最详细的资源整理!

提升机器学习数学基础,推荐7本书

酷爆了!围观2020年十大科技趋势

机器学习该如何入门,听听过来人的经验!

今日头条、抖音推荐算法原理全文详解!

通俗易懂!《图机器学习导论》附69页PPT

22 张精炼图笔记,深度学习专项学习必备

吴恩达《Machine Learning Yearning》中文

《TensorFlow 2.0 深度学习算法实战》中文

深入浅出机器学习与数学的关系

长按加入T圈,接触人工智能

觉得内容还不错的话,给我点个“在看”呗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值