算 法 的 鲁 棒 性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【架构设计】【程序指标】鲁棒性与健壮性的细节区别
一、健壮性
健壮性是指软件对于规范要求以外的输入情况的处理能力。

所谓健壮的系统是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。

另外健壮性有时也和容错性,可移植性,正确性有交叉的地方。

比如,一个软件可以从错误的输入推断出正确合理的输入,这属于容错性量度标准,但是也可以认为这个软件是健壮的。

一个软件可以正确地运行在不同环境下,则认为软件可移植性高,也可以叫,软件在不同平台下是健壮的。

一个软件能够检测自己内部的设计或者编码错误,并得到正确的执行结果,这是软件的正确性标准,但是也可以说,软件有内部的保护机制,是模块级健壮的。

软件健壮性是一个比较模糊的概念,但是却是非常重要的软件外部量度标准。

软件设计的健壮与否直接反应了分析设计和编码人员的水平。

即所谓的高手写的程序不容易死。

(不是硅谷,印度才是全球软件精英向往之地)
为什么印度人的软件业在国际上要比中国的好,除了印度人母语是英语的原因外,更重要的是因为印度人严谨,他们的程序更有健壮性。

印度的一个老程序员,月代码量在一千行左右,这一千行代码,算法平实,但都是经过仔细推敲,实战检验的代码,不会轻易崩溃的
代码。

我们的程序员,一天就可以写出一千行代码,写的代码简短精干,算法非常有技巧性,但往往是不安全的,不完善的。

印度人的程序被称作:傻壮。

但程序就得这样。

写一段功能性的代码,可能需要一百行代码,但是写一段健壮的程序,至少需要300行代码。

例如:房贷计算器的代码,算法异常简单,十多行就完成了,但是,这段程序完全不具备健壮性,很简单,我的输入是不受限制的,这个程序要求从用户界面读取利率,年限,贷款额三个数据,一般同学的写法很简单,一句doubleNum = Double.parseDouble(JOptionPane.showInputDialog(null,"请输入"+StrChars)) ;就万事OK了。

但是,真的有这么简单么,开玩笑,这么简单就好了,列举以下事例1,我输入了负数2,我的输入超出了double类型所能涵盖的范围3,我输入了标点符号4,我输入了中文5,我没输入6,我选择了取消或者点了右上角的关闭这一切都是有可能发生的事件,而且超出了你程序的处理范围,这种事情本不该发生,但是程序使用时,一切输入都是有可能的,怎么办,你只能在程序中限制输入。

作为一个程序员,你如何让你的代码在执行的时候响应这些事件呢,我用了四十行代码编写了一个方法,用来限定我的输入只能为正实数,否则就报错,用户点击取消或者关闭按钮,则返回一个特殊数值,然后在主方法增加一个循环,在调用输入方法的时候检查返回值,如果为特殊值,就返回上层菜单或者关闭程序。

二、鲁棒性
鲁棒是Robust的音译,也就是健壮和强壮的意思。

鲁棒性(robustness)就是系统的健壮性。

它是指一个程序中对可能导致程序崩溃的各种情况都充分考虑到,并且作相应的处理,在程序遇到异常情况时还能正常工作,而不至于死机。

比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。

相应的处理,例如有异常处理捕获异常,避免发生越界读写等等,这些要靠程序员的经验来完成。

所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。

根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。

以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。

?局部特征从总体上说是图像或在视觉领域中一些有别于其周围的地方
Caffe:在图像分类方面代表一流水准,但是不能适用于其他深度学习应用
这些作品中有许多GPU加速允许真正(或接近真实)的时间性能。

此外,还有FLANN作品加速特征匹配。

这些研究仍在进行中,最近的例子是使用CNN trained LIFT descriptors。

这些作品一起构成了我们所构建的核心技术集。

这种反转链表的方法用到了三个指针,但是要考虑到各种的测试用例,包括链表为NULL,只有一个结点,有两个结点,有多个结点
的情况。

ID3 算法是一种基于决策树的分类算法,该算法是以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类。

信息增益用于度量某个属性对样本集合分类的好坏程度。

ID3 算法的时间复杂度为O(n*|D|*log|D|)。

比赛奖金:从高至低顺序选取前三名参赛方为学校及科研院所等非盈利机构。

P_sum = cumsum(P);
优点:不需要其他用户数据支持;推荐的理由容易解释,因为是基于当前用户的行为;可以推荐新商品给用户,协同过滤做不到。

对于聚类算法而言,鲁棒性意味着聚类结果不应受到模型中存在的数据扰动、噪声及离群点的太大影响。

2)使用剩余数据对上一步得到的模型进行测试,并将落差在预定公差范围内的样本点增至内点集合中。

相关文档
最新文档