基于机器学习的软件缺陷与复杂度关联关系分析方法与流程

本发明涉及人工智能、大数据技术领域,具体涉及一种基于机器学习的软件缺陷与复杂度关联关系分析方法。

背景技术:

近年来,随着人工智能、大数据等新型技术的不断发展,软件演化日渐频繁,造成软件系统的规模越来越大、复杂程度越来越高。但由于软件规模的指数增长、为完成进度忽略软件编码规范及软件复杂程度控制等原因,软件复杂度急剧上升,直接导致软件缺陷逐渐增多,软件质量变得越来越难以控制。因此,研究软件缺陷与软件复杂度之间的关系,分析影响软件缺陷的复杂度因素,对控制软件质量尤为重要。

传统软件缺陷的影响因素分析方法大多是从软件缺陷本身出发,将发现的软件缺陷分类,依据缺陷的结果数据采用统计分析、专家系统等方法,分析缺陷的产生原因。随着人工智能技术的出现,逐渐基于现有缺陷数据进行未来缺陷预测,或采用深度学习等方式分析缺陷之间的相互影响关系。以上软件缺陷分析方法从某一剖面研究了软件缺陷的影响因素,研究的影响因素粒度大小不一,缺乏对软件缺陷与软件质量关系的宏观分析。实际上,软件复杂度是最直观、最容易量化的一条软件质量评价指标,因此从软件复杂度宏观量化分析软件缺陷是较为有效的控制软件缺陷的一种方法,软件复杂度的升高会直接提高软件缺陷数增加的风险。但目前缺少软件复杂度与软件缺陷的客观、定量分析方法,无法准确定位影响软件缺陷的复杂度度量元,难以通过降低软件复杂度有效降低软件缺陷的数量。

技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:如何设计一种软件复杂度与软件缺陷的客观、定量分析方法,准确定位影响软件缺陷的复杂度度量元,通过降低软件复杂度有效降低软件缺陷的数量。

(二)技术方案

为了解决上述技术问题,本发明提供了一种基于机器学习的软件缺陷与复杂度关联关系分析方法,包括以下步骤:

步骤一:面向领域的软件缺陷分类和软件复杂度度量元定义;

步骤二:基于步骤一进行基于单因素方差检验的软件缺陷影响因素分析;

步骤三:基于步骤二进行基于机器学习的软件缺陷与软件复杂度度量元之间关系的分析;

步骤四:基于步骤三进行基于aov网络的软件复杂度度量元间涌现特征分析。

优选地,步骤1中,面向领域的软件缺陷分类时,依据不同领域软件运行时出现的软件缺陷情况,区分软件缺陷问题。

优选地,将软件缺陷问题分为:问题总数、文档问题数、代码问题数、修改程序数、其他修改数、代码关键问题数、代码重要问题数、代码一般问题数、代码建议问题数、编程准则问题数、容错防错问题数、接口通讯问题数、异步并发问题数、时序时限问题数、计算算法问题数、初始启动问题数、内存管理问题数、其他问题数。

优选地,步骤1中,软件复杂度度量元定义时,软件复杂度度量根据软件所在的领域、软件开发使用的编程语言不同,选择能反映软件复杂属性的度量元,并对软件的复杂程度进行评价。

优选地,步骤1中,若软件为装备软件,定义软件复杂度度量元包括:代码行数、注释行数、功能点个数、圈复杂度。

优选地,步骤二具体为:

观测变量方差的分解:将观测变量的总离差平方和分解为组间离差平方和以及组内离差平方和两部分,分别表示为sst=ssa+sse,其中:

(1)sst:观测变量的总离差平方和,衡量所有的观测值cij对于总均值的偏离程度,反映了抽样随机误差的大小;

(2)ssa:为组间离差平方和,衡量的是组均值对于总均值的偏离程度;

(3)sse:为组内离差平方和,反映所有的观测值cij对组均值的偏离程度,反映系统误差;

将软件缺陷数目d作为观测变量,一个软件缺陷影响因素c作为当前的控制变量,观察c对d的影响,将c根据数据分布进行分组,分为a组,每组b个数据,表示为:

