线性代数是机器学习的数学基础之一,这里总结一下深度学习花书线性代数一章中机器学习主要用到的知识,并不囊括所有线性代数知识。

2.1 基础概念

  • Scalars: 一个数;
  • Vctors: 一列数;
  • Matrices: 二位数组的数,每个元素由两个下标确定;
  • Tensors: 多维数组的数。

2.2  矩阵计算

转置(transpose):(AT)i,j=Aj,i

矩阵乘法: C=AB,

元素乘法(element product; Hardamard product):A⨀B

点乘(dot product): 向量xy的点乘: xTy

单位矩阵(identic matrix): In, 斜对角的元素值是1,其他地方都是0

逆矩阵(inverse matrix):

    

2.3  线性相关和生成子空间

线性组合(linear combination)

  • 将矩阵A看作是不同的列向量的组合[d1,d2,...,dn],每个列向量代表一个方向,x可以代表在每个方向上移动的距离,那么Ax=b可以理解成原点如何在AA指定的各个方向上移动,最后到达b点。
  • Ax即为线性组合,组合的对象是各个列向量,方式是x的元素。

生成空间(span):对所有的x,生成的点Ax的集合,即为A的生成空间。如果一组向量中的任意一个向量都不能表示成其他向量的线性组合,那么这组向量称为线性无关(linearly independent)。如果某个向量是一组向量中某些向量的线性组合,那么我们将这个向量加入这组向量后不会增加这组向量的生成子空间。这意味着,如果一个矩阵的列空间涵盖整个Rm ,那么该矩阵必须包含至少一组m 个线性无关的向量。

2.4  范数

范数(Norm)

2.5  矩阵和向量

对角阵(diagnal matrix):除了对角线上的元素不为0,其他元素都为0。可以表示为diag(v)。

对称阵(symmetric matrix):A=AT

单位向量(unit vector)

正交(orthogonal)

2.6  特征分解

特征分解

  我们可以想象矩阵A实际上是将空间在其本征向量的方向上各自拉伸了对应的本征值的尺度。

2.7  奇异值分解(singular value decomposition)

  SVD全称是Single Value Decomposition奇异值分解。和特征分解类似,它也是将矩阵分解为更基本的组合乘积,而且SVD更具有普适性,对于矩阵本身的要求很少,基本上所有实数矩阵都可以做SVD分解,而特征分解对于非对称矩阵是无能为力的。

  

  这些矩阵中的每一个经定义后都拥有特殊的结构。矩阵U 和V 都定义为正交矩阵,而矩阵D 定义为对角矩阵。注意,矩阵D 不一定是方阵。对角矩阵D 对角线上的元素被称为矩阵A 的奇异值(singular value)。矩阵U 的列向量被称为左奇异向量(left singular vector),矩阵V 的列向量被称右奇异向量(right singular vector)。事实上,我们可以用与A 相关的特征分解去解释A 的奇异值分解。A 的左奇异向量(left singular vector)是AA⊤ 的特征向量。A 的右奇异向量(right singular vector)是A⊤ A 的特征向量。A 的非零奇异值是A⊤ A 特征值的平方根,同时也是AA⊤ 特征值的平方根。

2.8   迹运算

行列式(Determinant)

  • det(A),是一个将一个matrix映射到一个实数的function。
  • 行列式的值等于矩阵的所有特征值的乘积。
  • 行列式,记作det(A),是一个将方阵A 映射到实数的函数。行列式等于矩阵特征值的乘积。行列式的绝对值可以用来衡量矩阵参与矩阵乘法后空间扩大或者缩小了多少。如果行列式是0,那么空间至少沿着某一维完全收缩了,使其失去了所有的体积。如果行列式是1,那么这个转换保持空间体积不变。

  本章还有一个主成分析(PCA)的例子,准备之后讲经典机器学习无监督算法的时候再一并总结,放到第五章比较合适。

参考文献:

https://zhuanlan.zhihu.com/p/38431213

http://www.deeplearningbook.org/

https://applenob.github.io/deep_learning_1.html

Deep Learning(Ian Goodfellow) — Chapter2 Linear Algebra的更多相关文章

  1. Deep Learning(Ian Goodfellow) — Chapter1 Introduction

    Deep Learning是大神Ian GoodFellow, Yoshua Bengio 和 Aaron Courville合著的深度学习的武功秘籍,涵盖深度学习各个领域,从基础到前沿研究.因为封面 ...

  2. Deep Learning(深度学习)相关网站

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  3. Deep Learning(深度学习)网络资源

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  4. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  5. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. JS获取短信验证码60秒

    <script language="javascript">    function get_mobile_code(){        $.post("{{ ...

  2. KVM WEB管理工具webvirtmgr安装和使用

    生产环境的KVM宿主机越来越多,需要对宿主机的状态进行调控.这里用webvirtmgr进行管理.图形化的WEB,让人能更方便的查看kvm 宿主机的情况和操作 1 安装支持的软件源 yum -y ins ...

  3. 六百字读懂 Git(转)

    add by zhj:还是原文 六百字读懂 Git 看着更舒服一些,显示更好 原文:六百字读懂 Git 英文原文:Git in 600 words 译注:来自 Hacker School 的 Mary ...

  4. 算法训练 s01串

    问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据规模和约定 0~ ...

  5. Linux中的环境变量配置文件及其作用

    登录相关的配置文件: /etc/profile 范围:对所有用户生效 作用: a.定义USER变量 b.定义LOGNAME变量 c.定义MAIL变量 d.定义PATH变量 e.定义HOSTNAME变量 ...

  6. swift笔记——环境搭建及Hello,Swift!

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/enson16855/article/details/29829601 首先要下载XCode6,仅仅有 ...

  7. mysql数据库补充知识1 安装数据库破解数据库密码已经创建用户

    一.安装MYSQL数据库 1.yum安装 #二进制rpm包安装 yum -y install mysql-server mysql 2.源码安装   1.解压tar包 cd /software tar ...

  8. Meta 数据中文显示

      class Meta:verbose_name='待办事项'verbose_name_plural = verbose_name这是什么意思? verbose_name指定在admin管理界面中显 ...

  9. LeetCode:路径总和【112】

    LeetCode:路径总和[112] 题目描述 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和. 说明: 叶子节点是指没有子节点的节点. 示例 ...

  10. Linux文件系统管理 fdisk分区命令

    概述 我们在安装操作系统的过程中已经对系统硬盘进行了分区,但是如果我新添加了一块硬盘,想要正常使用时,在Linux中有专门的分区命令 fdisk 和 parted.其中 fdisk 命令较为常用,但不 ...