对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中使用成员运算符的示例
May 13 Python
Windows下实现Python2和Python3两个版共存的方法
Jun 12 Python
Python二叉搜索树与双向链表转换实现方法
Apr 29 Python
Python中str.format()详解
Mar 12 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
Django实现表单验证
Sep 08 Python
python实现windows壁纸定期更换功能
Jan 21 Python
python算法题 链表反转详解
Jul 02 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
5行Python代码实现一键批量扣图
Jun 29 Python
Python中的 enumerate和zip详情
May 30 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
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
python画折线图的程序
2018/07/26 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python list和str互转的实现示例
2020/11/16 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
幼儿园元旦活动感言
2014/03/02 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
扬尘污染防治方案
2014/06/15 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
邀请函范文
2015/02/02 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
详解Python中__new__方法的作用
2022/03/31 Python
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS