对Python 中矩阵或者数组相减的法则详解


Posted in Python onAugust 26, 2019

最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下:

定义了一个计算损失的函数:

def error(yhat,label):
 yhat = np.array(yhat)
 label = np.array(label)
 error_sum = ((yhat - label)**2).sum()
 return error_sum

主要出现问题的是 yhat - label 部分,要强调的是一定要保证两者维度是相同的!这点很重要,否则就会按照python的广播机制进行运算,举个例子:

a = np.array([1,2,3])
a0 = np.array([[1],[2],[3]])
b = np.array([2,3,5,])
print(b-a)
print(b-a0)

这里a的维度是(3,),因为是由列表转化成的数组(当然不是很推荐这种维度,因为很容易犯错),a0的维度是(3,1),b的维度是(3,),a与b的维度相同,在计算b-a的时候,结果显而易见:

对Python 中矩阵或者数组相减的法则详解

b - a0 的结果:

对Python 中矩阵或者数组相减的法则详解

产生这种结果的原因是因为由于维度不同,在计算的时候将b变为了与a0同样的3行的数组,变化后b的维度变为了(3,3),等同于如下的计算:

b = np.array([[2,3,5],
    [2,3,5],
    [2,3,5]])
a0 = np.array([[1],
    [2],
    [3]])
b - a0

结果仍然为:

对Python 中矩阵或者数组相减的法则详解

以上这篇对Python 中矩阵或者数组相减的法则详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解析xml文件实例分享
Dec 04 Python
下载给定网页上图片的方法
Feb 18 Python
python使用calendar输出指定年份全年日历的方法
Apr 04 Python
简单介绍Python中的len()函数的使用
Apr 07 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
Python基于xlrd模块处理合并单元格
Jul 28 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
Numpy 中的矩阵求逆实例
Aug 26 #Python
利用python-docx模块写批量生日邀请函
Aug 26 #Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 #Python
Python 如何提高元组的可读性
Aug 26 #Python
Python使用python-docx读写word文档
Aug 26 #Python
Python Subprocess模块原理及实例
Aug 26 #Python
python自动循环定时开关机(非重启)测试
Aug 26 #Python
You might like
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
JS数学函数Exp使用说明
2012/08/09 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
AngularJS快速入门
2015/04/02 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
JS平滑无缝滚动效果的实现代码
2016/05/06 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
python发腾讯微博代码分享
2014/01/10 Python
Python操作MongoDB详解及实例
2017/05/18 Python
Django模板变量如何传递给外部js调用的方法小结
2017/07/24 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
python-numpy-指数分布实例详解
2019/12/07 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
详解Python中的文件操作
2021/01/14 Python
Python用requests库爬取返回为空的解决办法
2021/02/21 Python
市场开发与营销专业求职信
2013/12/31 职场文书
小学新学期教师寄语
2014/01/18 职场文书
高中运动会入场词
2014/02/14 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
重温入党誓词主持词
2015/06/29 职场文书
五一晚会主持词
2015/07/01 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
Django实现翻页的示例代码
2021/05/24 Python
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技