三类单层感知器

数据挖掘 数据集
2021-09-19 09:21:03

我需要一些关于具有多个类的单层感知器的帮助。

我需要做的是用三个不同的类对数据集进行分类,现在我刚刚学会了如何用两个类来做,所以我真的不知道如何用三个来做。

该数据集具有三个不同的类别:Iris-setosa、Iris-versicolor 和 Iris-versicolor。

带有数据集和信息的 url 位于:http: //ftp.ics.uci.edu/pub/machine-learning-databases/iris/iris.data

我非常感谢任何人可以给我的任何帮助。

非常感谢!

3个回答

执行此操作的标准方法称为“一对一”……您训练三个感知器。第一个目标=是a类?,第二个感知器目标=是b类?第三个 = 是 c 类。您只需分别训练每个感知器,然后取三个感知器中的最大值来决定类别

好吧,谈到人工智能,我是一个绝对的初学者,但根据我的理解,这是我对你问题的回答:

感知器只有一个激活函数,因此它只能返回 true 和 false 的值(在大多数情况下 true=0 和 false=1),因此,我认为您无法完成您的目标只使用一个感知器,但你绝对可以使用多个感知器来实现,这本质上是一个神经网络,当然训练网络比在感知器中计算权重的变化要困难得多,你将不得不利用训练算法,例如反向传播和 sigmoid 激活函数。我希望我的回答对您有所帮助。

严格来说,感知器是二元分类器。

要制作多类分类器,您应该切换到具有softmax输出层的标准前馈神经网络。没有任何隐藏层,这相当于多项逻辑回归。

你也可以按照@seanv507 的建议做一对多的把戏。这在实践中通常效果很好,但在理论上没有强有力的基础,在这种情况下,真正的多类版本在概念上和实践上更容易。