简单的监督训练算法

时间:2012-01-12 15:27:10

标签: c# artificial-intelligence

我正在寻找一种简单的监督训练算法,该算法根据训练输入集找到某些变量的最佳值。 (训练输入集是一组输入,每个输入具有所需的输出)

我的最佳值是一些double值,可以从训练输入集中获得最大的正确答案。

变量应该在某些if...else条件下使用。

这是一个非常简单的例子:

a b o


1 1 1

0 1 0

1 0 0

0 0 0

输入第一个和第二个值(a,b),第三个值(o)是所需的输出。

如果我只有这样一个条件:

if ((a > d1) && (b > d2)
    return 1;
else
    return 0;

在这个例子中,我想找到d1和d2的最佳值,以便从训练集中得到更少的错误答案。

因此,在此示例中,d1和d2值应大于0且小于1。

但我真正的问题比这个例子有点困难。

您对我建议使用什么算法?

2 个答案:

答案 0 :(得分:0)

你可以连接一个简单的神经网络(一个MLP)并使用反向传播训练它。

http://en.wikipedia.org/wiki/Multilayer_perceptron

http://en.wikipedia.org/wiki/Backpropagation

答案 1 :(得分:0)

您的问题中没有足够的信息来建议一个好的通用解决方案。了解数据来源可能会有所帮助。不过,这是一件很简单的事情:

  • 拍一张方形图片。
  • 绘制每个数据点,使用两个输入值作为坐标,输出作为颜色。
  • 注意图像中是否有图案。
  • 使用代码近似模式。