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

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. 一个jsp页面引入另一个jsp页面的三种方式 及静态引入和动态引入的区别

    转载下, 转载自:http://blog.csdn.net/fn_2015/article/details/70311495 1.第一种:jstl  import <c:import url=& ...

  2. VMware虚拟机不能联网的解决办法

    Linux安装的centos系统,不能正常连接网络 1.编辑config文件 [root@localhost ~]# cd /etc/selinux [root@localhost selinux]# ...

  3. vue增删改查

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. [二次开发]dede文章页面怎样显示作者的头像

    dede在文章页面显示作者仅仅是显示其username,可是假如我想把dede改造成较为社交化的站点.我认为是有必要显示作者的头像的,可是官方并没有相应的模版标签. 在网上看到解决问题的办法基本上是直 ...

  5. Android学习资源网站大全

    https://github.com/zhujun2730/Android-Learning-Resources 整理了一些 Android 的博客链接.学习资源网站.站在巨人的肩膀上,会看得更远.整 ...

  6. ssh 的用法

    一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会 ...

  7. iOS警告框和操作表

    应用如何与用户交流呢? 警告框(AlertView)和操作表(ActionSheet)就是为此而设计的. 本文案例的原型草图如图3-48所示,其中有两个按钮“Test警告框”和“Test操作表”,点击 ...

  8. Python与硬件学习笔记:蜂鸣器(转)

    相信大家对蜂鸣器都不会陌生,很多产品和方案中都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下.开始工作.工作结束或是故障等等.这里对单片机在蜂鸣器驱动上的应用作一下描述. 蜂鸣器的介绍 ...

  9. 【Tech】CAS多机部署Server和Java Client端

    昨天尝试把cas的java client端部署到另外一台机器,结果就有问题了.(localhost部署cas server和java client端参见:http://www.cnblogs.com/ ...

  10. id和NSObject *和instanceType的区别与联系

    id 被成为万能指针,也就是可以指向任何对象. NSObject * 本身就是定义指向NSObject类型的指针. 那么这两者有什么区别吗? 这两者都是既可以作为返回值,又可以作为变量修饰.而其主要区 ...