Labeling a module defective or non-defective is an expensive task. Hence, there are often limits on how much-labeled data is available for training. Semi-supervised classifiers use far fewer labels for training models, but there are numerous semi-supervised methods, including self-labeling, co-training, maximal-margin, and graph-based methods, to name a few. Only a handful of these methods have been tested in SE for (e.g.) predicting defects and even that, those tests have been on just a handful of projects. This paper takes a wide range of 55 semi-supervised learners and applies these to over 714 projects. We find that semi-supervised "co-training methods" work significantly better than other approaches. However, co-training needs to be used with caution since the specific choice of co-training methods needs to be carefully selected based on a user's specific goals. Also, we warn that a commonly-used co-training method ("multi-view"-- where different learners get different sets of columns) does not improve predictions (while adding too much to the run time costs 11 hours vs. 1.8 hours). Those cautions stated, we find using these "co-trainers," we can label just 2.5% of data, then make predictions that are competitive to those using 100% of the data. It is an open question worthy of future work to test if these reductions can be seen in other areas of software analytics. All the codes used and datasets analyzed during the current study are available in the https://GitHub.com/Suvodeep90/Semi_Supervised_Methods.
translated by 谷歌翻译
在研究人员急于跨所有可用数据或尝试复杂的方法之前,可能是首先检查更简单的替代方案。具体而言,如果历史数据在某些小区域中具有最多的信息,那么也许从该地区学习的模型就足够了,这是项目的其余部分。为支持这一索赔,我们提供了一个案例研究,其中包含240个GitHub项目,在那里我们发现这些项目中的信息“被聚集”朝向项目的最早部分。从前150个提交的缺陷预测模型也有效,或者比最先进的替代品更好。只使用这个早期生命周期数据,我们可以非常快速地构建模型,很早就在软件项目生命周期中。此外,使用这种方法,我们已经显示了一个简单的模型(只有两个功能)概括为数百个软件项目。基于这种经验,我们怀疑概括软件工程缺陷预测模型的事先工作可能有不必要的复杂化本身简单的过程。此外,在从相对无关的区域中得出的结论以来,需要重新讨论焦点生命周期数据的事先工作。 Replication注意:我们所有的数据和脚本都在https://github.com/snaraya7/simplify-software-analytics上线
translated by 谷歌翻译
在机器学习模型道德偏见已经成为软件工程界关注的一个问题。大多数现有软件工程的作品集中在模型寻找道德偏见,而不是修复它。发现偏差后,下一步就是缓解。在此之前研究人员主要是试图利用监督的方法来实现公平。与值得信赖的地面实况然而,在现实世界中,获得的数据是具有挑战性的,也基本事实可以包含人为偏差。半监督学习是一种机器学习技术,其中,递增地,标记的数据被用于生成伪标签中的数据的剩余部分(然后全部数据被用于模型训练)。在这项工作中,我们采用四种常用的半监督技术作为伪贴标创造公平分类模型。我们的框架,公平SSL,需要标记的数据的一个非常小的量(10%)作为输入,并为未标记的数据生成伪标签。然后,我们综合生成新的数据点,以平衡基础类,并提议Chakraborty等人的保护属性的训练数据。在2021年FSE最后,分类模型被训练在平衡伪标记的数据和测试数据进行了验证。实验十项数据集和三个学生后,我们发现,公平SSL实现了性能先进设备,最先进的三个偏置抑制算法类似。这就是说,公平SSL的明显优势在于,它仅需要10%的标记的训练数据。据我们所知,这是在半监督技术被用来针对SE型号ML道德偏见争第一SE工作。
translated by 谷歌翻译
Automatically generated static code warnings suffer from a large number of false alarms. Hence, developers only take action on a small percent of those warnings. To better predict which static code warnings should not be ignored, we suggest that analysts need to look deeper into their algorithms to find choices that better improve the particulars of their specific problem. Specifically, we show here that effective predictors of such warnings can be created by methods that locally adjust the decision boundary (between actionable warnings and others). These methods yield a new high water-mark for recognizing actionable static code warnings. For eight open-source Java projects (cassandra, jmeter, commons, lucene-solr, maven, ant, tomcat, derby) we achieve perfect test results on 4/8 datasets and, overall, a median AUC (area under the true negatives, true positives curve) of 92%.
translated by 谷歌翻译
软件错误预测预测是一个活跃的研究领域,许多因素影响了预测性能。但是,除了一项初始工作外,尚未研究学习方法(即,用于培训和预测目标变量的数据的细节)对预测性能的影响。本文探讨了两种学习方法的影响,即Useallpredictall和usePredictPost,对软件错误预测预测的性能,包括释放内部和跨释放。经验结果基于从十二个开源项目的64个版本中提取的数据。结果表明,学习方法对分类表现有实质性的,通常未被承认的影响。具体而言,使用USEALLPREDICTALL导致的性能要比使用释放和跨释放的UsePrepredictPost学习方法要好得多。此外,本文发现,对于释放内部预测,分类性能的这种差异是由于两种学习方法中的类不平衡级别引起的。解决课堂失衡时,消除了学习方法之间的性能差异。我们的发现暗示,应始终明确识别学习方法及其对软件缺陷预订预测的影响。本文最后讨论了我们的研究和实践结果的潜在后果。
translated by 谷歌翻译
近年来,随着传感器和智能设备的广泛传播,物联网(IoT)系统的数据生成速度已大大增加。在物联网系统中,必须经常处理,转换和分析大量数据,以实现各种物联网服务和功能。机器学习(ML)方法已显示出其物联网数据分析的能力。但是,将ML模型应用于物联网数据分析任务仍然面临许多困难和挑战,特别是有效的模型选择,设计/调整和更新,这给经验丰富的数据科学家带来了巨大的需求。此外,物联网数据的动态性质可能引入概念漂移问题,从而导致模型性能降解。为了减少人类的努力,自动化机器学习(AUTOML)已成为一个流行的领域,旨在自动选择,构建,调整和更新机器学习模型,以在指定任务上实现最佳性能。在本文中,我们对Automl区域中模型选择,调整和更新过程中的现有方法进行了审查,以识别和总结将ML算法应用于IoT数据分析的每个步骤的最佳解决方案。为了证明我们的发现并帮助工业用户和研究人员更好地实施汽车方法,在这项工作中提出了将汽车应用于IoT异常检测问题的案例研究。最后,我们讨论并分类了该领域的挑战和研究方向。
translated by 谷歌翻译
大多数机器学习算法由一个或多个超参数配置,必须仔细选择并且通常会影响性能。为避免耗时和不可递销的手动试验和错误过程来查找性能良好的超参数配置,可以采用各种自动超参数优化(HPO)方法,例如,基于监督机器学习的重新采样误差估计。本文介绍了HPO后,本文审查了重要的HPO方法,如网格或随机搜索,进化算法,贝叶斯优化,超带和赛车。它给出了关于进行HPO的重要选择的实用建议,包括HPO算法本身,性能评估,如何将HPO与ML管道,运行时改进和并行化结合起来。这项工作伴随着附录,其中包含关于R和Python的特定软件包的信息,以及用于特定学习算法的信息和推荐的超参数搜索空间。我们还提供笔记本电脑,这些笔记本展示了这项工作的概念作为补充文件。
translated by 谷歌翻译
我们查看模型可解释性的特定方面:模型通常需要限制在大小上才能被认为是可解释的,例如,深度5的决策树比深度50中的一个更容易解释。但是,较小的模型也倾向于高偏见。这表明可解释性和准确性之间的权衡。我们提出了一种模型不可知论技术,以最大程度地减少这种权衡。我们的策略是首先学习甲骨文,这是培训数据上高度准确的概率模型。 Oracle预测的不确定性用于学习培训数据的抽样分布。然后,对使用此分布获得的数据样本进行了可解释的模型,通常会导致精确度明显更高。我们将抽样策略作为优化问题。我们的解决方案1具有以下关键的有利属性:(1)它使用固定数量的七个优化变量,而与数据的维度(2)无关,它是模型不可知的 - 因为可解释的模型和甲骨文都可能属于任意性模型家族(3)它具有模型大小的灵活概念,并且可以容纳向量大小(4)它是一个框架,使其能够从优化领域的进度中受益。我们还提出了以下有趣的观察结果:(a)通常,小型模型大小的最佳训练分布与测试分布不同; (b)即使可解释的模型和甲骨文来自高度截然不同的模型家族,也存在这种效果:我们通过使用封闭的复发单位网络作为甲骨文来提高决策树的序列分类精度,从而在文本分类任务上显示此效果。使用字符n-grams; (c)对于模型,我们的技术可用于确定给定样本量的最佳训练样本。
translated by 谷歌翻译
Dataset scaling, also known as normalization, is an essential preprocessing step in a machine learning pipeline. It is aimed at adjusting attributes scales in a way that they all vary within the same range. This transformation is known to improve the performance of classification models, but there are several scaling techniques to choose from, and this choice is not generally done carefully. In this paper, we execute a broad experiment comparing the impact of 5 scaling techniques on the performances of 20 classification algorithms among monolithic and ensemble models, applying them to 82 publicly available datasets with varying imbalance ratios. Results show that the choice of scaling technique matters for classification performance, and the performance difference between the best and the worst scaling technique is relevant and statistically significant in most cases. They also indicate that choosing an inadequate technique can be more detrimental to classification performance than not scaling the data at all. We also show how the performance variation of an ensemble model, considering different scaling techniques, tends to be dictated by that of its base model. Finally, we discuss the relationship between a model's sensitivity to the choice of scaling technique and its performance and provide insights into its applicability on different model deployment scenarios. Full results and source code for the experiments in this paper are available in a GitHub repository.\footnote{https://github.com/amorimlb/scaling\_matters}
translated by 谷歌翻译
Label noise is an important issue in classification, with many potential negative consequences. For example, the accuracy of predictions may decrease, whereas the complexity of inferred models and the number of necessary training samples may increase. Many works in the literature have been devoted to the study of label noise and the development of techniques to deal with label noise. However, the field lacks a comprehensive survey on the different types of label noise, their consequences and the algorithms that consider label noise. This paper proposes to fill this gap. First, the definitions and sources of label noise are considered and a taxonomy of the types of label noise is proposed. Second, the potential consequences of label noise are discussed. Third, label noise-robust, label noise cleansing, and label noise-tolerant algorithms are reviewed. For each category of approaches, a short discussion is proposed to help the practitioner to choose the most suitable technique in its own particular field of application. Eventually, the design of experiments is also discussed, what may interest the researchers who would like to test their own algorithms. In this paper, label noise consists of mislabeled instances: no additional information is assumed to be available like e.g. confidences on labels.
translated by 谷歌翻译
半监督学习(SSL)是使用不仅标记的示例,而且是未标记的示例学习预测模型的常见方法。尽管用于分类和回归的简单任务的SSL受到了研究社区的广泛关注,但对于具有结构依赖变量的复杂预测任务,这尚未得到适当的研究。这种情况是多标签分类和分层多标签分类任务,可能需要其他信息,可能来自未标记示例提供的描述性空间中的基础分布,以更好地面对同时预测多个类别标签的挑战性任务。在本文中,我们研究了这一方面,并​​提出了一种基于对预测性聚类树的半监督学习的(分层)多标签分类方法。我们还扩展了整体学习的方法,并提出了一种基于随机森林方法的方法。在23个数据集上进行的广泛实验评估显示了该方法的显着优势及其在其监督对应物方面的扩展。此外,该方法可保留可解释性并降低基于经典树模型的时间复杂性。
translated by 谷歌翻译
As an important data selection schema, active learning emerges as the essential component when iterating an Artificial Intelligence (AI) model. It becomes even more critical given the dominance of deep neural network based models, which are composed of a large number of parameters and data hungry, in application. Despite its indispensable role for developing AI models, research on active learning is not as intensive as other research directions. In this paper, we present a review of active learning through deep active learning approaches from the following perspectives: 1) technical advancements in active learning, 2) applications of active learning in computer vision, 3) industrial systems leveraging or with potential to leverage active learning for data iteration, 4) current limitations and future research directions. We expect this paper to clarify the significance of active learning in a modern AI model manufacturing process and to bring additional research attention to active learning. By addressing data automation challenges and coping with automated machine learning systems, active learning will facilitate democratization of AI technologies by boosting model production at scale.
translated by 谷歌翻译
为了允许机器学习算法从原始数据中提取知识,必须首先清除,转换,并将这些数据置于适当的形式。这些通常很耗时的阶段被称为预处理。预处理阶段的一个重要步骤是特征选择,其目的通过减少数据集的特征量来更好地执行预测模型。在这些数据集中,不同事件的实例通常是不平衡的,这意味着某些正常事件被超出,而其他罕见事件非常有限。通常,这些罕见的事件具有特殊的兴趣,因为它们具有比正常事件更具辨别力。这项工作的目的是过滤提供给这些罕见实例的特征选择方法的实例,从而积极影响特征选择过程。在这项工作过程中,我们能够表明这种过滤对分类模型的性能以及异常值检测方法适用于该过滤。对于某些数据集,所产生的性能增加仅为百分点,但对于其他数据集,我们能够实现高达16%的性能的增加。这项工作应导致预测模型的改进以及在预处理阶段的过程中的特征选择更好的可解释性。本着公开科学的精神,提高了我们的研究领域的透明度,我们已经在公开的存储库中提供了我们的所有源代码和我们的实验结果。
translated by 谷歌翻译
无论是在功能选择的领域还是可解释的AI领域,都有基于其重要性的“排名”功能的愿望。然后可以将这种功能重要的排名用于:(1)减少数据集大小或(2)解释机器学习模型。但是,在文献中,这种特征排名没有以系统的,一致的方式评估。许多论文都有不同的方式来争论哪些具有重要性排名最佳的特征。本文通过提出一种新的评估方法来填补这一空白。通过使用合成数据集,可以事先知道特征重要性得分,从而可以进行更系统的评估。为了促进使用新方法的大规模实验,在Python建造了一个名为FSEVAL的基准测定框架。该框架允许并行运行实验,并在HPC系统上的计算机上分布。通过与名为“权重和偏见”的在线平台集成,可以在实时仪表板上进行交互探索图表。该软件作为开源软件发布,并在PYPI平台上以包裹发行。该研究结束时,探索了一个这样的大规模实验,以在许多方面找到参与算法的优势和劣势。
translated by 谷歌翻译
随着软件量表和复杂性的快速增长,将大量错误报告提交到错误跟踪系统中。为了加快缺陷维修的速度,需要对这些报告进行准确的分类,以便可以将其发送给适当的开发人员。但是,现有的分类方法仅使用错误报告的文本信息,从而导致其性能较低。为了解决上述问题,本文提出了一种用于错误报告的新自动分类方法。创新是,当对错误报告进行分类时,除了使用报告的文本信息外,还考虑了报告的意图(即建议或解释),从而提高了分类的性能。首先,我们从四个生态系统(Apache,Eclipse,Gentoo,Mozilla)收集错误报告,并手动注释它们以构建实验数据集。然后,我们使用自然语言处理技术来预处理数据。在此基础上,BERT和TF-IDF用于提取意图的功能和多个文本信息。最后,这些功能用于训练分类器。对五个分类器(包括k-nearest邻居,天真的贝叶斯,逻辑回归,支持向量机和随机森林)的实验结果表明,我们提出的方法可实现更好的性能,其F量度从87.3%达到95.5%。
translated by 谷歌翻译
血浆定义为物质的第四个状态,在高电场下可以在大气压下产生非热血浆。现在众所周知,血浆激活液体(PAL)的强和广谱抗菌作用。机器学习(ML)在医疗领域的可靠适用性也鼓励其在等离子体医学领域的应用。因此,在PALS上的ML应用可以提出一种新的观点,以更好地了解各种参数对其抗菌作用的影响。在本文中,通过使用先前获得的数据来定性预测PAL的体外抗菌活性,从而介绍了比较监督的ML模型。进行了文献搜索,并从33个相关文章中收集了数据。在所需的预处理步骤之后,将两种监督的ML方法(即分类和回归)应用于数据以获得微生物灭活(MI)预测。对于分类,MI分为四类,对于回归,MI被用作连续变量。为分类和回归模型进行了两种不同的可靠交叉验证策略,以评估所提出的方法。重复分层的K折交叉验证和K折交叉验证。我们还研究了不同特征对模型的影响。结果表明,高参数优化的随机森林分类器(ORFC)和随机森林回归者(ORFR)分别比其他模型进行了分类和回归的模型更好。最后,获得ORFC的最佳测试精度为82.68%,ORFR的R2为0.75。 ML技术可能有助于更好地理解在所需的抗菌作用中具有主要作用的血浆参数。此外,此类发现可能有助于将来的血浆剂量定义。
translated by 谷歌翻译
软件测试可能是一个漫长且昂贵的过程,尤其是如果无法测试的软件进行测试。重构技术可以通过改善影响可检验性的软件指标来增强可检验性。在构建回归模型学习如何将计算的源代码计算指标与其可检验性相关联的指标时,确定了指标。我们确定了15个软件指标,在解释我们的可检测性预测模型的同时,高度影响可检验性。我们使用42个Java类的实验表明,除了改善其他一些质量属性外,改善这15个指标的重构平均可以提高可测试性15.57%。我们的可测试性预测模型经过训练,可以映射源代码指标,以测试有效性和效率,作为可测试软件的两种重要成分。随着测试套件获得的覆盖范围的增加,测试有效性会提高。另一方面,随着测试套件的大小增加,测试效率会降低。本文提供了一个数学模型,以根据测试套件的大小和覆盖范围来计算类可检验性。我们使用此数学模型来计算可测试性作为我们可检测性预测模型的目标。数学模型要求执行正在测试的类以计算测试覆盖范围,而我们的回归模型在静态上测量了测试性。在测试性方面的测试结果预测应在测试之前,以避免不必要的成本。我们的可测试性预测模型已在23,886个Java类和262个软件指标上进行了培训和测试。学习的模型以R2为0.68,平均平方误差为0.03,可预测可验证性。
translated by 谷歌翻译
社会科学家经常将文本文档分类为使用结果标签作为实证研究的结果或预测指标。自动化文本分类已成为标准工具,因为它需要较少的人体编码。但是,学者们仍然需要许多人类标记的文件来培训自动分类器。为了降低标签成本,我们提出了一种新的文本分类算法,将概率模型与主动学习结合在一起。概率模型同时使用标记和未标记的数据,而主动学习集中在难以分类的文件上标记工作。我们的验证研究表明,我们的算法的分类性能与最先进的方法相当,而计算成本的一部分。此外,我们复制了两篇最近发表的文章,并得出相同的实质性结论,其中仅占这些研究中使用的原始标记数据的一小部分。我们提供ActiveText,一种开源软件来实现我们的方法。
translated by 谷歌翻译
Concept drift describes unforeseeable changes in the underlying distribution of streaming data over time. Concept drift research involves the development of methodologies and techniques for drift detection, understanding and adaptation. Data analysis has revealed that machine learning in a concept drift environment will result in poor learning results if the drift is not addressed. To help researchers identify which research topics are significant and how to apply related techniques in data analysis tasks, it is necessary that a high quality, instructive review of current research developments and trends in the concept drift field is conducted. In addition, due to the rapid development of concept drift in recent years, the methodologies of learning under concept drift have become noticeably systematic, unveiling a framework which has not been mentioned in literature. This paper reviews over 130 high quality publications in concept drift related research areas, analyzes up-to-date developments in methodologies and techniques, and establishes a framework of learning under concept drift including three main components: concept drift detection, concept drift understanding, and concept drift adaptation. This paper lists and discusses 10 popular synthetic datasets and 14 publicly available benchmark datasets used for evaluating the performance of learning algorithms aiming at handling concept drift. Also, concept drift related research directions are covered and discussed. By providing state-of-the-art knowledge, this survey will directly support researchers in their understanding of research developments in the field of learning under concept drift.
translated by 谷歌翻译
错误报告是软件开发中的常见文物。它们作为用户与开发人员通信有关使用发布版本的软件程序时遇到的问题的主频道。然而,在对问题的描述中,用户可以故意或不揭示漏洞。在典型的维护方案中,在准备纠正补丁时,开发团队优先考虑此类安全相关错误报告。然而,当安全相关性没有立即表达(例如,通过标签)或通过TRIAJIG团队迅速识别时,开放的安全相关错误报告可能成为攻击者可以利用以执行零日攻击的敏感信息的关键泄漏。为了支持Trizing Bug报告中的从业者,研究社区提出了检测安全相关错误报告的许多方法。近年来,报告了基于机器学习的这方面的方法,具有很有希望的表现。我们的工作侧重于这些方法,并重新审视其积木,为目前的成就提供全面的观点。为此,我们建立了一个大型实验数据集,并在特征集和学习算法中进行了广泛的实验。最终,我们的研究突出了不同的方法配置,从而产生最好的执行分类器。
translated by 谷歌翻译