对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中使用pprint函数进行格式化输出的教程
Apr 07 Python
python实现给数组按片赋值的方法
Jul 28 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
Python装饰器用法实例分析
Jan 14 Python
python可视化爬虫界面之天气查询
Jul 03 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
python中p-value的实现方式
Dec 16 Python
Django在Model保存前记录日志实例
May 14 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
python opencv肤色检测的实现示例
Dec 21 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 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
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
JS判断当前日期是否大于某个日期的实现代码
2012/09/02 Javascript
document.createElement()用法
2013/03/13 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
python写一个md5解密器示例
2018/02/23 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
Python短信轰炸的代码
2020/03/25 Python
python打包多类型文件的操作方法
2020/09/21 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
求职信内容考虑哪几点
2013/10/05 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
师恩难忘教学反思
2014/04/27 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
北京颐和园导游词
2015/01/30 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
学校德育工作总结2015
2015/05/11 职场文书
工程款催款函
2015/06/24 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
团组织关系介绍信
2019/06/24 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers