最近看KDD,NIPS很兴奋,可是一些基础notations来说wiki来回很费时间,遂稍作总结(refers to Bengio–Deep Learning-chapter2)
vectors(lowercase)
如果n维向量的每个元素属于
ℝ
,此向量为
ℝ
的n阶笛卡尔乘积,表示为
ℝn
x_{-1}表示向量x除去第一个元素的结果
x_{-S}表示向量x除去S集合中所有元素的结果
matrices(uppercase)
实矩阵表示方法: A∈ℝm×n
转置(transpose),斜对角线翻转,表述为
A⊤
论文里常用
x=[x1,x2,x3]⊤
表示列向量
multiply
1.矩阵乘积 C=AB
2.element-wise product/Hadamard product 表示为
A⨀B
3.dot product 表示为
a⊤b
,结果为scalar,显然具有commutative性质
4.
A⊤B⊤=(BA)⊤
只谈论文常规表述,性质不细谈的说
5.一个基础notation,
Ax=b
,称作Matrix-vector product
6.Inversion
A−1A=In
当A存在inversion时,可以利用这个条件近似很多问题,但实操很少用,因为精度有限(在解决问题5时),未满秩序时不止一个solution
order
- linear dependence 该向量不可被其他行向量线性表达
- 对于问题5有界的第二个sufficient condition是,A的linear dependence需要大于len(b)
3.singular–奇异矩阵 为了使问题5有唯一解,使 A∈ℝm×n 的m=n,st.(每一阶linear dependence)。满足此二条约束的矩阵为奇异矩阵.满足奇异矩阵,可用inversion解问题5
norms
null
Lpnorms
papers常用norms细致描述dot product以突出距离关系,比如:
x⊤y=||x||2||y||2cosθ
others
1.Diagonal matrices(对角矩阵),identity matrix是diagonal的,呵呵
2.
diag(v)
表示把v向量用Diagonal形式
3.对角矩阵是深度学习一个trick,因为计算方便,比如
v⨀x=diag(v)x
,包括inverting等操作,对计算开销都是less expensive的
4.symmetric matrix 满足
A=A⊤
5.unit vector(单位向量),满足单位范式
||x||2=1
6.orthogonal 向量正交性质
x⊤y=0
orthogonal matrix (正交矩阵)行相乘为0,列相乘为0
得到一个很重要方法
A−1=A⊤
decomposition
降维/推荐系统/特征抽取必备
1.eigendecomposition 特征值分解
Av=λv
其中分别为特征值,特征向量
2.Singular Value Decomposition 奇异值分解,即factorize这个A得到奇异值和奇异矩阵(注意与第一条对应)
3.Singular Value Decomposition比eigendecomposition更泛用,可以想象一下一个matrix分解为singular的可行性远大于eigen!(考虑矩阵非square的情形)
具体不表
Moore-Penrose Pseudoinverse
广义逆…最近老看到这玩意,
Trace Operator
迹
一个矩阵的diagonal entries的sum
大规模机器学习上trace很有用
Determinant
行列式,notation为det(A),转为标量,
eigenvalues的所有乘积,此指标能感性判断矩阵的contracted的能力
即这个矩阵volume-preserving的程度.