cij表示:第i组中第j个度量元的值;

根据以上定义,sst、ssa、sse表示为:

总方差sst:

组内方差sse:

组间方差ssa:

公式变量含义如下:

cij表示第i组第j个观测变量的观测值i=1,2,3……a,j=1,2,3……b;表示总均值,表示第i组观测值的均值;

进一步得到组间均方差和组内均方差:

组间均方差

组内均方差

在方差相等的假定下,要检验n个总体的均方差是否相等,首先给定原假设和备择假设,n=a*b;

原假设h0:均值方差相等

备择假设h1:均值方差不完全相等

构造f分布进行方差检验:

该统计量服从分子自由度为a-1,分母自由度为(a*b)-a的f分布,给定显著性水平a,如果根据样本计算出f统计量的值小于临界值f(a-1,a*b-a),则说明原假设h0不成立,总体的均值不完全相等,差异并非仅仅由随机因素引起,而是由其他因素决定,由此认为当前的控制变量对观测变量产生了影响;

基于以上过程,进一步确定软件研制阶段、软件类型、软件代码复杂度这些因素对软件缺陷的影响,且确定其中软件代码复杂度对缺陷的影响比较大,以便下一步分析软件缺陷与软件复杂度度量元之间的关系。

优选地,步骤三具体包括:

(一)软件复杂度度量元数据处理

依据中心极限定理,采用高斯混合模型gmm对软件复杂度的度量元进行归一化处理,对于归一化之后的数据分别计算方差,认为方差大的数据具有明显的特征,剔除方差小、特征不明显的数据;

其中,gmm是指具有如下形式的概率分布模型:

其中x表示复杂度度量元,k表示gmm模型中高斯分布函数的个数,k=1,2,…,k;πk是第k个高斯分布函数的系数,πk≥0,n(x|uk,∑k)表示第k个高斯分布函数的高斯分布密度,表示如下:

其中uk为第k个高斯分布函数的均值,∑k为方差;

对复杂度度量元的度量值进行高斯混合建模时,选择使当前度量元的样本数据相对熵最小时超参数k作为最终高斯混合模型的k值,选择算法如下:针对各个k值,首先使用无监督em算法进行复杂度度量元分布高斯混合模型的建模,然后计算样本数据与所建模型的相对熵,相对熵最小的高斯混合模型作为所求的高斯混合模型;

针对同一个领域内多个软件项目代码复杂度度量,以项目为样本单位,构造软件复杂度样本集如下:

其中,每一个横排表示一个项目度量结果,即一个样本;n表示样本集大小,即度量的项目代码个数;纵列为一个度量元的所有样本数据,即要做高斯混合模型建模的数据,每一个度量元有n个样本数据做高斯混合模型建模;m表示一个项目即一个样本中的度量元个数;

根据以上定义,xij则表示:第i个项目中第j个度量元的值;

下面以第j个复杂度度量元为例介绍高斯混合模型的构建:

(1)首先构造样本数据的第j个复杂度度量元数据集sj;

sj={x1j,x2j,...,xij,…,xnj}

(2)初始化高斯混合模型的分量个数为kj,建立高斯混合模型gmmkj(πj,uj,∑j),则有:

(3)计算gmmkj(πj,uj,∑j)与真实样本的相对熵dkj;

(4)从kj=1开始不断增大kj值,并重复步骤(2)~(3),即可得到不同kj值下的相对熵dkj,根据dkj跟随kj的变化趋势,求出最佳的kj值,设为kj。则复杂度度量元j的高斯混合模型gmmj(πj,uj,∑j)=gmmkj(πj,uj,∑j);

(5)依次构建各复杂度度量元数据集,重复步骤(1)~(4),得到每个度量元的高斯混合模型gmmj;由此,即完成了复杂度度量元的高斯混合模型构建;

(二)复杂度度量元概率归一化计算

(1)范围归一化

分布函数定义为变量y取值小于y的累计概率,也称为概率累积函数,使用高斯混合分布拟合特征y的概率密度函数p(y)时,y的分布函数为:

分布函数是随机变量最重要的概率特征,可完整地描述随机变量的统计规律,并且决定随机变量的一切其他概率特征,此外,分布函数具有非降性、有界性和右连续性,其取值范围是[0,1],具有良好的统计特性,故使用特征y的分布函数值f(y),作为特征y的归一化处理之后的值,实现特征y的概率归一化计算,y取y值的概率越大时,可认为y的值就越重要;

在软件复杂度评估中,通过复杂度度量元的概率归一化计算,可以将软件复杂度属性的度量值用于表征软件的复杂度水平,通过各个软件复杂度度量元的高斯混合模型,对任意软件复杂度样本数据x={xi1,xi2,xi3,…,xij,…,xim},对任意的复杂度度量元j的复杂度属性度量值xij,计算其在对应高斯混合模型gmmj(πj,uj,∑j)中的累计概率,从而得到该样本在该复杂度度量元下的软件复杂水平qj:

由此,即可得到任意软件度量样本x={xi1,xi2,xi3,…,xij,…,xim}基于高斯混合模型的度量元概率归一化结果:

从而实现复杂度度量元的范围归一化;

(2)趋向归一化

对于中度量数据小于预设阈值,复杂度高于对应值的复杂度度量元,令qj=1-qj,得到任意软件度量样本复杂度度量元趋近归一化结果:

q={q1,q2,...,qm}

综上,经过复杂度度量数据的范围归一化和趋向归一化实现了软件复杂度度量数据的归一化,并且度量值越趋近于1越好。

优选地,步骤四包括:(一)软件缺陷类别筛选;(二)影响软件缺陷数的软件复杂度度量元筛选;(三)aov网络建立。

优选地,步骤四具体包括:(一)软件缺陷类别筛选

(二)影响软件缺陷数的软件复杂度度量元筛选

经过步骤(一)得到了筛选后的软件缺陷分类,设置新的相对熵值域,进一步按列筛选,将超过新的相对熵值域的软件复杂度度量元作为待分析软件缺陷类别中对其影响较大的复杂度度量元;

(三)aov网络建立

从而获取了对一类软件缺陷有显著影响的度量元,但未挖掘度量元之间的涌现特征,因此,下面基于aov网络分析软件复杂度度量元间涌现特征;

(1)针对每一类软件缺陷的所有度量元x={x1,x2,…,xi,…,xp},其中p表示对缺陷有显著影响的度量元个数,根据度量结果数据计算度量元之间的斜率,得到斜率矩阵t:

其中tij表示i和j两个度量元之间的斜率;

(2)遍历矩阵t,找出t中大于阈值β2的项,保留大于β2的斜率,认为度量元之间有显著影响关系;

(3)基于矩阵t构造有向有环图g(n,e);其中n={n1,n2,n3,...,np},节点ni表示第i个度量元构成的节点;令e={...,eij,...}为有向有环图中所有边的集合,其中eij表示度量元节点ni指向度量元节点nj的边且eij的权重等于tij;

(4)基于最大生成树算法将有向有环图g(n,e)转换为aov网g′(n,e′),其中表示去除无用边之后得到的有向无环图g′(n,e′)中所有边的集合,eij′表示度量元节点ni指向度量元节点nj的边,每条边权重不变仍为tij;

(5)计算aov网g′(n,e′)中的节点ni的影响域ii,得到各节点影响域集合i={i1,i2,i3,...,ip},如下:

其中,直接后续节点表示无环图g′(n,e′)中以ni节点为头结点,并与其直接相连的尾节点;

(6)计算各节点的权重w={w1,w2,w3,...,wp},其中节点ni对应的权重是wi,计算方式如下所示:

根据以上步骤建立了aov网,即找出了针对特定软件缺陷,软件复杂度度量元之间的相互影响关系。

优选地,步骤四中软件缺陷类别筛选具体过程如下:

(1)针对每一类软件问题,以该类缺陷的问题数为纵坐标,软件复杂度度量元为横坐标,建立软件复杂度度量数据与当前类软件缺陷的数目的对应关系,画出散点图;

(2)基于散点图,以横坐标的软件复杂度度量数据为基本单元,对软件存在缺陷数进行分组处理;

