Getting Started with Machine Learning and Deep Learning Model Testing

October 12, 2018 

Getting Started with Machine Learning and Deep Learning Model Testing

What is Machine Learning?

Machine learning is a part of Artificial Intelligence (AI) that give power to the systems to automatically determine and boost from experience without being particularly programmed. Machine learning targets on the advancement of computer models that can admission datasets and use it train for themselves. There are different types of Machine Learning, some of them are -

  • Supervised Learning
  • Unsupervised Learning
  • Reinforcement Machine Learning
  • Semi-Supervised Learning
  • Semi- unsupervised Learning.

Example of Machine Learning -

Detect the face and tag on Facebook. In games, movement of person change, then replicate the action in the virtual world.


What is Deep Learning?

Deep Learning concerns with algorithms inspired by the structure and function of the brain called Artificial Neural Networks. Deep learning considered as the subset of Machine learning. Machine learning and Deep learning models differ in automatic acquires information's representations from datasets which contain images, video or text, without recommending well-programmed rules or human domain expertise in Deep Learning.

Example of Deep Learning -

Deep learning is a crucial technology behind driverless cars, enabling them to recognize a stop sign or to distinguish a pedestrian from a lamp post.


Machine Learning and Deep Learning Model Testing

Software quality in Machine learning and Deep learning systems are different. In this, accuracy, robustness, learning efficiency and adaptation and performance of the system checked.

To understand and determine the quality requirements of Machine Learning systems is an important step. To verify them will be another new challenge.

Testing With ML Models?

The elements which considered for testing in the case of ML Models.

Quality of data and quality of features Quality of ML algorithms Labels related to the Images

Quality Assurance of Data Used for Training the Model

One of the aspects of building a Machine Learning model is to check whether the data used for training and testing the model belong to an adversary dataset. The adversary data sets are that can be used to skew the results of the model by training the model using incorrect data called as Data Poisoning Attack.

Quality Assurance put test mechanisms in place to validate whether the data used for training sanitized. The tests need to be performed to identify whether there are instances of data poisoning attacks unintentionally or intentionally.

To achieve this, one of the techniques to have QA work with product management and product consultant teams for some of the following -

Understanding the statistics related to data (median, mean, mode, etc.) Understand the data and relationships at a high-level. Build tests using scripts to check the statistics and correlations. Run the tests during regular intervals. The parameters listed would need to be tracked at regular intervals and verified with the help of consultants before every release.

Quality Assurance of Features

Many times, one or more features become redundant/irrelevant, and, in turn, impact the prediction error rates where QA/testing practices should be in place to proactively evaluate features using feature engineering techniques such as dimensionality reduction and feature selection

Quality Assurance of ML Algorithms

Evolving datasets as a result of data poisoning attacks could result in increased prediction error rates. As the ML model gets retrained, the increased prediction error rates result in the re-evaluation of ML models result in the discovery of new algorithms giving accuracy over the existing ones.

Ways to go about ML algorithms testing with new data is the following -

Many times, ML models are built using different algorithms and get discarded once and for all after the most accurate model gets selected. Retrain all of the models and track the performance of models with new data set at regular intervals. Raise the defect if another model gives greater accuracy or performs better than the existing model.


Top Benefits of Machine Learning and Deep Learning Model Testing

When considering the strategy of Machine Learning testing, think accuracy and efficiency as a primary goal in the quality assurance. Benefits such as detecting redundant unsuccessful tests, and keeping untested code out of production, prediction, and prevention ultimately reduce much of the risk in the deployment phase. Some of the critical contributions quality assurance include -

  • Defect alerts Enhanced analytics Faster predictions Improved optimization Cleaner traceability Real-time feedback
  • The sooner can implement an in-house AI platform to assist in application testing; will discover a more accurate and efficient deployment with reduced effort. Using defined test metrics and analytics will launch application development to new heights.

Why Model Testing Matters?

The Machine Learning field provides tools to make decisions automatically from data to achieve any goal or requirement.

Some problems resist a manually specified solution. Machine learning matters as it provides methods to create solutions for complex problems.

Machine learning promises to solve problems automatically, faster and more accurately than a manually specified solution and at a larger scale.

Machine learning applications are not 100% accurate, and approx never will be. There are some of the reasons why testers cannot ignore learning about Machine learning and Deep learning. The fundamental reason is that these applications learning limited by data they have used to build algorithms. As Machine learning apps are managing almost daily activity performed by humans – one error can lead to severe losses.


How to Adopt Model Testing?

  • Based on historical data ( previously verified defects) create a training data set.
  • Train predictive model using the classification algorithm that meets defined quality criteria.
  • The model should expose as an online REST service, so we can quickly call it and make prediction requests for new incoming defects.
  • Defect records that store in a code repository automatically updated with the scoring result: prediction and probability of prediction.
  • Defects should sort by prediction probability, so QA engineer could start testing bugs with the highest probability of fix(incorrect).
  • If new bugs successfully verified, also label value is known (correctly fixed or not), such records are marked as new training data. Then it stored in the feedback data store.

Best Practices for ML and DL Model Testing

Both testing practices and results have changed to accommodate applications that don’t behave the same as traditional software. Traditional testing techniques based on fixed inputs. Testers believe that given inputs x and y, the output will be z and this will be constant until the application changes. It is not true in machine learning systems. The output not fix. It will change over time. It is similar to the model built on Machine Learning system evolving as more data fed. It forces the testing professional to think differently and adapt test strategies that are very different from traditional testing techniques.

Below are critical activities that will be essential to test machine learning systems -

  • Developing training data sets - This refers to a data set of examples used for training the model. In this data set, you have the input data with the expected output. This data usually prepare by collecting data in a semi-automated way. The goal of such a continuous learning system is to ensure the highest possible quality of the exposed model. Feedback data store is used to evaluate the quality of the server model, automatically retrain the deployed model, and finally to re-deploy the new model version.
  • Developing test data sets - It is a subset or part of the training dataset that is built to test all the possible combinations, also estimates how well the model trains. Based on the test data set results, the model fine-tuned.

Develop validation test suites based on algorithms and test datasets. The example of DNA, test scenarios include categorizing patient outcomes based on DNA sequences and creating patient risk profiles based on behaviours and demographics.

The key to building validation suites is to understand the algorithm based on calculations that create a model from the training data. The algorithm analyzes the data provided for model creation, looks for specific patterns, and results of the analysis to develop optimal parameters for creating the model. The model defines as the number of iterations and the richness of the data increase. Some algorithms in widespread use are regression algorithms that predict one or more continuous numeric variables such as return on investment.

Another example is the association of algorithms. It uses for portfolio analysis in capital markets. Another illustration in digital applications is sequence algorithms that predict customer behaviour based on a series of clicks or paths on the platform. Communicating test results in statistical terms.

Traditionally testers are used to expressing the results of testing concerning quality such as severity of defects or defect leakage. Models validation based on machine algorithms will not exact results but produce approximations. The testing community needs to determine the level of confidence within a certain range for each outcome and articulate the same.


Best Tools for Machine Learning and Deep Learning Model Testing

For manual testing of a Machine learning the tools which can be used to develop a machine learning model can also be used for testing the model. The tools are -

However, there are tools which can be for automating testing concerning Artificial Intelligence -