我正在寻找一个好的监督神经网络的源代码示例,它接受两个以上的特征(与大多数 XY 示例不同)并将数据分类为两组。根据我的阅读,支持向量机(SVM)可能是一个解决方案?
我发现的所有分类示例都是二维的。这里有几个:
- 单层感知器
- CSharp 中的 SVM(支持向量机)
- SVM.NET - 非常好,但输入仍然是二维的。
我试图将罕见事件与许多通常稳定的输入区分开来。特征是键值对,其中的值通常可以离散化为一个小数。第一类的可用训练数据非常庞大,但第二类的训练集很少,如果这会有所不同的话。
示例训练集
甲类
[2, 1, 0, 1, 4, 3] -> A
[1, 1, 2, 3, 3, 0] -> A
[0, 0, 1, 3, 2, 0] -> A
B类
[0, 4, 4, 4, 4, 3] -> B
分类示例
[1, 3, 4, 4, 4, 0] -> ??? (probably B)
信心评级,例如。“85% 确定 B”有助于区分罕见事件的阈值。
神经网络是最好的解决方案吗?是否有任何内置的 .NET 库?