问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

机器学习的数学基础:向量与矩阵

创作时间:
作者:
@小白创作中心

机器学习的数学基础:向量与矩阵

引用
1
来源
1.
https://www.cnblogs.com/wang_yb/p/18349140

机器学习作为一门前沿技术,其核心离不开数学基础的支撑。其中,向量和矩阵作为最基本的数据结构,在机器学习算法中扮演着至关重要的角色。本文将从定义、运算规则到实际应用,系统地介绍向量和矩阵的相关知识,帮助读者建立扎实的数学基础。

1. 向量

1.1 定义

机器学习面对的训练数据,几乎没有只有单一属性的(也就是数据只包含一个数值或者一个字符串),而是每个数据都包含多种属性,比如气象数据(包含温度,湿度,风向等等),金融数据(开盘价,收盘价,交易量等等),销售数据(价格,库存量,卖出数量等等)。
为了表示这个多属性的数据,或者称为多维度的数据,向量最为合适。
向量就是有几个数字横向或者纵向排列而成,每个数字代表一个属性。
向量类似编程语言中的一维数组,在numpy中也是这么保存的。

1.2 转置

向量可以用行或者列的形式表示,比如:(\begin{bmatrix}1,2,3\end{bmatrix})或者(\begin{bmatrix} 1 \ 2 \ 3 \end{bmatrix})。
向量用还是来表示,主要取决于后续进行怎样的计算,本质区别不大。
向量的转置操作就是用来对行向量列向量进行互相转换的。

1.3 加和减

向量之间进行加减操作时,向量的长度必须一样,并且必须同为行向量或同为列向量


简单来说,向量之间的加减法就是对应位置的元素之间的加减法。

1.4 积运算

向量有两种积运算,一种是向量和数值之间的积运算,也称为标量积
另一种是向量和向量之间的积运算,也称为内积
标量积运算之后,向量还是向量,向量中的每个元素分别乘以标量。

内积运算之后,向量变成一个数值(也就是标量):

计算规则就是向量对应位置的数值相乘,最后将每个位置的计算结果相加。

1.5 模运算

向量还有一个模运算模运算是一种对向量量化的方式,它把向量转换为一个数值,从而可以方便的比较不同向量的大小。

模运算的运算符号是两个竖线:(||x||),运算规则相当于是先计算向量与自己的内积,然后开平方。

2. 矩阵

2.1 定义

矩阵可以看作是相同长度的行向量或者列向量的集合。
它类似编程语言中的二维数组
矩阵的结构如下,其中的数据按照矩形阵列的结构排列,这也是矩阵这个名称的由来。
这是一个 (3 \times 4) 的矩阵,也就是3行4列的矩阵。
注意,矩阵的行列数量不一定要一样,当行列数量一样时,矩阵也被称为方阵
和向量类似,矩阵也可以转置,矩阵的转置也是行列互换:

2.2 加和减

向量类似,矩阵的加减法也是对应位置的元素进行加减运算,这就要求参与加减运算的两个矩阵必须有相同的行数量和列数量。

矩阵减法运算类似。
行或列数量不一样的矩阵是无法进行加减运算的。

2.3 积运算

矩阵的积运算也分为标量积内积
标量积的计算与向量类似,矩阵的每个元素都乘以标量。

内积运算略微复杂一些,对参与运算的矩阵也有要求,需要第一个矩阵的列数量等于第二个矩阵的行数量
即:矩阵(A)和(B)能够进行内积运算的话,(A)和(B)分别为(M\times N)和(N\times K)的矩阵,它们的内积是一个(M\times K)矩阵。比如:

2.4 单位矩阵和逆矩阵

矩阵中有一种极其重要的特殊矩阵,被称为单位矩阵
单位矩阵首先是一个方阵,并且除了对角线上的元素为 1 之外,其他元素都是 0。比如:
单位矩阵虽然简单,作用却不小,在矩阵分解和做高斯消元等运算时有重要的作用。
如果对于矩阵(A),存在一个矩阵(B),使得(AB=I),其中(I)是单位矩阵。
那么,(B)就是(A)的逆矩阵,同时(A)也是(B)的逆矩阵,(B)一般表示为(A^{-1})。
也就是:(AA^{-1}=A^{-1}A=I)

3. 总结

向量矩阵是机器学习中使用最多的两种结构,比如:

  • 线性回归模型:(f(x) = w_0+w_1x_1+w_2x_2+...+w_nx_n=w^Tx)
  • 聚类函数欧氏距离:(d(X_i, C_j) = ||X_i - C_j||^2)
  • 数据正则化时的L2范数:(\parallel x \parallel_2=\sqrt{\sum_{i=1}^m \mid x_{i}^2\mid})
  • 等等... ...
    仔细观察机器学习模型中涉及的各种公式,大部分都是一些向量矩阵的运算,包括加减,标量积和内积等等。
    之所以觉得困难,是因为平时生活中用的计算几乎都是标量运算,对于向量矩阵的运算不熟悉,再加上对各种数学符号不熟悉,混在一起的时候就觉得像天书一样。
    其实,向量可以当成是一种特殊的矩阵,我们可以把行向量看成是(1\times N)的矩阵;把列向量看成是(N\times 1)的矩阵。
    最后,给大家留下一个小小的问题,向量和矩阵的运算有加减法和乘法的运算,却没有除法相关运算,为什么?
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号