记:
对输入层,层数为1:
对隐藏层:
对输出层,层数为L:
矩阵链乘法:给定一个n个矩阵的序列(矩阵链),:$A_1A_2\dots A_n \Leftrightarrow \lang A_1,A_2,\dots A_n\rang$ ,这里我们不讨论如何求解计算结果,默认采用$\Theta(n^3)$ 的计算方法。我们可以使用括号去表达计算次序,然后利用标准的矩阵相乘去运算。可以发现不同的加括号方式得到的结果是一样的,但复杂程度却是不一样的。
如$A_1A_2A_3$ 为例子:
那么我们引出定义满足以下性质的矩阵乘积链称为fully parenthesized(完全括号化的):单一矩阵,或者是两个完全括号化的矩阵乘积链的积,且已经外加括号。
如$\lang A_1,A_2,A_3,A_4\rang$有5种完全括号化的矩阵乘积链:1234,1(23)4,12(34),(12)34,(12)(34) 那有没有递推公式???
引出矩阵链乘法问题:给定一个n个矩阵的序列(矩阵链),矩阵规模$Ai:p{i-1}*p_i$(满足行是上一个矩阵的列数)求完全括号化方案,使得乘积次数最少。
首先考虑穷举法,设P(n)为n个矩阵的链的完全括号化方案的个数,考虑我们一定会在某个k矩阵上吧矩阵链分割,于是我们有递推公式:
结果为$\Omega(2^n)$,要求用代入法证明,一会证,有点麻烦。