author: zhangyifeng
title: some background need for ml(还会更新)
Matrix
notation
: transpose of
,
where is all set of permutation. par() can be
-1 or +1.
also,
Frobenius norm of :
it can be regarded as norm when metrix was extended to vectors
函数空间的集合表示:如果是集合,则令表示所有从到的函数的集合。这里,是有限笛卡尔积(Cartesian power)的推广。例如,可定义为所有从到的函数集合,更多内容可参看:http://faculty.bard.edu/belk/math351/FunctionSpaces.pdf
Basic calculate
误差
测量误差主要分为系统误差和偶然误差
系统误差成规律性分布,有明显的倾向性,如仪器本身的误差,人的误差,不服从正态分布。
偶然误差(又称随机误差)成正态分布,可能是观测的误差。
common distribution
gamma distribution
gamma function {#gamma-function .unnumbered}
, where
Matrix Differentiation
Matrix Differentiation-from functional analysis points
假设和为赋范向量空间,是一个映射,那么在可导的意思是说存在一个有界线性算子,使得对于任意的都存在,对于满足的都有.我们称为在点的微分。
以上定义有一个等价的表述,往往计算起来更方便:对于距离足够近的点,即
,
有.
(注:此处应该理解为线性算子在这个点的值,而不是乘以。不过在有限维空间所有线性算子都可以用矩阵表述,在,这个值便正好可以表述为矩阵与向量的乘积(Riesz表示定理))
例子1:假设是一个的映射,其中为维对称阵的空间。
所以我们有,这个就是在点的微分。
例子2:最小二乘问题是一个的映射。
所以我们有,这个就是在点的微分。在这种情况下,这个有界线性算子(梯度)可以用矩阵来表述(Riesz表示定理):
,
所以梯度
总结:在有限维的情况下,我们可以先求的微分,利用Riesz表示定理,得,可求得对应的gradient
vector或者jacobi矩阵,也就是导数,显然,
这里可以看出,导数和微分差一个转置。
标量对矩阵的导数
核心思想 {#核心思想 .unnumbered}
函数的微分 = 函数的导数 和 自变量的微分 的内积
矩阵微分运算法则
加减法:
矩阵乘法:
转置:
迹:
逆:。此式可在两侧求微分来证明
行列式:
,其中表示X的伴随矩阵,在X可逆时又可以写作。此式可用Laplace展开来证明,详见张贤达《矩阵分析与应用》第279页
逐元素乘法:表示尺寸相同的矩阵X,Y逐元素相乘
逐元素函数:
,是逐元素标量函数运算,
是逐元素求导数。
举个例子, 。
迹技巧(trace trick)
标量套上迹:
转置:
线性:
矩阵乘法交换:,其中与尺寸相同。两侧都等于
矩阵乘法/逐元素乘法交换:,其中,
, 尺寸相同。两侧都等于
复合法则
假设已求得,而是的函数,如何求呢?在微积分中有标量求导的链式法则,但这里我们不能沿用链式法则,因为矩阵对矩阵的导数截至目前仍是未定义的。于是我们继续追本溯源,链式法则是从何而来?源头仍然是微分。我们直接从微分入手建立复合法则:先写出,再将用表示出来代入(这个是矩阵对矩阵的导数,在下一节我们会了解到),并使用迹技巧将其他项交换至dX左侧,即可得到。
标量对矩阵的一般求导步骤
1.对标量函数两端作微分,利用微分运算法则化简
2.对两端作迹运算,利用迹运算法则化简,将移到最右端
3.利用微分和矩阵的联系,求
一些例子
例1:,求。其中是列向量,是矩阵,是列向量,是标量。
解:
1.作微分:这里的是常量,,
,得:
2.作迹运算:,注意这里我们根据
3.对照导数与微分的联系,得到。
例2:,求。其中是列向量,是矩阵,是列向量,表示逐元素求指数,是标量。
解:
1.作微分:
2.作迹运算:
3.对照导数与微分的联系,得到。
例3【线性回归】:,
求的最小二乘估计,即求的零点。其中是列向量,是矩阵,是列向量,是标量。
解:严格来说这是标量对向量的导数,不过可以把向量看做矩阵的特例(此时可以省略第二步:作迹运算)。
先将向量模平方改写成向量与自身的内积:
1.求微分:。
2.对照导数与微分的联系,得到。的零点即的最小二乘估计为。
例4【方差的最大似然估计】:样本,求方差的最大似然估计。写成数学式是:,求的零点。其中是列向量,是样本均值,是对称正定矩阵,是标量。
解:
1.作微分:第一项是,第二项是。
2.作迹运算:
,定义为样本方差矩阵。得到。
3.对照导数与微分的联系,有,其零点即的最大似然估计为。
矩阵对矩阵的导数 {#矩阵f对矩阵x的导数 .unnumbered}
一般而言,标量就是的矩阵,如果我们能推导出矩阵对矩阵的导数,标量对矩阵的导数不是自然的么,不应该可以统一进来么,那为啥还要大费周章地先写标量对矩阵的导数。原因是这两者不完全相同,并不能很简单地统一起来。
应该怎么定义矩阵对矩阵的导数。回答这个问题不是随意的,为了满足两个要求,我们对矩阵对矩阵的定义有严格的要求。我们的两个要求是:
1.矩阵对矩阵的导数应包含所有个偏导数,从而不损失信息。
2.在标量对矩阵求导的地方,我们发现导数与微分有简明的联系。这里我们仍希望他们之间存在某种联系。
为此,我们先定义向量对向量的导数
此时,可以证明,,这个定义满足我们的两个要求,所以我们现在作好了了向量对向量的导数。
再定义矩阵的(按列优先)向量化:
并定义矩阵F对矩阵X的导数=
。
此时,可以证明,导数与微分有联系 =
,这样,我们作好了满足要求的矩阵关于矩阵的导数。
列向量化运算法则
1.线性:。
2.[
矩阵乘法]{}:,其中表示Kronecker积,的Kronecker积是。此式证明见张贤达《矩阵分析与应用》第107-108页。
3.转置:,是矩阵,其中是换位矩阵(commutation
matrix)(就是一些初等换位矩阵的乘积)。
4.逐元素乘法:,其中是用的元素(按列优先)排成的对角阵。
一些Kronecker积和交换矩阵相关的恒等式
1.。
2.。
3.。可以对求导来证明,一方面,直接求导得到;另一方面,引入,有,
,用链式法则得到。
4.,所以换位矩阵是正交矩阵。
5.,是矩阵,是矩阵。可以对做向量化来证明,一方面,;另一方面,。
复合法则
假设已求得,而是的函数,如何求呢?从导数与微分的联系入手,,可以推出链式法则
矩阵对矩阵的一般求导步骤
1.对矩阵值函数两端作微分,利用微分运算法则化简
2.对两端作列向量化运算,利用列向量化法则化简,注意看列向量里面是什么形式,就用什么公式,如列向量里面是两个矩阵相乘,就想办法凑进去一个单位矩阵,并使得在中间,然后利用vec的矩阵乘法公式
3.利用微分和矩阵的联系 =
,求
一些例子
例1:,是矩阵,求。
解: 1.作微分:
2.列向量化,使用矩阵乘法的技巧,注意在右侧添加单位阵:
3.对照导数与微分的联系得到。
特例:如果退化为向量,即,则根据向量的导数与微分的关系d,得到
例2: ,X是n×n矩阵,求。
解: 1.求微分:
2.列向量化,,
3.对照导数与微分的联系,得到,注意它是对称矩阵。
例3:是矩阵,是矩阵,是矩阵,为逐元素函数,求。
解: 1.求微分:
2.列向量化:。
3.对照导数与微分的联系得到。
注解
1.一般而言,这套方法就是为了矩阵对矩阵求导而引入的,由于这里是利用列向量定义的导数,所以直接应用在标量对矩阵的导数上,会得到一个的列向量,这与我们一般定义的标量对矩阵的导数相悖,所以一般标量对矩阵的导数,我们还是利用上一节的方法。当然,若将上一节定义的标量对矩阵的导数用记号来表示,则这里定义的,在牢记这一条的情况下,我们可以用本节的方法来解决标量对矩阵求导,只是没有上一节的方法方便。为了满足读者的好奇心,我们给出标量对矩阵求导的一个例子,并且用两种方法来解决。
2.标量对矩阵的二阶导数,又称Hessian矩阵,定义为是对称矩阵,这个二阶导数分两次进行,第一次是标量对矩阵求导,第二次是矩阵对矩阵求导。
3.如何理解,它是一个换位矩阵,根据,它的作用是使的和的若干行对换位置。由,
这里,所以就是单位矩阵(mn×mn)交换和行得到的一个矩阵。
对两节内容的总结
我们发展了从整体出发的矩阵求导的技术,导数与微分的联系是计算的枢纽。
上一节中,我们了解了,标量对矩阵的导数与微分的联系是,先对求微分,再使用迹技巧可求得导数,特别地,标量对向量的导数与微分的联系是
下一节中,我们了解了,矩阵对矩阵的导数与微分的联系是,先对求微分,再使用列向量化的技巧可求得导数,特别地,向量对向量的导数与微分的联系是。
reference
Lagrange duality
application
applied on:\
- 最大熵模型\
- SVM(support vector machine)
primal problem
Set are continuously differentiable
function over , consider optimization problem with constraints
generalized Lagrange function
where,
,
are Lagrange multiplier,
After introduced generalized Lagrange function, primal problem is equal
to
dual problem
KKT(Karush-Kuhn-Tucker)condition
if and are convex function, are
affine function[^1], and inequation constrains strictly
hold, that is, exist , s.t. for any , hold ,
then, there must be are the
optimal solution of primal problem as well as dual problem and satisfy
KKT condition at .
Remark: so, when the prerequisites are satisfied, we can use KKT
condition to find the optimal solution
.
is called affine function, when it holds that