【深度學習與大模型基礎】第5章-線性相關與生成子空間

線性相關是指一組向量中,至少有一個向量可以表示為其他向量的線性組合。具體來說,對于向量組?v1,v2,…,vn,如果存在不全為零的標量?c1,c2,…,cn使得:

c1v1+c2v2+…+cnvn=0

則稱這些向量線性相關。否則,它們線性無關

舉例

  1. 二維空間

    • 向量?v1=(1,2)和?v2=(2,4) 線性相關,因為?v2=2v1?。

  2. 三維空間

    • 向量?v1=(1,0,0)、v2=(0,1,0)和?v3=(1,1,0) 線性相關,因為?v3=v1+v2?。

計算機科學中的應用

  1. 數據壓縮

    • 在圖像和視頻壓縮中,線性相關用于減少冗余數據。例如,JPEG利用離散余弦變換(DCT)將圖像數據轉換為線性相關的頻率分量,從而壓縮數據。

  2. 機器學習

    • 在特征選擇中,線性相關用于去除冗余特征。如果兩個特征高度線性相關,只需保留一個,以減少計算復雜度并避免過擬合。

  3. 計算機圖形學

    • 在三維圖形渲染中,線性相關用于判斷點是否共面。如果四個點線性相關,則它們位于同一平面上,這在碰撞檢測和光照計算中非常重要。

  4. 網絡流分析

    • 在網絡流分析中,線性相關用于識別流量模式。通過分析數據包的線性相關性,可以檢測異常流量或網絡攻擊。

  5. 密碼學

    • 在線性密碼分析中,線性相關用于破解加密算法。通過分析密文和明文之間的線性關系,可以推斷出密鑰信息。

python演示相關系數

pip install numpy matplotlib seaborn scipy

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#線性相關
# 生成隨機數據
np.random.seed(0)
x = np.random.rand(100)
y = 2 * x + np.random.normal(0, 0.1, 100)  # y = 2x + noise# 創建DataFrame
data = pd.DataFrame({'X': x, 'Y': y})# 計算相關系數
correlation = data['X'].corr(data['Y'])
print(f"相關系數: {correlation}")# 繪制散點圖
plt.figure(figsize=(10, 6))
sns.scatterplot(data=data, x='X', y='Y')
plt.title(f'散點圖 (相關系數: {correlation:.2f})')
plt.xlabel('X')
plt.ylabel('Y')
plt.grid(True)
plt.show()

生成子空間是由一組向量通過線性組合生成的空間。具體來說,給定向量集合?{v1,v2,…,vk},其生成子空間是所有形如?c1v1+c2v2+?+ckvk??的向量的集合,其中?c1,c2,…,ckc1?,c2?,…,ck??為標量。

關鍵點

  1. 線性組合:生成子空間中的向量是給定向量的線性組合。

  2. 子空間:生成子空間滿足向量空間的封閉性,即對加法和標量乘法封閉。

  3. :生成子空間的維數等于向量集合的最大線性無關向量數,這些向量構成子空間的一組基。

例子

給定向量?v1=(1,0)和?v2=(0,1),其生成子空間是整個?R2,因為任何?R2 中的向量都可以表示為?c1v1+c2v2。

python演示生成子空間

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 定義向量
v1 = np.array([1, 0, 0])
v2 = np.array([0, 1, 0])
v3 = np.array([0, 0, 1])# 生成線性組合
a_values = np.linspace(-2, 2, 10)
b_values = np.linspace(-2, 2, 10)
c_values = np.linspace(-2, 2, 10)
a_grid, b_grid, c_grid = np.meshgrid(a_values, b_values, c_values)
linear_combinations = a_grid[:, :, :, np.newaxis] * v1 + b_grid[:, :, :, np.newaxis] * v2 + c_grid[:, :, :, np.newaxis] * v3# 提取x, y, z坐標
x_coords = linear_combinations[:, :, :, 0].flatten()
y_coords = linear_combinations[:, :, :, 1].flatten()
z_coords = linear_combinations[:, :, :, 2].flatten()# 繪制生成子空間
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x_coords, y_coords, z_coords, s=1, c='blue', alpha=0.5)
ax.quiver(0, 0, 0, v1[0], v1[1], v1[2], color='red', label='v1')
ax.quiver(0, 0, 0, v2[0], v2[1], v2[2], color='green', label='v2')
ax.quiver(0, 0, 0, v3[0], v3[1], v3[2], color='blue', label='v3')
ax.set_title('生成子空間 (三維)')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.legend()
plt.show()

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

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

相關文章

【Agent實戰】貨物上架位置推薦助手(RAG方式+結構化prompt(CoT)+API工具結合ChatGPT4o能力Agent項目實踐)

本文原創作者:姚瑞南 AI-agent 大模型運營專家,先后任職于美團、獵聘等中大廠AI訓練專家和智能運營專家崗;多年人工智能行業智能產品運營及大模型落地經驗,擁有AI外呼方向國家專利與PMP項目管理證書。(轉載需經授權) 目錄 結論 效果圖示 1.prompt 2. API工具封…

Go語言入門基礎詳解

一、語言歷史背景 Go語言由Google工程師Robert Griesemer、Rob Pike和Ken Thompson于2007年設計,2009年正式開源。設計目標: 兼具Python的開發效率與C的執行性能內置并發支持(goroutine/channel)簡潔的類型系統現代化的包管理跨…

HarmonyOS NEXT開發進階(十二):build-profile.json5 文件解析

文章目錄 一、前言二、Hvigor腳本文件三、任務與任務依賴圖四、多模塊管理4.1 靜態配置模塊 五、分模塊編譯六、配置多目標產物七、配置APP多目標構建產物八、定義 product 中包含的 target九、拓展閱讀 一、前言 編譯構建工具DevEco Hvigor(以下簡稱Hvigor&#x…

基于SSM + JSP 的圖書商城系統

基于SSM的圖書商城 網上書城、圖書銷售系統、圖書銷售平臺 |Java|SSM|HTML|JSP| 項目采用技術: ①:開發環境:IDEA、JDK1.8、Maven、Tomcat ②:技術棧:Java、…

色板在數據可視化中的創新應用

色板在數據可視化中的創新應用:基于色彩感知理論的優化實踐 引言 在數據可視化領域,色彩編碼系統的設計已成為決定信息傳遞效能的核心要素。根據《Nature》期刊2024年發布的視覺認知研究,人類大腦對色彩的識別速度比形狀快40%,色…

K8S學習之基礎二十七:k8s中daemonset控制器

k8s中DaemonSet控制器 ? DaemonSet控制器確保k8s集群中,所有節點都運行一個相同的pod,當node節點增加時,新節點也會自動創建一個pod,當node節點從集群移除,對應的pod也會自動刪除。刪除DaemonSet也會刪除創建的pod。…

PyTorch 系列教程:使用CNN實現圖像分類

圖像分類是計算機視覺領域的一項基本任務,也是深度學習技術的一個常見應用。近年來,卷積神經網絡(cnn)和PyTorch庫的結合由于其易用性和魯棒性已經成為執行圖像分類的流行選擇。 理解卷積神經網絡(cnn) 卷…

Spring Cloud Stream - 構建高可靠消息驅動與事件溯源架構

一、引言 在分布式系統中,傳統的 REST 調用模式往往導致耦合,難以滿足高并發和異步解耦的需求。消息驅動架構(EDA, Event-Driven Architecture)通過異步通信、事件溯源等模式,提高了系統的擴展性與可觀測性。 作為 S…

王者榮耀道具頁面爬蟲(json格式數據)

首先這個和英雄頁面是不一樣的,英雄頁面的圖片鏈接是直接放在源代碼里面的,直接就可以請求到,但是這個源代碼里面是沒有的 雖然在檢查頁面能夠搜索到,但是應該是動態加載的,源碼中搜不到該鏈接 然后就去看看是不是某…

【一起來學kubernetes】12、k8s中的Endpoint詳解

一、Endpoint的定義與作用二、Endpoint的創建與管理三、Endpoint的查看與組成四、EndpointSlice五、Endpoint的使用場景六、Endpoint與Service的關系1、定義與功能2、創建與管理3、關系與交互4、使用場景與特點 七、Endpoint的kubectl命令1. 查看Endpoint2. 創建Endpoint3. 編輯…

結構型模式之橋接模式:解耦抽象和實現

在面向對象設計中,我們經常遇到需要擴展某些功能,但又不能修改現有代碼的情況。為了避免繼承帶來的復雜性和維護難度,橋接模式(Bridge Pattern)應運而生。橋接模式是一種結構型設計模式,旨在解耦抽象部分和…

如何用Java將實體類轉換為JSON并輸出到控制臺?

在軟件開發的過程中,Java是一種廣泛使用的編程語言,而在眾多應用中,數據的傳輸和存儲經常需要使用JSON格式。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于人類閱讀和編寫,…

Vue3 開發的 VSCode 插件

1. Volar Vue3 正式版發布,Vue 團隊官方推薦 Volar 插件來代替 Vetur 插件,不僅支持 Vue3 語言高亮、語法檢測,還支持 TypeScript 和基于 vue-tsc 的類型檢查功能。 2. Vue VSCode Snippets 為開發者提供最簡單快速的生成 Vue 代碼片段的方…

C# Enumerable類 之 集合操作

總目錄 前言 在 C# 中,System.Linq.Enumerable 類是 LINQ(Language Integrated Query)的核心組成部分,它提供了一系列靜態方法,用于操作實現了 IEnumerable 接口的集合。通過這些方法,我們可以輕松地對集合…

51c自動駕駛~合集54

我自己的原文哦~ https://blog.51cto.com/whaosoft/13517811 #Chameleon 快慢雙系統!清華&博世最新:無需訓練即可解決復雜道路拓撲 在自動駕駛技術中,車道拓撲提取是實現無地圖導航的核心任務之一。它要求系統不僅能檢測出車道和交…

Spring Cloud Eureka - 高可用服務注冊與發現解決方案

在微服務架構中,服務注冊與發現是確保系統動態擴展和高效通信的關鍵。Eureka 作為 Spring Cloud 生態的核心組件,不僅提供去中心化的服務治理能力,還通過自我保護、健康檢查等機制提升系統的穩定性,使其成為微服務架構中的重要支撐…

Unity屏幕適配——立項時設置

項目類型:2D游戲、豎屏、URP 其他類型,部分原理類似。 1、確定設計分辨率:750*1334 為什么是它? 因為它是 iphone8 的尺寸,寬高比適中。 方便后續適配到真機的 “更長屏” 或 “更寬屏” 2、在場景…

深度學習中LayerNorm與RMSNorm對比

LayerNorm不同于BatchNorm,其與batch大小無關,均值和方差 在 每個樣本的特征維度 C 內計算, 適用于 變長輸入(如 NLP 任務中的 Transformer) 詳細的BatchNorm在之前的一篇文章進行了詳細的介紹:深度學習中B…

使用WireShark解密https流量

概述 https協議是在http協議的基礎上,使用TLS協議對http數據進行了加密,使得網絡通信更加安全。一般情況下,使用WireShark抓取的https流量,數據都是加密的,無法直接查看。但是可以通過以下兩種方法,解密抓…

數字化轉型 - 數據驅動

數字化轉型 一、 數據驅動1.1 監控1.2 分析1.3 挖掘1.4 賦能 二、數據驅動案例2.1 能源工業互聯網:綠色節能的數字化路徑2.2 光伏產業的數字化升級2.3 數據中心的綠色轉型2.4云遷移的質效優化2.5 企業數字化運營的實踐2.6數字化轉型的最佳實踐 一、 數據驅動 從數…