对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标准库之Sys模块使用详解
May 23 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
给你选择Python语言实现机器学习算法的三大理由
Nov 15 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
TensorFlow自定义损失函数来预测商品销售量
Feb 05 Python
Python学习之time模块的基本使用
Jan 17 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
python munch库的使用解析
May 25 Python
pytorch 实现在测试的时候启用dropout
May 27 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php重定向的三种方法分享
2012/02/22 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
js函数与php函数的区别实例浅析
2015/01/12 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
python实现的解析crontab配置文件代码
2014/06/30 Python
python中文编码问题小结
2014/09/28 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
python的文件操作方法汇总
2017/11/10 Python
python实现的读取网页并分词功能示例
2019/10/29 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
正隆泰信息技术有限公司上机题
2012/06/14 面试题
先进班集体申报材料
2014/12/26 职场文书
努力学习保证书
2015/02/26 职场文书
素质拓展训练感想
2015/08/07 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL