矩阵的乘法比较简单,对应元素分别相乘即可,比如:

a1=np.array([1,2])
a2=np.array([3,5])
a3=np.array([[1,2],[3,4]])
[[1,2],
[3,4]]
a4=np.array([[2,3],[5,6]])
[[2,3],
[5,6]]乘法运算
a1*a2
array([ 3, 10])a3*a4
array([[ 2,  6],[15, 24]])a1*a4
array([[ 2,  6],[ 5, 12]])

一般来说矩阵的乘积(也叫点积)使用的比较多,矩阵的乘积在神经网络里面非常常见且很重要,所以数组的相关属性需要非常熟悉,比如形状(shape),维度(ndim)等
两个数组能否做点积运算,需要查看形状对应维度的元素个数是否一致,不一致就会报错,比如2x3的形状和3x2的形状的数组就可以进行乘积运算,因为第一个矩阵的列和第二个矩阵的行的数量是一样的,点积之后的形状取决于第一个矩阵的行和第二个矩阵的列,具体点积的结果如下图:


只要符合上述条件,矩阵和一维数组(广播效果)也是可以进行点积的运算!

附带softmax函数简单介绍下,比如获取一个输出神经元的值的公式,其中分子是它的指数函数,分母是指数函数的和

因为指数函数值很大,很容易就发生溢出,经过变换(分子分母乘以一个常数)之后的第二个公式,可以防止溢出的发生

softmax函数的值区间是在0到1,还有一个特点就是输出的和的值是1,所以可以作为概率来使用

其中上述代码有map和list的转换,如果没有的话,因为输出是数组不能直接格式化,会报类型错误,需要map进行映射再做类型转换

print('概率:'+'{:.2%}'.format(softmax(dog)))
TypeError: unsupported format string passed to numpy.ndarray.__format__

map函数是map(func, *iterables),通过第一个参数的函数来进行迭代处理,如:

def m(x):return x+100
print(list(map(m,[22,3,50])))[122, 103, 150]

也可以使用lambda表达式来表示匿名函数:

print(list(map(lambda x:x+100,[22,3,50])))
[122, 103, 150]

矩阵的乘法、乘积(点积)和softmax函数的溢出相关推荐

  1. Python应用:矩阵的乘法—乘积 点乘

    Python应用:矩阵的乘法-乘积 & 点乘 1. 矩阵乘积 2. 矩阵点乘 #引入numpy库 import numpy as np#输入矩阵 A=np.array([[1,1],[2,2] ...

  2. softmax函数上溢出和下溢出(转载+自己理解)

    <Deep Learning>(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(ove ...

  3. 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化

    循环矩阵与向量乘积的离散傅立叶变换 证明过程非常有意思写下来给大家看一下 证明: FAB=(FA(:,1))⊙(FB)FAB=(FA(:,1))\odot(FB) FAB=(FA(:,1))⊙(FB) ...

  4. Pytorch--动手学深度学习--线性代数(乘积+点积+矩阵向量乘积+矩阵乘积+累加+降维+范数求解)

    乘积 x=torch.tensor([1,2,3]) y=torch.tensor([1,2,3]) Hadamard乘积:x*y 即元素对应相乘 点积:torch.dot(x,y) 相当于 torc ...

  5. 矩阵多种乘法的辨析与python实现

    在读文献或科研的过程中总会混淆矩阵的各种乘积,这里基重整理了一下,防止忘记,以备后续查看. 在介绍矩阵乘积之前,先介绍向量乘积. 下面是各种乘积的python实现方式 import numpy as ...

  6. 矩阵分解 (乘法篇)

    引自简书:https://www.jianshu.com/p/0741789ffd06 引言 前面我们在矩阵分解 (加法篇)里面分析的加法下的矩阵分解. 这里我们来看看乘法下矩阵分解的要点. 对角和三 ...

  7. 矩阵的乘法口诀(二)

    今天接着谈矩阵的乘法口诀剩下的部分. 口诀 3. 行向量左乘以A,等于A行作组合:<br> e i e_i ei​转置把A乘, i i i行取出便为积: 这句口诀与矩阵 A A A乘以列向 ...

  8. 【动态规划】矩阵链乘法

    矩阵链乘法    求解矩阵链相乘问题时动态规划算法的另一个例子.给定一个n个矩阵的序列(矩阵链)<A1,A2,...,An>,我们希望计算它们的乘积  A1A2...An    为了计算表 ...

  9. python矩阵乘法算法_Python算法|矩阵链乘法

    概述 矩阵乘法是一个满足结合律的运算.显然,对于矩阵A.B.C来说,(AB)C 与 A(BC) 是等价的,我们可以根据自己的心情选择任意的运算顺序,总之,结果都是一样的. 糟糕的是,对计算机来说可不是 ...

最新文章

  1. 1.arm的linux系统搭建
  2. UIView及其分类的属性方法定义
  3. Cloudify — Plugins
  4. python编程爱心-python画一个玫瑰和一个爱心
  5. android open source
  6. ESP32实验板linux环境中下载固件报错解决办法
  7. Swift之深入解析Key Paths的功能与应用
  8. python批量打印机excel,python自动化办公系列03_单个以及批量处理excel文件
  9. MNIST手写数字识别【Matlab神经网络工具箱】
  10. DM8168 DMM(2)
  11. Go1.17 这个新特性竟是 6 年前提出来的
  12. 标准商业计划书大纲模版
  13. 网络天空、诺维格、高波、爱虫病毒专杀工具 040421 下载
  14. Android解决手机图片压缩后旋转问题
  15. Python爬虫初学(3)登陆武汉理工大学教务处
  16. c 语言打印26个大写字母怎么读,26个大写字母读法
  17. 编译原理学习之:上下文无关文法(Context-free Grammar)和下推自动机(Push-down automata)
  18. NOIP2022.11.23模拟赛
  19. Java基础—数据类型
  20. BS4爬取电影天堂的下载地址并保存至csv文件

热门文章

  1. webpack-dev-server --inline --progress --config build/webpack.dev.conf.js 解决办法
  2. linux运维工程师的面试自我介绍应该怎么说
  3. 数据分析(2)-pandas
  4. 主板有电无法启动_主板通电但是启动不了怎么办
  5. 如何在Vim中删除单行和多行?
  6. xp系统禁止开机启动服务器,xp系统开机自动启动文件夹怎么办|xp如何关闭开机启动项...
  7. 基于python的AES,DES随机密钥生成及批量加密
  8. Python:编码与解码和转义字符
  9. 解决页面滚动并滚动停止时间问题案例 python 滚动条 页面滚动
  10. VBA调用Sheet表单中的控件