Advantages and Disadvantages of Machine Learning

Sanjay Parajuli
2 min readOct 6, 2019

--

Machine Learning doesn’t work out every-time. It is not the ultimate way to build good software systems. Depending upon the problem, you should adopt machine learning only if you really need.

Lets point out some advantages and disadvantages of machine learning over traditional rule-based system.

Advantages

Solve unprogrammable tasks

Tasks such as face recognition and language translation can be achieved using machine learning which are impossible to hard-code by programming.

Discover trends and patterns in data and make predictions based on that

Machine learning is used to identify trends and patterns in historical data and make future prediction/inference based on those patterns. For example, facebook uses machine learning to show targeted ads based on your past activity on facebook.

Get insights from unstructured data

Machine learning allows to get valuable insights from unstructured data by mapping complex relationship. Object detection in an image and voice recognition systems are great examples of unstructured data processing using machine learning.

Grow over time

Software applications build using machine learning can grow over time. ML algorithms can be regularly trained with updated data to continuously improve the performance of such systems. For example, if you have already built English-French translation system, then with some certain tuning and retraining with more data you can make it work for other language translations.

Automation

Repetitive tasks can be automated with the use of machine learning. Train the machine for one time and then use it for rest of the time in order to save time and increase efficiency of workflow. For example, once you train machine to inspect defected products in factory, then human can involve in other more logical tasks.

Disadvantages

Requires Big Data

In most cases, machine Learning is all about learning from data. It requires more training data to produce more accurate model. So, if there is not enough data to train machine learning algorithm then there is no point of using machine learning.

Lacks Reasoning

Machine learning under the hood is extracting mathematical relationships between data points. It can collect patterns from data but can’t provide logical reasoning as we human are capable of.

Requires Supervised Data

Until now, supervised machine learning is the one which is widely used. Unsupervised learning is yet to explore except than clustering. As I already mentioned that to produce good machine learning model it needs to be trained with lots of data. All the training data should be properly labelled by human. Preparing supervised data is very time consuming and requires more human manpower.

Hyperparameter Tuning

There are various machine learning algorithms and one algorithm doesn’t work or all kinds of tasks. Algorithms like: random forests, CNN, RNN, etc. have various hyperparameters which need to be perfectly tuned. Hyperparameters include: learning rate, batch-size, number of layers, loss function, optimizer, etc. Several algorithms with various sets of hyperparameters need to be trained. It takes lots of time to figure out which model and sets of hyperparameters is best for the desired task.

I hope you find this article helpful for you. If you feel something is missing, please comment. Happy reading :)

--

--