following your tutorial code I wrote my code but it gets error on this line "double error = teacher.Run(inputs, outputs);"
do you know how I can solve it?
private void Button_Click(object sender, RoutedEventArgs e)
{
//Defining Input and output
// hand movement from top to buttom
double[] fvA1 = new double[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
double[] fvA2 = new double[] { 2, 3, 4, 5, 6, 7, 8, 9, 10, 10 };
double[] fvA3 = new double[] { 4, 3, 1, 2, 5, 6, 7, 8, 9, 10 };
double[] fvA4 = new double[] { 6, 7, 8, 9, 10, 1, 2, 3, 4, 5 };
double[][] action1 = { fvA1, fvA2, fvA3, fvA4 };
// hand movement from left to right
double[] fvB1 = new double[] { 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10 };
double[] fvB2 = new double[] { 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.10 };
double[] fvB3 = new double[] { 0.4, 0.3, 0.1, 0.2, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10 };
double[] fvB4 = new double[] { 0.6, 0.7, 0.8, 0.9, 0.10, 0.1, 0.2, 0.3, 0.4, 0.5 };
double[][] action2 = { fvB1, fvB2, fvB3, fvB4 };
// hand movement from top to buttom
double[] fvC1 = new double[] { -1, -2, -3, -4, -5, -6, -7, -8, -9, -10 };
double[] fvC2 = new double[] { -2, -3, -4, -5, -6, -7, -8, -9, -10, -10 };
double[] fvC3 = new double[] { -4, -3, -1, -2, -5, -6, -7, -8, -9, -10 };
double[] fvC4 = new double[] { -6, -7, -8, -9, -10, -1, -2, -3, -4, -5 };
double[][] action3 = { fvC1, fvC2, fvC3, fvC4 };
// hand movement from left to right
double[] fvD1 = new double[] { 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10 };
double[] fvD2 = new double[] { 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.10 };
double[] fvD3 = new double[] { 0.4, 0.3, 0.1, 0.2, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10 };
double[] fvD4 = new double[] { 0.6, 0.7, 0.8, 0.9, 0.10, 0.1, 0.2, 0.3, 0.4, 0.5 };
double[][] action4 = { fvD1, fvD2, fvD3, fvD4 };
double[][][] inputs = new double[4][][] {action1, action2, action3, action4 };
int[] outputs = new int[]
{
0,
1,
2,
3
};
string[] classes = new string[]{"A","B","C","D"};
int states = 4;
int iterations = 0;
double tolerance = 0.01;
bool rejection = false;
hmm = new HiddenMarkovClassifier<MultivariateNormalDistribution>(4,
new Forward(states), new MultivariateNormalDistribution(2), classes);
// Create the learning algorithm for the ensemble classifier
var teacher = new HiddenMarkovClassifierLearning<MultivariateNormalDistribution>(hmm,
// Train each model using the selected convergence criteria
i => new BaumWelchLearning<MultivariateNormalDistribution>(hmm.Models[i])
{
Tolerance = tolerance,
Iterations = iterations,
FittingOptions = new NormalOptions()
{
Regularization = 1e-5
}
}
);
teacher.Empirical = true;
teacher.Rejection = rejection;
// Run the learning algorithm
double error = teacher.Run(inputs, outputs);
double result = hmm.Compute(fvC1);
Console.WriteLine("Result > " + result);
}