对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 相关文章推荐
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
python实现烟花小程序
Jan 30 Python
python函数与方法的区别总结
Jun 23 Python
Python 复平面绘图实例
Nov 21 Python
Python urlopen()和urlretrieve()用法解析
Jan 07 Python
python如何通过pyqt5实现进度条
Jan 20 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
django配置app中的静态文件步骤
Mar 27 Python
jupyter notebook实现显示行号
Apr 13 Python
Python控制台实现交互式环境执行
Jun 09 Python
keras:model.compile损失函数的用法
Jul 01 Python
python中spy++的使用超详细教程
Jan 29 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实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
[09:37]2018DOTA2国际邀请赛寻真——不懈追梦的Team Serenity
2018/08/13 DOTA
Python性能优化技巧
2015/03/09 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
Django实现文件上传下载功能
2019/10/06 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
canvas实现俄罗斯方块的方法示例
2018/12/13 HTML / CSS
Aosom西班牙:家具在线商店
2020/06/11 全球购物
市场部规章制度
2014/01/24 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
小学语文业务学习材料
2014/06/02 职场文书
环保标语口号
2014/06/13 职场文书
员工团队活动方案
2014/08/28 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
图神经网络GNN算法
2022/05/11 Python