(3)计算单一软件缺陷类的散点图下的组间相对熵,取组间相对熵最大值记录下来;

(4)重复步骤(1)~(3),构成相对熵的表格根据当前的领域情况,确定相对熵的值域,由于不同复杂度度量元对不同类别的软件缺陷影响程度不同,因此,针对每一个度量元,将超过相对熵值域的软件缺陷作为待分析的软件缺陷类别。

(三)有益效果

本发明提出一种基于机器学习的软件缺陷与复杂度关联关系分析方法,基于大量的软件测试数据,分别通过单因素方差检验、高斯混合模型的方式探究不同类别软件缺陷的数目与复杂度、软件类型等多因素之间的关系。在高斯混合模型的方式中,通过对复杂度度量结果进行清洗、处理,量化计算软件缺陷数与每一个复杂度度量元之间的影响关系,并基于aov网络、关联分析等方法客观分析软件缺陷与多软件复杂度度量元之间的涌现特征,进而计算出影响软件缺陷的关键复杂度因素。

附图说明

图1为本发明的总体设计方案示意图;

图2为本发明中依据软件特点与行业标准定义复杂度度量元示意图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本发明的总体设计方案如下:首先,分析特定领域软件特点,定义软件缺陷的分类;针对不同的编程语言,分析其语言特点,结合现有静态分析工具,定义软件复杂度度量元,设计软件复杂度度量元集合;然后,分别基于单因素方差检验和机器学习模型进行软件缺陷数与可能的影响因素之间的关系探寻;在单方差检验中,以控制变量法为核心,计算不同软件缺陷影响因素对软件缺陷数的影响;接着,利用高斯混合模型归一化同一领域内的复杂度度量结果和历史软件缺陷数,并根据散点图、数据统计分析等方式去除对软件缺陷影响小的度量元和变化不明显的软件缺陷类别;依次计算筛选后的复杂度度量元对筛选后的每一类软件缺陷数的影响权重和复杂度度量元之间的影响权重,依据计算结果分析软件缺陷数与度量元、度量元与度量元之间的涌现特征;最后设计出aov网络,研究影响软件缺陷数的关键复杂度度量元。

参考图1,该方法具体包括以下步骤:

步骤一面向领域的软件缺陷分类和软件复杂度度量元定义

(一)面向领域的软件缺陷分类

依据不同领域软件运行时常常出现的软件缺陷情况,将软件缺陷问题分为:“问题总数、文档问题数、代码问题数、修改程序数、其他修改数、代码关键问题数、代码重要问题数、代码一般问题数、代码建议问题数、编程准则问题数、容错防错问题数、接口通讯问题数、异步并发问题数、时序时限问题数、计算算法问题数、初始启动问题数、内存管理问题数、其他问题数”等。

(二)软件复杂度度量元定义

软件复杂度度量是根据软件所在的领域、软件开发使用的编程语言不同,选择能恰当反映软件复杂属性的度量元,并选择合适的技术对软件的复杂程度进行评价。软件的领域不同,软件设计准则、行业评审及测试标准不同,科学地定义软件复杂度度量元是软件复杂度度量与评估的重要环节。

以装备软件为例,由于其具有高复杂度、高实时性、高可靠性、以c语言为主等特点,本发明可结合软件编程规范《gjb8114-2013c/c++语言编程安全子集》、《gjb_z102a-2012军用软件安全性设计指南》等行业标准,综合考虑软件的设计分析、编码结构等方面的设计准则,并结合以上装备软件特点,将标准中可量化的设计准则与装备软件特点进行映射,定义软件复杂度度量元包括:代码行数、注释行数、功能点个数、圈复杂度等。

步骤二基于步骤一进行基于单因素方差检验的软件缺陷影响因素分析

影响软件缺陷的因素可能包括软件类型、软件开发人员、研制进度、软件复杂度等多种,但究竟哪种因素对软件缺陷具有显著影响是目前需要分析的问题。本发明基于单因素方差检验方法,将可能影响软件缺陷的软件因素统计结果与软件缺陷数目进行分析,研究一个控制变量的不同水平是否对观测变量产生了明显的影响,其中一个控制变量为某一种软件缺陷影响因素,观测变量为软件缺陷数目。

(3)sse:为组内离差平方和,反映所有的观测值cij对组均值的偏离程度,反映系统误差。

将软件缺陷数目d作为观测变量,某一个软件缺陷影响因素c作为当前的控制变量,观察c对d的影响。将c根据数据分布进行分组,分为a组,每组b个数据,表示为:

cij表示:第i组中第j个度量元的值。

cij表示第i组第j个观测变量的观测值(i=1,2,3......a,j=1,2,3......b);表示总均值,表示第i组观测值的均值。

在此基础上,还可以得到组间均方差和组内均方差:

在方差相等的假定下,要检验n(n=a*b)个总体的均方差是否相等,须首先给定原假设和备择假设。

原假设ho:均值方差相等

该统计量服从分子自由度为a-1,分母自由度为(a*b)-a的f分布。给定显著性水平a,如果根据样本计算出f统计量的值小于临界值f(a-1,a*b-a),则说明原假设h0不成立,总体的均值不完全相等,差异并非仅仅由随机因素引起,而是由其他因素决定,由此认为当前的控制变量(软件影响因素)对观测变量(软件缺陷)产生了明显影响。

基于以上过程,可进一步确定软件研制阶段、软件类型、软件代码复杂度等因素对软件缺陷的影响,且其中软件代码复杂度对缺陷的影响比较大。因此,下一步探寻软件缺陷与软件复杂度度量元之间的关系。

步骤三基于步骤二进行基于机器学习的软件缺陷与软件复杂度度量元之间关系的分析

依据中心极限定理,本步骤采用高斯混合模型(gaussianmixturemodel,gmm)对软件复杂度的度量元进行归一化处理,消除因数量级不同而带来的影响。对于归一化之后的数据分别计算方差,认为方差大的数据具有明显的特征,剔除方差小、特征不明显的数据。

gmm是由多个高斯分布函数的线性组合,理论上gmm可以拟合出任意类型的分布。在大量软件复杂度样本数据中,使用gmm可以更好地拟合各复杂度度量元的分布。gmm是指具有如下形式的概率分布模型:

其中uk为第k个高斯分布函数的均值,∑k为方差。

对复杂度度量元的度量值进行高斯混合建模时,选择使当前度量元的样本数据相对熵最小时超参数k作为最终高斯混合模型的k值。选择算法如下:针对各个k值,首先使用无监督em(expectationmaximizationalgorithm)算法进行复杂度度量元分布高斯混合模型的建模,然后计算样本数据与所建模型的相对熵,相对熵最小的高斯混合模型作为所求的高斯混合模型。

根据以上定义,xij则表示:第i个项目中第j个度量元的值。

(5)依次构建各复杂度度量元数据集,重复步骤(1)~(4),得到每个度量元的高斯混合模型gmmj。

由此,即完成了复杂度度量元的高斯混合模型构建。

复杂度度量结果是复杂度评价的基础数据,但由于复杂度模型中度量结果的范围和趋向性并不完全统一,因此需要对复杂度度量结果进行归一化处理,具体处理方法包括范围归一化和趋向归一化两个步骤。

分布函数定义为变量y取值小于y的累计概率,也称为概率累积函数。使用高斯混合分布拟合特征y的概率密度函数p(y)时,y的分布函数为:

分布函数是随机变量最重要的概率特征,可以完整地描述随机变量的统计规律,并且决定随机变量的一切其他概率特征,此外,分布函数具有非降性、有界性和右连续性,其取值范围是[0,1],具有良好的统计特性,故使用特征y的分布函数值f(y),作为特征y的归一化处理之后的值,实现特征y的概率归一化计算,y取y值的概率越大时,可以认为y的值就越重要。

类似地,在软件复杂度评估中,通过复杂度度量元的概率归一化计算,可以将软件复杂度属性的度量值用于表征软件的复杂度水平。通过各个软件复杂度度量元的高斯混合模型,对任意软件复杂度样本数据x={xi1,xi2,xi3,…,xij,…,xim},对任意的复杂度度量元j的复杂度属性度量值xij,计算其在对应高斯混合模型gmmj(πj,uj,∑j)中的累计概率,从而得到该样本在该复杂度度量元下的软件复杂水平qj:

从而实现复杂度度量元的范围归一化。

复杂度度量数据的范围归一化将复杂度度量数据归一化至[0,1]或(0,1]范围内,但是由于趋向归一化并不完全统一,难以直接用于软件综合复杂度的评估,因而需要对复杂度度量数据进行趋向归一化,对于中度量数据小于预设阈值,复杂度高于对应值的复杂度度量元,令qj=1-qj,即可得到任意软件度量样本复杂度度量元趋近归一化结果:

步骤四:基于步骤三进行基于aov网络的软件复杂度度量元间涌现特征分析

(一)软件复杂度影响较大的软件缺陷类别筛选

软件复杂度模型中,某些复杂度度量元的变化会显著引起软件缺陷的变化,研究复杂度度量元的涌现特征,就是分析软件复杂度度量元对软件缺陷的影响。

具体过程如下:

(4)重复步骤(1)~(3),构成相对熵的表格,如表1所示。

表1软件缺陷类别与质量度量元相对熵表

(5)根据当前的领域情况,确定相对熵的值域。由于不同复杂度度量元对不同类别的软件缺陷影响程度不同,因此,本发明针对每一个度量元,将超过相对熵值域的软件缺陷作为待分析的软件缺陷类别。

(二)显著影响软件缺陷数的软件复杂度度量元筛选

经过步骤(一),得到了筛选后的软件缺陷分类,根据当前的领域特点、结合专家经验和本次分析中待分析的复杂度度量元个数等情况,设置新的相对熵值域,本步骤进一步在表1中按列筛选,将超过新的相对熵值域的软件复杂度度量元作为待分析软件缺陷类别中对其影响较大的复杂度度量元。

表2软件缺陷与软件复杂度度量元具有显著关系的示例表格

如表2所示,“-”表示被值域剔除的度量元及软件缺陷类别,a’、b’、c’、d’分别表示软件缺陷与软件复杂度度量元具有显著关系,其相对熵分别a’、b’、c’、d’。

以上步骤获取了对某一类软件缺陷有显著影响的度量元,但未挖掘度量元之间的涌现特征,因此,下面基于aov网络分析软件复杂度度量元间涌现特征。

(1)针对每一类软件缺陷的所有度量元x={x1,x2,…,xi,…,xp}(其中p表示对缺陷有显著影响的度量元个数),根据度量结果数据计算度量元之间的斜率,得到斜率矩阵t:

(2)遍历矩阵t,找出t中大于阈值β2的项,保留大于β2的斜率,认为度量元之间有显著影响关系。

(3)基于矩阵t构造有向有环图g(n,e);其中n={n1,n2,n3,...,np},节点ni表示第i个度量元构成的节点;为了便于表示,令e={...,eij,...}为有向有环图中所有边的集合,其中eij表示度量元节点ni指向度量元节点nj的边且eij的权重等于tij。

(4)基于最大生成树算法将有向有环图g(n,e)转换为aov网(有向无环图)g′(n,e′)。其中表示去除无用边之后得到的有向无环图g′(n,e′)中所有边的集合,eij′表示度量元节点ni指向度量元节点nj的边,每条边权重不变仍为tij;

(5)计算aov网g′(n,e′)中的节点ni(代表第i个度量元)的影响域ii,得到各节点影响域集合i={i1,i2,i3,…,ip},如下:

其中,直接后续节点表示无环图g′(n,e′)中以ni节点为头结点,并与其直接相连的尾节点。

(6)计算各节点(度量元)的权重w={w1,w2,w3,…,wp},其中节点ni对应的权重是wi,计算方式如下所示:

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

