线性代数是一门有趣又有用的学科。基于机器学习、深度学习等技术的人工智能的核心数学知识就包含数理统计、微积分与线性代数。
通过 求导矩阵 对多项式求导:
例:
则声明其系数向量与次数矩阵。
将 D 与 y 做乘,则得到求导后的系数:
对应数学表达式:
同理,可推导 积分矩阵 :
因此,对于式 ,其积分矩阵为:
- 原式线性多项式最高次幂为1,则积分后最高次幂为2,则积分矩阵要表达 2 次的系数,因此 ;
- 即先写出正常的 ,再取 的(伪)逆。
则对于 ,积分矩阵为:
将 与 系数向量 做乘,则得到积分后的系数:
对应数学表达式:
注意该不定积分没有常数项。
启发:该方法很好理解,利用了矩阵的性质,实现了系数的自动变换与落位,在计算实现时可以考虑该方法减少迭代次数,提高运算效率。但是可能只适合线性多项式。
下面是一个 matlab 的例题,我先通过求导矩阵求其求导后,在通过积分矩阵求其原式,但是不带常数项。
4th order polynomial
代码语言:javascript复制》D
D =
0 0 0 0 0
4 0 0 0 0
0 3 0 0 0
0 0 2 0 0
0 0 0 1 0
》Y
Y =
2
4
6
8
3
》dy = D * Y
dy =
0
8
12
12
8
》% 如何通过dy求Y?先对D求逆,即积分矩阵
》D_1 = pinv(D)
D_1 =
0 0.2500 0 0 0
0 0 0.3333 0 0
0 0 0 0.5000 0
0 0 0 0 1.0000
0 0 0 0 0
》Y = D_1 * dy
Y =
2
4
6
8
0