线性分组码的最小汉明距为6_第二章 线性代数
2.1 标量、向量、矩阵和张量
一个标量就是一个单独的数,用斜体表示标量。
一个向量是一列有序排列的数,用粗写的小写字母表示。
矩阵式一个二维数组,其中的么一个元素由两个索引(而非一个)所确定,用粗体的大写字母表示。特别地, ![]()
表示
![]()
中垂直坐标
![]()
上的一横排元素,即
![]()
的第
![]()
行;
![]()
表示
![]()
的第
![]()
列。
转置(transpose)
矩阵的转置是以主对角线为轴的镜像。广播(broadcasting)![]()
,其中
![]()
,即向量b和矩阵的每一行相加,这种操作称为广播。
一般地,一个数组中的元素分布在若干维坐标的规则网格中,称之为张量。使用A表示张量。
2.2 矩阵和向量相乘
![]()
,定义为
注意
(1) 两个矩阵的标准乘积不是指两个矩阵中对应元素的乘积;
(2) 两个向量的点积 ![]()
可以看作矩阵的乘积
![]()
;
(3) 两个向量的点积满足交换律:![]()
;
(4) 分配律:![]()
;
(5) 结合律:![]()
;
(6) ![]()
;
(7) ![]()
不常有。
元素对应乘积(element-wise product)或者Hadamard乘积(Hadamard product)。
2.3 单位矩阵和逆矩阵
任意向量和单位矩阵相乘都不会改变。
![]()
的逆矩阵记为
![]()
,
![]()
。
注意:
只有方阵才具有逆矩阵,否则叫伪逆。
2.4 线性相关和生成子空间
理解 ![]()
。
如果 ![]()
存在,则对于每一个向量
![]()
恰好存在一个解。但对于方程组而言,对于
![]()
的某些值,可能不存在解,也可能存在无限多个解,若
![]()
和
![]()
都是某方程组的解,则
![]()
也是该方程组的解(
![]()
为任意实数)。
为了分析方程有多少个解,可以将 ![]()
的列向量看作从
原点(origin)(元素都是零的向量)出发的不同方向,确定有多少种方法能够到达向量 ![]()
。在这一观点下,向量
![]()
中的每一个元素表示我们应该沿着这些方向走多远,即
![]()
表示我们需要沿着第
![]()
个向量的方向走多远:
一组向量的线性组合,是指每个向量乘以对应标量系数之后的和,即:
确定 ![]()
是否有解,相当于确定向量
![]()
是否在
![]()
列向量的生成子空间中,这个特殊的子空间被称为
![]()
的
列空间(column space)或者 ![]()
的
值域(range)。
如果一组向量中的任意一个向量能表示成其他向量的线性组合,则这组向量称为线性相关(linear dependence),反之称为线性无关(linear dependence)。
列向量线性相关的矩阵称为奇异矩阵,否则称为非奇异矩阵。
2.5 范数
![]()
,其中
![]()
,
![]()
。
- 欧几里德范数和
范数
欧几里德范数:用于衡量向量的大小;![]()
范数:当机器学习中零和非零元素之间的差异非常重要时,通常会使用
![]()
范数。每当
![]()
中某个元素从0增加
![]()
,对应的
![]()
范数也会增加
![]()
。
- Frobenius范数(Frobenius norm)
2.6 特殊类型的矩阵和向量
并非所有的对角矩阵都为方阵,长方形的矩阵也可能是对角阵,非方阵的对角矩阵没有逆矩阵。对于长方形对角阵 ![]()
而言,乘法
![]()
涉及
![]()
中每个元素的缩放,若
![]()
为瘦长形矩阵,那么缩放后的末尾加一些零,若
![]()
为胖宽形矩阵,那么在缩放后去掉最后一些元素。
单位向量是具有单位范数的向量,即 ![]()
。
标准正交: ![]()
,且
![]()
。
![]()
,即
![]()
。
2.7 特征分解(eigendecomposition)
与整数的分解进行对比,整数分解是为了找整数内在的性质。可通过分解矩阵发现矩阵表示成数组元素时不明显的函数性质。 ![]()
,其中
![]()
是
![]()
的特征向量组成的正交矩阵,
![]()
是对角矩阵。特征值
![]()
对应的特征向量是矩阵
![]()
的第
![]()
列,记作
![]()
。因为
![]()
是正交矩阵,可以将
![]()
看作沿方向
![]()
延展
![]()
倍的空间。
实对称矩阵的特征值分解可以用于优化二次方程 ![]()
(
![]()
),其中限制
![]()
。当
![]()
等于
![]()
的某个特征向量时,
![]()
将返回对应的特征值。在限制条件下,函数
![]()
的最大值是最大特征值,最小值是最小特征值。
正定: ![]()
;
半正定: ![]()
;
负定: ![]()
;
半负定: ![]()
;
2.8 奇异值分解(SVD)
a、每一个实数矩阵都有一个奇异值分解,但不一定都有特征分解;
b、公式
特征分解:
奇异值分解:
2.9 Moore-Penrose伪逆
![]()
,其中
![]()
为SVD分解,
是对角矩阵
的伪逆,是其非零元素取倒数之后再转置得到。
解的不同情形
a、A的列数多于行数
用伪逆求得的 ![]()
是众多可能解的一种,
![]()
是方程
![]()
的可行解中
![]()
最小的一个。
b、A的行数多于列数
可能没有解。通过伪逆得到的 ![]()
使得
![]()
和
![]()
的欧几里德距离最小(
![]()
最小),这里
![]()
。
2.10 迹运算
![]()
;
![]()
;
![]()
;
标量的迹为本身: ![]()
;
2.11 行列式
行列式等于矩阵特征值的乘积
行列式的绝对值可以用来衡量举证参与矩阵乘法后空间扩大或缩小了多少。
2.12 PCA
设 ![]()
空间中有m个点
![]()
,要压缩这些点,用更少的内存,损失一些精度去存储这些点。并希望损失的精度尽可能少一些,编码这些点是用低维表示,对于每个点
![]()
,会有一个对应的编码向量,
![]()
,
![]()
则可以用更少的内存存储原数据。
目的:找到编码函数,根输入返回编码 ![]()
,找到编码函数,给定编码重构输入
![]()
。为简化编码器,使用矩阵将编码映射会
![]()
,即:
![]()
,其中
![]()
是解码矩阵,且
![]()
中所有列向量都有单位范数,即
![]()
,且正交。
首先需要明确如何根据每一个输入 ![]()
得到一个最有编码
![]()
。可以最小化原始输入向量
![]()
和重构向量
![]()
之间的距离。
用 ![]()
范数:
用平方 ![]()
范数代替
![]()
范数:
因 ![]()
,故:
因 ![]()
为标量,故:
因 ![]()
不依赖于
![]()
,问题转化为:
![]()
。
因 ![]()
,则:
因 ![]()
为正交矩阵,且其列向量有单位范数,即
![]()
,则:
即求 ![]()
的最小值
因 ![]()
是非负的且平方在非负值上是单调的,因此可以通过向量微积分求最小值:
即编码函数为:
定义PCA重构操作:
推而广之,需要最小化所有维数和所有点上的误差矩阵的Frobenius范数:
当 ![]()
时,
![]()
为一个单一向量
![]()
,则:
因为 ![]()
为标量,等价于:
将表示个点的向量堆叠成一个矩阵,记为 ![]()
,其中
![]()
。原问题可以重新表述为:
暂不考虑约束问题,可以将Frobenius范数简化成下面的形式:
因为 ![]()
,上式等于:
因为与 ![]()
无关的项不影响argmin,迹中相乘矩阵的顺序不影响结果,上式等价于:
此时,再来考虑约束条件:
因为约束条件,上式等价于:
这个优化问题可以通过特征分解来求解,最优的 ![]()
是
![]()
最大特征值对应的特征向量。
以上 ![]()
的情况,得到了第一个主成。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535089.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!