对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基于PycURL实现POST的方法
Jul 25 Python
Python编程实现正则删除命令功能
Aug 30 Python
windows下python之mysqldb模块安装方法
Sep 07 Python
对pandas处理json数据的方法详解
Feb 08 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Python生成器next方法和send方法区别详解
May 30 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 Python
python playwrigh框架入门安装使用
Jul 23 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
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php使用date和strtotime函数输出指定日期的方法
2014/11/14 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP strip_tags保留多个HTML标签的方法
2016/05/22 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
2014/03/05 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
详解Node使用Puppeteer完成一次复杂的爬虫
2018/04/18 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python分治法求二维数组局部峰值方法
2018/04/03 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Python @property原理解析和用法实例
2020/02/11 Python
Python 面向对象部分知识点小结
2020/03/09 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
大学生毕业自我评价范文分享
2013/11/07 职场文书
高中同学会致辞
2015/08/01 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
7个关于Python的经典基础案例
2021/11/07 Python