各种乘法的区别 “点积、外积、数乘...等

article/2025/7/20 6:05:28

I've seen several conventions, including ⋅⋅, ∘∘, ∗∗, ⊗⊗, and ⊙⊙. However, most of these have overloaded meanings (see http://en.wikipedia.org/wiki/List_of_mathematical_symbols).

Thus, in my personal experience, the best choice I've found is:

⊙(\odot) -- to me the dot makes it look naturally like a multiply operation (unlike other suggestions I've seen like ⋄⋄) so is relatively easy to visually parse, but does not have an overloaded meaning as far as I know.
Also:

This question comes up often in multi-dimensional signal processing, so I don't think just trying to avoid vector multiplies is an appropriate notation solution. One important example is when you map from discrete coordinates to continuous coordinates by x=i⊙Δ+bx=i⊙Δ+b where ii is an index vector, ΔΔ is sample spacing (say in mm), bb is an offset vector, and xx is spatial coordinates (in mm). If sampling is not isotropic, then ΔΔ is a vector and element-wise multiplication is a natural thing to want to do. While in the above example I could avoid the problem by writing xk=ikΔk+bkxk=ikΔk+bk, having a symbol for element-wise multiplication lets us mix and match matrix multiplies and elementwise multiplies, for example y=A(i⊙Δ)+by=A(i⊙Δ)+b.
Another alternative notation I've seen for z=x⊙yz=x⊙y for vectors is z=z= diag(x)y(x)y. While this technically works for vectors, I find the ⊙⊙ notation to be far more intuitive. Furthermore, the "diag" approach only works for vectors -- it doesn't work for the Hadamard product of two matrices.
Often I have to play nicely with documents that other people have written, so changing the overloaded operator (like changing dot products to 〈⋅,⋅〉〈⋅,⋅〉 notation) often isn't an option, unfortunately.
Thus I recommend ⊙, as it is the only option I have yet to come across that has seems to have no immediate drawbacks.

numpy中矩阵乘法,星乘(*)和点乘(.dot)的区别(对应元素相乘 element-wise product: np.multiply(), 或 *)

import numpy
a = numpy.array([[1,2],[3,4]])
b = numpy.array([[5,6],[7,8]])a*b
>>>array([[ 5, 12],[21, 32]])a.dot(b)
>>>array([[19, 22],[43, 50]])numpy.dot(a,b)
>>>array([[19, 22],[43, 50]])numpy.dot(b,a)
>>>array([[23, 34],[31, 46]])

总结:

星乘表示矩阵内各对应位置相乘,矩阵a*b下标(0,0)=矩阵a下标(0,0) x 矩阵b下标(0,0);

点乘表示求矩阵内积,二维数组称为矩阵积(mastrix product)。

用文字表述:

所得到的数组中的每个元素为,第一个矩阵中与该元素行号相同的元素与第二个矩阵与该元素列号相同的元素,两两相乘后再求和。

文字难以理解,直接上图:

综上所述,二维矩阵a*b下标(0,1)=矩阵a下标(0,) x 矩阵b下标(,1)

补充:

一维矩阵下标

[(0),(1),(2),(3)]

二维矩阵下标

[[(0,0),(0,1),(0,2),(0,3)],[(1,0),(1,1),(1,2),(1,3)],[(2,0),(2,1),(2,2),(2,3)],[(3,0),(3,1),(3,2),(3,3)]]

 


http://chatgpt.dhexx.cn/article/x3gIvxPG.shtml

相关文章

06 ,矩阵的运算:加法运算,数乘,矩阵乘向量,矩阵相乘

1 ,矩阵计算 : 加法运算 前提 : 必须同型矩阵之间才可以进行加法运算运算 : 两个 m * n 矩阵相加总结 : 对应元相加 2 ,矩阵计算 : 数乘 计算规则 : 3 ,矩阵计算 &…

7.进入线性代数的奇妙世界:向量的乘法之数乘

向量的乘法有3种,一是数乘,二是点积,三是叉积。听起来名称有点陌生,别急,接下来一一道来,先讲数乘。 数乘,就是用数字乘以一个向量,或用向量乘以一个数字,两者之间结果相…

【图像特征提取】基于脉冲耦合神经网络(PCNN)实现图像特征提取含Matlab源码

1 简介 脉冲耦合神经网络(PCNN——Pulse Coupled Neural Network),由于其非常接近人类大脑的生物神经网络的特性,现已广泛应用在图像处理中,是一种重要的信息处理工具,具有优良的自适应图像分割和自适应特征提取能力。…

CRCNN PCNN

目录 论文阅读前期准备前期知识储备学习目标 论文导读论文研究背景、成果及意义论文泛读论文结构摘要 论文精读CRCNN模型PCNN模型论文总结 论文阅读前期准备 前期知识储备 学习目标 论文导读 论文研究背景、成果及意义 回顾 Bootstrapping 远程监督 多示例学习 分类损失…

传统PCNN算法python实现

传统耦合神经网络(pcnn)算法的实现(python): 参数的设定没有具体参考,这是一篇文献中的解释: # coding:utf-8 # from PIL import Image from pylab import * from scipy import signal as sg…

关系抽取远程监督PCNN:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks 0 前言1 多示例学习2 数据集3 模型架构3.1 向量表示3.2 卷积、分段最大池化与分类3.3 样本选择与损失 5 结语6 参考资料 0 前言 远程监督(distant supervision&#xff…

脉冲耦合神经网络(PCNN)的python实现

前言 看了很多人用matlab写的网络,竟然没有python代码。作为正在研究PCNN模型的一名学生,必须安排。 数学模型 打公式太麻烦,直接从截图啦,全连接模型,如下图1。 python代码 """ Created on Sun Jun 6 16:48:38 2021PCNN全连接 """ impor…

pytorch关系抽取框架OpenNRE源码解读与实践:PCNN ATT

pytorch关系抽取框架OpenNRE源码解读与实践:PCNN ATT 0 前言1 OpenNRE整体架构2 PCNNATT 模型架构2.1 PCNN Encoder2.2 Bag Attention 结语参考资料 0 前言 OpenNRE是清华大学推出的开源关系抽取框架,针对命名实体识别,句子级别的关系抽取&a…

【MATLAB图像融合】[14]PCNN脉冲耦合神经网络代码分享

本代码转自厦门大学屈小波教授15年的DEMO代码。 % Demo for PCNN in image processing % --------- % Author: Qu Xiao-Bo <qxb_xmu [at] yahoo.com.cn> Aug.28,2008 % Postal address: % Rom 509, Scientific Research Building # 2,Haiyun Campus, Xi…

PCNN探究实验

1.常规PCNN&#xff0c;采用kin的连接权矩阵&#xff0c;并固定参数beta 0.2 alph 0.22 Ve 50 周期为15 初次迭代&#xff0c;图像信息熵最大&#xff0c;但效果不是最好的&#xff0c;在周期临界位置的不同迭代次数有不同的分割效果&#xff0c;第11次迭代效果最好。 因此…

脉冲耦合神经网络(PCNN)的matlab实现

基本脉冲耦合神经网络的matlab实现 Gray 首先发现了猫的初生视觉皮层有神经激发相关振荡现象&#xff0c;并将其研究结果发在了 Nature 杂志上。与此同时&#xff0c; Eckhom 也根据猫的大猫皮层的同步脉冲发放现象&#xff0c;提出了脉冲发现的连接模式&#xff0c;将开拓性地…

【MATLAB图像融合】[18]双通道PCNN模型实现图像融合

引言 简单回顾一下以往的单通道PCNN模型&#xff0c;原理与实现步骤&#xff1a; 13、单通道PCNN原理 14、单通道PCNN融合代码实现 一、单通道PCNN 图1 单通道PCNN&#xff1a; 在单通道PCNN中&#xff0c;对于一个神经元的一次迭代过程正如图1描述&#xff1a; ①、F&#…

PCNN

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks 1. 关键字 关系抽取&#xff0c;远程监督 2. 摘要 本文提出了PCNNs&#xff0c;用来解决远程监督关系抽取中的两个问题&#xff1a;一个是在对齐知识图谱时的错误标注问题&#xff0…

【NLP】基于神经网络PCNN(Piece-Wise-CNN)的关系抽取模型

背景 关系抽取是信息抽取的基本任务之一&#xff0c;对于知识库的构建以及文本的理解十分重要&#xff0c;在自然语言处理的一些任务&#xff0c;如问答&#xff0c;文本理解等得到了广泛的应用。 这里介绍的关系抽取主要指的是实体之间的关系抽取&#xff0c;实体是之前NER任…

PCNN 脉冲耦合神经网络整理

PCNN 脉冲耦合神经网络 脉冲耦合神经元模型 神经元的输入有哪些&#xff1f; 首先来看看这个神经元的图示的左边&#xff0c;有 Y Y Y和 F F F。 Y Y Y为这个神经元之前输出的数值&#xff0c;就是说这个模型需要进行多次的运算&#xff0c;每次的运算需要上一次运算的值来做…

关系抽取之分段卷积神经网络(PCNN)

文章目录 远程监督PCNN关系抽取PCNN方法论向量表达卷积层分段最大池化层Softmax层多实例学习 Reference Tensorflow2.2实现&#xff0c;见github仓库。 远程监督 关系抽取训练集标注成本高&#xff0c;一般使用远程监督方法&#xff08;半监督&#xff09;自动标注数据。远程监…

脉冲耦合神经网络(PCNN)阅读笔记

摘要 本文采用高级视觉模型来描述灵长类视觉系统中的信息传递和连接。信息链接方案&#xff0c;如状态相关模块化和时间同步&#xff0c;被视为视觉系统使用期望组合信息的方法&#xff0c;以填充缺失信息和删除不需要的信息。研究了使用基于生理学理论模型的链接方法结合当前…

PCNN的知识抽取

PCNN是一个结构简单的CNN网络, 它最初被用于在已知实体对位置时, 辨别实体对关系的网络. 上图是论文里带的PCNN结构图. PCNN的输入由两部分构成, 一部分是词本身的词向量word, 另一部分是词相对于实体词的位置信息position. PCNN优秀的地方就在于加入了位置信息, 具体如下: 1.…

基于PCNN脉冲耦合神经网络的图像分割

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 脉冲耦合神经网络&#xff08;PCNN-Pulse Coupled Neural Network&#xff09;与传统神经网络相比&#xff0c;有着根本的不同。PCNN有生物学的背景&#xff0c;它是依据猫、猴等动物的大脑皮层上…

【MATLAB图像融合】[13]PCNN脉冲耦合神经网络基本原理

→这是一篇学习笔记。 →但考虑要发出来&#xff0c;还是排版了&#xff0c;请放心食用。 PCNN在图像融合中应用广泛 1、脉冲耦合的神经元之间有有耦合和无耦合两种形式。&#xff0c;有耦合的神经元之间存在能量传播&#xff0c;产生同步脉冲发放&#xff0c;从而将输入相似的…