2018-11-08


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:假设是一个的映射,其中为维对称阵的空间。
\begin{aligned} ​ &F(X+\Delta X) - F(X) \\ ​ =& (X+\Delta X)^T(X+\Delta X) - X^TX \\ ​ =& X^T\Delta X + \Delta X^TX + o(\|\Delta X\|) \\ ​ % =& 2X^T\Delta X + o(\|\Delta X\|) ​ \end{aligned}
所以我们有,这个就是在点的微分。

例子2:最小二乘问题是一个的映射。

\begin{aligned} ​ &f(x+\Delta x) - f(x) \\ ​ =& \frac{1}{2}\|A(x+\Delta x) - b\|^2 - \frac{1}{2}\|Ax - b\|^2\\ ​ =& \frac{1}{2}\|Ax - b + A\Delta x\|^2 - \frac{1}{2}\|Ax - b\|^2\\ ​ =& (Ax - b)^TA\Delta x + o(\|\Delta x\|) ​ \end{aligned}

所以我们有,这个就是在点的微分。在这种情况下,这个有界线性算子(梯度)可以用矩阵来表述(Riesz表示定理):

所以梯度

总结:在有限维的情况下,我们可以先求的微分,利用Riesz表示定理,得,可求得对应的gradient
vector或者jacobi矩阵,也就是导数,显然,
这里可以看出,导数和微分差一个转置。

标量对矩阵的导数

核心思想 {#核心思想 .unnumbered}

函数的微分 = 函数的导数 和 自变量的微分 的内积

矩阵微分运算法则

加减法:

矩阵乘法:

转置:

迹:

逆:。此式可在两侧求微分来证明

行列式:
,其中表示X的伴随矩阵,在X可逆时又可以写作。此式可用Laplace展开来证明,详见张贤达《矩阵分析与应用》第279页

逐元素乘法:表示尺寸相同的矩阵X,Y逐元素相乘

逐元素函数:
,是逐元素标量函数运算,
是逐元素求导数。

举个例子, X = ​ \left[\begin{matrix} ​ x_{11} & x_{12} \\ ​ x_{21} & x_{22} ​ \end{matrix}\right], ​ d \sin(X) = ​ \left[\begin{matrix}\cos x_{11} dx_{11} & \cos x_{12} d x_{12}\\ ​ \cos x_{21} d x_{21}& \cos x_{22} dx_{22} ​ \end{matrix}\right] = ​ \cos(X)\odot dX

迹技巧(trace trick)

标量套上迹:

转置:

线性:

矩阵乘法交换:,其中与尺寸相同。两侧都等于

矩阵乘法/逐元素乘法交换:,其中,
, 尺寸相同。两侧都等于

复合法则

假设已求得,而是的函数,如何求呢?在微积分中有标量求导的链式法则,但这里我们不能沿用链式法则,因为矩阵对矩阵的导数截至目前仍是未定义的。于是我们继续追本溯源,链式法则是从何而来?源头仍然是微分。我们直接从微分入手建立复合法则:先写出,再将用表示出来代入(这个是矩阵对矩阵的导数,在下一节我们会了解到),并使用迹技巧将其他项交换至dX左侧,即可得到。

标量对矩阵的一般求导步骤

1.对标量函数两端作微分,利用微分运算法则化简

2.对两端作迹运算,利用迹运算法则化简,将移到最右端

3.利用微分和矩阵的联系,求

一些例子

例1:,求。其中是列向量,是矩阵,是列向量,是标量。

解:
1.作微分:这里的是常量,,
,得:

2.作迹运算:,注意这里我们根据

3.对照导数与微分的联系,得到。
例2:,求。其中是列向量,是矩阵,是列向量,表示逐元素求指数,是标量。

解:
1.作微分:

2.作迹运算:

3.对照导数与微分的联系,得到。
例3【线性回归】:,
求的最小二乘估计,即求的零点。其中是列向量,是矩阵,是列向量,是标量。

解:严格来说这是标量对向量的导数,不过可以把向量看做矩阵的特例(此时可以省略第二步:作迹运算)。

先将向量模平方改写成向量与自身的内积:

1.求微分:。

2.对照导数与微分的联系,得到。的零点即的最小二乘估计为。
例4【方差的最大似然估计】:样本,求方差的最大似然估计。写成数学式是:,求的零点。其中是列向量,是样本均值,是对称正定矩阵,是标量。

解:
1.作微分:第一项是,第二项是\frac{1}{n}\sum_{i=1}^n(\boldsymbol{x}_i-\boldsymbol{\bar{x}})^Td\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\bar{x}}) = -\frac{1}{n}\sum_{i=1}^n(\boldsymbol{x}_i-\boldsymbol{\bar{x}})^T\Sigma^{-1}d\Sigma\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\bar{x}})

2.作迹运算:\text{tr}\left(\frac{1}{n}\sum_{i=1}^n(\boldsymbol{x}_i-\boldsymbol{\bar{x}})^T\Sigma^{-1}d\Sigma\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\bar{x}})\right) = \frac{1}{n} \sum_{i=1}^n \text{tr}((\boldsymbol{x}_i-\boldsymbol{\bar{x}})^T\Sigma^{-1} d\Sigma \Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\bar{x}}))= \frac{1}{n}\sum_{i=1}^n\text{tr}\left(\Sigma^{-1}(\boldsymbol{x}_i-\boldsymbol{\bar{x}})(\boldsymbol{x}_i-\boldsymbol{\bar{x}})^T\Sigma^{-1}d\Sigma\right)

,定义为样本方差矩阵。得到。

3.对照导数与微分的联系,有,其零点即的最大似然估计为。

矩阵对矩阵的导数 {#矩阵f对矩阵x的导数 .unnumbered}

一般而言,标量就是的矩阵,如果我们能推导出矩阵对矩阵的导数,标量对矩阵的导数不是自然的么,不应该可以统一进来么,那为啥还要大费周章地先写标量对矩阵的导数。原因是这两者不完全相同,并不能很简单地统一起来。

应该怎么定义矩阵对矩阵的导数。回答这个问题不是随意的,为了满足两个要求,我们对矩阵对矩阵的定义有严格的要求。我们的两个要求是:

1.矩阵对矩阵的导数应包含所有个偏导数,从而不损失信息。

2.在标量对矩阵求导的地方,我们发现导数与微分有简明的联系。这里我们仍希望他们之间存在某种联系。

为此,我们先定义向量对向量的导数
\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}} ​ = ​ \begin{bmatrix} ​ \frac{\partial f_1}{\partial x_1} & \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_p}{\partial x_1}\\ ​ \frac{\partial f_1}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_p}{\partial x_2}\\ ​ \vdots & \vdots & \ddots & \vdots\\ ​ \frac{\partial f_1}{\partial x_m} & \frac{\partial f_2}{\partial x_m} & \cdots & \frac{\partial f_p}{\partial x_m}\\ ​ \end{bmatrix}(m×p)
此时,可以证明,,这个定义满足我们的两个要求,所以我们现在作好了了向量对向量的导数。

再定义矩阵的(按列优先)向量化:

并定义矩阵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

\begin{split} ​ \nabla_{x}L(\boldsymbol x,\boldsymbol\alpha,\boldsymbol\beta)&=0\\ ​ \nabla_{\alpha}L(\boldsymbol x,\boldsymbol\alpha,\boldsymbol\beta)&=0\\ ​ \nabla_{\beta}L(\boldsymbol x,\boldsymbol\alpha,\boldsymbol\beta)&=0\\ ​ \alpha_{i}c_{i}(\boldsymbol x)=0, \ i=&1,2,\dots,k\\ ​ c_{i}(\boldsymbol x)\leq0, \ i=&1,2,\dots,k\\ ​ \alpha_{i}\geq0, i=&1,2,\dots,k\\ ​ h_{j}(\boldsymbol x)=0, j=&1,2\dots,l ​ \end{split}

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

你可能感兴趣的:(2018-11-08)