对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根据出生日期获得年龄的方法
Mar 31 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
用Python解决x的n次方问题
Feb 08 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
Python爬虫使用代理IP的实现
Oct 27 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
Python LMDB库的使用示例
Feb 14 Python
如何在Python项目中引入日志
May 31 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 iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
PHP简单日历实现方法
2016/07/20 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
Python中return语句用法实例分析
2015/08/04 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
Python实现屏幕截图的两种方式
2018/02/05 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
python配置文件写入过程详解
2019/10/19 Python
Python ORM编程基础示例
2020/02/02 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
自愿离婚协议书范本
2015/01/26 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
2015政治思想表现评语
2015/03/25 职场文书
承诺书范本大全
2015/05/04 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP