-1
$\begingroup$

I'm completely new at ML, but really interested. To be honest, read many articles about it, but still don't understand the workings of it.

I just started to understand this example: https://storage.googleapis.com/tfjs-examples/mnist/dist/index.html

My thinking about it is that TF has some resources, some examples of how numbers look like, and try to match them with the ones in the test. I saw that sometimes the test changes a right prediction to a wrong, but makes better and better predictions. But how? I think that the program doesn't know the right predictions (and this way it won't know the wrong ones). In the training how it makes better predictions? Test by test, from what exceptions it will change it's predictions? What happens in a new test?

$\endgroup$
1
$\begingroup$

I'm not quite sure what you mean in your post however I will try and address some of the points you made. Firstly, I would suggest you to go over some supervised machine learning fundamentals (there are lots of resources online).

The general optimisation approach is to find the parameters of a model that minimise the error in your training set (using the ground truth labels). The model may not be complex enough to achieve absolutely zero error on all the training samples, and if it did it would likely generalise poorly to new data. We don't want a model to "memorise" the labels, for example, picking up contextual cues in a training image that are not relevant to the label (such as the background of the picture of a car).

An ML model aims to reduce the error over all the samples and this is why the correct classification of a specific input can change as the model learns.

$\endgroup$
1
$\begingroup$

During the training process, the machine learning program is shown example inputs (in this case pictures of digits) and also what the answer should be for that input. That is how it learns the correct answer. However, it does not learn an exact mapping between the input data and required output, instead it learns a series of patterns that generally map the input to the required value. The advantage of this approach is that it can perform the same mapping on new inputs that were not included in the training data but are similar (but not necessarily identical) to examples that it has already seen.

$\endgroup$
  • $\begingroup$ But if it knows what answer should be in a specific input, then why it changes a right answer to a wrong sometimes? $\endgroup$ – Gergő Horváth Dec 16 '18 at 13:05
  • $\begingroup$ Are you asking why it sometimes gives an incorrect answer? That is because it has not learned perfectly. In the case of the MNIST dataset a few of the input images are also a bit ambiguous even for humans. Note also that these programs are tested on inputs that were NOT included in the training data, to check that they have learned to generalise properly. $\endgroup$ – DrMcCleod Dec 16 '18 at 15:42
  • $\begingroup$ I don't understand the mechanism of it. If the program knows the right answer, how can we talk about learning? What do you mean by "not learned perfectly"? $\endgroup$ – Gergő Horváth Dec 16 '18 at 15:48
  • $\begingroup$ OK, it sounds like a introduction to the basics of Machine Learning would be valuable for you. I recommend the following course: coursera.org/learn/machine-learning which should give you an idea how these programs work. $\endgroup$ – DrMcCleod Dec 16 '18 at 19:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.