Esempio n. 1
0
        private static List <double[]> SolveWithLinearRegression(DataSet ds, DataSet dt, LinearModel model)
        {
            LLSGradientDescent gd = new LLSGradientDescent();

            //Calling the Train method of the trainer with the desired parameters
            //n, ds, learningRate: .3, numberOfEpochs: 200, shuffle: false, debug: n.Debug, nestrov:false, momentum:0.9, resilient: false, resilientUpdateAccelerationRate: 0.3,
            //resilientUpdateSlowDownRate: 0.1, regularization: AA1_MLP.Enums.Regularizations.L2, regularizationRate: 0.001, validationSet: dt, batchSize: 7


            LinearLeastSquaresParams passedParams = new LinearLeastSquaresParams {
                model = model
            };

            passedParams.trainingSet        = ds;
            passedParams.learningRate       = 1;
            passedParams.numOfIterations    = 3000;
            passedParams.shuffle            = false;
            passedParams.debug              = false;
            passedParams.regularizationRate = 0.01;
            passedParams.regularizationType = Regularizations.None;
            passedParams.validationSet      = dt;
            passedParams.degree             = 30;


            var learningCurve = gd.Train(passedParams);

            return(learningCurve);
        }
Esempio n. 2
0
        /// <summary>
        /// For outputting the LLS solution results
        /// </summary>
        /// <param name="trainsetpath"></param>
        /// <param name="testsetpath"></param>
        private static void CupTestingLLS(string trainsetpath, string testsetpath)
        {
            CupDataManager dm       = new CupDataManager();
            DataSet        trainset = dm.LoadData(trainsetpath, 10, 2, standardize: true);
            DataSet        testset  = dm.LoadData(testsetpath, 10, 2, standardize: true);



            LinearModel model = new LinearModel {
                bias = true
            };

            //**trying SVD
            LinearLeastSquaresParams passedParams = new LinearLeastSquaresParams {
                model = model, numOfIterations = 5000, learningRate = 0.1, degree = 1
            };

            passedParams.trainingSet   = trainset;
            passedParams.validationSet = testset;
            Console.WriteLine("SVD solution:");
            var svdlearningCurve = new LLSSVD().Train(passedParams);

            Console.WriteLine("Normal Equations Solution:");
            var normallearningCurve = new LLSNormal().Train(passedParams);

            Console.WriteLine("GD  Solution:");
            var gdlearningCurve = new LLSGradientDescent().Train(passedParams);
        }