评价算法优劣的思路与方法

当你提出一个算法时,那你应该怎么做实验去评价? 以李明磊博士论文《激光扫描点云的线结构提取与应用研究》中的第三章评价算法“基于八叉树体素生长的点云平面分割算法”为例,讲讲我的思路(我的思路主要分为实验数据的选取、参数敏感性测试、实验结果的分析、对比实验及其分析、算法总结这五部分)。

1.实验数据的选取

首先,我觉得不管任何算法,必须接受实验的考验,这时候实验数据的选择就至关重要。实验数据的选择只有一个原则:广泛、代表性强,能体现算法的鲁棒性和适用性。比如李博士那篇论文第三章的算法目标就是进行点云平面分割,他选择的实验数据就有不同平台获取的点云数据,有地面站点云(TLS)、车载点云(MLS)、机载点云(ALS)、模型数据,且这些不同类型的点云数据具有不同的厚度(反应点云的数据质量,这里将平面分割结果的平均拟合标准差作为此值)、点间距(点间平均距离,效果等同于点密度)和不同的平面数量。如下图和下表。

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

2.参数敏感性测试

如果提出的算法有很多参数,必须对这些参数进行敏感性测试。敏感性测试的一般方法是:使其中一个参数成为变量,其它参数成为定值,然后分析该变量对实验结果的影响
李博士那篇论文中,从现实场景中得到的点云很难确定其真实的平面,所以通过人工标记的方式得到平面分割结果(人工选定各平面区域并进行共面标记)作为精度验证的参考值。然后利用两个参数:**精度(Precision)、召回率(Recall)**来评定算法的精度。

在这里插入图片描述
李博士那篇论文中对于参数敏感度测试得到下面的表格:
在这里插入图片描述
然后如何对表格进行分析了,一般性的原则是:分别就某个参数,按算法精度算法召回率对表格进行纵向对比(对于不同参数值,对比同一份数据)横向对比(对于同一个参数值,对比不同同份数据) ,以观察得出不同参数对实验结果的影响(即对算法精度和算法召回率的影响)。李博士那篇论文中,如下分析:
在这里插入图片描述

3.实验结果的分析

一般实验结果可以定性和定量的去分析,如李博士论文中,首先它展示了上述所有的实验数据的平面分割的结果和每份数据的平面分割的结果和效率。然后再对这些实验结果进行纵向分析各种类型数据各自的分割结果横向分析不同类型数据的分割结果。以下是论文的实验结果和分析:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验结论如下:
在这里插入图片描述

4.对比实验与分析

你的算法跟别人的算法相比,有什么优势?这时候就要做对比实验
比如李博士在对比实验中,就将他提出的算法和“OB”、“RB”算法进行了对比。实验数据也要满足之前的原则,参数选择尽量要和本算法相同(或每一种方法的参数选择要使该方法的结果达到最佳)。以下是实验结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后再根据这些实验结果分别对比不同的方法得出如下结论:
在这里插入图片描述

也可以根据用参数定量地去分析不同地的算法:
在这里插入图片描述
然后根据参数分析不同算法之间的优劣:
在这里插入图片描述

5.算法总结

一般最后按照算法核心思想的总结、算法的局限性、算法的创新点这三部分对算法进行一个整体的总结。
李博士那篇论文中是这样总结的:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_37617732/article/details/111196565