深度学习数学基础之线性代数

深度学习中的基本数据结构,基本上都是用向量或矩阵表示的,因此:

深度学习的基础学科之一:就是线性代数。

深度学习中的线性代数知识主要包括以下部分:

1、标量、向量、矩阵和张量:

           这4个变量很好理解: 分别表示 一个数、 一维空间(一条线)、 二维(一个平面)、多于二维(立体或超立体等);

2、矩阵的乘法和内积

          这个在深度学习的基础, 必须了解矩阵的乘法和矩阵的内积。

          公式就不列举了, 很简单。

          注意一点, 内积也叫点积, 对应元素相乘求和。  这个在 SVM(支持向量机)有特殊重要性, 还牵扯到核函数, 感兴趣的可自行科普, 或关注我的另一篇SVM的文章。

3、转置、逆矩阵、线性相关等了解即可;

4、范数:

       这个在深度学习中 至关重要:

     范数的根本作用:  衡量一个向量的大小;

      范数的几种不同表示: 

              最常用的是l2范数,即: 欧几里得范数, 表示从原点出发到向量x确定点的欧几里得距离,  就是你最熟悉的各元素 平方和 取根号;

               l1范数:  向量中每个点的绝对值之和。它有一个很重要的性质: 在各个位置(包括零点)的斜率相同。

               l0范数: 向量中非零元素的个数;

               还有个不常用的无穷范数。

        注重注意一点:

                范数就是表示向量的大小, 深度学习中最常用的就是l2范数 的平方, 为什么要用l2范数的平方(个元素的平方和),而不用l2范数呢? 个人感觉原因有以下两点

           1) l2范数对某个点xi的导数,不止与xi 有关,而且还有整个向量有关; 而l2范数的平方  对xi的导数, 则只与xi本身有关;

           2) l2范数的平方 可以方便的通过点积xT ×x (x的转置与x的内积)来表示;

               因此l2范数广泛用于,比如 正则化(防止过拟合)等;

           但l2范数的平方有一个缺点: 那就是在0附近, 他的增速非常缓慢(小数的平方 变得更小了),  但在机器学子中, 区分非零元素和零元素有很重要。 因此才有了l1范数的发挥余地, l1范数 通常用于 稀疏 算法。

5、 特征分解:

    类似与一个数 24=2*3*4 , 将一个24分解维三个数的乘积。

        一个矩阵可以分解成三个矩阵的乘积:

        1) 特征值分解:

                         A=Q×B×Qt

                Q是有A的特征向量组成的正交矩阵; B是A的特征值组成的对角矩阵; Qt表示Q的转置(单位正交矩阵 的转置和 逆  是相同的)

                 具体细节可自行取查阅, 

                含义就是: 一个矩阵A 可以分解成有特征值和特征向量组成的三个矩阵的乘积。

               但这有一个条件, 那就是A是实对称矩阵。 因此这也大大限制了它的应用。

      2)奇异值分解:

                  A=U×D×Vt

               U和V向量分别是 被称为 左奇异向量和右奇异向量, D为A的奇异值, 它其实是At×A的特征值的平方根。

              具体细节自行科普;

               对于任何矩阵,都可以奇异值分解, 它在PCA算法 降维中广泛应用。

               目前matlab或者opencv中都有 直接的函数调用, 可以讲一个矩阵 奇异值分解。

6、 迹运算 了解即可

            迹: 对角元素之和。


个人感觉比较重要的三部分是:  矩阵的运算, 范数和 矩阵分解。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值