AutoCV第九课:ML基础

news2025/1/11 8:06:45

目录

  • 矩阵运算
    • 前言
    • 1. 矩阵乘法和求导
    • 总结

矩阵运算

前言

手写AI推出的全新保姆级从零手写自动驾驶CV课程,链接。记录下个人学习笔记,仅供自己参考。

本次课程主要学习矩阵运算的基础,考虑使用矩阵来表达多个线性回归模型。

课程大纲可看下面的思维导图。

在这里插入图片描述

1. 矩阵乘法和求导

先回忆下矩阵相关知识

定义矩阵乘法
{ a b d e } × { 1 3 2 4 } = { a 1 + b 2 a 3 + b 4 d 1 + e 2 d 3 + e 4 } \left\{\begin{array}{cc}a&b\\ d&e\end{array}\right\}\times\left\{\begin{array}{cc}1&3\\ 2&4\end{array}\right\}=\left\{\begin{array}{cc}a1+b2&a3+b4\\ d1+e2&d3+e4\end{array}\right\} {adbe}×{1234}={a1+b2d1+e2a3+b4d3+e4}
记法:C[r][c] = 乘加(A中取 r 行,B中取 c 列)

在这里插入图片描述

图1 矩阵乘法示例

参考:https://www.cnblogs.com/ljy-endl/p/11411665.html

矩阵求导

对于 A ⋅ B = C A\cdot B = C AB=C 定义 L L L 是关于 C C C 的损失函数

G = ∂ L ∂ C G = \dfrac{\partial L}{\partial C} G=CL 若直接 C C C A A A 求导,则 G G G 定义为 C C C 大小的全 1 矩阵,则有:
∂ L ∂ A = G ⋅ B T       ∂ L ∂ B = A T ⋅ G \dfrac{\partial L}{\partial A}=G\cdot B^T \ \ \ \ \ \dfrac{\partial L}{\partial B}=A^T \cdot G AL=GBT     BL=ATG
矩阵求导推导

  1. 考虑矩阵乘法 A ⋅ B = C A \cdot B = C AB=C

  2. 考虑 Loss 函数 L = ∑ i m ∑ j n ( C i j − p ) 2 L = \sum^m_{i}\sum^n_{j}{(C_{ij} - p)^2} L=imjn(Cijp)2

  3. 考虑 C C C 的每一项导数 ▽ C i j = ∂ L ∂ C i j \triangledown C_{ij} = \frac{\partial L}{\partial C_{ij}} Cij=CijL

  4. 考虑 A B C ABC ABC 都为 2x2 矩阵时,定义 G G G L L L C C C 的导数
    A = [ a b c d ] B = [ e f g h ] C = [ i j k l ] G = ∂ L ∂ C = [ ∂ L ∂ i ∂ L ∂ j ∂ L ∂ k ∂ L ∂ l ] = [ w x y z ] A = \begin{bmatrix} a & b\\ c & d \end{bmatrix} \quad B = \begin{bmatrix} e & f \\ g & h \end{bmatrix} \quad C = \begin{bmatrix} i & j \\ k & l \end{bmatrix} \quad G = \frac{\partial L}{\partial C} = \begin{bmatrix} \frac{\partial L}{\partial i} & \frac{\partial L}{\partial j} \\ \frac{\partial L}{\partial k} & \frac{\partial L}{\partial l} \end{bmatrix} = \begin{bmatrix} w & x \\ y & z \end{bmatrix} A=[acbd]B=[egfh]C=[ikjl]G=CL=[iLkLjLlL]=[wyxz]

  5. 展开左边 A ⋅ B A \cdot B AB

C = [ i = a e + b g j = a f + b h k = c e + d g l = c f + d h ] C = \begin{bmatrix} i = ae + bg & j = af + bh\\ k = ce + dg & l = cf + dh \end{bmatrix} C=[i=ae+bgk=ce+dgj=af+bhl=cf+dh]

  1. L L L 对于每一个 A A A 的导数
    ▽ A i j = ∂ L ∂ A i j \triangledown A_{ij} = \frac{\partial L}{\partial A_{ij}} Aij=AijL

    ∂ L ∂ a = ∂ L ∂ i ∗ ∂ i ∂ a + ∂ L ∂ j ∗ ∂ j ∂ a ∂ L ∂ b = ∂ L ∂ i ∗ ∂ i ∂ b + ∂ L ∂ j ∗ ∂ j ∂ b ∂ L ∂ c = ∂ L ∂ k ∗ ∂ k ∂ c + ∂ L ∂ l ∗ ∂ l ∂ c ∂ L ∂ d = ∂ L ∂ k ∗ ∂ k ∂ d + ∂ L ∂ l ∗ ∂ l ∂ d \begin{aligned} \frac{\partial L}{\partial a} &= \frac{\partial L}{\partial i} * \frac{\partial i}{\partial a} + \frac{\partial L}{\partial j} * \frac{\partial j}{\partial a} \\ \frac{\partial L}{\partial b} &= \frac{\partial L}{\partial i} * \frac{\partial i}{\partial b} + \frac{\partial L}{\partial j} * \frac{\partial j}{\partial b} \\ \frac{\partial L}{\partial c} &= \frac{\partial L}{\partial k} * \frac{\partial k}{\partial c} + \frac{\partial L}{\partial l} * \frac{\partial l}{\partial c} \\ \frac{\partial L}{\partial d} &= \frac{\partial L}{\partial k} * \frac{\partial k}{\partial d} + \frac{\partial L}{\partial l} * \frac{\partial l}{\partial d} \end{aligned} aLbLcLdL=iLai+jLaj=iLbi+jLbj=kLck+lLcl=kLdk+lLdl

    ∂ L ∂ a = w e + x f ∂ L ∂ b = w g + x h ∂ L ∂ c = y e + z f ∂ L ∂ d = y g + z h \begin{aligned} \frac{\partial L}{\partial a} &= we + xf \\ \frac{\partial L}{\partial b} &= wg + xh \\ \frac{\partial L}{\partial c} &= ye + zf \\ \frac{\partial L}{\partial d} &= yg + zh \end{aligned} aLbLcLdL=we+xf=wg+xh=ye+zf=yg+zh

  2. 因此 A A A 的导数为

    ∂ L ∂ A = [ w e + x f w g + x h y e + z f y g + z h ] ∂ L ∂ A = [ w x y z ] [ e g f h ] \frac{\partial L}{\partial A} = \begin{bmatrix} we + xf & wg + xh\\ ye + zf & yg + zh \end{bmatrix} \quad \frac{\partial L}{\partial A} = \begin{bmatrix} w & x\\ y & z \end{bmatrix} \begin{bmatrix} e & g\\ f & h \end{bmatrix} AL=[we+xfye+zfwg+xhyg+zh]AL=[wyxz][efgh]

    ∂ L ∂ A = G ⋅ B T \frac{\partial L}{\partial A} = G \cdot B^T AL=GBT

  3. 同理 B B B 的导数为
    ∂ L ∂ e = w a + y c ∂ L ∂ f = x a + z c ∂ L ∂ g = w b + y d ∂ L ∂ h = x b + z d \begin{aligned} \frac{\partial L}{\partial e} &= wa + yc \\ \frac{\partial L}{\partial f} &= xa + zc \\ \frac{\partial L}{\partial g} &= wb + yd \\ \frac{\partial L}{\partial h} &= xb + zd \end{aligned} eLfLgLhL=wa+yc=xa+zc=wb+yd=xb+zd

    ∂ L ∂ B = [ w a + y c x a + z c w b + y d x b + z d ] ∂ L ∂ B = [ a c b d ] [ w x y z ] \frac{\partial L}{\partial B} = \begin{bmatrix} wa + yc & xa + zc\\ wb + yd & xb + zd \end{bmatrix} \quad \frac{\partial L}{\partial B} = \begin{bmatrix} a & c\\ b & d \end{bmatrix} \begin{bmatrix} w & x\\ y & z \end{bmatrix} BL=[wa+ycwb+ydxa+zcxb+zd]BL=[abcd][wyxz]

    ∂ L ∂ B = A T ⋅ G \frac{\partial L}{\partial B} = A^T \cdot G BL=ATG

总结

本次课程学习了矩阵求导相关知识,后续实现多个线性回归或者逻辑逻辑回归模型可以考虑使用矩阵方式来表达

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

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

相关文章

多元回归预测 | Matlab龙格算法(RUN)优化最小二乘支持向量机回归预测,RUN-LSSVM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab龙格算法(RUN)优化最小二乘支持向量机回归预测,RUN-LSSVM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %--…

注意力机制(一)SE模块(Squeeze-and-Excitation Networks)论文总结和代码实现

Squeeze-and-Excitation Networks(压缩和激励网络) 论文地址:Squeeze-and-Excitation Networks 论文中文版:Squeeze-and-Excitation Networks_中文版 代码地址:GitHub - hujie-frank/SENet: Squeeze-and-Excitation Ne…

git 文件恢复与项目还原:008

1. 【文件恢复】:将文件恢复到上一次提交的状态 注意:新建且没有提交的文件无法使用文件恢复 命令: git checkout -- 文件名假如我们的一开始是这样的,这是没有报错的状态文件 然后我添加了一段内容, 比如我添加这段内…

做外贸算运费的时候需不需要多算一些

看到一个网友在一篇文章下留言说:客户算运费的时候需不需要多算一些 听公司老员工说给客户算运费要多加20% 这样合适吗 我个人感觉有点离谱。 那我们就这个话题,谈一谈运费是否要多加一些呢?为什么要多加一些? 首先,要…

Zookeeper学习---3、服务器动态上下线监听案例、ZooKeeper 分布式锁案例、企业面试真题

1、服务器动态上下线监听案例 1、需求 某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。 2、需求分析 3、具体实现 (1)先在集群上创建/servers 节点 &#xff…

软考A计划-试题模拟含答案解析-卷八

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

2023年上半年系统集成项目管理工程师下午真题及答案解析

试题一(18分) A公司跨国收购了B公司的主营业务,保留了B公司原有的人员组织结构和内部办公系统。为了解决B公司内部办公系统与A公司原有系统不兼容的问题,财务、人力和行政部门联合向公司高层申请尽快启动系统和业务的整合。 A公司领导指定HR总监王工担…

云容灾部署前的准备指南

据ITIC的研究表明,98%的千人规模企业每年都会遭遇停机危机,每停机一小时就会损失约700,000人民币。当灾难发生时,使用云容灾的企业可以通过云平台提供的资源和服务,快速帮助企业恢复业务。 HyperBDR云容灾,深度对接全…

Kibana:使用 Docker 安装 Kibana - 8.x

Kibana 的 Docker 镜像可从 Elastic Docker 注册中心获得。 基本映像是 ubuntu:20.04。www.docker.elastic.co 上提供了所有已发布的 Docker 图像和标签的列表。 源代码在 GitHub 中。 这些镜像包含免费和订阅功能。 开始 30 天试用以试用所有功能。 如果你还没有安装好自己的…

一文了解什么是ChatGPT

ChatGPT 是一种自然语言人工智能聊天机器人。在最基本的层面上,这意味着你可以问它任何问题,它会生成一个答案。 一、如何使用聊天 GPT 首先,转到chat.openai.com。如果这是您的第一次,您需要在开始之前使用 OpenAI 设置一个免费…

C919中有哪些项目是华为之作?

#C919# C919和华为都是我们国人的骄傲。那你知道在C919中有哪些项目是华为之作吗?C919与华为的合作主要涉及航空电子领域: 1.飞机高清视频传输系统:该系统使用华为的数字视频传输技术,可以将高清视频信号快速地传输到地面监控中心…

Gradio的web界面演示与交互机器学习模型,高级接口特征《6》

大多数模型都是黑盒,其内部逻辑对最终用户是隐藏的。为了鼓励透明度,我们通过简单地将Interface类中的interpretation关键字设置为default,使得向模型添加解释变得非常容易。这允许您的用户了解输入的哪些部分负责输出。 1、Interpret解释 …

NetApp E 系列混合闪存阵列——专为需要高带宽的专用应用程序而构建(如数据分析、视频监控、HPC、基于磁盘的备份)

E 系列混合闪存阵列:专为交付而构建 为什么选择 NetApp E 系列阵列? 超过 100 万次的安装和计数 凭借其提供的精简性和可靠性,我们的 E 系列阵列成为了众多企业的首选系统。从推动数据密集型应用程序(如分析、视频监控和基于磁盘…

PLC/DCS系统常见的干扰现象及判断方法

一般来说,常见的干扰现象有以下几种: 1.系统发指令时,电机无规则地转动; 2.信号等于零时,数字显示表数值乱跳; 3。传感器工作时,DCS/PLC 采集过来的信号与实际参数所对应的信号值不吻合,且误…

微信小程序报错:“该小程序提供的服务出现故障,请稍后再试”(IOS报错,Android则正常)

记录对接微信小程序时遇到的问题,问题表现为: 1、发送消息后出现报错:该小程序提供的服务出现故障,请稍后再试 2、只有IOS会报错,Android则是正常的 3、IOS报错的微信号,即使在电脑端登录,使…

HKPCA Show携手电巢直播开启“云”观展!掀起一场电子人的顶级狂欢!

近日,国际电子电路(深圳)展览会(HKPCA Show)已于深圳国际会展中心圆满举办!本次展览划分七大主题专区,面积超50,000平方米,展位超2500个,汇聚众多行业知名、有影响力的参…

腾讯云3年轻量应用服务器和5年CVM云服务器限制说明

腾讯云轻量服务器2核2G4M带宽三年388元、2核4G5M带宽三年599元、CVM云服务器2核2G配置5年1728元、2核4G配置5年3550元、4核8G配置5年6437元,从性价比角度来看,还是轻量应用服务器比较划算,腾讯云百科分享阿里云3年轻量应用服务器和5年云服务器…

华为手机怎么录屏?分享2个好用的手机录屏方法!

案例:华为手机怎么录制屏幕? 【有些内容通过文字和图片,不能很好地表达。我想把内容录制下来,发给别人,方便他们理解。有人知道华为手机怎么录屏吗?】 华为是一款知名的智能手机品牌,其强大的…

PUSH消息推送的实现原理

PUSH消息推送的实现原理_腾讯新闻 编辑导语:如今,push已经成为了我们手机信息流的一种推广方式,那么push消息推送是如何实现的呢?作者总结了几种消息推送的类型以及实现原理,一起来看看。 一、消息推送的类型 1. 短信…

使用 Elastic Learned Sparse Encoder 和混合评分的卓越相关性

作者:The Elastic Platform team 2023 年 5 月 25 今天,我们很高兴地宣布 Elasticsearch 8.8 正式发布。 此版本为矢量搜索带来了多项关键增强功能,让开发人员无需付出通常的努力和专业知识即可在搜索应用程序中利用一流的 AI 驱动技术。 使…