THE END
1.机器学习的相关软件框架下载安装机器学习软件机器学习 专栏收录该内容 31 篇文章 29 订阅 订阅专栏 本文详细介绍了如何下载和安装Anaconda,解决AnacondaNavigator打不开的问题,以及创建和使用PyTorch-CPU环境。此外,还涵盖了Python版本升级、包的维护,包括pip工具的使用、升级和管理第三方库的方法,以及如何修改pip镜像源以提高下载速度。 摘要由CSDN通过智能技术https://blog.csdn.net/weixin_45891612/article/details/128692813
2.Microsoft机器学习产品和技术概述Azure Data Science Virtual Machine使用预安装的数据科学工具的虚拟机映像使用 Jupyter、R 和 Python 等工具在自己的 VM 上开发机器学习解决方案。 ML.NET开源的跨平台机器学习 SDK开发适用于 .NET 应用程序的机器学习解决方案。 Windows AIWindows 设备上的已训练模型的推理引擎将人工智能功能集成到 Windows 应用程序https://docs.microsoft.com/zh-cn/azure/machine-learning/service/overview-more-machine-learning
3.科学网—机器学习软件推荐一个机器学习软件推荐一个 写在前面 谈起机器学习和数据挖掘,很多非计算机专业的人就望而却步。很重要的原因是,敲代码。这次就推荐一款无需敲代码的独立软件Weka,专门做机器学习和数据挖掘,用起来真的很香。当然,Weka也为开发者提供了接口,方便用户开发新应用。https://wap.sciencenet.cn/blog-571917-1310015.html
4.初学者和专业技术人员使用的十大机器学习软件它是用python编写的,并且可以在TensorFlow,CNTK和Theano等其他高级软件之上运行,该机器学习软件有助于快速试验各种模型和算法,它还为CNN(卷积神经网络)和循环网络提供支持,Keras模型主要基于顺序模型和功能性API,人们相信这是制造神经网络的未来,Keras允许您在不同的后端上运行相同的代码,这就是为什么Keras如此被爱的https://www.51cto.com/article/627083.html
5.机器学习和预测分析软件Minitab数据科学和机器学习 业务分析和智能软件 统计过程控制 质量分析 Live Analytics 可靠性和寿命数据分析 离散事件模拟 过程挖掘 关键功能 持续改进 数据集成和数据准备 图表和思维导图 数字孪生 模型和机器学习运营 创新和项目管理 过程卓越:检测、纠正和预防 http://salford-systems.com/
6.软件公司生产的产品有哪些零代码企业数字化知识站人工智能和机器学习软件用于开发智能应用,支持自动化决策和数据分析。包括机器学习平台(如TensorFlow、PyTorch)、自然语言处理工具(如spaCy、NLTK)和计算机视觉库(如OpenCV、Dlib)。机器学习平台提供算法和工具,支持模型训练和评估。自然语言处理工具用于文本分析和理解,支持聊天机器人、翻译和情感分析应用。计算机视觉库用于图https://www.jiandaoyun.com/blog/article/439333/
7.机器视觉软件有哪些苹果机器学习软件是苹果公司开发的一套机器学习和机器视觉工具包。它提供了丰富的图像处理和模式识别功能,可以帮助用户进行图像分类、目标检测等任务。苹果软件还具有高度可定制化的特性,适用于开发人员和研究人员。 4. 微软计算机视觉软件 微软计算机视觉软件是微软公司提供的一套机器视觉工具。它包括了多个功能强大的图像https://cn.smartmore.com/article/post/1922.html
8.基于机器学习的软件缺陷预测方法研究基于机器学习的软件缺陷预测方法研究,机器学习,软件缺陷预测,类不平衡,特征选择,软件缺陷预测技术能够在软件开发初期尽早的发现软件缺陷,有助于合理地分配测试资源,降低软件开发和维护成本,是保证软件可靠性的重https://wap.cnki.net/lunwen-1020344241.html
9.关于机器学习的这几个必备软件,你知道吗?生涯频道领研网今天给大家介绍4款机器学习的免费软件,全部可以在App Store里面下载(手机、iPad均可),可以帮助大家更好地理解机器学习! 神经网络 神经网络:该APP是一个受Google TensorFlow的Deep playground启发而制作的应用。该程序的大量代码都借鉴了开源项目Deep playground,其致力于普及神经网络、人工智能的相关知识。 https://www.linkresearcher.com/careers/c55d3dec-a7f6-4194-951e-8f693d1c572d
10.百度谷歌等联合推出机器学习基准加速全球AI软硬件发展中新网5月3日电 5月2日,由包括百度、谷歌、斯坦福大学、哈佛大学在内的多家企业和高校联合发布了一套用于测量和提高机器学习软硬件性能的国际基准MLPerf。其巨大的学术和产业价值获业界肯定,被认为不仅将加速推进机器学习硬件+软件相关技术创新,更将对整个AI领域的研发思路、投资布局带来长期影响。 https://www.chinanews.com.cn/m/it/2018/05-03/8504906.shtml
11.ccd机器视觉需要学什么软件机器视觉视觉检测设备3D视觉在CCD机器视觉中,机器学习和深度学习可以帮助我们构建更加智能和准确的检测模型。常见的机器学习软件有Scikit-learn和TensorFlow等,它们提供了各种机器学习算法和模型,可以帮助我们进行数据的训练和预测。而深度学习软件如Keras和PyTorch等,则更加强调对神经网络的建模和训练。学习机器学习和深度学习软件需要一定的数学基础和https://www.0755vc.com/16989.html
12.基于机器学习的软件缺陷预测与识别随着软件在现代社会中的广泛应用,软件缺陷的出现对企业和用户都带来了严重的损失。为了及时发现和解决软件缺陷,研究人员和工程师们开始探索利用机器学习技术来预测和识别软件缺陷。本文介绍了机器学习在软件缺陷预测与识别领域的应用,以及相关方法和挑战。 引言: http://www.51testing.net/studyInfo/basis/70726.html
13.基于机器学习的软件缺陷预测模型研究.pptx基于机器学习的软件缺陷预测模型研究:2023-12-30目录引言软件缺陷预测模型相关理论基于机器学习的软件缺陷预测模型构建实验设计与结果分析模型应用与展望参考文献引言01软件质量的重要性软件质量对于企业的成功和用户的满意度至关重要,而缺陷是影响软件质量的主要因素之一。传统测试方法的局限性传统的软件测试方法往往无法全面https://m.renrendoc.com/paper/304512742.html
14.ODYSSEE数字孪生与机器学习大数据优化软件ODYSSEE是基于CAE模拟数据和物理测试数据,通过人工智能(AI)/机器学习(ML)和降阶建模(ROM)技术,进行产品实时预测及优化的数字孪生与机器学习大数据优化软件。 软件不仅用于设计阶段,在早期设计阶段之后,采用数字孪生技术,制造商可以进行图像识别、仿真预测和故障预测,帮助解决整个生产过程中的停机、吞吐量、质量和灵活性https://www.anscos.com/odyssee.html
15.为什么大的芯片厂,都忙着收购“机器学习”软件公司?一些大型半导体供应商已经在开始收购机器学习(ML)软件公司,以便加强它们针对嵌入式系统的人工智能(AI)产品。最近一笔交易就是英飞凌科技与总部位于瑞典斯德哥尔摩的初创公司Imagimob AB所签署的,后者在为边缘设备提供机器学习解决方案。这家瑞典公司的工具链可提供生产级机器学习模型。 https://www.esmchina.com/news/10724.html
16.软件定义下一代汽车,国产龙头依旧是:华为!3.3. 机器学习算法实力强劲,实现快/准/巧 诺亚方舟实验室和智能车云服务产品部是机器学习软件算法的核心支撑团队。华为八爪鱼(HUAWEI Octopus)自动驾驶云服务依托联合团队以及诺亚方舟实验室的最新研究成果,优化自研算法,多项算法模型的精准率达到业界领先水平。 https://awtmt.com/articles/3611353
17.安卓软件开发:如何实现机器学习部署到安卓端安卓软件开发:如何实现机器学习部署到安卓端 2024年已经过半了,我作为聋人独立开发者,我经常反思自己在这半年中的成长,自己这半年到底进步了多少?在这篇文章里,分享机器学习模型部署Android端的开发案例。无论你有没有开发经验,相信这篇文章对你会非常有所帮助。https://cloud.tencent.com/developer/article/2452333