Deep Learning(Ian Goodfellow) — Chapter2 Linear Algebra
线性代数是机器学习的数学基础之一,这里总结一下深度学习花书线性代数一章中机器学习主要用到的知识,并不囊括所有线性代数知识。
2.1 基础概念
- Scalars: 一个数;
- Vctors: 一列数;
- Matrices: 二位数组的数,每个元素由两个下标确定;
- Tensors: 多维数组的数。
2.2 矩阵计算
转置(transpose):(AT)i,j=Aj,i
矩阵乘法: C=AB,
元素乘法(element product; Hardamard product):A⨀B
点乘(dot product): 向量x,y的点乘: 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的更多相关文章
- Deep Learning(Ian Goodfellow) — Chapter1 Introduction
Deep Learning是大神Ian GoodFellow, Yoshua Bengio 和 Aaron Courville合著的深度学习的武功秘籍,涵盖深度学习各个领域,从基础到前沿研究.因为封面 ...
- Deep Learning(深度学习)相关网站
Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...
- Deep Learning(深度学习)网络资源
Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(四)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- Unity字体文件放Resources和打成ab对比
情况一:公共字体打成ab的时候,加载A界面的时候加载了font的ab,卸载A和font的ab后,接着加载B界面,加载了font的ab,卸载B和font的ab,这时候字体对应的asset会在内存里有两份 ...
- Spring Boot在aop中获取request对象
doBefore(){ ServetRequestAttrbtes attributes = (ServetRequestAttrbtes)RequestContextHolder.getHttpat ...
- HDFS权限
1.1 超级用户 启动namenode服务的用户就是超级用户, 该用户的组是supergroup 1.2 文件权限管理 1.2.1 创建时的owner和group 文件或者目录被创建之时,服从BS ...
- 001-Eclipse、idea集成javap查看字节码、javap说明
一.概述 分析java语言特性的一个好帮手是使用javap工具查看java编译后的字节码,如何在eclipse中配置javap工具快速查看java字节码. 二.Eclipse集成javap查看字节码 ...
- spring中配置缓存—ehcache
常用的缓存工具有ehcache.memcache和redis,这里介绍spring中ehcache的配置. 1.在pom添加依赖: <!-- ehcache 相关依赖 --> <de ...
- 4.1 使用STM32控制MC20拨打电话
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- javascript高级语法
一.JavaScript对象 1.js对象简介 1.1 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,在JavaScrip ...
- Mac 远程连接 Windows 系统无法全屏
远程连接之后,Mac 工具栏中 配置 RDC 下 “首选项”. “显示” ----远程桌面大小:全屏 ----打开远程桌面窗口:第二显示器(我用的是双显示器,根据实际情况设定显示器) 配置完成后,点击 ...
- Python基础(15)_python模块、包
一.模块 1.什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀 模块的本质:模块的本质是一个py文件 2.模块分为三类:1)内置模块:2)第三方模块: ...
- MySql安装成功后命令行进行必要的配置
1.1 首次用命令行登录 用zip方式安装成功mysql,并通过net start mysql 命令正常启动mysql服务后,打开dos命令行窗口,输入“mysql -uroot -p”或“mysql ...