machine learning in plain English

what is actually machine learning?? 


I already face this question several times, which "what is machine learning?" most of the time my response was too much complicated and a very long one. I experienced people who ask that question getting a bit confused or didn't understand at all. I think that happens because I used many technical terms to explain the concept. so people without any technical background getting confused. with this post, I try to explain machine learning as much as simple I can.

learning

before go to consider machines let's see how a human learns. 
"man's mind, once stretched by a new idea, never regains its original dimension." 
- Oliver Wendell

learning is how humans acquisition of knowledge or a skill through study, experience or being taught by someone. I mention that humans gather new knowledge by several methods. which are study, learn by our self with available materials (books, podcasts, articles etc.) or experience, learn by trying things or finally learn from someone else.

machine-learning

technically machine learning is the process of building algorithms that can use to solve problems by relying on a collection of examples of some phenomenon. let's compare this technical definition with the way humans learn to solve problems. humans solve problems with help of their old memories and using their logical thinking ability based on newly created data by any incident. so either way some sort of data we used.  old or new. an algorithm is a method (like human's logical thinking) machines used to map their old memory with problems newly they have. as humans algorithms use data to learn. that's the collection of examples that are talking in the above definition. which data is used in the learning process of those memories.

learning methods

based on the learning method using machine learning can divide into sub-groups which are famous supervised learning, unsupervised, semi-supervised and reinforcement learning. these methods prefer different kinds of architecture data as inputs. let's discuss those methods one by one.

input data matrix
input data matrix

this input matrix has features(columns) which each one describes characteristics of phenomena this collection of examples (data) gathered (green colour columns). each element (cell) is carrying a relevant record for the column it is in. other than features there is a special column which is the labels or target value column.it carries the real output of each situation.

supervised learning

This is the most famous and widely used method of learning used in machine learning. this is similar to one of the methods humans prefer too. which is taught by someone. let's get a very small example. how you identify your relatives? that is because someone from your family teaches you which is the relationship between you and your relatives. that's the same concept used here. we provide data with actual output for relevant inputs to the algorithm we create. inside the learning, phase algorithms try to identify the most likely relationship between provided inputs and outputs. then it creates a parameter (memory). when it comes to problem-solving algorithms used that learned parameter (old memories) to map new unseen inputs with possible outputs.


let's see this with some dummy data. in the above figure, I mention several rows from a matrix. purple colour indicates we provide label values to an algorithm which mean we tell it these are the real outputs learn from them and derive parameters with their optimal value as much as possible.

unsupervised learning

The difference between supervised and unsupervised methods is inputs. in unsupervised learning, we didn't label or target values. only features we feed into algorithms. we let algorithms learn independently without teaching what should be the output looks like. as an example, most of you probably get hurts by trying to catch fire in your childhood. after that, the child won't catch fire because he/she learns that hurts. so that kind of situation can compare with unsupervised learning if parents or someone else didn't teach them if you catch fire you get hurts. so he/she learn that by their own experience.

if you observe the above matrix you can see I mentioned which data we use for unsupervised learning. red labels mean there isn't known labels or target values.

semi-supervised learning

Semi-supervised learning is a mix of both supervised and unsupervised learning methods. if we consider the above data we can see input data for this kind of algorithm contains some labelled data and unlabeled data too. for extra knowledge these algorithms work well when more unlabeled data are used to learn parameters. as an example, if we consider our catching fire example this is similar to if someone tells a child to don't catch fire while showing a candle. now the child has some information about the fire. what do you think if he sees a hot coffee cup, did he/she know what happens if he/she touches that? with only knowledge about the candle, he/she didn't know it will hurt. so he/she have to touch or someone has to teach them to add more details to their knowledge. in our case if he touches the coffee cup he learns a hot coffee cup will hurt him, that is semi-supervised learning.

reinforcement learning

This learning method is totally different from other learning methods. these models are similar to humans. it considers few things other than data. the environment in which this learning agent lives, state, policy and feedback for certain actions taken in past. this is a repetition learning method. the policy is a function that takes the state as a feature and takes optimal actions. then reward system is given a reward based on performance. its use as an old memory when next time agent uses this memory too in the problem-solving phase. pretty much like humans.


learning types

model-based learning vs instance-based learning

algorithms use in any learning method above can divide into two types which are model base learners and instance base learners.

  • model-based - learn parameters (make memories) from data through the learning stage and then discard learning data. only keep parameters (memories made) and when they meet new data they use those parameters to make predictions.

  • instance-based - this kind of learner didn't learn parameters (didn't make memories) from training data. instead of learning they keep training data themself and use them when they have a problem to solve.

shallow learning vs deep learning

model-based learners can divide furthermore by how they derive parameters (method of making memories) from data they have in a learning phase. model-based learners use two methods to get parameters from data which are shallow learning and deep learning.

  • shallow learning - in this method algorithms learn parameters directly from features they have in training data. most supervised learning algorithms are shallow learners.

  • deep-learning - maybe you heard about the human brain's neural network which passes data through interconnected billions of neurons to process raw data and make memories from them. deep-learning mimics that system to learn parameters from data. deep-learning used artificial neural network consists of more than two layers. At each level, data is processed using different techniques and pass process data to the next level. deep learners used that output of the previous level as input in the next level and learn parameters from processed data not directly from training data.
learning


summery

we discuss what is learning, what is machine learning and how machines learn using different approaches to the learning process. then we consider model-based learning and instance-based learning. and also we compare shallow learning and deep learning. I hope I give you a clear and brief explanation about machine learning. you can use these posts I wrote previously to get more knowledge,

Comments

  1. Good job AshenπŸ’ͺπŸ”₯ Keep it up

    ReplyDelete
  2. πŸ”₯πŸ”₯πŸ”₯πŸ”₯πŸ”₯

    ReplyDelete
  3. Thank you so much Ashen for sharing regarding Machine Learning. It's really an interesting path

    ReplyDelete
  4. Ashen! Your contents are always rich and dense. Keep rocking.

    ReplyDelete
  5. Very well explained! keep it up bro!

    ReplyDelete
  6. I was waiting for this post regarding Machine Learning from you. It's interesting

    ReplyDelete
  7. Good job Ashen. Keep it upπŸ’ͺ✨

    ReplyDelete
  8. Fantastic content and clearly explained. Well done. Keep it up πŸ”₯πŸ’ͺ

    ReplyDelete
  9. Fantastic content and clearly explained.good job.keep it up.πŸ”₯πŸ’ͺ

    ReplyDelete
  10. well done my bro. actually it is simple to understand even beginners.

    ReplyDelete

Post a Comment