/// <summary>
        /// Initializes a new instance of the <see cref="PerceptronHelper" /> class.
        /// </summary>
        /// <param name="perceptron">The perceptron.</param>
        /// <param name="n">The asynchronous.</param>
        /// <param name="m">The command.</param>
        public PerceptronHelper(Perceptron perceptron, byte n, byte m)
        {
            this.perceptron = perceptron;
            this.n = n;
            this.h = (byte)(n / 2);
            this.m = m;

            V = this.GenerateMatrix(n, h);
            W = this.GenerateMatrix(h, m);

            Q = new double[h];
            T = new double[m];

            G = new double[h];
            Y = new double[m];

            E = new double[h];
            D = new double[m];
        }
        /// <summary>
        /// Buttons the teach click.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void ButtonTeachClick(object sender, EventArgs e)
        {
            var container = this.GetVectorContainer(
                PicturesPath.PathToOriginalA,
                PicturesPath.PathToOriginalB,
                PicturesPath.PathToOriginalC,
                new NeuronHelper());

            var perceptron = new Perceptron(
                double.Parse(textBoxAlpha.Text),
                double.Parse(textBoxBeta.Text),
                double.Parse(textBoxError.Text),
                int.Parse(textBoxTimeout.Text),
                container);

            helper = new PerceptronHelper(perceptron, 100, 3);

            helper.Teach();

            textBoxStatistics.Text += @"Network has been teached." + Environment.NewLine;
            textBoxStatistics.Text += @"Number of iterations: " + helper.NumberOfIterations + Environment.NewLine;
        }