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

本文详细介绍机器学习中不可或缺的数学知识,包括标量、向量、矩阵、张量的基本概念及其运算,探讨线性代数在机器学习中的应用,如特征值分解、奇异值分解等,为初学者提供扎实的数学基础。

点击上方“程序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圈,接触人工智能

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值