《深度学习》/《Deep Learning》——深度学习圣经的读书笔记

学习方法

  1. 对着书看一遍,把理解的内容写成笔记
  2. 看完一章后,看着笔记和书,把内容复习一下,把需要画线的地方画好并理解
  3. 逐层深入:这本书讲解基础概念讲得不生动,但是高层次上有很多不错的高瞻远瞩的见解,所以先看网文理解到基本的网络(如RNN-LSTM),然后看书深化理解

*. Jumping Read :读某一章很痛苦的时候,先读后面一章,然后返回来读

熟悉语音,VAE,tf,python,和深度学习的最佳方法——跟进大佬用tf写的语音转换代码,比如VAE那份,跑起来并改善

证明技法

泰勒级数逼近后,可以带入想要的参数常量P155
做简化,初始化为0,等

证明A方法=B方法:
在写出利用了A/B的代价函数/权重特征值/Hessian,然后联立对比

概论

  • 当有5k样本的时候,就可以达到可接受的性能
  • 当有10M个样本的时候,一般就可以超过人类的表现

矩阵

基础

  • 注意向量的子集的表示方法, x1 表示是 x 中除去 x1 的子集,如果令集合 S={ 1,3,6} ,那么集合 xS 表示除去 x1 x3 x6
  • 转置是沿着对主对角线的翻转,主对角线是左上角开始的

乘法

矩阵乘法不可教(交换)

单位矩阵和逆矩阵

线性方程组可以求解,而这个解要用到矩阵的逆操作

A1A=In

有了这个逆操作很简单就可以求取满秩的线性方程

逆矩阵存在的条件:线性相关

  • X向量的线性组合即生成子空间包含了b,所以要求A的维度大于b的维度,冗余即为线性相关,可以表示为其他向量的特征组合
  • 必须方阵,线性无关的时候称为奇异

线性相关

对一组向量a1,a2,…an,如果有 :

k1a1+k2a2+...=0

则这组向量是线性相关的

对于任意的b使得

Ax=b

成立,那么当b的维度为m时,A需要恰好m个相互线性无关的列向量(当大于m个的时候,肯定会有一些向量没办法跟其他的保持线性无关,就会变成不止一个b)

逆矩阵有左乘和右乘,分别是:

A1A=I


AA1=I

对于方阵有左乘等价于右乘

秩 Rank

如果上面n个向量能选出最多的r个使得构成线性无关的子集,并且任意加一个都会变成线性相关的,那么r就是矩阵的秩

这个向量组称为最大线性无关向量组

衡量向量的大小:范数(norm)

几何角度来看,x的范数,就是原点O到点x的距离
最常用的是p范数:

||x||p=(|xi|p)1p

单位范数即满足
||x||p=1

的点在平面上组成的线

  • 0范数:衡量x中0的数量(不用上式定义)
  • 1范数:令p=1,得元素绝对值之和,单位范数是方形
  • 2范数:p=2,欧几里得范数,大小表示原点到当前点的距离

不同p值的单位范数:
image

矩阵的范数:

  • 1-范数:

    ||A||1=maxji=1m|ai,j|

    列和范数,即所有矩阵列向量绝对值之和的最大值

  • 2-范数:

    ||A||2=λ1

    lambda为A^TA的最大特征值
    谱范数,即A’A矩阵的最大特征值的开平方

  • ∞-范数:

    ||A||=maxij=1N|ai,j|

    行和范数,即所有矩阵行向量绝对值之和的最大值

  • F-范数:

    ||A||F=i=1mj=1n|ai,j|212

    Frobenius范数,即矩阵元素绝对值的平方和再开平方,类似于向量的L2范数,很多深度学习被归结于F范数的最优化问题,比如PCA和Autoencoder

  • 核范数:

    ||A||=i=1nλi

    其中 λi 是A的奇异值。
    即奇异值之和。

特殊的矩阵:

  • 对角只在主对角线上含有非零元素
    • 进行乘法的时候只需要把非零元素跟对应行相乘即可
    • 机器学习中,如果把一些矩阵限定为对角阵,可以降低计算代价
    • 对于非方形的矩阵,要变成对角阵,需要在缩放后在后面补零或者删除一些部分
      A=AT
  • 对称表示对称元素相等。如,距离度量矩阵
    Ai,j=Aj,i
  • 正交矩阵求逆代价小,是行向量和列向量分别标准正交*
    ATA=AAT=I


    A1=AT

*标准正交:两个向量都是单位向量(范数=1的向量),而且正交(夹角为90°)

  • 所有特征>0称为正定,非负的半正定

方阵的特征值分解

就像把一个数变成不同的素数的乘积一样,矩阵也可以分解成不同的组成成分:
例如,可以把矩阵A中提取出特征向量v和特征值λ:(没有分解它)

Av=λv

则实数λ称为A的特征值,v称为特征向量
- 此时,v与Av共线,λ指出了v跟Av的方向和长度关系
- 因此v可以直接取单位向量。

要还原A,就需要借助A的全部单位特征向量v和全部特征值λ,把A的所有的线性无关是单位特征v组合在一起形成特征矩阵:

V={ v(1),...,v(n)}

又把所有的特征值λ组成向量:
λ=[λ1,...,λn]T

然后就会有:
A=Vdiag(λ)V1

于是完成了方阵的特征值分解

任意矩阵的特征值分解

对于不是方阵的任意矩阵,也照样可以进行分解。其中,实对称矩阵是一定能分解成实特征向量和实特征值的:

A=QΛQT

其中,Q是A的特征向量组成的正交矩阵, Λ 是特征值组成的对角阵。
Q是特征向量的组合,表示了组成原来的向量A的基向量的组织方式, Λ 是这些基向量各自向自己的方向延伸多少倍就可以还原A
因为这样的组织不唯一,为了唯一,一般把 Λ 降序排列。
由这样的分解可以看出矩阵有的许多性质:
- 奇异:奇异矩阵一定要有0特征值
- 正定:所有特征>0,其保证了如果 xTAx=0 ,那么 x=0
- 半正定:所有特征≥0,其保证了 xTAx0

奇异值分解SVD

还有一种分解矩阵的方式,就是分解成奇异向量和奇异值,这样的分解不单止可以让每一个实数矩阵可以进行分解,而且,用处更多.

分解成三个矩阵的乘积:

A=UDVT

分解成三个矩阵的乘积,分别是:U左奇异向量,D奇异值的对角阵,V右奇异向量。

  • 这样分解可以拓展矩阵求逆到非方矩阵上,其中,D矩阵也不一定是方阵。
  • 经常不用很多特征值就可以表达全部信息,可以用前r大的来表示。
  • 因为其求取AAT和ATA获得,这些都是对称矩阵所以一定有奇异值

没办法计算逆的时候,可以求伪逆

逆经常用来求取线性方程的解,但是对于非满秩的矩阵却没法求取逆,所以可以求取Moore-Penrose伪逆,A的伪逆用 A+ 表示。

如果用伪逆得到了一个解 x=A+y ,那么这个解的L2范数会是所有可行解中最小的一个(也就是说,跟真正正解的欧几里得距离最小的那一个)

trace迹:对角元素的和

用来表达一些矩阵运算,例如,它表达了计算F-范数的一种方式。
- 转置不变
- 服从“交换率”

Tr(AB)=Tr(BA)

- trace跟F范数和奇异值有紧密的联系

行列式

  • det(A)
  • 把一个方阵转换到实数,等于特征的乘积
  • 用来衡量矩阵经过乘法后比原来扩大还是缩小了多少

利用线性代数的样例——PCA

  1. 将样本均值变为0
  2. 将样本方差变为1【这两步使得样本趋向于满足2范数=1,向量的大小并不是那么重要,可以缩放,但是变成单位矩阵才能为计算提供更多信息】
  3. 计算协方差矩阵XXT
  4. 对上面进行特征分解
  5. 求前k大的特征值

  6. 假设用矩阵D作为解码器

  7. 假设有最优编码c*,令编码后的c跟c*的 L2 范数距离最小,得到形式也很简单的编码函数:
    f(x)=DTx

    以及重构后的x的表达式:
    r(x)=DDTx
  8. 进一步地,令编解码后的 r(x) 跟x的F-范数距离最小
  9. 令问题简单化,使用一维向量d表示D
  10. 解得最优d为最大的特征值对应的特征向量(第一列特征向量)
  11. 后面特征向量以此类推

概率论

基本定义

  • 概率质量函数PMF:
    P(
  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值