机器学习与深度学习19-线性代数02

目录

    • 前文回顾
    • 6.协方差矩阵与主成分分析
    • 7.矩阵的奇异值分解
    • 8.神经网络的前向传播和反向传播
    • 9.矩阵的迹
    • 10.特征工程的多项式特征扩展

前文回顾

上一篇文章链接:地址

6.协方差矩阵与主成分分析

协方差矩阵是一个对称矩阵,用于衡量随机变量之间的线性相关性和方差。给定一个 n n n维随机向量 X = ( X 1 , X 2 , … , X n ) \boldsymbol{X} = (X_1, X_2, \ldots, X_n) X=(X1,X2,,Xn),其协方差矩阵表示为 C = { cov ( X i , X j ) } \boldsymbol{C} = \{\text{cov}(X_i, X_j)\} C={cov(Xi,Xj)},其中 cov ( X i , X j ) \text{cov}(X_i, X_j) cov(Xi,Xj) 表示随机变量 X i X_i Xi X j X_j Xj 的协方差。协方差矩阵是一个 n × n n \times n n×n 的矩阵,其中第 ( i , j ) (i, j) (i,j) 个元素表示 X i X_i Xi X j X_j Xj 之间的协方差。对角线上的元素是各个随机变量的方差,非对角线上的元素则代表了两个随机变量之间的协方差
在主成分分析(PCA)中,协方差矩阵扮演着重要的角色。PCA 是一种常用的降维技术,旨在找到数据中最重要的特征(主成分),以便用较低维度的特征表示数据。使用 PCA 进行降维的关键步骤之一是计算数据的协方差矩阵。通过计算协方差矩阵,我们可以获得数据中各个特征之间的相关性信息。协方差矩阵的特征值和特征向量提供了关于数据结构和特征重要性的有用信息,在 PCA 中,我们将协方差矩阵的特征向量作为新的基向量,将数据投影到这些基向量上,构成新的特征空间。通过将特征值排序,我们可以选择最重要的特征(较大的特征值),从而实现数据维度的降低。这样可以减少数据的冗余信息,并捕捉到最具代表性的特征

总结来说,协方差矩阵在主成分分析中起着至关重要的作用。它提供了关于数据特征之间关系的信息,帮助我们理解数据的结构并选择最具代表性的特征,从而实现数据的降维和压缩

7.矩阵的奇异值分解

矩阵的奇异值分解(Singular Value Decomposition,SVD)是一种重要的矩阵分解技术,它将一个矩阵分解为三个矩阵的乘积。给定一个 m × n m \times n m×n的矩阵 A \boldsymbol{A} A,其SVD表示为:

A = U Σ V T \boldsymbol{A} = \boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^T A=UΣVT

其中, U \boldsymbol{U} U V \boldsymbol{V} V是正交矩阵, Σ \boldsymbol{\Sigma} Σ是一个对角矩阵。 U \boldsymbol{U} U的列向量称为左奇异向量, V \boldsymbol{V} V的列向量称为右奇异向量, Σ \boldsymbol{\Sigma} Σ的对角线元素称为奇异值,SVD的主要特点是将原始矩阵分解成了三个部分,每个部分都有其独特的性质和含义。这使得SVD在矩阵分解和降维中具有广泛应用,比如:

  • 矩阵分解:SVD在矩阵分解中非常有用。通过将矩阵 A \boldsymbol{A} A进行奇异值分解,我们可以得到特征向量矩阵 U \boldsymbol{U} U V \boldsymbol{V} V以及奇异值矩阵 Σ \boldsymbol{\Sigma} Σ。这使得我们能够有效地计算矩阵的逆、伪逆和矩阵方程的解等
  • 数据压缩和降维:SVD也被广泛应用于数据压缩和降维。通过保留最大的奇异值和相应的特征向量,我们可以将原始高维数据投影到一个较低维度的空间中,并且尽量保留原始数据的主要信息。这对于处理高维数据、去除冗余信息和减少计算复杂性非常有帮助
  • 图像处理:在图像处理中,SVD可以用于图像压缩和图像增强等任务。通过对图像矩阵进行SVD,我们可以提取出图像的主要特征,并用较低维度的表示来表示图像
  • 推荐系统:在协同过滤推荐系统中,SVD可以用于对用户-物品评分矩阵进行分解,以获取用户和物品的潜在特征。这有助于发现用户和物品之间的关联性,并用于生成个性化的推荐

总结来说,矩阵的奇异值分解(SVD)是一种强大且广泛应用的矩阵分解技术。它在矩阵分解、数据压缩、降维、图像处理和推荐系统等领域具有重要作用,并为我们理解和处理复杂的数据提供了有力工具

8.神经网络的前向传播和反向传播

  • 前向传播:

    • 输入向量 x \boldsymbol{x} x 通过与权重矩阵 W \boldsymbol{W} W 的乘法得到隐藏层的输入: h = W ⋅ x \boldsymbol{h} = \boldsymbol{W} \cdot \boldsymbol{x} h=Wx
    • 隐藏层的输入 h \boldsymbol{h} h 经过激活函数 f ( ⋅ ) f(\cdot) f() 得到隐藏层的激活值: a = f ( h ) \boldsymbol{a} = f(\boldsymbol{h}) a=f(h)
    • 隐藏层的激活值 a \boldsymbol{a} a 再次与权重矩阵 W ′ \boldsymbol{W}^\prime W 进行乘法运算得到输出层的输入: o = W ′ ⋅ a \boldsymbol{o} = \boldsymbol{W}^\prime \cdot \boldsymbol{a} o=Wa
    • 输出层的输入 o \boldsymbol{o} o 经过激活函数 f ( ⋅ ) f(\cdot) f() 得到最终的输出值: y = f ( o ) \boldsymbol{y} = f(\boldsymbol{o}) y=f(o)
  • 反向传播(基于交叉熵损失函数):

    • 计算输出层的误差项: δ o = ( y − t ) ⊙ f ′ ( o ) \boldsymbol{\delta}_o = (\boldsymbol{y} - \boldsymbol{t}) \odot f^\prime(\boldsymbol{o}) δo=(yt)f(o),其中 t \boldsymbol{t} t 是目标值, ⊙ \odot 表示逐元素相乘, f ′ ( ⋅ ) f^\prime(\cdot) f() 是激活函数的导数
    • 反向传播输出层的误差项到隐藏层: δ a = W ′ T ⋅ δ o ⊙ f ′ ( h ) \boldsymbol{\delta}_a = \boldsymbol{W}^{\prime T} \cdot \boldsymbol{\delta}_o \odot f^\prime(\boldsymbol{h}) δa=WTδof(h)
    • 计算权重矩阵 W ′ \boldsymbol{W}^\prime W 的梯度: ∇ W ′ = δ o ⋅ a T \nabla_{\boldsymbol{W}^\prime} = \boldsymbol{\delta}_o \cdot \boldsymbol{a}^T W=δoaT
    • 计算权重矩阵 W \boldsymbol{W} W 的梯度: ∇ W = δ a ⋅ x T \nabla_{\boldsymbol{W}} = \boldsymbol{\delta}_a \cdot \boldsymbol{x}^T W=δaxT

在反向传播过程中,梯度计算使用了链式法则,通过将误差项逐层传递回去,从而计算出权重矩阵的梯度。这些梯度可以用于更新权重矩阵,以最小化损失函数,并不断优化神经网络的性能,通过矩阵运算和逐元素操作,神经网络可以高效地进行前向传播和反向传播过程,实现输入数据的转换和网络参数的学习

9.矩阵的迹

矩阵的迹(Trace)是指一个方阵对角线上所有元素的和。对于一个 n × n n \times n n×n矩阵 A \boldsymbol{A} A,其迹表示为 tr ( A ) \text{tr}(\boldsymbol{A}) tr(A),计算方式为:

tr ( A ) = ∑ i = 1 n A i i \text{tr}(\boldsymbol{A}) = \sum_{i=1}^{n} A_{ii} tr(A)=i=1nAii

迹有以下特性:

  • 迹对矩阵的转置不变: tr ( A ) = tr ( A T ) \text{tr}(\boldsymbol{A}) = \text{tr}(\boldsymbol{A}^T) tr(A)=tr(AT)
  • 迹对矩阵乘法具有结合律: tr ( A B ) = tr ( B A ) \text{tr}(\boldsymbol{AB}) = \text{tr}(\boldsymbol{BA}) tr(AB)=tr(BA)
  • 迹对矩阵加法具有可加性: tr ( A + B ) = tr ( A ) + tr ( B ) \text{tr}(\boldsymbol{A} + \boldsymbol{B}) = \text{tr}(\boldsymbol{A}) + \text{tr}(\boldsymbol{B}) tr(A+B)=tr(A)+tr(B)

在矩阵求导和优化中,迹具有一些重要的应用。矩阵求导中的应用有:

  • 迹的导数:当我们需要对一个标量函数关于一个矩阵进行求导时,可以将其转化为对迹的求导。根据迹的性质,我们有 ∂ ∂ A tr ( A B ) = B T \frac{\partial}{\partial \boldsymbol{A}} \text{tr}(\boldsymbol{AB}) = \boldsymbol{B}^T Atr(AB)=BT ∂ ∂ A tr ( A B A T ) = B A T + B T A \frac{\partial}{\partial \boldsymbol{A}} \text{tr}(\boldsymbol{ABA}^T) = \boldsymbol{BA}^T + \boldsymbol{B}^T \boldsymbol{A} Atr(ABAT)=BAT+BTA 等等
  • 链式法则:在多元复合函数求导时,迹的性质使得我们能够使用迹来简化求导过程。通过将迹运算与矩阵链式相乘结合起来,我们可以高效地计算复杂函数的导数

优化中的应用:

  • 正则化项:在损失函数中引入迹作为正则化项,可以对模型参数进行约束,避免过拟合或提高模型的稳定性
  • 物理意义:在一些优化问题中,迹可以表示系统的某些物理量,例如能量、功率等,从而帮助解决实际问题

总结:矩阵的迹是指方阵对角线上所有元素的和,具有对转置不变、结合律和可加性等特性。在矩阵求导和优化中,迹被广泛应用于简化求导过程、定义正则化项以及表示物理量等方面

10.特征工程的多项式特征扩展

在特征工程中,多项式特征扩展(Polynomial Feature Expansion)是一种将原始特征通过多项式组合生成新的特征的方法。它通过引入原始特征的幂和交互项来捕捉特征之间的非线性关系,从而提供更丰富的特征表示

假设我们有一个包含 n n n个特征的向量 x = ( x 1 , x 2 , … , x n ) \boldsymbol{x} = (x_1, x_2, \ldots, x_n) x=(x1,x2,,xn),多项式特征扩展可以将其转化为一个包含多项式特征的向量 y = ( y 1 , y 2 , … , y m ) \boldsymbol{y} = (y_1, y_2, \ldots, y_m) y=(y1,y2,,ym),其中 m m m是根据所选特征的最高次数和交互项确定的新特征维度

通过线性代数的方法,可以使用以下步骤来实现多项式特征扩展:

  • 构建特征矩阵:将原始特征向量 x \boldsymbol{x} x构造成一个 n × 1 n \times 1 n×1的矩阵 X \boldsymbol{X} X
    X = [ x 1 x 2 ⋮ x n ] \boldsymbol{X} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} X= x1x2xn
    计算多项式度数:选择所需的多项式度数 d d d,确定要生成的多项式特征的最高次数
  • 扩展特征矩阵:通过计算原始特征的幂和交互项,将特征矩阵 X \boldsymbol{X} X扩展为一个 n × m n \times m n×m的新特征矩阵 Y \boldsymbol{Y} Y。每一列代表一个多项式特征
    Y = [ 1 x 1 x 1 2 … x 1 d x 1 x 2 … 1 x 2 x 2 2 … x 2 d x 2 x 3 … ⋮ ⋮ ⋮ ⋱ ⋮ ⋮ ⋱ 1 x n x n 2 … x n d x n − 1 x n … ] \boldsymbol{Y} = \begin{bmatrix} 1 & x_1 & x_1^2 & \ldots & x_1^d & x_1x_2 & \ldots \\ 1 & x_2 & x_2^2 & \ldots & x_2^d & x_2x_3 & \ldots \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \ddots \\ 1 & x_n & x_n^2 & \ldots & x_n^d & x_{n-1}x_n & \ldots \end{bmatrix} Y= 111x1x2xnx12x22xn2x1dx2dxndx1x2x2x3xn1xn
  • 利用线性代数进行计算:可以使用线性代数中的矩阵乘法来计算特征矩阵的扩展。我们可以将特征矩阵 X \boldsymbol{X} X与一个由多项式系数组成的矩阵相乘,得到扩展后的特征矩阵 Y \boldsymbol{Y} Y,多项式特征扩展使得我们能够引入更多非线性特征,从而改善模型对数据的拟合能力。然而,要注意的是,高次多项式和大量交互项可能导致特征维度的爆炸,需要谨慎选择多项式的度数和特征组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/909025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

青藏高原ASTER_GDEM数据集(2011)

共享方式:开放获取数据大小:73.69 GB数据时间范围:2012-04-08 — 2012-05-08元数据更新时间:2021-10-15 数据集摘要 ASTER Global Digital Elevation Model (ASTER GDEM)是美国航空航天局 (NAS…

代码随想录训练营二十六天| 654.最大二叉树 617.合并二叉树 700.二叉搜索树的搜索 98.验证二叉搜索树

654.最大二叉树: 文档讲解:代码随想录|654.最大二叉树 视频讲解:又是构造二叉树,又有很多坑!| LeetCode:654.最大二叉树_哔哩哔哩_bilibili 状态:已做出 思路: 这道题目要求使用给定…

临时抱佛脚v2

术语解释 多范式 (Multi-paradigm) 指支持多种编程范式,如面向对象编程和函数式编程,允许开发者根据需求选择最合适的风格。 函数式编程 (Functional Programming) 一种编程范式,将计算视为数学函数的求值,强调不变性、无副作用…

MCGS和1200plc变量表格式编辑

设备编辑窗口---设备信息导出---另存为xx.CSV文件 在上面导出的表格基础上编辑 本体位的编辑: db数据块位编辑 db数据块int类型 (4.14应改为4.140,0不省略) db数据块real类型 通道号,地址均按顺序排列 ,寄存期地址最后一位0不能省略&#…

Android高性能音频与图形开发:OpenSL ES与OpenGL ES最佳实践

引言 在移动应用开发中,音频和图形处理是提升用户体验的关键要素。本文将深入探讨Android平台上两大核心多媒体API:OpenSL ES(音频)和OpenGL ES(图形),提供经过生产环境验证的优化实现方案。 …

GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南

GaussDB分布式数据库调优方法总结:从架构到实践的全链路优化指南 GaussDB作为华为自主研发的分布式数据库,基于MPP(大规模并行处理)架构设计,支持存储与计算分离、列存/行存混合引擎、向量化执行等核心技术&#xff0…

NLP学习路线图(三十九):对话系统

在人工智能领域,自然语言处理(NLP)无疑是推动人机交互革命的核心引擎。当清晨的闹钟响起,你轻声一句“小爱同学,关掉闹钟”;当开车迷路时说“嘿Siri,导航到最近加油站”;当深夜向客服机器人询问订单状态时——我们已在不知不觉中与对话系统建立了千丝万缕的联系。这类系…

Cambridge Pixel为警用反无人机系统(C-UAS)提供软件支持

警用 C-UAS 系统受益于 Cambridge Pixel 和 OpenWorks Engineering 的技术合作。 作为雷达数据处理和雷达目标跟踪的专家公司,Cambridge Pixel宣布与OpenWorks Engineering 合作,为警用系统提供先进的C-UAS系统。OpenWorks Engineering以创新的光学系统和…

【ArcGIS Pro微课1000例】0072:如何自动保存编辑内容及保存工程?

文章目录 一、自动保存编辑内容二、自动保存工程在使用ArcGIS或者ArcGIS Pro时,经常会遇到以下报错,无论点击【发送报告】,还是【不发送】,软件都会强制退出,这时如果对所操作没有保存,就会前功尽弃。 此时,自动保存工作就显得尤为重要,接下来讲解两种常见的自动保存方…

进行性核上性麻痹健康护理指南:全方位照护之道

进行性核上性麻痹(PSP)是一种罕见的神经系统变性疾病,会严重影响患者的生活质量。做好健康护理,能在一定程度上缓解症状,提高患者生活质量。 ​饮食护理是基础。患者常伴有吞咽困难,饮食应选择质地均匀、易…

第二节:Vben Admin v5 (vben5) Python-Flask 后端开发详解(附源码)

目录 前言项目准备项目结构应用创建应用工厂`vben5-admin-backend/app/__init__.py` 文件`vben5-admin-backend/app/config.py` 文件`vben5-admin-backend/app/.env` 文件`vben5-admin-backend/app/logging_config.py` 文件`vben5-admin-backend/app/start.py` 文件`vben5-admi…

从零打造前沿Web聊天组件:从设计到交互

作者现在制作一款网页端聊天室(青春版),之前一直有这个想法,现在总算是迈出了第一步开始制作了… 雄关漫道真如铁,而今迈步从头越! 启程 当前已经完成左侧聊天室列表显示,通过http://localhos…

计算机网络 : 传输层协议UDP与TCP

计算机网络 : 传输层协议UDP与TCP 目录 计算机网络 : 传输层协议UDP与TCP引言1. 传输层协议UDP1.2 UDP协议段格式1.3 UDP的特点1.4 面向数据报1.5 UDP的缓冲区1.6 基于UDP的应用层协议及使用注意事项 2. 传输层协议TCP2.1 再谈端口号2.2 TCP协议段格式2.…

Java高频面试之并发编程-27

hello啊,各位观众姥爷们!!!本baby今天又来报道了!哈哈哈哈哈嗝🐶 面试:详细说说AtomicInteger 的原理 AtomicInteger 的原理详解 AtomicInteger 是 Java 并发包 (java.util.concurrent.atomic)…

冒险岛的魔法果实-多重背包

问题描述 在冒险岛的深处,小萌探索到了一个传说中的魔法果实园。这里满是各种神奇的魔法果实,吃了可以增加不同的魔法能量。 小萌想带一些魔法果实回去,但是他的背包空间有限。看着这些琳琅满目的魔法果实,小萌很是纠结&#xf…

atomicity of memory accesses

文章目录 atomicity of memory accesses✅ 正确认识原子性的边界对于 **Load**:✅ 正确的原子性边界是:对于 **Store**:✅ 正确的原子性边界是: 🔄 修正原文中的说法(对照分析)✅ 原子性边界最终…

VScode安装配置PYQT6

开始是准备安装PYQT5的,但是安装不下去,就改成安装PYQT6 一.安装pyqt5,成功。 c:\PYQT>pip install pyqt5 Defaulting to user installation because normal site-packages is not writeable Collecting pyqt5 Downloading PyQt5-5.15.…

SpringBoot使用oshi获取服务器相关信息

概念 OSHI是Java的免费基于JNA的(本机)操作系统和硬件信息库。它不需要安装任何其他本机库,并且旨在提供一种跨平台的实现来检索系统信息,例如操作系统版本,进程,内存和CPU使用率,磁盘和分区&a…

Spring Boot 3 集成 MyBatis 连接 MySQL 数据库

Spring Boot 3 集成 MyBatis 连接 MySQL 数据库的步骤&#xff1a; 以下是集成 Spring Boot 3、MyBatis、HikariCP 连接池并操作 MySQL 数据库的完整步骤和代码&#xff1a; 一、创建 Spring Boot 项目 添加以下依赖&#xff1a; <dependencies><!-- Spring Web --…

基于React + FastAPI + LangChain + 通义千问的智能医疗问答系统

&#x1f4cc; 文章摘要&#xff1a; 本文详细介绍了如何在前端通过 Fetch 实现与 FastAPI 后端的 流式响应通信&#xff0c;并支持图文多模态数据上传。通过构建 multipart/form-data 请求&#xff0c;配合 ReadableStream 实时读取 AI 回复内容&#xff0c;实现类似 ChatGPT…