对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给文本创立向量空间模型的教程
Apr 23 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
Python格式化日期时间操作示例
Jun 28 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
Python PIL图片添加字体的例子
Aug 22 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
python groupby 函数 as_index详解
Dec 16 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 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
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
PHP的几个常用加密函数
2016/02/03 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
vue.js父子组件通信动态绑定的实例
2018/09/28 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
python读取各种文件数据方法解析
2018/12/29 Python
python+OpenCV实现图像拼接
2020/03/05 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
沙特阿拉伯排名第一的在线时尚购物应用程序:1Zillion
2020/08/08 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
商场促销活动方案
2014/02/08 职场文书
垃圾桶标语
2014/06/24 职场文书
影视广告专业求职信
2014/09/02 职场文书
2014年采购部工作总结
2014/11/20 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL