花书《深度学习》《Deep Learning》学习笔记 chapter 2

2.1 标量、向量、矩阵和张量

标量(scalar):一个数
向量(vector):一列数
矩阵(matrix):二维数组
张量(tensor):多维数组(n>=3)
转置(transpose):矩阵的转置是以对角线为轴的镜像,标量的转置等于它本身。
广播(broadcasting):

向量 b 和矩阵 A 的每一行相加 。这种隐式地复制向量 b 到很多位置的方式,被称为广播。

import numpy as np

###1###
a = np.array([0, 1, 2])
b = np.array([5, 5, 5])
a + b #---> [5,6,7],这个容易理解
###2###
a + 5 #--> [5,6,7],5被转化为[5,5,5](其实这种复制并没有发生,为了便于理解)
###3###
M = np.ones((3, 3))
"""
M
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
"""
M+a #-->a broadcast到第2,3行,与M的shape匹配
###4###
a = np.arange(3) #shape:(3,)
b = np.arange(3)[:, np.newaxis] #shape:(3, 1)

print(a)
print(b)
"""
[0 1 2]
[[0]
 [1]
 [2]]
"""
a+b #a broadcast到第2,3行,b broadcast到第2,3列,相加得到
"""
array([[0, 1, 2],
       [1, 2, 3],
       [2, 3, 4]]),shape:(3,3)
"""

broadcasting rules:
1.两个数组维数不同,则维数较小的数组的shape将在其前侧或左侧进行填充
2.两个数组的shape不匹配但有维度等于1,则维度中形状等于1的数组将被拉伸进行匹配。
3.两个数组的shape不匹配且不存在维度为1,则报错

###1###
M = np.ones((2, 3)) 
a = np.arange(3) 
M+a
# M.shape = (2, 3)
# a.shape = (3,)--rule 1--> (1,3) --rule 2--> (2,3)
###2###
a = np.arange(3).reshape((3, 1))
b = np.arange(3)
a+b
# a.shape = (3, 1)              --rule 2-->(3,3)
# b.shape = (3,)--rule 1-->(1,3)--rule 2-->(3,3)
###3###
M = np.ones((3, 2))
a = np.arange(3)
M + a
"""ValueError: operands could not be broadcast together with shapes (3,2) (3,) """
# M.shape = (3, 2)
# a.shape = (3,)--rule 1-->(1,3)--rule 2-->(3,3)
"""如果希望数组a的shape是在其他位置进行填充,则可使用np.newaxis"""
M + a[:, np.newaxis]

2.2 矩阵和向量相乘

点积(dot product):C = AB.
Hadamard 乘积(Hadamard product):C = A ⊙ B

2.3 单位矩阵和逆矩阵

单位矩阵(identity matrix):所有沿主对角线的元素都是 1,而所有其他位置的元素都是 0。
逆矩阵(matrix inversion):A的矩阵逆记作:


满足:

2.4 线性相关和生成子空间

列空间(column space):由A的各列张成的Rm的子空间称为A的列空间
线性相关(linear dependence):某个向量是一组向量中某些向量的线性组合
线性无关(linearly independent):一组向量中的任意一个向量都不能表示成其他向量的线性组合
方阵(square):m = n,并且所有列向量都是线性无关的。
一个列向量线性相关的方阵被称为奇异的(singular)

2.5 范数

Lp 范数定义如下:


范数是满足下列性质的任意函数:
• f(x)=0⇒x=0
• f (x + y) ≤ f (x) + f (y) ( 三角不等式(triangle inequality))
• ∀α ∈ R, f(αx) = |α|f(x)

当 p = 2 时,L2 范数被称为 欧几里得范数(Euclidean norm),也可记做||x||。它表示从原点 出发到向量 x 确定的点的欧几里得距离。
L1范数:

L0范数:非零元素的个数。但是这个术语在数学意义上是不对的,向量的非零元素的数目不是范数,因为对向量缩放 α 倍不会改变该向量非零元素的数目
L∞ 范数,也被称为 最大范数(max norm),表示向量中具有最大幅值的元素的绝对值: ||x||∞ =max|xi|.
Frobenius 范数(Frobenius norm):衡量矩阵的大小

L0,L1,L2范数

  • L0的求解是NP-hard问题
  • 机器学习中,使用L0和L1范数可以求得稀疏解(易于特征筛选,模型的可解释性变强),L2范数则会获得稠密解
  • L2范数越小,可以使得w的每个元素都很小,接近于0,但L1范数不同的是他不会让它等于0而是接近于0。w越小,模型越简单,越不容易产生过拟合。
图来源:《Pattern Recognition And Machine Learning 》

2.6 特殊类型的矩阵和向量

对角矩阵(diagonal matrix)只在主对角线上含有非零元素,其他位置都是零。
对称矩阵(symmetric matrix)是转置和自己相等的矩阵
单位向量(unit vector)是具有 单位范数(unit norm)的向量:
如果 x⊤y = 0,那么向量 x 和向量 y 互相正交(orthogonal)
如果这些向量不仅互相正交,并且范数都为 1,那么我们称它们是标准正交(orthonormal)
正交矩阵(orthogonal matrix)是指行向量和列向量是分别标准正交的方阵:

,得到:

2.7 特征分解

特征分解(eigendecomposition):将矩阵分解成一组特征向量和特征值。
方阵 A的特征向量(eigenvector)是指与 A 相乘后相当于对该向量进行缩放 的非零向量 v:Av = λv.标量λ被称为这个特征向量对应的特征值(eigenvalue)。
不是每一个矩阵都可以分解成特征值和特征向量。在某些情况下,特征分解存在,但是会涉及到复数,而非实数。
假设矩阵A有n个线性无关的特征向量 {v(1),...,v(n)},对应着特征值 {λ1,...,λn}。
记V = [v(1), . . . , v(n)]. 类似地,我们也可以将特征值连接成一个向量 λ = [λ1, . . . , λn]⊤。 因此A的特征分解(eigendecomposition)可以记作:

每个实对称矩阵都可以分解成实特征向量和实特征值:


所有特征值都是正数的矩阵被称为正定(positive definite);所有特征值都是非负数的矩阵被称为半正定(positive semidefinite)。同样地,所有特征值都是负数的矩阵被称为负定(negative definite);

特征向量和特征值的作用效果。特征向量和特征值的作用效果的一个实例。在这里,矩阵 A 有两个标准正交的特征向量,对应特征值为 λ1 的 v(1) 以及对应特征值为 λ2 的 v(2)。(左) 我 们画出了所有的单位向量 u ∈ R2 的集合,构成一个单位圆。(右) 我们画出了所有的 Au 点的集 合。通过观察 A 拉伸单位圆的方式,我们可以看到它将 v(i) 方向的空间拉伸了 λi 倍。

2.8 奇异值分解

奇异值分解(singular value decomposition, SVD):


假设 A 是一个 m×n 的矩阵,那么 U 是一个 m×m 的矩阵,D 是一个 m×n 的矩阵,V 是一个 n × n 矩阵。矩阵 U 和 V 都被定义为正 交矩阵,而矩阵 D 被定义为对角矩阵。注意,矩阵 D 不一定是方阵。
SVD 最有用的一个性质可能是拓展矩阵求逆到非方矩阵上。

2.9 Moore-Penrose 伪逆

Moore-Penrose 伪逆(Moore-Penrose pseudoinverse):矩阵 A 的伪逆定义为:


计算伪逆的实际算法没有基于这个定义,而是使用下面的公式:


其中,矩阵 U,D 和 V 是矩阵 A奇异值分解后得到的矩阵。对角矩阵 D 的伪逆
D+ 是其非零元素取倒数之后再转置得到的。

2.10 迹运算

迹运算返回的是矩阵对角元素的和:


Frobenius 范数(Frobenius norm)

2.11 行列式

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

2.12 实例:主成分分析

主成分分析(principal components analysis, PCA)
假设在 Rn 空间中我们有 m 个点 {x(1), . . . , x(m)},我们希望对这些点进行有损压缩。
一种编码这些点的方式是用低维表示。每个点 x(i) ∈ Rn,会有一个对应的编码向量 c(i) ∈ Rl(其中l<n)
给定编码函数f(x),使得f(x) = c;给定解码函数,使得x ≈ g(f(x))。

  • 为了简化解码器,我们使用矩阵乘法将编码映射回 Rn,即 g(c) = Dc,其中 D ∈ Rn×l 是定义解码的矩阵
  • D 的列向量彼此正交(除非 l = n,否则严格意义上 D 不是一个 正交矩阵)

定义目标函数:最小化原始输入向量 x 和重构向量 g(c∗) 之间的距离。我们使用范数来衡量它们之间的距离(L2 范数):

求导得到:

求解编码矩阵D,由于用相同的矩阵 D 对所有点进行解码,即最小化所有x与c之间的误差,需使用Frobenius 范数,得到

当l=1时,此时D为一维列向量,将D简化为d,得到:


得到:

最优的 d 是 X⊤X 最大特征值对应的特征向量。
以上推导特定于 l = 1 的情况,仅得到了第一个主成分。更一般地,当我们希望得到主成分的基时,矩阵 D 由前 l 个最大的特征值对应的特征向量组成。

附1:

矩阵求导:(参考:https://github.com/soloice/Matrix_Derivatives)

  • 变量多次出现的求导法则:若某个变量在函数表达式中多次出现,可以单独计算函数对⾃变量的每一次出现的导数,再把结果加起来。
    f(x)=(2x+1)x+x^2
    => f=(2x_1+1)x_2+x_3^2
    => ∇f=2x_2+2x_1+1+2x_3
    => 6x+1
  • 向量求导的链式法则
  • 实值函数对向量求导

    变量多次出现的求导法则, x_c表示将x的此次出现不视作自变量
    同上
  • 向量量数乘求导公式
  • 矩阵迹求导
    上式证明
  • 矩阵求导的链式法则
    设y=f(U),U=G(x),则:
  • 线性变换的导数

    则:

附2:

推导1:线性方程组Ax=b的最⼩二乘解

使用线性变换的求导公式

推导2:F范数的求导公式推导

推导3:

学习仿射变换

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容