关闭

xialeizhou的博客

1
原创
0
转载
0
译文
0
评论
45
访问

2017七月
17

深度学习基础数学知识整理

线性代数部分

1.1 基础概念

标量(scalar), 向量(vector), 矩阵(matrices), 张量(tensor)

1.2 矩阵相关:

转置(transpose), 矩阵乘法, 单位矩阵, 逆矩阵

1.3 线性相关

线性方程: Xb⃗ =y⃗  ,

线性组合: X 中各个列向量乘以对应的系数之和: ibix(i) ,

生成空间: X中的原始向量线性组合后能抵达的点的集合. 确定上述方程是否有解相当于确定向量y⃗  是否在X 的列向量的生成子空间中.

矩阵X可逆时解为b⃗ =X1y , 然而矩阵可逆是一个十分苛刻的条件, X 的列空间构成整个m维欧式空间Rm, 若Xb⃗ =y⃗ 对于每一个y值最多有一个解, 则X矩阵至多有m个列向量.

因此, 矩阵X只有是方阵且所有列向量都是线性无关的时候才满足要求, 若列向量线性相关, 则成该方阵X是奇异的.

这里引出了线性模型的基本模型: Xb⃗ =y⃗  .

X可逆时 ,我们可以直接对两边求逆, 得到线性模型的唯一解b⃗ =X1y , 然而,样本特征组成的矩阵X往往是不可逆的, 即X往往不是方阵, 或者是奇异的矩阵.

正因为在现实世界里, 直接对矩阵求逆来得到唯一解 b⃗  几乎是不可能的, 所以我们才会退而求其次, 用最小化误差来逼近唯一解, 这叫做松弛求解.

求最小化误差的一般方法是求残差的平方和最小化, 这也就是所谓的线性最小二乘法.

1.4 范数(norm)

在机器学习中, 通常用范数来衡量一个矩阵的大小, L^p范数公式: ||x||=(i|xi|p)1p

范数是将向量映射到非负值的函数, 简单来讲, 向量x⃗ 的范数是原点到x⃗ 的距离. 这里之所以介绍范数, 是因为它涉及到机器学习中非常重要的正则化技术.

p = 2时, L^2称为欧几里得范数(Euclidean norm), 表示原点到向量x⃗ 的欧氏距离, L^2范数通常简写为||x|| , 它非常频繁地出现在机器学习中. 此外, 平方L^2 范数(||x||)2也经常用来衡量向量的大小, 可以简单地用(x⃗ )x⃗ 计算.

L^2范数: ||x||=(i|xi|2)12, 平方L^2范数:||x||=i|xi|2

平方L^2 范数对x⃗ 各元素导数只和对应元素相关, 而L^2范数对个元素的导数和整个向量相关, 因此平方L^2 范数计算更方便.

有时候平方L^2范数在原点附近增长缓慢, 在某些机器学习业务场景下, 区分元素值是否非零很重要, 此时更倾向于使用L^1范数:||x||1=i|xi|, L1范数在各个位置斜率相同, 且数学形式较简单, 每当x⃗ 中某元素从0增加了ϵ 时, 对应L1范数增加ϵ.

在机器学习中, L2L1范数分别对应L2L1正则化, 详情参考线性模型中的岭回归(Ridge Regression)和套索回归(Lasso).

1.5 伪逆(Moore-Penrose)

非方阵方程,其逆矩阵没有意义. 假设要求解线性方程 A⃗ x=y⃗ , 等式两边左乘左逆B⃗ 后: x=B⃗ y.
是否存在唯一映射, 将A⃗ 映射到B⃗ 取决于问题形式: 1. 若矩阵A行数大于列数, 则无解; 2. 若矩阵A行数小于列数, 则有多个解.
伪逆可以解决上述问题, 矩阵A的伪逆定义为: lima0(ATA⃗ +αI⃗ )1AT, 违逆计算的简化公式为: A+=V⃗ D+UT, 其中,
矩阵U, D, V是矩阵A的奇异值分解后的矩阵, 对角矩阵D的伪逆D+是非零元素取倒数后再转置得到的.

  1. 矩阵A的列数多于行数时, 可能有多个解. 伪逆求解线性方程是众多解法中的一种, 即: x⃗ =A+y⃗ 是所有可行解中欧几里得距离最小的一个
  2. 矩阵A列数小于行数是, 可能没有解. 伪逆求解得到的x是A⃗ xy⃗ 欧几里得距离||A⃗ xy⃗ ||22最小的解.

这里又回到了求解线性问题的一般思路上: 线性最小二乘法

img

xialeizhou

等级:

排名:千里之外

博客专栏
文章分类
文章存档
阅读排行
评论排行
推荐文章
img