Posts

When to do machine learning

I realized that before starting on technical details of methods I should write some about when to use machine learning, or when it is intelligent to use artificial intelligence ? In fact, in most of the cases avoid machine learning as much as possible. In first place, you use machine learning when your measurements, sensor values, data is not sufficiently descriptive to get final result that you are looking for. For example, covid tests works with very high precision currently. If your input is the result of the test you don't need machine learning. However, if you are detecting covid from chest x-ray you have many small tiny pixel transparancy measurements thus you need some kind of learning. In this case, you should ask while the alternative way is providing good quality result do we really need this learning ? In summary you should try to get descriptive data as possible in the first place. Later, if you have only small amount of samples, the best you can do is use them as te...

Basics

Lets start with some of the basics. What is the simplest form of machine learning ? If you consider machine learning as utilizing previous data to predict future outcomes then taking average is one of the simplest ways. For example, if you predict the todays temprature from the historical temprature data of same day you will get a reasonable estimate. Don't underestimate this the theories of law of large numbers and central limit is very powerful especially if you don't have additional variables to explain the data. However, often we have explonotary variables. In machine learning nomeclature we call them features. In this setting, each feature lies in euclidean vector space and a function maps these features to target variable. Now the task is finding that function. Of course, you can just construct lookup table for input output pairs from previous data. If you don't have much variation from cases in runtime vs previous data this will do the job. But the real problem of ...

Welcome to MLDeploy

Machine learning has changed numerous applications and would continue to change with more availability of data. Once you look at the literature, you can find many different documents describing algorithms. However, one aspect that I feel needs a more comprehensive overview is the deployment of those algorithms. In this blog channel, I would like to go over alternatives for the deployment methods. Let me name a few: REST API backends Desktop applications Edge devices Mobile deployment Script Executables Web front ends No deployment There are many pros and cons for each method in terms of latency and resource usage. We will be discussing them in more detail.