矩陣求導常用公式解析:標量、向量與矩陣的導數計算

矩陣求導常用公式解析:標量、向量與矩陣的導數計算

矩陣求導常用公式解析:標量、向量與矩陣的導數計算

矩陣求導是機器學習、優化理論中的重要數學工具。本文將系統推導標量對向量、向量對向量、標量對矩陣的求導公式,并解析分子布局與分母布局的核心差異。

矩陣求導的布局問題

1. 分子布局 vs 分母布局對比表

特性分子布局 (Numerator Layout)分母布局 (Denominator Layout)
導數維度 m × n m \times n m×n n × m n \times m n×m
元素排列規則 ? y i ? x j \frac{\partial y_i}{\partial x_j} ?xj??yi?? ? y j ? x i \frac{\partial y_j}{\partial x_i} ?xi??yj??
線性變換示例 ? A x ? x = A \frac{\partial \mathbf{Ax}}{\partial \mathbf{x}} = \mathbf{A} ?x?Ax?=A ? A x ? x = A T \frac{\partial \mathbf{Ax}}{\partial \mathbf{x}} = \mathbf{A}^T ?x?Ax?=AT
鏈式法則順序從左到右自然順序需要轉置調整順序

2. 布局沖突的典型場景分析

場景:計算 ? z ? x \frac{\partial \mathbf{z}}{\partial \mathbf{x}} ?x?z?,其中 z = W x + b \mathbf{z} = \mathbf{W}\mathbf{x} + \mathbf{b} z=Wx+b

  • 分子布局
    ? z ? x = W ( 維度? m × n ) \frac{\partial \mathbf{z}}{\partial \mathbf{x}} = \mathbf{W} \quad (\text{維度 } m \times n) ?x?z?=W(維度?m×n)

  • 分母布局
    ? z ? x = W T ( 維度? n × m ) \frac{\partial \mathbf{z}}{\partial \mathbf{x}} = \mathbf{W}^T \quad (\text{維度 } n \times m) ?x?z?=WT(維度?n×m)

應用建議

  • 在反向傳播算法中,分母布局更自然(梯度維度與參數維度一致)
  • 在理論推導中,分子布局更便于公式鏈式展開

3. 混合布局的兼容性處理

當不同文獻使用不同布局時,可通過以下規則轉換:
( ? y ? x ) Denominator = ( ? y ? x ) Numerator T \left( \frac{\partial \mathbf{y}}{\partial \mathbf{x}} \right)_{\text{Denominator}} = \left( \frac{\partial \mathbf{y}}{\partial \mathbf{x}} \right)_{\text{Numerator}}^T (?x?y?)Denominator?=(?x?y?)NumeratorT?


一、標量對向量求導

1. 線性函數求導

設向量 a = [ a 1 , a 2 , … , a n ] T \mathbf{a} = [a_1, a_2, \dots, a_n]^T a=[a1?,a2?,,an?]T x = [ x 1 , x 2 , … , x n ] T \mathbf{x} = [x_1, x_2, \dots, x_n]^T x=[x1?,x2?,,xn?]T,標量函數為:

y = a T x = ∑ i = 1 n a i x i y = \mathbf{a}^T \mathbf{x} = \sum_{i=1}^n a_i x_i y=aTx=i=1n?ai?xi?

求導結果
梯度向量為系數向量本身:

? y ? x = [ a 1 a 2 ? a n ] = a \frac{\partial y}{\partial \mathbf{x}} = \begin{bmatrix} a_1 \\ a_2 \\ \vdots \\ a_n \end{bmatrix} = \mathbf{a} ?x?y?= ?a1?a2??an?? ?=a


2. 二次型函數(對稱矩陣)

設對稱矩陣 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} ARn×n,標量函數:

y = x T A x = ∑ i = 1 n ∑ j = 1 n a i j x i x j y = \mathbf{x}^T \mathbf{A} \mathbf{x} = \sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i x_j y=xTAx=i=1n?j=1n?aij?xi?xj?

求導過程
對分量 x k x_k xk? 求偏導:

? y ? x k = 2 ∑ i = 1 n a i k x i \frac{\partial y}{\partial x_k} = 2 \sum_{i=1}^n a_{ik} x_i ?xk??y?=2i=1n?aik?xi?

梯度向量
? y ? x = 2 A x \frac{\partial y}{\partial \mathbf{x}} = 2 \mathbf{A} \mathbf{x} ?x?y?=2Ax


3. 二次型函數(非對稱矩陣)

A \mathbf{A} A 非對稱時,標量函數展開同上。對 x k x_k xk? 求偏導:

? y ? x k = ( A x ) k + ( A T x ) k \frac{\partial y}{\partial x_k} = (\mathbf{A}\mathbf{x})_k + (\mathbf{A}^T \mathbf{x})_k ?xk??y?=(Ax)k?+(ATx)k?

梯度向量
? y ? x = ( A + A T ) x \frac{\partial y}{\partial \mathbf{x}} = (\mathbf{A} + \mathbf{A}^T) \mathbf{x} ?x?y?=(A+AT)x


二、向量對向量求導(分子布局)

1. 線性變換的雅可比矩陣(詳細推導)

y = A x + b \mathbf{y} = \mathbf{A}\mathbf{x} + \mathbf{b} y=Ax+b,其中:

  • A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} ARm×n 為系數矩陣
  • x ∈ R n \mathbf{x} \in \mathbb{R}^n xRn 為輸入向量
  • b ∈ R m \mathbf{b} \in \mathbb{R}^m bRm 為偏置向量

分量化表示
y i = ∑ j = 1 n a i j x j + b i ( i = 1 , 2 , … , m ) y_i = \sum_{j=1}^n a_{ij} x_j + b_i \quad (i=1,2,\dots,m) yi?=j=1n?aij?xj?+bi?(i=1,2,,m)

對分量求偏導
對每個 y i y_i yi? 關于 x j x_j xj? 求偏導:
? y i ? x j = a i j \frac{\partial y_i}{\partial x_j} = a_{ij} ?xj??yi??=aij?

雅可比矩陣構造
將所有偏導數按如下規則排列:

  • 行索引對應輸出分量 y i y_i yi?
  • 列索引對應輸入分量 x j x_j xj?

? y ? x = [ ? y 1 ? x 1 ? y 1 ? x 2 ? ? y 1 ? x n ? y 2 ? x 1 ? y 2 ? x 2 ? ? y 2 ? x n ? ? ? ? ? y m ? x 1 ? y m ? x 2 ? ? y m ? x n ] = A \frac{\partial \mathbf{y}}{\partial \mathbf{x}} = \begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2} & \cdots & \frac{\partial y_1}{\partial x_n} \\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2} & \cdots & \frac{\partial y_2}{\partial x_n} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial y_m}{\partial x_1} & \frac{\partial y_m}{\partial x_2} & \cdots & \frac{\partial y_m}{\partial x_n} \end{bmatrix} = \mathbf{A} ?x?y?= ??x1??y1???x1??y2????x1??ym????x2??y1???x2??y2????x2??ym?????????xn??y1???xn??y2????xn??ym??? ?=A


2. 一般向量函數的雅可比矩陣(補充關鍵說明)

對向量函數 y = f ( x ) = [ f 1 ( x ) , f 2 ( x ) , … , f m ( x ) ] T \mathbf{y} = \mathbf{f}(\mathbf{x}) = [f_1(\mathbf{x}), f_2(\mathbf{x}), \dots, f_m(\mathbf{x})]^T y=f(x)=[f1?(x),f2?(x),,fm?(x)]T,其雅可比矩陣的構造規則為:

  • 每個元素 ? f i ? x j \frac{\partial f_i}{\partial x_j} ?xj??fi?? 表示第 i i i 個輸出對第 j j j 個輸入的偏導
  • 行維度 m m m 由輸出向量維度決定
  • 列維度 n n n 由輸入向量維度決定

關鍵特性

  • f ( x ) \mathbf{f}(\mathbf{x}) f(x) 為線性函數(即 f ( x ) = A x \mathbf{f}(\mathbf{x}) = \mathbf{A}\mathbf{x} f(x)=Ax),雅可比矩陣退化為系數矩陣 A \mathbf{A} A
  • f ( x ) \mathbf{f}(\mathbf{x}) f(x) 為非線性函數(如神經網絡激活函數),需逐元素計算偏導數

3. 鏈式法則的矩陣形式

設復合函數 z = g ( y ) = g ( f ( x ) ) \mathbf{z} = \mathbf{g}(\mathbf{y}) = \mathbf{g}(\mathbf{f}(\mathbf{x})) z=g(y)=g(f(x)),則鏈式法則的矩陣形式為:
? z ? x = ? z ? y ? ? y ? x \frac{\partial \mathbf{z}}{\partial \mathbf{x}} = \frac{\partial \mathbf{z}}{\partial \mathbf{y}} \cdot \frac{\partial \mathbf{y}}{\partial \mathbf{x}} ?x?z?=?y?z???x?y?
其中:

  • ? z ? y ∈ R p × m \frac{\partial \mathbf{z}}{\partial \mathbf{y}} \in \mathbb{R}^{p \times m} ?y?z?Rp×m
  • ? y ? x ∈ R m × n \frac{\partial \mathbf{y}}{\partial \mathbf{x}} \in \mathbb{R}^{m \times n} ?x?y?Rm×n
  • 最終結果維度為 p × n p \times n p×n


三、標量對矩陣求導

1. 標量函數 y = tr ( A ) y = \text{tr}(\mathbf{A}) y=tr(A) 對矩陣 A \mathbf{A} A 求導

  • 矩陣的跡
    tr ( A ) = ∑ i = 1 n a i i \text{tr}(\mathbf{A}) = \sum_{i=1}^n a_{ii} tr(A)=i=1n?aii?

  • 對矩陣元素 a i j a_{ij} aij? 求偏導

    • i ≠ j i \neq j i=j 時,
      ? y ? a i j = 0 \frac{\partial y}{\partial a_{ij}} = 0 ?aij??y?=0
    • i = j i = j i=j 時,
      ? y ? a i i = 1 \frac{\partial y}{\partial a_{ii}} = 1 ?aii??y?=1
  • 梯度矩陣
    ? y ? A = I \frac{\partial y}{\partial \mathbf{A}} = \mathbf{I} ?A?y?=I
    (其中 I \mathbf{I} I 是與 A \mathbf{A} A 同維度的單位矩陣)


2. 標量函數 y = tr ( A B ) y = \text{tr}(\mathbf{A} \mathbf{B}) y=tr(AB) 對矩陣 A \mathbf{A} A 求導(假設 A \mathbf{A} A B \mathbf{B} B 可相乘)

  • 跡的性質
    tr ( A B ) = tr ( B A ) ( 若維度合適 ) \text{tr}(\mathbf{A} \mathbf{B}) = \text{tr}(\mathbf{B} \mathbf{A}) \quad (\text{若維度合適}) tr(AB)=tr(BA)(若維度合適)

  • 展開形式
    A \mathbf{A} A m × n m \times n m×n 矩陣, B \mathbf{B} B n × m n \times m n×m 矩陣,則
    y = ∑ i = 1 m ∑ j = 1 n a i j b j i y = \sum_{i=1}^m \sum_{j=1}^n a_{ij} b_{ji} y=i=1m?j=1n?aij?bji?

  • a k l a_{kl} akl? 求偏導
    ? y ? a k l = b l k \frac{\partial y}{\partial a_{kl}} = b_{lk} ?akl??y?=blk?

  • 梯度矩陣
    ? y ? A = B T \frac{\partial y}{\partial \mathbf{A}} = \mathbf{B}^T ?A?y?=BT


3. 標量函數 y = x T A x y = \mathbf{x}^T \mathbf{A} \mathbf{x} y=xTAx 對矩陣 A \mathbf{A} A 求導( x \mathbf{x} x 為向量)

  • 展開形式
    y = ∑ i = 1 n ∑ j = 1 n a i j x i x j y = \sum_{i=1}^n \sum_{j=1}^n a_{ij} x_i x_j y=i=1n?j=1n?aij?xi?xj?

  • a k l a_{kl} akl? 求偏導
    ? y ? a k l = x k x l \frac{\partial y}{\partial a_{kl}} = x_k x_l ?akl??y?=xk?xl?

  • 梯度矩陣
    ? y ? A = x x T \frac{\partial y}{\partial \mathbf{A}} = \mathbf{x} \mathbf{x}^T ?A?y?=xxT


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78785.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78785.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78785.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NocoDB:開源的 Airtable 替代方案

NocoDB:開源的 Airtable 替代方案 什么是 NocoDB?NocoDB 的主要特點豐富的電子表格界面工作流自動化應用商店程序化訪問NocoDB 的應用場景使用 Docker 部署 NocoDB1. 創建數據目錄2. 運行 Docker 容器3. 訪問 NocoDB注意事項總結什么是 NocoDB? NocoDB 是一款功能強大的開源…

全格式文檔轉 Markdown 工具,Docker 一鍵部署,支持 API 調用

以下是簡要介紹: 這是一款可以快速將任意文檔文件轉markdown格式內容的工具,提供API轉換接口,方便集成與應用原理就是利用libreoffice、pandoc文件轉換工具,把所有文檔類型的文件逐步轉化,最終轉成markdown格式的內容…

MATLAB繪制餅圖(二維/三維)

在數據分析與展示領域,餅圖是一種直觀且高效的可視化工具,能夠在瞬間傳遞各部分與整體的比例關系。今天,我將分享一段 MATLAB 繪制二維及三維餅圖的代碼,助你輕松將數據以餅圖形式呈現于眾人眼前。 無論是二維餅圖的簡潔明了&…

AI筆記-1

Halide Perovskites (HPs) 鹵化物鈣鈦礦 鹵化物鈣鈦礦(HPs)已被 公認為 光伏和發光器件 中最有前途的材料之一 在本觀點中,我們將探討鈣鈦礦的定義,主要聚焦于由 較重鹵素(Cl、Br和I)組成的鈣鈦礦亞群&…

excel表數據導入數據庫

前兩天,有個兩DB之間的數據導出導入的需求。對方提供的是excel表,我這邊是mysql數據庫,excel表第一行是字段名,之后的行是記錄的值。 其實沒有多復雜,我先將exel轉成csv,結果mysql導入csv,第一行…

智能機器人在物流行業的應用:效率提升與未來展望

隨著全球電子商務的蓬勃發展,物流行業正面臨著前所未有的挑戰和機遇。傳統的物流模式已經難以滿足日益增長的市場需求,尤其是在效率、成本控制和精準配送方面。智能機器人技術的出現,為物流行業的轉型升級提供了強大的動力。本文將探討智能機…

如何對 Redis 進行水平擴展和垂直擴展以應對微服務流量的增長?

核心概念: 垂直擴展 (Scale Up): 提升單個節點的性能。簡單來說就是給現有的 Redis 服務器增加更多的 CPU 、內存、更快的存儲(SSD)或更高的網絡帶寬。水平擴展 (Scale Out): 增加更多節點來分擔負載。這意味著部署多個 Redis 實例&#xff…

Elasticsearch知識匯總之ElasticSearch與OpenSearch比較

四 ElasticSearch與OpenSearch比較 OpenSearch項目分為 OpenSearch(源自 Elasticsearch 7.10.2)與 OpenSearch Dashboards(源自 Kibana 7.10.2)兩部分。此外,OpenSearch 項目也將成為之前發布的 Elasticsearch 發行版&…

《OmniMeetProTrack 全維會議鏈智能追錄系統 軟件設計文檔》

撰稿人:wjz 一、引言 1.1 目的 本軟件設計文檔詳細描述了 OmniMeetProTrack 全維會議鏈智能追錄系統的架構、組件、模塊設計及實現細節,旨在為開發人員、利益相關者和維護人員提供系統的全面設計藍圖。本文檔基于需求定義文檔,確保系統實現…

