A computer program product for ensemble learning with machine learning models to prevent model performance degradation, the computer program product comprising at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to:
- receive a training dataset of a plurality of data instances, wherein each data instance comprises a time series of data points;
- generate a plurality of augmented training datasets, wherein each of the augmented training datasets comprises a plurality of augmented labeled data instances and a plurality of augmented unlabeled data instances, and wherein, the one or more instructions that cause the at least one processor to generate the augmented training dataset, cause the at least one processor to:
- add an amount of time delay to a subset of data instances of the plurality of data instances to provide an augmented training dataset, wherein, the one or more instructions that cause the at least one processor to add the amount of time delay to the subset of data instances of the plurality of data instances to provide the augmented training dataset, cause the at least one processor to:
- add the amount of time delay to a plurality of labeled data instances to provide a plurality of augmented labeled data instances;
- and
- add the amount of time delay to a plurality of unlabeled data instances to provide a plurality of augmented unlabeled data instances;
- wherein each of the plurality of augmented training datasets is based on a different amount of time delay;
- select a first plurality of supervised machine learning models, wherein the first plurality of supervised machine learning models comprises a plurality of neural network machine learning models trained using supervised learning techniques;
- select a second plurality of unsupervised machine learning models, wherein the second plurality of unsupervised machine learning models comprises two or more machine learning models;
- train the first plurality of supervised machine learning models and the second plurality of unsupervised machine learning models based on the plurality of augmented training datasets, wherein, the one or more instructions that cause the at least one processor to train the first plurality of supervised machine learning models and the second plurality of unsupervised machine learning models, cause the at least one processor to:
- provide the plurality of augmented labeled data instances and the plurality of augmented unlabeled data instances of each of the plurality of augmented training datasets as input to each supervised machine learning of the first plurality of supervised machine learning models and each unsupervised machine learning model of the second plurality of unsupervised machine learning models;
- generate a first plurality of outputs of each of the first plurality of supervised machine learning models based on the plurality of augmented labeled data instances and the plurality of augmented unlabeled data instances of each of the plurality of augmented training datasets, wherein the second plurality of outputs of the first plurality of trained supervised machine learning models comprises a plurality of classification values that correspond to a performance of each supervised machine learning model of the first plurality of supervised machine learning models;
- generate a second plurality of outputs of each of the second plurality of unsupervised machine learning models based on the plurality of augmented labeled data instances and the plurality of augmented unlabeled data instances of each of the plurality of augmented training datasets, wherein the second plurality of outputs of the second plurality of unsupervised machine learning models comprises a plurality of data clusters that correspond to a performance of each unsupervised machine learning model of the second plurality of unsupervised machine learning models;
- generate an ensemble machine learning model based on the first plurality of outputs of the first plurality of supervised machine learning models and the second plurality of outputs of the second plurality of unsupervised machine learning models, wherein, the one or more instructions that cause the at least one processor to generate the ensemble machine learning model, cause the at least one processor to:
- provide the first plurality of outputs from each of the first plurality of supervised machine learning models and the second plurality of outputs from each of the second plurality of unsupervised machine learning models as inputs to the ensemble machine learning model;
- and
- train the ensemble machine learning model using backpropagation based on outputs of the ensemble machine learning model, wherein the outputs of the ensemble machine learning model are based on the first plurality of outputs of the first plurality of supervised machine learning models and the second plurality of outputs of the second plurality of unsupervised machine learning models provided as inputs;
- generate a final prediction output with the ensemble machine learning model as a runtime output based on a runtime input to the ensemble machine learning model made in real time with respect to a real time transaction data input provided to the ensemble machine learning model during runtime;
- and
- perform an action in real time based on the runtime output of the ensemble machine learning model, wherein, the one or more instructions that cause the at least one processor to perform the action, cause the at least one processor to:
- approve or deny an electronic payment transaction of a payment network in real time based on the runtime output of the ensemble machine learning model.