对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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
Python OpenCV获取视频的方法
Feb 28 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
python 字典访问的三种方法小结
Dec 05 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
python中Ansible模块的Playbook的具体使用
May 28 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
python实现对doc、txt、xls等文档的读写操作
Apr 02 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+xslt在windows平台上
2006/10/09 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
python 图片验证码代码分享
2012/07/04 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
python主要用于哪些方向
2020/07/05 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
机电一体化专业应届本科生求职信
2013/09/27 职场文书
高中生学习的自我评价
2013/12/14 职场文书
优秀女职工事迹材料
2014/02/06 职场文书
就业意向协议书
2015/01/29 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