#### 本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第2章,第2.1节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
深度学习的理论和模型涉及较多的预备知识,包括矩阵运算、概率论、信息论、图模型、马尔可夫链蒙特卡罗方法,等等。本章主要对这些预备知识进行梳理和介绍,特别是概率有向图模型(或称贝叶斯网络)、概率无向图模型(或称马尔可夫网络)和部分有向无圈图模型(或称链图模型)的有关知识,对理解受限玻耳兹曼机、深层信念网络和深层玻耳兹曼机的模型结构非常重要。而且,本章将专门讨论玻耳兹曼机模型,其学习算法涉及马尔可夫链、吉布斯采样和变分方法,有助于掌握受限玻耳兹曼机、深层信念网络和深层玻耳兹曼机的核心内容。此外,本章还将针对前馈神经网络建立一个通用反向传播算法,有助于推导和理解其他各种深层网络的具体反向传播算法。最后,简要介绍人工神经网络的通用逼近定理。
虽然本书假定读者已经掌握了基本的线性代数和高等数学知识,但为了方便理解,本节首先总结一些常用的矩阵运算及偏导公式。
给定两个矩阵A=(aij)m×n和B=(bij)m×n,它们的阿达马积和克罗内克积定义如下: 阿达马积(Hadamard product)AB=(aij•bij)m×n,又称逐元素积(elementwise product)。 克罗内克积(Kronnecker product)AB=a11B…a1nB am1B…amnB 如果a、b、c和x是n维向量,A、B、C和X是n阶矩阵,那么 (aTx)x=(xTa)x=a(2.1) (aTXb)X=abT(2.2) (aTXTb)X=baT(2.3) (aTXa)X=(aTXTa)X=aaT(2.4) (aTXTXb)X=X(abT+baT)(2.5) [(Ax+a)TC(Bx+b)]x=ATC(Bx+b)+BTC(Ax+a)(2.6) (xTAx)x=(A+AT)x(2.7) [(Xb+c)TA(Xb+c)]X=(A+AT)(Xb+c)bT(2.8) [bTXTAXc]X=ATXbcT+AXcbT(2.9) 如果f是一元函数,那么其逐元向量函数和逐元矩阵函数定义为: 逐元向量函数(elementwise vector function)f(x)=(f(x1),f(x2),…,f(xn))T=(f(xi))T 逐元矩阵函数(elementwise matrix function)f(X)=f(xij) 本书把它们统称为逐元函数(elementwise function),比如逐元sigmoid函数、逐元tanh函数。 逐元函数的导数分别为f′(x)=(f′(x1),f′(x2),…,f′(xn))T和f′(X)=(f′(xij))。 如果用Tr(.)表示矩阵的迹函数(即计算矩阵的对角元素之和),那么不难得到: [Tr(f(X))]X=(f′(X))T(2.10) [Tr(sin(X))]X=(cos(X))T(2.11) 如果U=F(X)是关于X的矩阵值函数且g(U)是关于U的实值函数,那么下面的链式法则(chain rule)成立: g(U)X=g(U)xij=∑k∑lg(U)ukluklxij=Trg(U)UTUxij(2.12) 此外,关于矩阵迹函数Tr(.)还有如下偏导公式: [Tr(AXB)]X=ATBT(2.13) [Tr(AXTB)]X=BA(2.14) [Tr(AX)]X=Tr(A)I(2.15) [Tr(AXBX)]X=ATXTBT+BTXAT(2.16) [Tr(CTXTBXC)]X=(BT+B)XCCT(2.17) [Tr(XTBXC)]X=BXC+BTXCT(2.18) [Tr(AXBXTC)]X=ATCTXBT+CAXB(2.19) [Tr((AXB+C)(AXB+C)T)]X=2AT(AXB+C)BT(2.20) 相关资源:敏捷开发V1.0.pptx