精华内容
下载资源
问答
  • 怎么对模型进行检验
    万次阅读
    2019-08-10 22:07:21

    终于找到一篇全面而又简洁的讲多元线性回归模型检验方法的文章
    PDF下载地址
    链接:https://pan.baidu.com/s/1UbyZcMC1VRTmlCEaX4Vybg
    提取码:g481

    具体内容

    一、经济意义检验

    经济意义检验主要检验模型参数估计量在经济意义。其表现为检验求得的参数估计值的符号与大小是否合理,是否与根据人们的经验和经济理论所拟定的期望值相符合。如果不符,则要查找原因和采取必要的修正措施,重新建立模型。

    二、统计检验

    1.拟合优度检验(${R^2}$检验) 拟合优度检验是检验回归方程对样本观测值的拟合程度,即检验所有解释变量与被解释变量之间的相关程度。

    2.方程显著性检验(F检验)
    方程显著性检验就是对模型中解释变量与被解释变
    量之间的线性关系在总体上是否显著成立作出推断。即
    检验被解释变量Y与所有解释变量戈l,石2,……,菇^之间
    的线性关系是否显著,方程显著性检验所应用的方法是
    数理统计学中假设检验。

    3.变量显著性检验(t检验)
    R2检验和F检验都是将所有的解释变量作为一个整体来检验它们与被解释变量Y的相关程度以及回归效果,但对于多元回归模型,方程的总体显著性并不意味每个解释变量对被解释变量Y的影响都是显著的。如果某个解释变量并不显著,则应该从方程中把它剔除,重新建立更为简单的方程。所以必须对每个解释变量进行显著性检验。

    三、计量经济学检验

    计量经济学检验是由计量经济学理论决定的,目的 在于检验模型的计量经济学性质。通常检验准则有随机 误差项的序列相关检验和异方差性检验,解释变量的多 重共线性检验等,其中最常用的是随机误差项的序列相 关检验。 在回归分析法中,假设随机误差项在不同的样本点 之间是不相关的,即si与8i(i≠_『)相互独立。但在实际 问题中,经常出现与此相违背的情况,占i与si(i≠.『)之 间存在相关性,称为序列相关。若存在序列相关,则此时 的回归模型无效,必须重新建立回归模型。 在序列相关中,最常见的是一阶自相关即占i与sf+l 相关,而对一阶自相关最常用的检验方法是DW检验法

    模型预测检验

    预测检验主要检验模型参数估计量的稳定性以及相对样本容量变化时的灵敏度,确定所建立的模型是否可以用于样本观测值以外的范围,即模型的所谓超样本特性。具体检验方法为:

    ①利用扩大了的样本重新估计模型参数,将新的估计值与原来的估计值进行比较,并检验二者之间差距的显著性。
    ②将所建立的模型用于样本以外某一时期的实际预测,并将该预测值与实际观测值进行比较,并检验二者之间差距的显著性。

    更多相关内容
  • 运用SPSS建立多元线性回归模型进行检验.pdf运用SPSS建立多元线性回归模型进行检验.pdf运用SPSS建立多元线性回归模型进行检验.pdf运用SPSS建立多元线性回归模型进行检验.pdf运用SPSS建立多元线性回归模型并...
  • 运用SPSS建立多元线性回归模型进行检验.docx运用SPSS建立多元线性回归模型进行检验.docx运用SPSS建立多元线性回归模型进行检验.docx运用SPSS建立多元线性回归模型进行检验.docx运用SPSS建立多元线性回归模型...
  • 取前N帧视频样本的均值作为初始背景模型当前帧图像进行运动目标的初检测,根据单高斯背景模型更新原理用当前帧图像对检测为背景的点进行背景模型更新,更新后的背景模型中不属于背景点的像素点进行mean shift...
  • 训练好的YoloV5模型进行目标检测

    千次阅读 2022-03-05 22:32:40
    接上一篇博客,本篇记录第一次训练的检测效果 训练得到的最优模型在...\runs\train\exp6\weights\best.pt位置 激活yolov5py38环境,进入yolov5-master文件夹 输入以下命令,使用视频来检查模型训练的效果 python ...

    接上一篇博客,本篇记录第一次训练的检测效果
    训练得到的最优模型在...\runs\train\exp6\weights\best.pt位置

    激活yolov5py38环境,进入yolov5-master文件夹

    输入以下命令,使用视频来检查模型训练的效果

    python detect.py --source D:\yolo\imageprocess\movie\2021_1229_132828_422.MP4 --weights runs\train\exp6\weights\best.pt --conf-thres 0.25

    --source 后输入检测的源文件路径,--weights后输入训练好的模型权重文件
    --conf-thres 是置信度阈值,低于该值的检测结果将被忽略。

    源文件可以是多种格式,支持图像和视频,包括:'bmp', 'jpg', 'jpeg', 'png', 'tif', 'tiff', 'dng', 'webp', 'mpo';'mov', 'avi', 'mp4', 'mpg', 'mpeg', 'm4v', 'wmv', 'mkv'。

    训练完成后结果如下,平均每帧检测时间1.3ms

    输出的视频存储在runs\detect\exp中

    效果如下


    第二次训练调整了batch_size=32,再次进行训练,受限于GPU显存不足,完成训练后无法进行验证,单独运行val.py对第二次训练的模型进行验证,设置数据为mydataset.yaml,权重为刚刚训练好的best.pt

    python val.py --data D:\yolo\yolov5-master\data\mydataset.yaml --weights D:\yolo\yolov5-master\runs\train\exp8\weights\best.pt

    训练好的验证结果存储在runs/val/exp中

    展开全文
  • k fold交叉验证:将数据集随机划分成k个大小相同的子集,依次偏离这k个子集,每次把当前子集作为验证集,其余作为训练集,最后将k次指标进行平均作为最终结果 留1验证:每次留下一个样本作为验证集,其余用于训练,...
    1. hold out 检验

      • 将原始的样本集合按比例划分成训练集和验证集,例如7:3, 8:2等,
      • 缺点:验证集上的评估指标与数据划分有很大的关系,因此为了消除随机性,常采用下面的交叉检验
    2. 交叉检验

      • k fold交叉验证:将数据集随机划分成k个大小相同的子集,依次偏离这k个子集,每次把当前子集作为验证集,其余作为训练集,最后将k次指标进行平均作为最终结果
      • 留1验证:每次留下一个样本作为验证集,其余用于训练,遍历n次,将n次评估结果的均值作为最终评估指标。当样本总数太大的话,需要遍历次数很多,时间开销大。
    3. 自助法

      • 上面两种方法都是基于划分训练集和测试集进行模型训练和评估的。但是当样本集较小时,将样本集进行划分会进一步导致训练集进一步减小,影响模型的效果,
      • 自助法是基于自主采样的方法。对于总数为n的样本集,进行n次有放回的随机采样,从而得到大小为n的训练集。n次采样过程中有的样本会重复进行采样,有的样本未被采样,将这些未被采样过的样本作为测试集用于模型验证。

    🤔 自助法中,对n个样本进行n次采样,当n趋于无穷大时,最终有多少数据未被选择过?

    一个样本在一次抽样中被采样到的概率为 1 n \frac{1}{n} n1,未被采样到的概率为 1 − 1 n 1-\frac{1}{n} 1n1,n次抽样均未被抽到的概率为 ( 1 − 1 n ) n (1-\frac{1}{n})^n (1n1)n,当n趋于无穷大时,概率为 lim ⁡ n → ∞ ( 1 − 1 n ) n \lim\limits_{n\rightarrow\infty} (1-\frac{1}{n})^n nlim(1n1)n

    我们知道 lim ⁡ n → ∞ ( 1 + 1 n ) n = e \lim\limits_{n\rightarrow\infty} (1+\frac{1}{n})^n = e nlim(1+n1)n=e

    lim ⁡ n → ∞ ( 1 − 1 n ) n = lim ⁡ n → ∞ 1 ( 1 + 1 n − 1 ) n = lim ⁡ n → ∞ 1 ( 1 + 1 n − 1 ) n − 1 ⋅ lim ⁡ n → ∞ 1 ( 1 + 1 n − 1 ) = 1 e \lim\limits_{n\rightarrow\infty} (1-\frac{1}{n})^n = \lim\limits_{n\rightarrow\infty} \frac{1}{(1+\frac{1}{n-1})^n} = \lim\limits_{n\rightarrow\infty} \frac{1}{(1+\frac{1}{n-1})^{n-1}} · \lim\limits_{n\rightarrow\infty} \frac{1}{(1+\frac{1}{n-1})} = \frac{1}{e} nlim(1n1)n=nlim(1+n11)n1=nlim(1+n11)n11nlim(1+n11)1=e1

    当n很大时,大约有1/e的样本未被采样过,也就是36.8%的样本可以作为验证集。

    欢迎关注微信公众号(算法工程师面试那些事儿),本公众号聚焦于算法工程师面试,期待和大家一起刷leecode,刷机器学习、深度学习面试题等,共勉~

    算法工程师面试那些事儿

    展开全文
  • 模型检测原理、方法学习

    千次阅读 2020-11-01 16:23:18
    模型检测学习 一、模型检测概论 1.1 模型检测所解决的问题:保证并发系统正确性和可靠性 1.2 特点:自动化程度高、简洁明了 1.3 发展:用于描述并发系统性质的CTL逻辑 符号模型检测技术 1.4 基本思想: 用状态迁移...

    模型检测学习

    一、模型检测概论

    1.1 模型检测所解决的问题:保证并发系统正确性和可靠性
    1.2 特点:自动化程度高、简洁明了
    1.3 发展:用于描述并发系统性质的CTL逻辑 符号模型检测技术
    1.4 基本思想
    用状态迁移系统(S)表示系统的行为,用模态/时序逻辑公式(F)描述系统的性质,这样“系统是否具有所期望的性质”就转化为数学问题“状态迁移系统 S 是否是时序逻辑公式 F 的一个模型?”,这个问题是可判定的,即可以用计算机程序在有限时间内自动确定。在这里插入图片描述
    1.5模型检测过程
    (1)建模:第一个步骤是把设计转化为被模型检测工具接受的形式;可能由于验证时间和计算机内存的限制,还需要使用抽象技术简约不相关或不重要的细节。
    (2)刻画(规约):声明设计必须满足的性质。性质刻画通常以某种逻辑的形式(如时序逻辑,这种逻辑体系表示系统随着时间的变化)表示。(用一种逻辑形式来刻画一个性质)
    (3)验证:理想上的验证应该是完全自动的。但实际上常常需要人的帮助,其中之一就是分析结果。当得到失败结果后,通常可以给用户提供一个错误轨迹,可以把它看作检测性质的一个反例,使设计者可以跟踪错误发生的具体位置
    在这里插入图片描述

    二、系统建模

    2.1基于中间建模

    基于中间建模语言,将实际程序语言编写的程序转换为一个中间模型,可以重用模型检查算法,使程序模型检查框架具有更好的扩展性。
    Example
    Fearer /MODEX的目标是将程序的实现级描述(C语言)转换到经典模型检查器spin的验证模型,模型检查器 spin的建模语言是Promela。Feaver/MODEX将源程序的控制流结构表示为Promela语言的控制流结构,用Promela新定义的嵌入原语将源程序中数据声明和基本语句嵌入到验证模型中。

    2.2 直接生成验证模型

    直接生成验证模型:程序模型检查中,对代码的任何修改、变换都可能导致假报错,或者错误遗漏;模型检查中触发的实际代码越多,可以发现的错误越多。从被检查的源程序中直接生成验证模型,可以有效避免上述问题。
    Example:
    NASA Ames的JPF2直接处理程序的中间码而不是源程序本身绕开了复杂的源语言结构
    CMU的MAGIC在生成模型之前对源程序进行了抽象等变换,以减小检查程序的规模
    斯坦福大学的CIVIC用实际(模拟)执行方法得到所需的验证空间
    NASA Ames的JPF-SE扩展JP2实现符号执行
    CMU的CBMC将源程序直接编码为一个等式系统。

    2.3 建模示例
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    三、模型逻辑的种类

    3.1计算树逻辑

    在这里插入图片描述

    在这里插入图片描述
    1、原理:一个系统的运行可以看成系统的转态变化,并发系统因为行为不确定性可以有多个可能的后续状态,所以可以产生一颗状态树。
    2、描述类型:状态前后关系和分支情况
    公式组成:原子命题、逻辑连接符( not,or,and 等)、模态算子(E(Exists), A( Always), X
    (Next-time), U(Until), F(Future), G( Global))
    3、E表示对于某一个分枝, A表示对于所有分枝,X表示下一状态, U表示直至某一状态, F表示现在或以后某一状态, G表示现在和以后所有状态
    4、前两个算子描述分枝情况,后四个算子描述状态的前后关系.
    5、CTL中描述分枝情况和描述状态的前后关系的算子成对出现,即一个描述分枝情况的算子后面必须有一个描述状态的前后关系的算子"
    6、产生规则:原子命题是CTL 公式;如果p,q 是CTL 公式,则not p,p or q,p and q, EX p,E(pU q),EF p,EG p,AX p,A(p U q),AF p,AG p 是CTL 公式。
    7、时间复杂度:对CTL 公式存在线性时间的模型检测算法,即算法的最坏时间复杂度与|S||F|成正比,这里|S|是状态迁移系统的大小,|F|是逻辑公式的长度。
    8、四种常见的CTL运算符
    在这里插入图片描述
    9、示例
    以进程访问共享数据为例,假设有两个进程proc1和proc2,当进入“critical”状态表示正在访问共享数据,“entering”状态表示进程请求访问共享数据,当任务调度允许访问后进入“critical”状态访问共享数据。

    性质1:不存在进程1和进程2同时进入“critical”状态
    对应的CTL:AG ! (proc1.state = critical & proc2.state = critical)

    性质2:如果进程1处于“entering”状态(即请求进入“critical”状态),那么最终进程1都会进入“critical”状态
    对应的CTL:AG (proc1.state = entering -> AF proc1.state = critical)

    3.2 命题线性时序逻辑

    1、原理:系统状态变化的可能性可以看成是一种树状结构同时 它又可以看成是所有可能的系统初始状态经历各种可能变化的集合,也就是把一颗树看成是有限或无限条路径的集合,一 条路径所代表的是系统的一次可能的运行情况"
    2、描述类型:系统的任意一次运行中的状态以及它们之间的关系
    公式组成:原子命题、逻辑连接符(非或与)、模态算子 ◇(Eventually),□(Always)。◇表示现在或以后某一状态(类似CTL 的F), □表示现在和以后所有状态(类似CTL 的G)
    3、产生规则:原子命题是PLTL 公式;如果p,q 是PLTL 公式,则not p,p or q,p and q, ◇p,□p 是PLTL 公式。
    在这里插入图片描述
    4:示例
    性质:信号灯不能在同一时间出现两种以上的颜色
    对应的PLTL: □( ¬(gr∧ye) ∧ ¬(ye∧re) ∧ ¬(re∧gr) ∧ (gr v ye v re) )

    3.3 μ-演算(面向动作)

    原理:系统状态的改变总是某种动作引起的,μ-演算关心的是系统的动作与状态之间的关系描述动作的基本元素是动作符号
    组成:μ-演算公式由原子命题,命题变量,逻辑连接符,模态算子和不动点算子组成。逻辑连接符包括:not,or,and。模态算子:对于每个动作符号a,有两个模态算子[ a ]和< a >。[ a ]表示对所有的a 动作, < a >表示对某个a 动作。不动点算子有最小不动点算子μ和最大不动点算子v。
    产生规则:原子命题和命题变量是μ-演算公式;如果p,q 是μ-演算公式,则not p,p or q,p and q,[ a ]p,< a >p,μX.p,vX.p 是μ-演算公式。
    μ演算的缺点是不易读懂,优点是表示能力强,CTL和LTL可以嵌入到它的真子集中,并且具有和相应的CTL和LTL相同的复杂度的模型检测算法,因此一般将μ-演算作为模型检测的一般框架加以研究。

    四、模型检测的方法

    爆炸问题概念:模型检测基于对系统状态空间的穷举搜索,对于并发系统, 其状态的数目往往随并发分量的增加呈指数增长,因此当一个系统的并发分量较多时,直接对其状态空间进行搜索在实际上是不可行的,这就是所谓的状态爆炸问题。
    为了有效应用模型检测方法,就要研究减少和压缩空间状态的方法,以增加效率和减少内存空间的需求,比如符号模型检测、偏序规约、对称模型检测等
    或者是减少模型本身或者验证性质的复杂性,比如说抽象技术、程序切片和模型分解等

    4.1 符号模型检测

    1、基本原理:系统的状态转换关系用逻辑公式表示,主要基于布尔公式,所以称为符号化模型检测,可以采用二叉判定图或采用二元决策图OBDD来符号化地表示有限状态反应系统,它能较为紧凑地表示状态转换关系,以降低系统模型所需的内存空间。
    2、示例
    布尔公式
    二叉判定图
    真值表
    3、OBDD化简规则
    规则1(S-删除规则)对于OBDD中的节点u,如果u.low=u.high,则删除节点u,并将节点u的父节点直接连接至u.low所对应的节点。
    **规则2(合并规则)**对于OBDD中的节点u和v,如果u.var =v.var、u.low =v.low 且u.high =v.high,则删除节点u,并将节点u的父节点直接连接至节点v。

    在这里插入图片描述
    在这里插入图片描述
    原二叉判定图:
    在这里插入图片描述
    化简叶节点:
    在这里插入图片描述
    化简子节点:
    在这里插入图片描述
    最后结果:
    在这里插入图片描述
    OBDD作为布尔公式的一个规范的表示形式,比一般的传统公式如析取公式和合取公式更加紧凑,而且操作起来效率更高,对于一个给定的布尔公式和给定的变量顺序,将得到唯一的OBDD。
    因为OBDD在获取有限域上简洁的关系表达式时非常的方便,符号模型检测方法采用OBDD表示状态集合及其转换关系的特征函数。

    4.2 偏序简约

    原理:减少系统模型中的状态数目,来降低模型检测算法所搜索的状态空间规模,并且保证被验证性质在精简模型上的正确性。主要面对的是具有并发、异步特点的模型。这种模型的并发、异步的特点使此模型的行为交替运行,其顺序往往不能被性质规范所识别。因此,在考虑模型状态空间时,必须要考虑到所有执行顺序的交替可能性,而“所有”的状态在实际中往往就组成不可处理的“爆炸状态空间"。
    依据:可并发执行的变迁关系具有交换性,当它们以不同的顺序执行时,都会达到统一状态(只应用于异步系统)
    过程:使用改进的DFS算法(深度优先搜索算法)改造图生成约简状态图,约简过程将构建一个状态和边数量都更少的图,这样不但能使用更少的内存,还能加速图的构建过程,最终提高模型检测算法的效率。
    最后模型检测算法就在约简状态图上进行。

    4.3对称模型检测

    原理:由多进程组成的某些进程可能完全类似,并发执行的结果可能产生许多相同或者相似的路径##,所以可以只搜索在对称关系中等价的一种情形,避免重复搜索对称或者相同的系统状态

    4.4 抽象

    抽象的基本方法是抽掉系统中的细节、用尽可能少的状态来刻画系统的动作过程。如下图所示,把一堆状态简化为一个状态。原来系统称为具体系统,而简化了的系统称为抽象系统。抽象系统能够保持具体系统的许多性质,但也会丢失某些性质。
    类型:
    1、我们将很多有共性的精确的数据和抽象数据间建立一个映射关系,这样,一个抽象数据就可以表示所有拥有此共性的数据的集合,这样就有效的减少了可能存在的数据值,减少了状态空间
    2、状态合并,此方法通过删除很多不会影响检验性质的状态,即精减“所有"状态为必然有效的状态,达到有效减少状态空间的作用。
    在这里插入图片描述

    4.5 程序切片

    将程序中不影响所要验证的性质的语句去掉以减少模型复杂性

    4.6 模型分解

    将一个模型分解成若干部分,或者分别验证,或者提供一个讲好的组合方法以降低验证的复杂性。同样的一个需要验证的性质也可以分解成若干部分,然后分别验证。

    五、验证方法

    SAT 求解器

    SAT问题:可满足性问题(Boolean satisfiability problem, SAT 问题)它来自布尔真值判定问题. 给定一组布尔变量 V{a,b,c….} 和一组由 V 描述的合取范式 F, 判断是否存在一个关于X的真值赋值S(X),使得 F(x)为真,如果存在则称 F(X)是 可满足的,否则称 F(X)是不可满足的
    SAT算法:给定一 个 SAT 问题公式 F (X),在有限的时间内判定其是否可满足的算法称为 SAT求解算法,典型的SAT求解算法包括完备算法和不完备算法两大类
    算法分类:

    完备算法特点:

    1. 穷尽搜索空间
    2. 只要有足够的时间 一定能够给出答案适用于实际应用中的问题

    **

    不完备算法特点:

    • 大多采用局部搜索方法
    • 当问题可满足的时候,有可能给出答案,也有可能给不出答案
    • 当问题不可满足的时候,无法给出答案
    • 适用于随机产生的CNF公式 在处理可满足的大规模随 机生成问题时往往比完备算法快

    完备算法——DPLL

    • 大部分的现有确定性求解器都是基于 DPLL 算法。
    • DPLL的基本思想是每次选中一个未被赋值的变量进行赋值,然后判断该赋值是否满足整个公式:
      满足:结束搜索;
      导致冲突:回溯;
      否则:对下一个变量进行赋值

    在这里插入图片描述
    DPLL 的核心思想就是依次对 CNF 实例的每个变量进行赋值,其搜索空间可以用一个二叉树来表示,树中的每个节点对应一个变量,取值只能为 0 或 1,左右子树分别表示变量取 0 或 1 的情况,从二叉树中根节点到叶子节点的一条路径就表示 CNF 实例中的一组变量赋值序列,DPLL 算法就是对这棵二叉树从根节点开始进行 DFS(深度优先搜索) 遍历所有的通路,以找到使问题可满足的解
    不完备算法——SLS

    大多数不完备算法是基于 SLS的,其搜索过程为:给定一 个命题公式,首先随机地生成一个真值赋值 ,如果该赋值使得公式可满足,则搜索结束 ;否则选择其中一个变量翻转其真值,该过程一直重复 ,直到找到使得公式满足的真值赋值或迭代次数达到预定上限 (公式的可满足性不能确定 )。尽管 SLS 求解器会因附加不同的启发式而使复杂性提高,但整体来说, SLS求解器都是基于局部搜索非常简单的规则。

    SMT求解器

    • SMT的全称是Satisfiability Modulo Theories ,可被翻译为“可满足性模理论”
      “多理论下的可满足性问题”或者“特定(背景)理论下的可满足性问题”
    • SMT问题是判定SMT公式是否可满足的问题。SMT公式是结合了背景理论的一阶逻辑公式,这些理论包括一些数学理论和计算机领域内用到的数据结构理论等。
    • 示例
      在这里插入图片描述
      在这里插入图片描述
    • 算法
      积极算法:积极算法是早期的SMT求解器采用的算法,它是将SMT公式转换成一个CNF型的命题公式,然后用SAT求解器求解。
      惰性算法:它目前采用的主流方法,也是被研究得最多的算法。这种算法是先不考虑理论,将一个SMT公式看作SAT公式求解,然后再用理论求解器判定SAT公式的解所表示的理论公式是否一致。目前多数大型的SMT求解器采用了惰性算法。
      在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    六、模型检测工具

    SMV 用以检测一个有限状态系统是否满足CTL公式,建模方式是以模块为单位,模块描述的基本要素是非确定性选择、状态转换、并行赋值语句。检测的基本方法是以二叉图表示状态转换关系,以计算不动点的方法检测状态的可达性和其所满足的性质
    ***SPIN***用以检测一个有限状态系统是否满足PLIL公式及其他一些性质。它的建模方式是以进程为单位,进程描述的基本要素包括赋值语句,条件语句,通讯语句,非确定性选择和循环语句。模型检测的基本方法是以自动机表示各进程和PLTL公式,以计算这些自动机的组合可接受的语言是否为空的方法检测进程模型是否满足给定的性质

    SPIN

    功能:SPIN适用的领域是检测一个有限状态系统是否满足LTL公式(线性时序逻 辑)表示的性质,如可达性和死锁等。
    建模:首先定义进程模板,每个进程模板作为一类进程的行为规范,而实际系统可以看成一个或若干个进程模板实例的异步组合。进程描述的基本要素包括赋值语句,条件语句,通讯语句,非确定语句和循环语句。

    在这里插入图片描述
    SPIN首先从描述系统模型规格开始,经分析没有语法错误后,对系统的交互进行模拟,直到确认系统设计拥有预期的行为。然后,SPIN将产生一个用C语言描述的验证程序,经检验机编译后执行,执行中如果发现了违背正确性说明的任何反例,则返回到交互模拟执行状态再继续仔细诊断,确定产生反例的原因
    (On-the-fly技术On-the-fly模型检测技术有时也称为局部模型检测。它的基本原理是根据验证性质的需要展开系统路径所包含的状态,以避免预先生成系统中所包含的所有的状态。这种方法的一个显而易见的优点是一旦验证算法找到一个反例,算法即可终止,而不必生成剩余的状态空间。)
    特点:

    • SPIN对用Promela语言描述的网络协议设计规范(Specification)的逻辑一致性进行检验,并报告系统中出现的死锁、无效的循环、未定义的接收和标记不完全等情况

    • SPIN无需构建一个全局的状态图或者Kripke结构,而可以按需生成系统自动机的部分状态进行检验(on-the-fly技术)

    • 可以将SPIN作为一个完整的LTL (Linear Temporal Logic)模型检验系统来使用

    • 对于给定的一个使用PROLEMA描述的协议系统,SPIN可以对其执行任意的模拟,也可以生成一个C代码程序,然后对该系统的正确性进行有效的检验

    • 适于不同规模的系统的验证。对于中小规模的系统,采用穷举状态空间分析,而对于大规模的系统,则采用BitState Hashing方法来有选择地搜索部分状态空间

    CBMC

    当系统具有无穷多个状态转移或状态转移数目非常大时,计算并访问所有状态几乎是不可能的。有界模型检查(bounded model checking)通过有限次展开转移来解决这个问题,转移展开次数称为界。当展开界足够大且趋于无穷时,系统的有界模型等于无界模型。
    通过程序的静态单赋值形式(SSA),CBMC巧妙地用布 尔公式编码程序的(有限的)所有可能运行迹。由于无法静态 确定程序中循环的执行次数,CBMC将循环进行有限次展开, 展开次数可以设定为0或1,也可由用户给定。
    大致过程:通过程序预处理和变量改名得到一个完全由赋值和条件语句组成的程序,将每个赋值语句变换成位向量等式C,检查性质得到位向量等式P,如CP(C析取非p)的布尔公式转换为CNF,输入到一个SAT solver,公式 CP是可满足的,当且仅当存在一个违反给定性质P的运行迹,该运行迹就是一个反例。
    具体过程:
    1、CBMC 的第一步是输入程序,进行预处理和变量改名,然后生成 CFG
    2、当我们获取程序的 cfg 图时,我们就可以获取每条路径对应的布尔公式
    3、选择一条路径,获得逻辑公式,或者说是位向量C
    4、用PCTL公式描述性质,获得位向量P
    5、输入SAT求解器中,然后进行判定。

    六、模型检测的应用

    ![电子线路设计验证的例子包括先进先出存储器的验证,验证的性质包括输入和输出的关系,浮点运算部件的验证,验证的性质包括计算过程所满足的不变式
    复杂的协议的例子包括认证协议的验证,验证的性质包括对通话双方的确认,合同协议的验证,验证的性质包括公平和滥用的可能性。
    软件验证的例子包括飞行系统软件的验证,验证的性质包括系统所处的状态和可执行动作之间的关系; 铁路信号系统软件的验证,验证的性质包括控制信号与控制装置状态的关系。

    本文引用论文网站过多,未一一记录,侵删

    展开全文
  • 提出一种基于序贯概率似然比多模型假设检验的认知无线电协作频谱感知方法,用于检测可能含有...频谱感知的一个典型场景进行仿真实验,结果表明所提出基于序贯概率似然比多模型假设检验方法相对于传统方法的检测有效性.
  • 关注并星标从此不迷路计算机视觉研究院公众号ID|...其中一阶段目标检测模型以YOLO系列为代表。目标检测是计算机视觉领域的一大任务,大致分为一阶段目标检测与两阶段目标检测。其中一阶段目标检测模型以...
  • 提出了监测WSNs与被监测实体交互并发行为的时间自动机模型和可用性性质描述的建立方法,从监测功能设计角度,将被监测实体的安全并入WSNs监测生产安全的功能性质,然后用模型检验方法进行机器检验,保障了监测系统的...
  • 参考:... ... 1.Holdout检验 Holdout 检验是最简单也是最直接的验证方法, 它将原始的样本集合随机划分成训练集和验证集两部分。 比方说, 我们把样本按照70%~30% 的比例分...
  • 本课程包括下面6个经典目标检测算法模型的讲解: 1.基于自己数据集的Faster RCNN模型训练、验证以及nnie上仿真和运行。 2.基于自己数据集的RFCN模型训练、验证以及nnie上仿真和运行。 3.基于自己数据集的SSD模型训练...
  • 回归分析模型检验评估

    千次阅读 2019-07-01 21:56:42
    使用场景多,多数情况下,就是调包,进行函数和数据的套入,然后得出各变量之间的参数。最后预测出一个结果。。 标准误差 标准误差是回归直线,即估计值和实际因变量值的平均平方误差。表示是SE。 可决系数 可决...
  • 异常检测模型整理

    千次阅读 2021-08-01 18:30:07
    写在前面 文中使用了其他博主的图,具体...处理异常检测模型包括监督模型、半监督学习和无监督学习模型,具体如下: 一、监督模型 常见分类模型都可使用。若有标签数据,则优先使用有监督学习方法解决问题。在基于监
  • weightsPath='E:\deep_learn\yolov3_modeFile\yolov3-voc_25000.weights'# 模型权重文件 configPath="E:\deep_learn\yolov3_modeFile\yolov3-voc.cfg"# 模型配置文件 labelsPath = "E:\\deep_learn\\yolov3_...
  • 模型的统计检验

    千次阅读 2016-12-20 08:53:52
    研究从假设来,推导出了模型,就一定要用可靠的检验方法来验证它的可靠性。常用的检验方法就是统计学检验,主要分为两块: 拟合优度检验 模型显著性检验 拟合优度检验残差平方和和什么东西一除,就得到个拟合优度 R2...
  • 时间序列-ARIMA模型调参检验实战

    千次阅读 2020-11-08 22:25:02
    关于截断与拖尾如何选择模型 参考:博客 剩余部分代码中都有 3.代码 #!usr/bin/env python # -*- coding:utf-8 _*- """ @author: liujie @software: PyCharm @file: ArmaModel(2,2)or(0,1).py @time: 2020/11/6 17:...
  • 模型的分析与检验

    千次阅读 2021-06-13 10:12:17
    灵敏度分析是研究与分析一个系统或模型的状态或输出变化系统参数或周围条件变化的敏感程度的方法。 通用步骤:控制其他参数不变,改变模型中某个重要参数的值,然后观察模型的结果变化情况。 误差分析 指分析...
  • 自己训练yolov5模型进行目标检测流程工程开始问题总结 流程 跟yolo系列一样,检测训练过程包括了4步: 搜集数据集 数据集的标注,分类以及清洗 进行训练 获得权重进行测试和预测 工程开始 先附上源码链接:...
  • 模型检测工具汇总(比较全)

    千次阅读 2019-09-23 17:09:21
    面向形式化规格语言的模型检测工具 SMV(Symbolic Model Verifier) 符号模型检测工具 SMV用以检测一个有限状态系统是否满足CTL公式。 它的建模方式是以模块为单位,模块可以同步或异步组合,模块描述的基本...
  • 清风数学建模~灵敏度分析、模型检验和误差分析、模型的评价改进和推广
  • 因为之前在学数据分析课程的时候老师讲到时间序列这里,但只是简单的这个经典的时间序列案例介绍了一下,并没有涉及差分次数d的查找、找ARIMA模型的p、q值和模型检验 这三个步骤。 后来我搜寻了整个网络,终于...
  • 机器学习之模型检验

    千次阅读 2018-02-13 11:41:43
    模型检验的目的随着学习算法种类,特征转换方式,正则化方式等等的增加,在不同的组合之下我们就会得到种类非常多的学习模型。而在实务上我们通常想要的就是那个Eout最小的模型,所以我们在面临众多的学习模型的时候...
  • 使用 OpenCV 和深度学习进行人脸检测 今天的博文分为三个部分。 在第一部分中,我们将讨论更准确的 OpenCV 人脸检测器的起源以及它们在 OpenCV 库中的位置。 然后我将演示如何使用 OpenCV 和深度学习在图像中执行人...
  • OCR文本检测模型—SegLink

    千次阅读 2019-08-23 22:29:01
    在自然场景中,例如灯箱广告牌、产品包装盒、商标等,要检测出其中的文字会面临着各种复杂的情况,例如角度倾斜、变形等情况,这时就需要使用基于深度学习的方法进行文字检测。 该方法能在自然场景下较好地实现...
  • 线性模型中变点检测的算法分析,吴小霞,,变点分析是一种基于统计理论,并通过进行假设检验来划分时间序列的方法。本文介绍了线性模型中对于回归变点检测的已有方法,包括
  • Mx-yolov3+Maixpy+ K210进行本地模型训练和目标检测

    万次阅读 多人点赞 2021-10-29 22:57:45
    我接触K210同样也是因为一次比赛,需要进行目标检测垃圾进行分类,在接触到K210之前我一直使用各种YOLO版本检测,并部署到树莓派和nano上,一次偶然的机会,我发现了K210,这里要感谢我的一位学长,是他带着我...
  • 近期计划汇总整理些实际工作中会用到分析方法、模型和算法,计划从方法/模型/算法适用的情况、实现原理、结果及其检验标准、Python调用方法、以及可视化呈现这几个方面入手来整理。 希望能数据科学分析和挖掘有个...
  • 目标检测模型评估指标全面梳理

    千次阅读 2022-01-30 22:42:00
    在学习目标检测的过程中,需要学习器进行评估,这时候就需要许多数学上的参数,有些是对检测结果评估,有些是从原始数据评估...小白梳理了常用的目标检测模型评估指标,并将不时更新。如有错误,请大佬指正哦~
  • 深度学习以及其目标检测应用场景下,训练出来的模型到底好不好有一些评价指标,在这里我们罗列一下这些常见的评价指标。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 652,980
精华内容 261,192
关键字:

怎么对模型进行检验