我有一个如下所示的模型,我正在尝试计算其整体计算复杂度(Big-O表示法)。
在此模型中,类型为“A”的分类器的时间复杂度为O(mN)
,其中N是数据集中的数字实例,m是由分类器“A”确定的常量变量(我是试图产生一个最小的工作示例所以问题可以很清楚。如果需要更多关于m)的信息,请告诉我。分类器“B”的时间复杂度为O(N^2)
,其中N是数据集中的实例数。
该模型基本上是一个集合分类器,由n个“A”分类器和m个“B”分类器组成。最终决定基于简单的加权多数投票。为了确定权重,我使用数据集训练系统,同时将随机生成的权重组合分配给分类器“A”和“B”。为系统选择的最佳权重组合是在数据集的训练子集上提供最佳检测精度的组合。然后在系统测试期间也使用这个选定的重量组合。
对算法和时间复杂度分析不熟悉,我只能计算或研究上面提到/陈述的各个分类的时间复杂度,但考虑到n + m,系统的整体计算复杂度是多少?分类器和多数投票阶段(最终决策阶段)?
答案 0 :(得分:0)
让a_1, a_2, a_3, a_4, ...., a_n
成为 A 类型的n
分类器生成的常量。
让a_max = max{a_1, a_2, a_3, ...., a_n}
A 类型的n
分类符的时间复杂度为:O(n*a_max*N)
m
类型 B 的分类符,每个分类符都以时间复杂度O(N^2)
对于总m
个分类符,它将是:O(m*N^2)
时间复杂度: O(m * N ^ 2 + n * a_max * N)
你也可以写下来:
O(m*N^2 + (a_1 + a_2 + a_3 + ... + a_n)*N), a tighter bound.