计算机存储精度引起的模型数值问题

引起数学模型数值问题的原因有很多种,例如前面的文章《约束系数的四舍五入引起的模型数值问题》提到,对约束系数的四舍五入,会损失一定的系数精度信息,导致约束面发生一定的偏移,这种偏移无论多么轻微,都有可能导致问题求解结果出现较大差异,但这种情况是我们能够通过避免四舍五入而减少的,还有一种情况也是由于精度缺失引起的,但这种情况在很多时候一不注意很容易忽视。

我们先来看几个例子:

if 1 == 1+1e-16:print("Equality")
else:print("Inequality")

输出:

Equality

惊奇的是,尽管等式两边不相等,但python在判断时结果出错,这是极小值存在的误差,那我们再来看一个例子:

if 1e16 == 1+1e16:print("Equality")
else:print("Inequality")

输出仍然为:

Equality

说明了这种精度的损失并不只出现在极小值身上,也出现在极大值身上,关键是在于当极小值和极大值同时出现时,相对小的数值就可能在这个过程中被忽略,从而造成等式关系的误判,而仅仅是等式关系的误判,会衍生出大量复杂的问题,例如:

if (1+1e-16)+1e-16 == 1+(1e-16+1e-16):print("Equality")
else:print("Inequality")

输出结果为:

Inequality

类似的,既然忽视数值精度会导致原本不相等的两个关系式相等,衍生地也会导致原本相等的两个关系式不相等。上面的例子由于前面的括号先计算,损失了 1 e − 16 1e-16 1e16,再加上 1 e − 16 1e-16 1e16,此时相当于还是等于 1,而后面的公式相当于 1 + 2 ∗ 1 e − 16 1+2*1e-16 1+21e16,此时后者达到了存储精度,并不会损失这部分信息, 1 + 2 ∗ 1 e − 16 > 1 1+2*1e-16\gt 1 1+21e16>1

当要表征较大值或极小值时,计算机需要用更多位数的信息来记录精度,但这在一定程度上会降低运算效率,因此,很多时候在不声明精度范围时,python或者求解器会有一个默认的极小值范围,例如python默认在逻辑运算式当中, 1 e − 16 1e-16 1e16是一个边界量会被忽视,而 1 e − 15 1e-15 1e15不被忽视。因此,需要考虑到由于存储精度引起的模型数值问题,常见的思路是尽量避免一个模型当中同时出现两个量级相差悬殊的数值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python图像二值化处理

目录 1、双峰法 2、P参数法 3、迭代法 4、OTSU法 图像的二值化处理是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。二值化是图像分割的一种最简单的方法,可以把灰度图像转换成二值图像。具体实现是将大…

云原生之深入解析K8S 1.27新特性如何简化状态服务跨集群平滑迁移

一、背景 Kubernetes v1.26 为 StatefulSet 引入了一个新的 Alpha 级别特性,可以控制 Pod 副本的序号。从 Kubernetes v1.27 开始,此特性进级到 Beta 阶段。序数可以从任意非负数开始, 那么该如何使用此功能呢?StatefulSet 序号为…

剑指 Offer(第2版)面试题 38:字符串的排列

剑指 Offer(第2版)面试题 38:字符串的排列 剑指 Offer(第2版)面试题 38:字符串的排列解法1:回溯扩展题一:LeetCode 46. 全排列扩展题二:LeetCode 47. 全排列 II 剑指 Off…

C# WPF上位机开发(ExtendedWPFToolkit扩展包使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 虽然个人认为当前的c# wpf内容已经足够多,但是肯定还是有很多个性化的需求没有满足。比如说不够好看,比如说动画效果不好&a…

解决ZooKeeper中/rmstore无法删除问题

无法删除znode /rmstore的原因在于yarn在注册时候候自己添加上ACL,导致无法直接删除。解决办法:重新设置ACL。 首先,查看ACL:getAcl /rmstore/ZKRMStateRoot 之后,重新设置ACL:setAcl /rmstore/ZKRMState…

【重点】【回溯】【DFS】79.单词搜索

题目 注意:此题跟岛屿的数量对比来看,增加了回溯的过程,岛屿题并无回溯。 法1:DFS 必须掌握方法! class Solution {public boolean exist(char[][] board, String word) {char[] charArr word.toCharArray();int m…

SQL进阶理论篇(十二):InnoDB中的MVCC是如何实现的?

文章目录 简介事务版本号行记录的隐藏列Undo LogRead View的工作流程总结参考文献 简介 在不同的DBMS里,MVCC的实现机制是不同的。本节我们会以InnoDB举例,讲解InnoDB里MVCC的实现机制。 我们需要掌握这么几个概念: 事务版本号行记录的隐藏…

任务十六:主备备份型防火墙双机热备

目录 目的 器材 拓扑 步骤 一、基本配置 配置各路由器接口的IP地址【省略】 1、配置BGP协议实现Internet路由器之间互联 2、防火墙FW1和FW2接口IP配置与区域划分 3、配置区域间转发策略 4、配置NAPT和默认路由 5、配置VRRP组,并加入Active/standby VGMP管…

代码随想录算法训练营第二十六天(回溯算法篇)|131. 分割回文串

131. 分割回文串 题目链接:131. 分割回文串 - 力扣(LeetCode) 思路 分割字串和组合的题目有异曲同工之妙。 组合:选好数组中第一个数,接着选数组中第一个后面的数,进入递归。第一个树层代表选的第一个数…

Windows下配置最新ChromeDriver

1、问题 在使用代码调用谷歌浏览器时会出错: from selenium import webdriver driver webdriver.Chrome() SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser versi…

KSP音频抓包

1. 按照网上其他教程&#xff0c;安装KSP抓音频 Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;38&#xff09;-- KSP in MDE - 大大通(简体站) Biu~笔记&#xff1a;高通蓝牙ADK&#xff08;22&#xff09;--DSP音频链路监听 - 大大通(简体站) <<Biu~笔记&#xff1a;高…

AX7A200教程(9): ov5640摄像头输出显示720p视频

一&#xff0c;功能框图 ov5640摄像头视频通过ddr3缓存后&#xff0c;最后使用hdmi接口进行输出显示 二&#xff0c;摄像头硬件说明 2.1&#xff0c;像头硬件管脚 如下图所示&#xff0c;一共18个管脚 2.2&#xff0c;摄像头电源初始化时序 因这个ov5640摄像头是买的老摄像…

JDK bug:ciObjectFactory::create_new_metadata

文章目录 1、问题2.详细日志3.JDK&#xff1a;bug最终bug链接&#xff1a; 京东遇到过类似bug各位大佬如果有更详细的解答可以留言。 1、问题 Problematic frame: V [libjvm.so0x438067] ciObjectFactory::create_new_metadata(Metadata*)0x327 关键字还是ciObjectFactory::cr…

图片懒加载和预加载

1.懒加载 延迟加载&#xff0c;当达到预定条件的时候&#xff0c;再加载对应的资源 实现 function lazyload&#xff08;&#xff09;{let imgs document.querySelectorAll(img)//获取浏览器滚动过的距离let scrollTop document.body.scrollTop || document.documentElemen…

关键字、标识符、变量、基本数据类型

一、关键字&#xff08;Keyword&#xff09; 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串&#xff08;或单词&#xff09; 特点&#xff1a;全部关键字都是小写字母 Java关键字查询关键地址&#xff1a; http:// https://docs.oracle.com/j…

Cmake基础(7)

这次是Cmake的重点&#xff0c;多项目 文章目录 add_subdirectoryget_filename_component变量作用域全局变量主目录定义变量可以在子目录访问到字目录定义PARENT_SCOPE变量可以在主目录访问到 添加依赖项 其实我们在一个cmake中使用多个add_excuatable 和add_library就能有多个…

电影小镇智慧旅游项目技术方案:PPT全文111页,附下载

关键词&#xff1a;智慧旅游项目平台&#xff0c;智慧文旅建设&#xff0c;智慧城市建设&#xff0c;智慧文旅解决方案&#xff0c;智慧旅游技术应用&#xff0c;智慧旅游典型方案&#xff0c;智慧旅游景区方案&#xff0c;智慧旅游发展规划 一、智慧旅游的起源 智慧地球是IB…

机器学习:增强式学习Reinforcement learning

收集有标签数据比较困难的时候同时也不知道什么答案是比较好的时候可以考虑使用强化学习通过互动&#xff0c;机器可以自己知道什么结果是好的&#xff0c;什么结果是坏的 Outline 什么是RL Action就是一个functionEnvironment就是告诉这个Action是好的还是坏的 例子 Space i…

算法专题二:滑动窗口

算法专题二&#xff1a;滑动窗口 一.长度最小的子数组&#xff1a;1.思路一&#xff1a;暴力解法2.思路二&#xff1a;滑动窗口双指针3.GIF题目解析&#xff1a;思路一&#xff1a;思路二&#xff1a; 二.无重复字符的最长子串&#xff1a;1.思路一&#xff1a;滑动窗口2.GIF题…

【selenium】自动化使用 chrome 的 user-data-dir

jwensh2023.12.18 文章目录 背景当前位置默认位置windowsMac OS XLinuxChrome操作系统AndroidiOS系统 覆盖用户数据目录命令行环境&#xff08;Linux&#xff09;编写 AppleScript 包装器 (Mac OS X) 用户缓存目录在 Mac OS X 和 iOS 上&#xff0c;用户缓存目录源自配置文件目…