当前位置: 首页 > news >正文

点积、内积与哈达玛积详解

文章目录

    • 一、点积(Dot Product)
      • 1. 数学定义
      • 2. 几何意义
    • 二、内积(Inner Product)
      • 1. 概念与区别
      • 2. 几何意义
    • 三、哈达玛积(Hadamard Product)
      • 1. 数学定义
      • 2. 与矩阵乘法的区别
    • 📚 参考资料

一、点积(Dot Product)

1. 数学定义

点积通常是指两个向量之间的乘积,定义为对应元素相乘再求和:

a⋅b=∑i=1naibi\mathbf{a} \cdot \mathbf{b} = \sum_{i=1}^{n} a_i b_iab=i=1naibi

例如:

a=[1,2,3],b=[4,5,6]\mathbf{a} = [1, 2, 3], \quad \mathbf{b} = [4, 5, 6]a=[1,2,3],b=[4,5,6]

则:

a⋅b=1×4+2×5+3×6=32\mathbf{a} \cdot \mathbf{b} = 1\times4 + 2\times5 + 3\times6 = 32ab=1×4+2×5+3×6=32

2. 几何意义

点积与两向量的夹角有关:

a⋅b=∣a∣∣b∣cos⁡(θ)\mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| |\mathbf{b}| \cos(\theta)ab=a∣∣bcos(θ)

这意味着:

  • 当两向量方向相同(θ=0°),点积最大;
  • 当两向量垂直(θ=90°),点积为 0;
  • 当两向量方向相反(θ=180°),点积为负。

这一定义在深度学习中非常重要,例如在计算向量相似度(cosine similarity)时就直接使用点积。


二、内积(Inner Product)

1. 概念与区别

内积是一个比点积更广义的概念。

在欧几里得空间中,内积与点积等价

但在更一般的空间(例如复数空间或函数空间)中,内积可以是更复杂的定义。

数学上定义为:

⟨a,b⟩=aTb\langle \mathbf{a}, \mathbf{b} \rangle = \mathbf{a}^T \mathbf{b}a,b=aTb

2. 几何意义

内积保持了正定性对称性的性质,是定义“长度”和“角度”的基础。例如:

∣a∣=⟨a,a⟩|\mathbf{a}| = \sqrt{\langle \mathbf{a}, \mathbf{a} \rangle}a=a,a

在深度学习中,虽然我们通常处理实数空间,因此“点积”与“内积”经常被混用,但在更高级的数学定义中,内积是一种广义的点积


三、哈达玛积(Hadamard Product)

1. 数学定义

哈达玛积是两个矩阵(或向量)按元素相乘(element-wise multiplication)的结果。

记作:

A⊙B=[aijbij]\mathbf{A}\odot\mathbf{B}=[a_{ij}b_{ij}]AB=[aijbij]

例如:

A=[1234],B=[5678]\mathbf{A} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}, \quad \mathbf{B} = \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} A=[1324],B=[5768]

则:

A⊙B=[1×52×63×74×8]=[5122132]\mathbf{A} \odot \mathbf{B} = \begin{bmatrix} 1 \times 5 & 2 \times 6 \\ 3 \times 7 & 4 \times 8 \end{bmatrix} = \begin{bmatrix} 5 & 12 \\ 21 & 32 \end{bmatrix} AB=[1×53×72×64×8]=[5211232]

下边是百度百科定义:

2. 与矩阵乘法的区别

运算记号定义结果维度
矩阵乘法A @ B行乘列再求和取决于维度匹配
哈达玛积A * B(或 A ⊙ B对应元素相乘与原矩阵同维度

在 Python 的 NumPy 中:

import numpy as npA = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])# 哈达玛积
hadamard = A * B  # [[5, 12], [21, 32]]# 矩阵乘法,两个两行两列矩阵相乘
matmul = A @ B  # [[19, 22], [43, 50]] 

📚 参考资料

  • 点积
  • 内积空间
  • 哈达玛积

http://www.dtcms.com/a/516627.html

相关文章:

  • 杭州模板建站2022注册公司取名
  • 政务网站建设论文西地那非片吃了多久会硬起来
  • 金融杠杆全解析:从铁矿期货保证金计算到期权盈亏分析
  • 【工具变量】绿色金融改革创新试验区DID数据集(2000-2024年)
  • Prometheus:从概述到部署
  • 32.768khz音叉式圆柱型贴片晶振CMR200T
  • ROS2创建Python与C++功能包指南以及什么是节点(ros2第一章)
  • wordpress可以建网站吗电子商务网站建设 教案
  • vr中xr射线长度调整
  • 怎样做微信挂机平台网站建设公司的网站首页
  • 【Go】P11 掌握 Go 语言函数(二):进阶玩转高阶函数、闭包与 Defer/Panic/Recover
  • 无奈!我用go写了个MySQL服务
  • 重庆网站建设业务招聘网站推广方式主要通过
  • GaussDB 数据集成方案:ETL 工具如何简化企业上云过程
  • 如何解决 pip install 安装报错 externally-managed-environment(PEP 668)问题
  • 相向双指针|两数之和II-输入有序数组|三数之和|统计和小于目标的下标对数目|最接近的三数之和|四数之和|有效三角形的个数
  • ffmpeg4.4.2 gcc 15.2.0 编译错误
  • 免费的大语言模型API接口
  • css3 学习笔记
  • 高水平的网站建设南昌做个网站多少钱
  • 宁夏建设工程质量安全监督总网站wordpress发送文章链接过期
  • Vscode 如何配置远程环境的 ssh 连接
  • 昆明参差网站开公司建网站
  • 专业点的网站制作公司建设一个公司网站需要什么条件
  • Mybatis-Spring重要组件介绍
  • 【ROS2】行为树 BehaviorTree(十):行为树节点注册、动态加载过程详解
  • MapperMethod中的SqlCommand和MethodSignature
  • 代码随想录Day55|108. 冗余连接、109. 冗余连接II
  • 最简单的方式做最系统的教学【计算机组成入门到入土】计组核心:一篇文章搞定指令格式与所有寻址方式
  • 30.redis消息队列