Exemple #1
0
 public Work()
 {
     p = new Perceptron();
 }
        private void TrainButtonClick(object sender, RoutedEventArgs e)
        {
            if ((bool)SetBaisCheckBox.IsChecked)
            {
                if (baisMatTextBox.Text.Equals("random"))
                {
                    work.SetRandomBais();
                }
                else
                {
                    work.GetBais(baisMatTextBox.Text);
                }
            }
            if (!(bool)SetWeightManuallyCheckBox.IsChecked)
            {
                work.SetRandomWeights();
            }

            //if(activationCombo.SelectedIndex==0)
            //p = work.Train(ThreasholdTextBox.Text, LearningRateTextBox.Text, epochsTextBox.Text, TimeTextBox.Text, ActivationFunction.BipolarBinary);
            //if(activationCombo.SelectedIndex == 1)
            //    p = work.Train(ThreasholdTextBox.Text, LearningRateTextBox.Text, epochsTextBox.Text, TimeTextBox.Text, ActivationFunction.UnipolarBinary);

            if (isBipolar(work.p.DesiredOutput))
            {
                p = work.Train(ThreasholdTextBox.Text, LearningRateTextBox.Text, epochsTextBox.Text, TimeTextBox.Text, ActivationFunction.BipolarBinary);
            }
            if (isUniBipolar(work.p.DesiredOutput))
            {
                p = work.Train(ThreasholdTextBox.Text, LearningRateTextBox.Text, epochsTextBox.Text, TimeTextBox.Text, ActivationFunction.UnipolarBinary);
            }

            Train train = new Train();

            train.resultEpochsTextBlock.Text = p.ResultNeededEpochsToTrain + 1 + "";
            train.resultTimeTextBlock.Text   = p.ResultNeededTimeToTrain + "";
            string result = "";

            for (int i = 0; i < p.Weights.Length; i++)
            {
                for (int j = 0; j < p.Weights[0].Length; j++)
                {
                    result += p.Weights[i][j] + ",";
                }
                result += "\n";
            }
            train.resultWeightsMatrix.Text = result;
            result = "";
            if (p.WithBais)
            {
                for (int i = 0; i < p.Bais.Length; i++)
                {
                    if (i > 0)
                    {
                        result += "," + p.Bais[i];
                    }
                    else
                    {
                        result += p.Bais[i];
                    }
                }
            }
            train.resultBaisMatrixTextBlock.Text = result;
            MainTap.Items.Add(train);
            MainTap.SelectedIndex = 5;
            DrawNetwork();
        }