矩阵的乘法、乘积(点积)和softmax函数的溢出
矩阵的乘法比较简单,对应元素分别相乘即可,比如:
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函数的溢出相关推荐
- Python应用:矩阵的乘法—乘积 点乘
Python应用:矩阵的乘法-乘积 & 点乘 1. 矩阵乘积 2. 矩阵点乘 #引入numpy库 import numpy as np#输入矩阵 A=np.array([[1,1],[2,2] ...
- softmax函数上溢出和下溢出(转载+自己理解)
<Deep Learning>(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(ove ...
- 张量t-product积基础 | 循环矩阵与向量乘积的离散傅立叶变换 · 循环矩阵的傅里叶对角化
循环矩阵与向量乘积的离散傅立叶变换 证明过程非常有意思写下来给大家看一下 证明: FAB=(FA(:,1))⊙(FB)FAB=(FA(:,1))\odot(FB) FAB=(FA(:,1))⊙(FB) ...
- Pytorch--动手学深度学习--线性代数(乘积+点积+矩阵向量乘积+矩阵乘积+累加+降维+范数求解)
乘积 x=torch.tensor([1,2,3]) y=torch.tensor([1,2,3]) Hadamard乘积:x*y 即元素对应相乘 点积:torch.dot(x,y) 相当于 torc ...
- 矩阵多种乘法的辨析与python实现
在读文献或科研的过程中总会混淆矩阵的各种乘积,这里基重整理了一下,防止忘记,以备后续查看. 在介绍矩阵乘积之前,先介绍向量乘积. 下面是各种乘积的python实现方式 import numpy as ...
- 矩阵分解 (乘法篇)
引自简书:https://www.jianshu.com/p/0741789ffd06 引言 前面我们在矩阵分解 (加法篇)里面分析的加法下的矩阵分解. 这里我们来看看乘法下矩阵分解的要点. 对角和三 ...
- 矩阵的乘法口诀(二)
今天接着谈矩阵的乘法口诀剩下的部分. 口诀 3. 行向量左乘以A,等于A行作组合:<br> e i e_i ei转置把A乘, i i i行取出便为积: 这句口诀与矩阵 A A A乘以列向 ...
- 【动态规划】矩阵链乘法
矩阵链乘法 求解矩阵链相乘问题时动态规划算法的另一个例子.给定一个n个矩阵的序列(矩阵链)<A1,A2,...,An>,我们希望计算它们的乘积 A1A2...An 为了计算表 ...
- python矩阵乘法算法_Python算法|矩阵链乘法
概述 矩阵乘法是一个满足结合律的运算.显然,对于矩阵A.B.C来说,(AB)C 与 A(BC) 是等价的,我们可以根据自己的心情选择任意的运算顺序,总之,结果都是一样的. 糟糕的是,对计算机来说可不是 ...
最新文章
- 1.arm的linux系统搭建
- UIView及其分类的属性方法定义
- Cloudify — Plugins
- python编程爱心-python画一个玫瑰和一个爱心
- android open source
- ESP32实验板linux环境中下载固件报错解决办法
- Swift之深入解析Key Paths的功能与应用
- python批量打印机excel,python自动化办公系列03_单个以及批量处理excel文件
- MNIST手写数字识别【Matlab神经网络工具箱】
- DM8168 DMM(2)
- Go1.17 这个新特性竟是 6 年前提出来的
- 标准商业计划书大纲模版
- 网络天空、诺维格、高波、爱虫病毒专杀工具 040421 下载
- Android解决手机图片压缩后旋转问题
- Python爬虫初学(3)登陆武汉理工大学教务处
- c 语言打印26个大写字母怎么读,26个大写字母读法
- 编译原理学习之:上下文无关文法(Context-free Grammar)和下推自动机(Push-down automata)
- NOIP2022.11.23模拟赛
- Java基础—数据类型
- BS4爬取电影天堂的下载地址并保存至csv文件
热门文章
- webpack-dev-server --inline --progress --config build/webpack.dev.conf.js 解决办法
- linux运维工程师的面试自我介绍应该怎么说
- 数据分析(2)-pandas
- 主板有电无法启动_主板通电但是启动不了怎么办
- 如何在Vim中删除单行和多行?
- xp系统禁止开机启动服务器,xp系统开机自动启动文件夹怎么办|xp如何关闭开机启动项...
- 基于python的AES,DES随机密钥生成及批量加密
- Python:编码与解码和转义字符
- 解决页面滚动并滚动停止时间问题案例 python 滚动条 页面滚动
- VBA调用Sheet表单中的控件