DEV Community

Cover image for Introduction to Machine Learning
deep3125 for DSC CIET

Posted on

Introduction to Machine Learning

Let start by defining, what is machine learning, it is the science of programming computers so they can learn from data.

Machine learning is great for:

  • Problems whose current solution are lengthy.
  • Tackling complex problems, for example, determining whether the person is happy or not when a word is shown to them through the scans(showing the activity of different parts of the brain).
  • Fluctuating environments: for example predicting stock price (it changes from time to time).
  • Getting insights into the complex problem.

There mainly four types of Machine Learning Systems so let discuss them one by one.

Types of Machine Learning Systems:

1)Supervised Learning: In this type of learning, training set(data on which model is trained) is fed to the algorithm with labels.

2)Unsupervised Learning: In this type of learning, the solution is not given that is only data (without any labels or solutions) is fed to an algorithm and it learns from it. It is like observing the world around you and learning about how the world works without any guidance.

3)Semi-supervised learning: In it, the data has few labelled instances but have many unlabelled instances and algorithm is trained on this data.

4)Reinforcement learning: Let's say, a dog trainer wants to train a dog. The trainer will give a reward (a small candy or something else) to the dog whenever the dog acts according to trainer's wish and punish(by not giving the reward) the dog when the dog does not perform the according to trainer's will. By the end of the training, that dog will know what to do to get a treat. Same is the case in reinforcement learning, it learns in the same way.

Now let talk about common challenges in Machine Learning.

Challenges in Machine Learning:

1)Nonrepresentative training data: As you might have already guessed it, if your training data is not representing what you are trying to predict, then your model will have miserable performance.

2)Poor-Quality of Data: If your data is full of outlier and noise then don't expect good performance from your model. Try to remove outlier and/or the source of noise like a broken sensor etc.

3)Irrelevant features: Try to remove the useless feature from data and try to make some useful features from existing features.

4)Overfitting the data: Let's say you train a model and you get great performance and you put it in use but it does not perform as expected, why it happened, well your model just performed well on the training set but it does not generalize well.

5)Underfitting the training data: Underfitting is just opposite of overfitting. The model is too simple to learn from the data.

Top comments (0)