傻傻分不清楚的点积与矩阵乘法 Part1
off999 2024-10-14 12:13 37 浏览 0 评论
作者:Minkyung Kang
译者:知源觅流
原文链接:https://github.com/mkang32/python-basics/blob/master/numpy/dot_vs_multiply_vs_matmul_vs_at.ipynb
写在前面的话
当我第一次从头实现梯度下降(gradient descent)时,我对在点积(dot product)和矩阵乘法(matrix multiplications)中使用哪种方法感到非常困惑 :是用np.multiply、np.dot还是np.matmul呢?我应该将权重数组(weight array)保留为1D数组还是2D数组?我应该将其保留为行向量还是列向量?因此,我决定调查所有的选择,并提出最佳的方法。
在这个笔记中,我将回顾点积和矩阵乘法是什么,并比较Python和NumPy中的5个不同选项(*、np.multiply、np.dot、np.matmul和@),以了解它们之间的差异。
目录
1.什么是点积?
2.什么是矩阵乘法?
3.NumPy 数组提供哪些功能?
(1) 逐元素乘法:* 和 sum
(2) 逐元素乘法:np.multiply 和 sum
(3) 点积:np.dot
(4) 矩阵乘法:np.matmul
(5) 矩阵乘法:@
4.np.not 和 np.matmul (@) 有什么区别?
5.总结
6.参考文献
1. 什么是点积?
点积是一种代数运算(algebraic operation),它取两个相同大小的向量,并返回一个数字。
代数定义
点积是两个数列中对应项的乘积之和(The dot product is the sum of the products of the corresponding entries of the two sequences of numbers.)。参见Wikipedia(https://en.wikipedia.org/wiki/Dot_product)。
如果 a 和 b 是行矩阵(row matrices),则点积可以写成矩阵积(matrix product)。
例如,如果 ,, 那么它们的点积是
几何定义
在几何上,点积是两个向量的欧几里得幅度和两者之间夹角的余弦的乘积。 从几何角度来说,点积是两个向量的欧几里得模的乘积和两个向量之间的夹角的余弦的乘积(Geometrically, the dot product is the product of the Euclidean magnitudes of two vectors and the cosine of the angle between two. )。参见Wikipedia (https://en.wikipedia.org/wiki/Dot_product)。
请注意,它是基于一个向量在另一个向量方向上的投影的大小。例如,在下图中,A 在 B 方向上的分量是 ∣A∣cosθ。这里,如果 A=(x,y) 并且起始点是原点,则 A 的大小可以由∣ 计算。
(图片来源:https://en.wikipedia.org/wiki/Dot_product)
还要注意,如果两个向量在同一个方向上,,那么它就简单地变成了两个向量大小的乘积:。另一方面,如果两个向量垂直,,则整个点积变为0。
真实世界的例子
那么点积对我们来说到底意味着什么呢?我们如何在现实生活中使用它? 想象一下你在一家杂货店。你想买一个苹果,两个桔子和三个香蕉。单价分别为$1、$2和$0.5。
(图片来源:https://www.thestar.com/life/food_wine/2013/11/04/apples_oranges_or_bananas_which_fruit_is_nutritionally_the_best.html)
您可以定义项目数量向量(a)和单价向量(b)。
总成本将是两个向量量的点积:
荟萃知识,滋养你我。
相关推荐
- 手机迅雷ios老版本直装(手机迅雷ios旧版下载beta)
-
IOS用很多软件都能替代迅雷,就算迅雷不能使用的话,也可以使用其他的软件来代替,软件的种类也是非常多的。可以先下载一个第三方助手,然后尝试一下能不能把迅雷下载下来,大多数情况下,下载一个第三方助手就可...
- 可以和虚拟人物聊天的软件(可以和虚拟人物聊天的软件,用QQ直接登陆)
-
在火星App中与多个虚拟人物对话,其实是一个相当有趣且简单的体验。首先,你需要确保已经下载并安装了火星App,并打开它。接着,在App的界面中,你可以找到虚拟人物的选项。点击进去后,你会看到多个虚拟人...
- 三年片在线观看免费大全电影
-
第一位:极限影音这是中国第一家免费电影网站。虽然域名有点难记,但它在很多免费电影网站上都有很好的服务。这是个好名声。你可以在这里得到最快和最新的免费电影。第二位:007免费在线电影这个网站是一个很好的...
- 旧版qq(旧版qq豌豆荚)
-
手机QQ软件好多更新都不好用,可能是刚开始不稳定。建议用回旧版本先。你可以打开QQ主页,然后按软件QQ下载,里面有个链接是旧版本下载的,点开下载你以前的版本就可以了 一、检查qq版本是否过于陈旧...
- 湖南卫视直播在线观看高清电视台
-
1.解锁手机,找到桌面上的央视频APP,打开。2.进入主页面后,点击页面底部的“电视”选项。3.进入电视页面后,默认显示的是CCTV的频道,上方切换到“卫视”频道。4.在打开的卫视图标中我们就...
-
- rar解压软件官网(rar解压器官方免费下载)
-
winrar是解压软件。你没有安装winrar,所以打不开用winrar加压的软件。在网上下载个安装后就能用了。去安装解压软件啊,网上到处都有,直接在网上搜索就可以,软件下好后安装,将其设置在右键中,以后右键单击就可以解压相应winrar文...
-
2026-01-23 09:43 off999
- 音频编辑转换器(音频编辑转换器怎么用)
-
高转低音频转换器接法是指将一种信号转换成另一种信号的装置。信号是信息存在的形式或载体。在自动化仪表设备和自动控制系统中,常将一种信号转换成另一种与标准量或参考量比较后的信号,以便将两类仪表联接起来,因...
- 安卓游戏中心下载安装(安卓游戏中心app)
-
格来云游戏、Nibiru游戏城、快游戏、蟋蟀游戏大厅、石头游戏。以上app资源丰富,且支持外设连接,更新及时。1、格来云游戏:格来云游戏是动视云科技开发的APP,格来云不依赖玩家的电脑性能和储存,连...
- 正当防卫3手游下载(正当防卫三正版下载)
-
通过QQ浏览器,或者应用商店下载即可。华为手机上下载《正当防卫4》(JustCause4)的方法如下:方法一:使用华为应用市场(华为AppGallery)1.打开华为应用市场。2.在搜索框中输...
- 可以免费下载所有歌曲的网站
-
一、http://51Ape.Com一个免费提供无损音乐下载的网站,专注于Ape音乐、Flac音乐以及Wav等各类高品质无损音乐的免费下载,是目前国内比较好的免费音乐下载网站。二、91听歌网提供无损音...
- 龙珠斗士z手游版下载(龙珠斗士z手游版下载ios)
-
召唤神龙,实现愿望。龙珠z斗士中只要集齐七颗龙珠就可以召唤出神龙,来实现自己的愿望。在漫画动画各类手游中都是这样首先进入游戏主界面,点击“斗士”按钮进入选角界面,在选角界面中选择你要使用的角色并确认...
- 可以手动插人物的游戏手游(可以手动插人物的游戏手游app)
-
在手游对局中,左上角有一个开关,可切换手动开火和自动开火,切换到自动开火后,准星描到敌方人物即会自动开火。当然,并不是所有模式中都有自动开火开关,是特定的一些模式有该开关,比如挑战模式、刀战模式等。另...
- 手机铃声最好听的歌(手机铃声最好听的歌曲有哪些)
-
Everythingisnotwhatitseems超喜欢这首的,绝对不会撞见跟你铃声一样的Push艾薇儿的新歌,很好听,也很适合做铃声Foreverandalways钢琴版副歌部分很好听布兰妮的3也...
- 千千静听官网(十大免费音乐网站)
-
千千静听起源于2002年,千千静听是一款完全免费的音乐播放软件,集播放、音效、转换、歌词等众多功能于一身。其小巧精致、操作简捷、功能强大的特点,深得用户喜爱,被网友评为中国十大优秀软件之一,并且成为目...
- 成品ppt网站国外(免费生成ppt的网站)
-
免费ppt成品怎么下载?不确定您要下载哪类的ppt。如果想要下载初中语文课件的话,免费成品ppt可以通过无忧无虑中学语文网下载,上面按照年级,教材版本分门别类的课件资源,教案参考,还有相应的练习题,甚...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
linux软件(linux软件图标)
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
