c# – 集成学习,多分类器系统

我正在尝试使用MCS(多分类器系统)在有限的数据上做更好的工作,即变得更准确.

我目前正在使用K-means聚类,但可以选择使用FCM(模糊c-均值),数据被聚类成组(聚类),数据可以表示任何颜色,例如颜色.我首先在预处理和规范化之后对数据进行聚类,并在两者之间获得一些不同的聚类.然后我继续使用聚类作为贝叶斯分类器的数据,每个聚类代表一种不同的颜色,贝叶斯分类器被训练,然后来自聚类的数据通过单独的贝叶斯分类器.每个贝叶斯分类器仅以一种颜色进行训练.如果我们将色谱3-10作为蓝色13-20作为红色并且0-3之间的光谱是白色到1.5然后逐渐变为蓝色到1.5-3并且蓝色变为红色相同.

我想知道的是,可以应用怎样或者什么样的聚合方法(如果这是你将要使用的),以便贝叶斯分类器变得更强大,它是如何工作的?聚合方法是否已经知道答案,或者是人工交互是否会纠正输出,然后这些答案又会回到贝叶斯培训数据中?或两者兼而有之?看看Bootstrap聚合它涉及让整体投票中的每个模型具有相同的权重,所以在这个特定的实例中我不太确定我会使用bagging作为我的聚合方法吗?然而,提升通过训练每个新模型实例以强调先前模型错误分类的训练实例来逐步建立集合,不确定这是否是更好的替代套袋,因为我不确定它是如何逐步建立在新实例上的?最后一个是贝叶斯模型平均,这是一种集合技术,试图通过从假设空间中提取假设来近似贝叶斯最优分类器,并使用贝叶斯定律将它们组合起来,但是完全不确定如何从搜索空间中提取假设?

我知道通常你会使用竞争方法在两种分类算法之间反弹,一种说是是一种说可能可以应用一种加权,如果它是正确的,你可以得到两种分类算法中最好的但是为了保持清醒,我不想要一种竞争方法.

另一个问题是以这种方式将这两种方法结合在一起是否有益,我知道我提供的示例非常原始,可能不适用于该示例,但它可以在更复杂的数据中有用.

解决方法:

我有一些关于你所遵循的方法的问题:

> K-means在每个群集中放置最接近它的点.然后使用输出数据训练分类器.我认为分类器可能优于聚类隐式分类,但只考虑每个聚类中的样本数.例如,如果聚类后的训练数据是typeA(60%),typeB(20%),typeC(20%);您的分类器更愿意将不明确的样本带入typeA,以获得较少的分类错误.
> K-means取决于您从对象中获取的“坐标”/“特征”.如果使用混合了不同类型对象的特征,则K-means性能会降低.从特征向量中删除这些特征可能会改善您的结果.
>表示要分类的对象的“特征”/“坐标”可以用不同的单位来衡量.这个事实会影响您的聚类算法,因为您通过聚类错误函数隐式设置它们之间的单位转换.使用误差函数,通过多个聚类试验(在不同的聚类初始化时获得)选择最终聚类集.因此,对特征向量的不同坐标进行隐式比较(可能引入隐式转换因子).

考虑到这三点,您可能会通过添加预处理阶段来提高算法的整体性能.例如,在用于计算机视觉应用的对象识别中,从图像中获取的大多数信息仅来自图像中的边界.不使用所有颜色信息和纹理信息的一部分.从处理图像的图像中减去边界以获得定向梯度直方图(HOG)描述符.该描述符返回更好地分离对象的“特征”/“坐标”,从而增加分类(对象识别)性能.理论描述符抛出图像中包含的信息.然而,它们具有两个主要优点:(a)分类器将处理较低维度数据;(b)根据测试数据计算的描述符可以更容易地与训练数据匹配.

在您的情况下,我建议您尝试采用类似的方法来提高您的准确性:

>为您的群集算法提供更丰富的功能
>利用现场的先验知识来确定应从要素向量中添加和删除哪些要素
>始终考虑获得标记数据的可能性,以便可以应用监督学习算法

我希望这有帮助…

上一篇:C# ToolTip控件


下一篇:.NET CORE(C#) WPF 抽屉式菜单