コード例 #1
0
        static void DisplayFullNetworkResponse()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("y1");
            dt.Columns.Add("y2");
            dt.Columns.Add("y3");

            for (int l = 0; l < X_train.Length; l++)
            {
                double[][] x = Matrix.Create(1, N);
                x[0] = X_train[l];

                var y = CalculateReponse(x);

                DataRow row = dt.NewRow();
                row[0] = "PD";
                row[1] = "PI";
                row[2] = "PID";
                row[3] = y[0];
                row[4] = y[1];
                row[5] = y[2];

                dt.Rows.Add(row);
            }

            ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt);

            builder.ExportAndWrite();
        }
コード例 #2
0
        static void DisplayQuickNetworkResponse()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("EXPECTED");
            dt.Columns.Add("ACTUAL");
            dt.Columns.Add("PROBABILITY [%]");


            for (int l = 0; l < Y_validation.Length; l++)
            {
                int expectedResponse = Y_validation[l].ToList().IndexOf(Y_validation[l].Max());

                var    y = Validate(l);
                double actualMaxValue = y.Max();
                int    actualResponse = y.ToList().IndexOf(actualMaxValue);

                DataRow row = dt.NewRow();
                row[0] = (PID)expectedResponse;
                row[1] = (PID)actualResponse;
                row[2] = actualMaxValue;

                dt.Rows.Add(row);
            }

            ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt);

            builder.ExportAndWrite();
        }
コード例 #3
0
        static void DisplayQuickNetworkResponse()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("EXPECTED");
            dt.Columns.Add("ACTUAL");
            dt.Columns.Add("PROBABILITY [%]");


            for (int l = 0; l < X.Length; l++)
            {
                double[][] x = Matrix.Create(1, N);
                x[0] = X[l];

                int expectedResponse = Y[l].ToList().IndexOf(Y[l].Max());

                var    y = CalculateReponse(x);
                double actualMaxValue = y.Max();
                int    actualResponse = y.ToList().IndexOf(actualMaxValue);

                DataRow row = dt.NewRow();
                row[0] = (Animals)expectedResponse;
                row[1] = (Animals)actualResponse;
                row[2] = actualMaxValue;

                dt.Rows.Add(row);
            }

            ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt);

            builder.ExportAndWrite();
        }
コード例 #4
0
        static void Check()
        {
            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CHECK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            DataTable dt = new DataTable();

            dt.Columns.Add("x1");
            dt.Columns.Add("x2");
            dt.Columns.Add("true");
            dt.Columns.Add("false");

            for (int l = 0; l < X[0].Length; l++)
            {
                double[][] x = Matrix.Create(1, N);

                x[0] = X.GetColumn(l);

                double[][] u1 = Matrix.Multiple(W.Transpose(), x.Transpose());

                double[][] y1 = Matrix.Create(K, 1);
                for (int i = 0; i < u1.Length; i++)
                {
                    y1[i][0] = 1 / (1 + Math.Exp(-Beta * u1[i][0]));
                }

                //2nd layer
                double[][] u2 = Matrix.Multiple(W2.Transpose(), y1);

                double[] y2 = new double[M];
                for (int i = 0; i < u1.Length; i++)
                {
                    y2[i] = 1 / (1 + Math.Exp(-Beta * u2[i][0]));
                }

                DataRow row = dt.NewRow();
                row[0] = x[0][0];
                row[1] = x[0][1];
                row[2] = y2[0];
                row[3] = y2[1];
                dt.Rows.Add(row);
            }


            ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt);

            builder.ExportAndWrite();
        }
コード例 #5
0
        public void Print()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Name");
            dt.Columns.Add("Neurons");
            dt.Columns.Add("Weight");

            foreach (var element in Layers)
            {
                DataRow row = dt.NewRow();
                row[0] = element.Name;
                row[1] = element.Neurons.Count;
                row[2] = element.Weight;

                dt.Rows.Add(row);
            }

            ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt);

            builder.ExportAndWrite();
        }