对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 11 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
Python处理文本换行符实例代码
Feb 03 Python
python逆序打印各位数字的方法
Jun 25 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
Python实现自动整理文件的脚本
Dec 17 Python
pyspark对Mysql数据库进行读写的实现
Dec 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
用PHP读取IMAP邮件
2006/10/09 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
smarty简单入门实例
2014/11/28 PHP
php读取csc文件并输出
2015/05/21 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
浅析Jquery操作select
2016/12/13 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
Javascript类型判断相关例题及解析
2020/08/26 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
python strip()函数 介绍
2013/05/24 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
python数据封装json格式数据
2018/03/04 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
2013年保送生自荐信格式
2013/11/20 职场文书
女子职高个人自荐书
2014/02/01 职场文书
就职演讲稿范文
2014/05/19 职场文书
国贸专业求职信
2014/06/28 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers