Fullstack IT Nerd

Lessons learned: Machine Learning

After coming across the topic of “machine learning” in many blogs and magazines, I decided to take another look at this topic. My last contact with machine learning was during my studies, which was several years ago. In the meantime, I have not only familiarized myself with the basics again, but have also been able to use ML in some projects. I would like to share some of the things I have learned recently with you here:

Machine learning is not that difficult

Like any technology, machine learning is very complicated at first glance. Unfamiliar technical terms appear that you can’t categorize. But once you have understood the basics, you realize that the whole thing is quite understandable. However, you should be aware that you need a few math skills for machine learning.

You shouldn’t make learning too easy for yourself

In many blogs you can find quite simple tutorials in which the well-known Keras, Tensorflow and PyTorch libraries are used. They often analyze MNIST data and develop a model for recognizing handwritten numbers. The whole thing can even be built with less than 100 lines of Python code. As with any tutorial, however, you will encounter problems when you leave the tutorial and implement your own ideas. It is therefore incredibly important to understand what is behind the libraries. That’s why I built my first model without Keras, Tensorflow and co.

You shouldn’t make learning too difficult for yourself

There are a variety of ways to familiarize yourself with the subject. This is also necessary, as everyone learns a little differently. While one person learns more from books, another person learns more from video courses. The language is also important. Although the most up-to-date books can certainly be found in English, it is better to learn in the language in which you think. As I have now found out how I learn best, I have used several video courses in German to get to grips with the subject at the beginning.

Pay attention to the data

The tutorials mentioned above usually use very well-prepared data. However, if you leave the tutorial level and create your own projects, you have to pay attention to this yourself. However, this is not always so easy. In my first own model, I built an image recognition system for parking spaces in order to recognize which parking spaces are occupied and which are not. This actually worked quite well. On closer inspection, however, one parking space in the training data was never occupied. Therefore, the prediction for this parking space never really worked. So make sure you have a good mix in your data.

You also need to pay attention to the predictability of the data. You can actually find the code to predict share prices using machine learning in some tutorials. Only the previous data is used. However, as the share price cannot be calculated using the old prices, you should not really use such a model productively.

Sometimes you need hardware

Sometimes your own hardware is no longer sufficient for training. Especially if you are working with deep learning, it helps to consider other hardware. The good thing is that there are now also offers from the cloud. Amazon AWS SageMaker and Google Colab should definitely be mentioned here, where you can train your models on cloud resources. The hardware requirements for using the models are usually much lower, so that some models can even be run on a Raspberry Pi.

If you have a question or comment, please feel free to send me a message.

Miscellaneous
Github | Mastodon | BlueSky | LinkedIn | Status