本文共 3778 字,大约阅读时间需要 12 分钟。
行向量对元素求导是线性代数中的基本操作,用于描述如何微分一个行向量中的元素。假设有一个行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ),其中 ( u_i ) 表示第 ( i ) 个元素。行向量对第 ( i ) 个元素求导的结果为一个标量,表示该元素对整体行向量的变化率。数学表达式为:
[\frac{\partial \mathbf{u}}{\partial u_i} = 1]
这个结果表明,行向量对其任意一个元素求导的结果都为1。
列向量对元素求导的过程类似于行向量,但求导的结果是一个列向量。假设有一个列向量 ( \mathbf{v} = [v_1; v_2; ...; v_n] ),其中 ( v_i ) 表示第 ( i ) 个元素。列向量对第 ( i ) 个元素求导的结果为:
[\frac{\partial \mathbf{v}}{\partial v_i} = \mathbf{e}_i]
其中 ( \mathbf{e}_i ) 是第 ( i ) 个基向量,表示仅第 ( i ) 个位置为1,其余位置为0。
矩阵对元素求导是一个扩展的概念,适用于矩阵 ( A ) 中的每一个元素 ( a_{ij} )。假设矩阵 ( A ) 的大小为 ( m \times n ),则矩阵对第 ( (i,j) ) 个元素求导的结果仍然是标量:
[\frac{\partial A}{\partial a_{ij}} = 1]
这个结果表明,矩阵对其任意一个元素求导的结果都为1。
当元素 ( x ) 对行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ) 求导时,结果是一个行向量,其中只有与 ( x ) 相关联的位置为1,其余位置为0。例如,假设 ( x = u_2 ),则:
[\frac{\partial \mathbf{u}}{\partial x} = [0, 1, 0, ..., 0]^T]
元素对列向量 ( \mathbf{v} = [v_1; v_2; ...; v_n] ) 求导的结果是一个列向量。同样,只有与元素 ( x ) 相关联的位置为1,其余位置为0。例如,假设 ( x = v_3 ),则:
[\frac{\partial \mathbf{v}}{\partial x} = [0; 0; 1; 0, ..., 0]^T]
矩阵对行向量求导的结果是一个行向量。假设矩阵 ( A ) 是 ( m \times n ) 的矩阵,行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ),则:
[\frac{\partial \mathbf{u}}{\partial A} = \mathbf{A}^T]
其中 ( \mathbf{A}^T ) 是矩阵 ( A ) 的转置。
行向量对列向量求导的结果是一个标量矩阵(即一个矩阵),其中只有与行向量和列向量相关联的位置为1,其余位置为0。假设行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ) 和列向量 ( \mathbf{v} = [v_1; v_2; ...; v_m]^T ),则:
[\frac{\partial \mathbf{v}}{\partial \mathbf{u}} = \mathbf{I}_{m \times n}]
其中 ( \mathbf{I}_{m \times n} ) 是一个 ( m \times n ) 的单位矩阵。
列向量对行向量求导的结果是一个标量矩阵(即一个矩阵),其中只有与列向量和行向量相关联的位置为1,其余位置为0。假设列向量 ( \mathbf{v} = [v_1; v_2; ...; v_m]^T ) 和行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ),则:
[\frac{\partial \mathbf{u}}{\partial \mathbf{v}} = \mathbf{I}_{n \times m}]
其中 ( \mathbf{I}_{n \times m} ) 是一个 ( n \times m ) 的单位矩阵。
行向量对行向量求导的结果是一个标量矩阵(即一个矩阵),其中只有与行向量相关联的位置为1,其余位置为0。假设行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ) 和行向量 ( \mathbf{w} = [w_1, w_2, ..., w_n]^T ),则:
[\frac{\partial \mathbf{w}}{\partial \mathbf{u}} = \mathbf{I}_{n \times n}]
其中 ( \mathbf{I}_{n \times n} ) 是一个 ( n \times n ) 的单位矩阵。
列向量对列向量求导的结果是一个标量矩阵(即一个矩阵),其中只有与列向量相关联的位置为1,其余位置为0。假设列向量 ( \mathbf{v} = [v_1; v_2; ...; v_m]^T ) 和列向量 ( \mathbf{w} = [w_1; w_2; ...; w_m]^T ),则:
[\frac{\partial \mathbf{w}}{\partial \mathbf{v}} = \mathbf{I}_{m \times m}]
其中 ( \mathbf{I}_{m \times m} ) 是一个 ( m \times m ) 的单位矩阵。
矩阵对行向量求导的结果是一个行向量。假设矩阵 ( A ) 是 ( m \times n ) 的矩阵,行向量 ( \mathbf{u} = [u_1, u_2, ..., u_n]^T ),则:
[\frac{\partial \mathbf{u}}{\partial A} = \mathbf{A}^T]
其中 ( \mathbf{A}^T ) 是矩阵 ( A ) 的转置。
矩阵对列向量求导的结果是一个列向量。假设矩阵 ( A ) 是 ( m \times n ) 的矩阵,列向量 ( \mathbf{v} = [v_1; v_2; ...; v_n]^T ),则:
[\frac{\partial \mathbf{v}}{\partial A} = \mathbf{A}^T]
其中 ( \mathbf{A}^T ) 是矩阵 ( A ) 的转置。
考虑矩阵微分的一种常见应用:误差传播。假设有一个函数 ( f(\mathbf{x}) = \mathbf{A}\mathbf{x} + \mathbf{b} ),其中 ( \mathbf{x} ) 是一个列向量,( \mathbf{A} ) 是一个矩阵,( \mathbf{b} ) 是一个行向量。假设误差 ( \Delta \mathbf{x} ) 在 ( \mathbf{x} ) 上的变化率为:
[\frac{\partial \mathbf{x}}{\partial \Delta \mathbf{x}} = \mathbf{I}]
则误差 ( \Delta f ) 在 ( \mathbf{x} ) 上的变化率为:
[\frac{\partial f}{\partial \mathbf{x}} = \mathbf{A}^T]
因此,误差 ( \Delta f ) 在 ( \mathbf{A} ) 上的变化率为:
[\frac{\partial f}{\partial \mathbf{A}} = \mathbf{A}^T \Delta f]
考虑行向量微分的实际应用。假设有一个函数 ( f(\mathbf{u}) = \mathbf{A}\mathbf{u} ),其中 ( \mathbf{u} ) 是一个行向量,( \mathbf{A} ) 是一个矩阵。假设误差 ( \Delta \mathbf{u} ) 在 ( \mathbf{u} ) 上的变化率为:
[\frac{\partial \mathbf{u}}{\partial \Delta \mathbf{u}} = \mathbf{I}]
则误差 ( \Delta f ) 在 ( \mathbf{u} ) 上的变化率为:
[\frac{\partial f}{\partial \mathbf{u}} = \mathbf{A}^T]
因此,误差 ( \Delta f ) 在 ( \mathbf{A} ) 上的变化率为:
[\frac{\partial f}{\partial \mathbf{A}} = \mathbf{A}^T \Delta f]
转载地址:http://jasm.baihongyu.com/