LeetCode 196. 刪除重復的電子郵箱

原題題目 表: Person ---------------------- | Column Name | Type | ---------------------- | id | int | | email | varchar | ---------------------- id 是該表的主鍵列(具有唯一值的列)。 該表的每一行包含一封電子郵件。電子郵件將不包含大寫字母…

基于WebUI的深度學習模型部署與應用實踐

引言 隨著深度學習技術的快速發展,如何將訓練好的模型快速部署并提供友好的用戶交互界面成為許多AI項目落地的關鍵。WebUI(Web User Interface)作為一種輕量級、跨平臺的解決方案,正被廣泛應用于各類AI模型的部署場景。本文將詳細介紹基于Python生態構建WebUI的技術方案,包…

Spring AI Alibaba-03- Spring AI + DeepSeek-R1 + ES/Milvus + RAG 智能對話應用開發全流程

Spring AI Alibaba-03- Spring AI DeepSeek-R1 ES/Milvus RAG 智能對話應用開發全流程 在[人工智能](AI)應用中,模型通常需要訪問外部資源或執行特定操作,例如數據庫查詢、調用外部API或執行計算任務。Spring AI,作…

某團小程序mtgsig,_token 生成邏輯分析

前言 本文章中所有內容僅供學習交流,抓包內容、敏感網址、數據接口均已做脫敏處理,嚴禁用于商業用途和非法用途,否則由此產生的一切后果均與作者無關,若有侵權,請聯系我立即刪除! 太久不更新 重新找回號 …

nginx服務--基礎

1. nginx 介紹 Nginx (engine x) 是一個輕量級,高性能的 HTTP 和 反向代理 服務,也是一個IMAP/POP3/SMTP服務。因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。其特點是占有內存少,并發能力強 2. nginx優勢 1.高并發,高性能 2.高可靠---可以7*24小時…

python如何word轉pdf

在Python中,將Word文檔(.docx或.doc)轉換為PDF可以通過多種庫實現。以下是幾種常見的方法及詳細步驟: 方法1:使用 python-docx comtypes(僅Windows,需安裝Word) 適用于Windows系統…

Galini AI 技術實現方案及 GitHub 開源庫推薦

Galini AI 技術實現方案及 GitHub 開源庫推薦 1. Galini AI 的技術實現方案 根據前面的行業分析,Galini AI 的核心功能圍繞 AI 驅動的通信安全,其技術實現可能包括以下模塊: 模塊 1:實時通信內容分析 功能:實時檢測…

DXFViewer進行中2 -> 直線 解析+渲染 ?已完成

DXFViewer進行中 : -&#xff1e;封裝OpenGL -&#xff1e; 解析DXF直線-CSDN博客https://blog.csdn.net/qq_25547755/article/details/147723906 上篇博文 解析dxf直線635條 1. DXFViewer.h #pragma once #include "Application.h" #include <stdio.h> #inc…

[pdf,epub]292頁《分析模式》漫談合集01-59提供下載

《分析模式》漫談合集01-59的pdf、epub文件提供下載&#xff0c;地址&#xff1a; umlchina.com/url/ap.html&#xff0c;或查看本賬號的CSDN資源。 已排版成適合手機閱讀&#xff0c;pdf的排版更好一些。

VTK 系統架構

VTK (Visualization Toolkit) 是一個功能強大的開源可視化系統,其架構設計體現了面向對象和管道處理的思想。以下是 VTK 系統的主要架構組成: 1. 核心架構層次 1.1 數據模型層 (Data Model) vtkDataObject: 所有數據對象的基類 vtkDataSet: 幾何/拓撲數據的基類 (如 vtkPol…

移動應用開發:自定義 View 處理大量數據的性能與交互優化方案

實現 1 萬條數據下流暢滑動與靈敏交互的完美平衡。 一、數據渲染優化&#xff1a;從 1 萬條到絲滑體驗 &#xff08;一&#xff09;視圖復用機制 視圖復用是提升大量數據渲染性能的關鍵策略。以一個簡單的自定義列表視圖為例&#xff0c;我們可以構建如下的復用池管理機制&a…