首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >吴恩达机器学习笔记16-矩阵与矩阵的乘法

吴恩达机器学习笔记16-矩阵与矩阵的乘法

作者头像
讲编程的高老师
发布于 2020-08-14 02:23:53
发布于 2020-08-14 02:23:53
1.1K0
举报

本文是吴恩达《机器学习》视频笔记第16篇,对应第1周第16个视频。

“Linear Algebra review(optional)——Matrix-matrix multiplication”

01

笔记

上一视频讲的是矩阵和向量相乘,我们在上上上个视频“矩阵和向量”那一节已经知道向量也是一种特殊的矩阵,那这一节我们把后面的这个向量给一般化为矩阵,即矩阵和矩阵的乘法。

1.1 引入

前面讲过梯度下降用于线性回归模型的参数确定,如果有矩阵的乘法的加持,我们就可以不用梯度下降法也能求解这个问题。

先来看一个例子,求下面图中两个矩阵的乘。

那怎么做呢?上图中两个矩阵,左边的这个是2×3的矩阵、右边这个是3×2的矩阵,我们可以把右边这个矩阵的第一列抽出来,就变成了2×3的矩阵和一个3×1的列向量的乘法,这就和上一视频讲到的一样了。如下图,我们就可以得到一个2×1的列向量:

类似的,把右边矩阵的第二列抽出来相乘又得到一个2×1的列向量,然后把这两步得到的列向量拼在一起就得到两个矩阵的乘的结果了。

1.2 一般情况

那上面那个特例中,左边是2×3的矩阵、右边是3×2的矩阵。右边这个矩阵的行数、列数分别和左边矩阵的列数、行数相等,是不是说一般情况也有这种要求呢?我们一起看一下。

对于一般的情况,矩阵和矩阵的乘法的形式如下图:

从上面的图中可知,矩阵A×B,只要求A的列数要等于B的行数,而不一定要求A的行数等于B的列数;得到的结果矩阵C呢,C的行数和A的行数相等、C的列数和B的列数相等。

从前面的示例我们可知,矩阵A和矩阵B的乘,可以简化为矩阵A和矩阵B的列向量的乘,然后再把结果拼成C。就完成了矩阵与矩阵的乘法。

矩阵和矩阵相乘,化简为矩阵和列向量相乘的过程中,右边的矩阵A会被用o次(即矩阵B的列数)、而矩阵B呢是被拆分成o个列向量来用的。想想这个事挺有意思的。

1.3 再来一个例子

两个2×2的矩阵相乘,运算过程如下图:

1.4 继续卖房子

我们来看一下,矩阵和矩阵的乘法这种运算规则的制定怎样让我们实际问题更容易被表述。

还是假设我有四套房子,面积(单位是平方英尺)不同,如下图:

这里呢,面积和售价之间关系的预测函数不再是一个了,假设我们有3个可能的公式用来计算房屋的售价,如果有矩阵乘法,就可以很方便的把这个事情给描述出来。

我们把第一个模型的参数拿出来构成矩阵B的第一列、第二个模型的参数做第二列、第三个模型的参数做第三列,就得到下图这样的一个矩阵乘法的式子。

对上面的这个式子进行运算,就可以得到一个4×3的结果矩阵。而结果矩阵的每一列就对应于相应模型对4套不同房子的售价的预测。如下图:

一次矩阵运算就可以让我们完成三个模型分别对4套房子的售价预测,即12次房屋售价预测的运算用一个矩阵乘法的式子就可以表示了,想想就让人激动。

更好的是,几乎每一种主流的编程语言都有很好的线性代数库实现矩阵与矩阵的乘法;更进一步的,如果我们想比较不同模型的好坏的话,我们只需要比较结果矩阵就行了。

我们小时候学乘法的时候知道有很多的运算法则可以使用,那么,矩阵和矩阵的乘法有没有这样的一些法则供我们使用呢?且听下回。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 讲编程的高老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
吴恩达机器学习笔记15-矩阵与向量的乘法
“Linear Algebra review(optional)——Matrix-vector multiplication”
讲编程的高老师
2020/08/14
2.5K0
吴恩达机器学习笔记17-矩阵乘法的性质
“Linear Algebra review(optional)——Matrix multiplication properties”
讲编程的高老师
2020/08/14
8640
吴恩达机器学习笔记19-多元线性模型的多维特征
“Linear Regression with multiple variables——Multiple features”
讲编程的高老师
2020/08/14
5650
吴恩达机器学习笔记-1
这个系列教程大名鼎鼎,之前我都是用到啥就瞎试一通;最近花了两个周,认认真真把这些基础知识重新学了一遍;做个笔记; 苏老泉二十七始发愤,我这比他还落后;不过求知的旅途,上路永远不嫌晚,我一直在路上;
happy123.me
2019/12/30
8530
深度学习的线性代数基础
深度学习是关于数据的,我们需要将数据以矩阵或更高维向量的形式表示并对它们执行操作来训练我们的深度网络。所以更好地理解矩阵运算和线性代数将帮助您对深度学习算法的工作原理有更好的理解。这就是为什么线性代数可能是深度学习中最重要的数学分支。在这篇文章中,我将尝试对线性代数做一个简单的介绍。
deephub
2021/08/20
9690
机器之心最干的文章:机器学习中的矩阵、向量求导
机器之心专栏 作者:七月 本文的目标读者是想快速掌握矩阵、向量求导法则的学习者,主要面向矩阵、向量求导在机器学习中的应用。因此,本教程而非一份严格的数学教材,而是希望帮助读者尽快熟悉相关的求导方法并在实践中应用。另外,本教程假定读者熟悉一元函数的求导。 本文公式太多,微信上展示会有一些问题。所以本文适合读者了解矩阵、向量求导,而详细地学习与分析请下载本文的PDF版。 PDF 下载地址:https://pan.baidu.com/s/1pKY9qht 所谓矩阵求导,本质上只不过是多元函数求导,仅仅是把把函数的
机器之心
2018/05/10
3.5K0
线性回归算法是什么
线性回归主要用来解决回归问题,也就是预测连续值的问题。而能满足这样要求的数学模型被称为“回归模型”。最简单的线性回归模型是我们所熟知的一次函数(即 y=kx+b),这种线性函数描述了两个变量之间的关系,其函数图像是一条连续的直线。如下图蓝色直线:
zhangjiqun
2024/12/14
1960
线性回归算法是什么
吴恩达机器学习笔记24-正规方程法求最优参数
“Linear Regression with multiple variables——Normal equation”
讲编程的高老师
2020/08/14
8190
吴恩达 —— 深度学习 Course 1 笔记
Course1:神经网络和深度学习,包括: ---- [1] Week1:深度学习概述 [2] Week2:神经网络基础 [3] Week3:浅层神经网络 [4] Week4:深层神经网络 [
echobingo
2018/04/25
8920
吴恩达 —— 深度学习 Course 1 笔记
机器学习入门 5-7 多元线性回归和正规方程
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍多元线性回归以及其正规方程。
触摸壹缕阳光
2019/11/13
1.2K0
机器学习入门 6-5 梯度下降的向量化和数据标准化
本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍梯度下降法的向量化,并引入对使用梯度下降法非常重要的数据归一化。
触摸壹缕阳光
2019/11/13
1.4K0
机器学习入门 6-5 梯度下降的向量化和数据标准化
使用矩阵运算驱动神经网络数据加工链
对于学过线性代数的人来说,矩阵运算绝对算得上是一场噩梦。特别是做矩阵乘法时,两个大方块,每个方块里面有好多数字,你需要把一个方块中一行里的所有数字跟另一个方块里面的所有数字做乘法,然后再求和,头昏脑涨的算了半天才得到新矩阵的一个数值,忙活了半天,耗费了大量精力后,你发现居然算错了,只能再来一遍,那时候我想你恨不得一把火把代数课本付之一炬。 上一节,我们手动计算了一个只有两层,每层只有两个节点的神经网络,那时候的手动计算已经让我们精疲力尽了,试想一下任何能在现实中发挥实用效果的神经网络,例如用于人脸识别的网络
望月从良
2018/07/19
5960
教程 | 基础入门:深度学习矩阵运算的概念和代码实现
选自Medium 机器之心编译 参与:蒋思源 本文从向量的概念与运算扩展到矩阵运算的概念与代码实现,对机器学习或者是深度学习的入门者提供最基础,也是最实用的教程指导,为以后的机器学习模型开发打下基础。 在我们学习机器学习时,常常遇到需要使用矩阵提高计算效率的时候。如在使用批量梯度下降迭代求最优解时,正规方程会采用更简洁的矩阵形式提供权重的解析解法。而如果不了解矩阵的运算法则及意义,甚至我们都很难去理解一些如矩阵因子分解法和反向传播算法之类的基本概念。同时由于特征和权重都以向量储存,那如果我们不了解矩阵运算
机器之心
2018/05/09
2.6K0
教程 | 基础入门:深度学习矩阵运算的概念和代码实现
这是一份文科生都能看懂的线性代数简介
选自Medium 作者:Niklas Donges 机器之心编译 参与:Tianci LIU、思源 线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了解机器学习具体算法,就不可避免需要精通这些线性代数的概念。这篇文章中,我们将向你介绍一些机器学习中涉及的关键线性代数知识。 线性代数是一种连续形式的数学,被广泛应用于理工类学科中;因为它可以帮助我们对自然现象建模,然后进行高
小莹莹
2018/04/20
1.5K0
这是一份文科生都能看懂的线性代数简介
全网最详细!油管1小时视频详解AlphaTensor矩阵乘法算法
---- 新智元报道   编辑:Aeneas David 【新智元导读】为加速矩阵乘法,DeepMind的AlphaTensor都有什么神操作?1小时超长视频,带你读懂这篇Nature封面。由浅入深,全网最细。 DeepMind前不久发在Nature上的论文Discovering faster matrix multiplication algorithms with reinforcement learning引发热议。 这篇论文在德国数学家Volken Strassen「用加法换乘法」思路和算法的
新智元
2022/10/11
1.3K0
全网最详细!油管1小时视频详解AlphaTensor矩阵乘法算法
从几何看线性代数(2):矩阵
也许各位对矩阵的了解都是从"解方程组"开始的,但实际上矩阵的意义远远不止于此。实际上,矩阵在计算机图形学中永远十分广泛的应用。甚至于说,如果没有矩阵,那么也不会有三维游戏、三维动画之类的艺术形式。
HkingAuditore
2023/10/26
3630
从几何看线性代数(2):矩阵
机器学习基础——推导线性回归公式
在之前的文章当中,我们介绍过了简单的朴素贝叶斯分类模型,介绍过最小二乘法,所以这期文章我们顺水推舟,来讲讲线性回归模型。
TechFlow-承志
2020/03/05
8910
机器学习基础——推导线性回归公式
机器学习中的线性代数:关于常用操作的新手指南
大数据文摘作品,转载要求见文末 编译 | 沈爱群,徐凌霄,Aileen 在学习深度学习的课程时,数学知识十分重要,而如果要挑选其中最相关的部分,“线性代数”首当其冲。 如果你也跟本文作者一样,正在探索深度学习又困于相关数学概念,那么一定要读下去,这是一篇介绍深度学习中最常用线性代数操作的新手指南。 什么是线性代数在深度学习中,线性代数是一个非常有用的数学工具,提供同时操作多组数值的方法。它提供多种可以放置数据的结构,如向量(vectors)和矩阵(matrices, 即spreadsheets)两种结构,并
大数据文摘
2018/05/25
1.6K0
吴恩达机器学习笔记12-梯度下降法用于线性模型
Linear regression with one variable——Gradient descent for linear regression”
讲编程的高老师
2020/08/14
5200
【机器学习基础】机器学习的数学基础
  作为一门以数据及其模型为研究对象的学科,优化模型、分析模型性能等都需要数学手段的帮助。和其他学科一样,数学可以帮我们更清晰地描述和理解机器学习算法,也可以从理论上证明算法的有效性,是机器学习中必不可少的一环。本文将会介绍机器学习中常用的数学工具,为后面的学习打下基础。
Francek Chen
2025/01/23
2970
【机器学习基础】机器学习的数学基础
推荐阅读
相关推荐
吴恩达机器学习笔记15-矩阵与向量的乘法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档