Why Do I Always Find Different Results in Machine Learning?

Why Do I Always Find Different Results in Machine Learning?

Do you get different results for your machine learning algorithm?

ai, machine learning, deep learning
credit:analyticsvidhya.com


Maybe your results are different in the study and you want to understand why.


Maybe your model makes a different guess each time they are trained, or even if they are trained on the same data set each time.


This is expected and may be a feature of the algorithm, not a distraction.


In this tutorial, you will find out why you can expect different results when using machine learning algorithms.

Machine learning algorithms will train different models when the learning dashboard is changed.

Stochastic learning algorithms use random during learning, ensuring that a different model is trained for each operation.

Differences in the development area, such as software types and CPU types, can cause error variations in guessing and model testing.

Let's get started.

Academic overview


The study is divided into five sections; of course:

I Get Different Results!

  • Variations Caused by Training Data
  • How to Fix It
  • Differences Caused by Learning Algorithm
  • How to Fix It
  • Differences Due to Testing Process
  • How to Fix It
  • Platform Differences
  • How to Fix It

1. I Get Different Results!

Machine learning algorithms can give different results.


It's not your fault. In fact, it is often a factor, not a distraction.


We will clearly and clearly explain the problem you are having.


First, let's grab the basics handle.


In machine learning, we use an algorithm in the database to find the “machine” learning model. The model may be tested on data that was not used during training or used to make predictions on new data, and which is not visible during training.


Algorithm: The process is driven by data that results from a model (e.g. training or learning).

Model: Data structure and coefficients used to make data predictions.

To find out more about the differences between machine learning algorithms and models, see the tutorial:

Reading machine monitor means that we have examples (lines) with different input and output elements (columns). We are not able to encrypt the predictions of a given exit because it is very complex, so we use machine learning algorithms to learn how to predict the exit from these exits given historical examples.


This is called job equity, and we study or seek out the output function of the results of our particular predictive function in a way that is more efficient, which means that map performance is better than random and best of all other algorithms and algorithm algorithms we have tried.


Supervised Reading: Automatically read mapping activity from input examples to exit examples.

In this sense, a machine learning model is a program that is intended to be used for a specific project or application; it just so happens that the system is read in examples (using an algorithm) rather than clearly written if there are statements in that case. It is a type of default.


Machine Learning Model: “Program” read automatically from historical data

Unlike the system in which we can be used, the systems may not completely determine.


Types of machine learning can vary from training to training. Also, models can make different predictions, and when tested, they can have some degree of error or accuracy.


There are at least four cases where you will get different results; of course:

  • Different results due to differences in training data.
  • Different results due to stochastic learning algorithms.
  • Different results due to stochastic testing procedures.
  • Different results due to platform variability.

Let's take a look at each one.


Did I miss the cause of the disagreement?

Let me know in the comments below.


2. differences caused by Training Data

You will get different results if you use the same algorithm on different data.


This is called a variation of the machine learning algorithm. You may have heard of the context of the bias-variance trade-off.


The difference is a measure of how much the algorithm affects the specific data used during the training.


Differences: How much the algorithm affects the special data used during the training.

The most sensitive algorithm has several variations, which will lead to additional differences in the model, and, of course, prediction and model testing. On the other hand, a less sensitive algorithm has fewer variations and will result in smaller differences in the effective model and different training data, and, less differences in output estimates and model tests.

  • High Variation: Algorithm relies heavily on specific data used during training.
  • Low Variation: The Algorithm is less sensitive to certain data used during training.

Slow boot Microsoft Windows 10 update

All working machine learning algorithms will have variability, and some of the most efficient algorithms will have high variability.


Algorithms with high variations generally require more training data than these algorithms with lower variations. This is evident when we look at the model of measuring the function of the map of something in and out of the outlet and the law of large amounts.


However, when you train the machine learning algorithm on different training data, you will find a different model with different behaviors. This means that different training data will provide models that make different predictions and have a different performance rating (e.g. error or accuracy).


The amount of variance in outcomes will depend on how well the training data differs for each model, as well as the variance of the particular method you requested and the model you selected.

How to Fix It

You can usually reduce the variability of the model by changing the algorithm title.


For example, k in k-neighboring neighborhood controls algorithm variations, where small values   such as k = 1 lead to high variations and large values   such as k = 21 lead to low variations.


You can reduce the difference by changing the algorithm. For example, simpler algorithms such as line layout and object layout, have lower variations than other types of algorithms.


You can also reduce variability with a very high algorithm by increasing the size of the training data, which means you may need to collect more data.

3. Differences Caused by Learning Algorithm

You can get different results if you use the same algorithm and the same data due to the type of learning algorithm.


This is the most likely reason why you are reading this lesson.


You run the same code in the same database and you get a model that makes different guesses or different functions at the same time, and you think it's a distraction or something. Am I right?


It's not a corpse, it's a feature.


Some machine learning algorithms decided. Like planning a program you've been used to. That means, when an algorithm is given the same database, it reads the same model all the time. For example a regarical regression or Logistic regression algorithm.


Some algorithms do not determine; instead, they are stochastic. This means that their performance includes random items.


Stochastic does not mean random. Stochastic learning algorithms do not read a random model. They read the conditional model in the historical data you provided. Instead, certain small decisions made by the algorithm during the learning process may vary randomly.


The implication is that each time a stochastic learning algorithm is run on the same data, you read a very different model. Also, the model can make slightly different predictions, and if tested using error or accuracy, it may have a very different performance.


To learn more about stochastic and what it means to learn by typing, see the tutorial:

Random additions to other algorithm decisions can improve performance in complex problems. Learning the function of observing the visualization of a sample map with a limited data range from a domain is a very difficult task.


Finding a good or good job with a smile smile is a kind of search problem. We test different algorithms and test algorithm configuration tests that define the design of a search site and give us a first place in the search. We then run the algorithms, and transfer them to a search engine to a single model.


Random additions can help avoid the best solutions and help find the best and best solutions in the search field. Allow the model to escape the local opima or Optima of the deceptive location where the learning algorithm can find that, and help find better solutions, or world optima.


An example of an algorithm that uses random during learning is a neural network. It uses random in two ways:


  • Initial random weights (model coefficients).
  • Random exchange of samples for each wallet.

Neural networks (deep learning) is an algorithm for machine learning. The first random instruments allow the model to try to learn in a different starting point in the search area each algorithm is working and allow the learning algorithm to "break sync" during the learning process. Random rotation of samples during training ensures that each gradient measurement and weight recovery is slightly different.


Another example is machine learning algorithms that contain stochastic, such as stylus.


Randomness is used as a training database measurement system that ensures that a separate decision tree is tailored to each member contributing to the ensemble. In integrated learning, this is called integrated variability and is a way to simulate independent predictions from single training data.


How to Fix It

Randomization by learning algorithms can be controlled.


For example, you set the seeds used by the pseudorandom number maker to ensure that each time the algorithm works, you get the same discomfort.


To find out more about random number generators and seed processing, see the tutorial:

This can be a great way to teach, but not a good way to practice. Leads to questions like:


What is the best pseudorandom seed number generator?

There are no better seeds for a stochastic machine learning machine. It fights a kind of algorithm, which forces stochastic learning to be understood.


You can make the case that the final model is ready to use structured seeds to ensure that the same model was created from the same data before use in production before pre-packaging testing before packaging. However, as soon as the training database changes, the model will change.


The best way is to accept the stochastic nature of the learning algorithms.


Assume that there is no single model for your database. Instead, there is a stochastic process (algorithm pipe) that can produce models for your problem.

You can summarize the performance of these types - of pipeline algorithm - such as the distribution with a clear error or the accuracy and standard deviation.


You can be sure that you are achieving the normal functionality of the models by showing multiple end-to-end models in your database and stopping their predictions when you need to make new data predictions.


4. differences caused by the testing process

You may get different results when you use the same algorithm and the same data as a result of the testing process.


Two common procedures for testing train strength tests are k-fold validation.


Classification of train testing involves allocating random lines to be used for model training or testing model to meet a specified train or test size set.


The k-fold authentication process involves separating data into k-segments over the use of k and using one fold as a test set and all other folders as a training set. The model is ready for the training set and tested in the control list and this process is repeated k times, giving each folder the opportunity to be used as a foldout fold.


Both of these model testing procedures are robust.


Again, this does not mean that they are organized; means that minor decisions made in the process involve randomness. Specifically, the selection of lines assigned to a given subset of data.


This random use is a factor, not a distraction.


Random use, in this case, allows to reset the performance measurement of the independent model in a specific data sample taken from the domain. This allegation is discriminatory because we have a smaller sample of data to work with than a complete set of visuals.


Performance measurement gives an idea of   the expected or standardized model of the model when making predictions on a domain of data not seen during training. It doesn’t matter if certain lines of data are used to train or test the model, at least logically.

retreat or visual assumptions, may provide different estimates of error or accuracy.


How to Fix It

The solution in this case is very similar to stochastic learning algorithms.


Seed pseudorandom number generator can be corrected or random process can be accepted.


Unlike stochastic learning algorithms, both solutions make sense.


If a large number of machine learning algorithms and test algorithms are systematically tested in the modeling model function, it would be a good idea to prepare random seeds for the experimental process. Any value will do.


The idea is that each solution solution (each algorithm or configuration) will be tested in the same way. This ensures the comparison of apples to apples. It also allows the use of later paired hypothesis tests, if necessary, to determine whether differences between algorithms are statistically significant.


Random discovery can also be good. This includes repeating the process of frequent evaluation and reporting a summary of performance scores, as per standard deviations.


Perhaps a small way to counteract repeated testing would be to use repeated k-fold confirmations, such as triple-fold by 10-fold (3 × 10), standard, or five-fold multiplication with two folders (5 × 2), used more often when comparing algorithms and testing mathematical hypothesis.

5. differences caused by Platform

You may get different results when you use the same algorithm and the same data on different computers.


This is possible even if you adjust the random number to address the stochastic status of the learning algorithm and the assessment process.


The cause in this case is the platform or development area used for modeling, and the results often differ in small ways, but not always.


These include:


  • Differences in building construction, e.g. CPU or GPU.
  • Differences in operating system, e.g. MacOS or Linux.
  • Differences in sub-mathematical libraries, e.g. PACKAGING or Blas.
  • Differences in Python version, e.g. 3.6 or 3.7.
  • Differences in library type, e.g. scikit-read 0.22 or 0.23.

Machine learning algorithms are a form of calculation.


This means that it usually involves multiple calculations for floating point points. Differences in features, such as design and application, can lead to variations in circular errors, which can be combined with a number of calculations made to give very different results.


In addition, differences in the type of libraries can mean bug fixes and functional modifications that can also lead to different results.


In addition, this also explains why you will get different results of the same algorithm on the same machine launched in different languages, such as R and Python. Minor variations in performance and / or differences in the applied mathematics libraries will make a difference to the effective model and the assumptions made by that model.


How to Fix It

This is not to say that the platform itself can be treated as a connector and is designed for the problem of imaginary simulation.


Instead, it means that the platform is an important factor in the analysis of machine learning algorithms and should be refined or fully defined to ensure complete repetition from development to production, or in reporting academic performance.


Another option would be to use a detector, such as a docker or an example of a machine to ensure that the environment is always maintained, and a complete rebirth is essential to the project.


In fact, the result is usually very small in performance (at least in my limited experience) as long as the major software versions are good or close enough.


Also See: 



Post a Comment

1 Comments

If you have any doubt, Please let me know.