Today we are going to talk about the 3 types of ML algorithms how they work,what are their usage in the real world and what issues we face while using them. see more at my blog: https://www.insightsdev.com What is ML the very short version In short ML is the ability to take data and use it to create a modal we can use to infer the structure or properties of new records the current buzz environment is looking at ML as data in magic out machine able to do anything This create a lot of cases of unrealistic expectations and misuse in implementation. By understanding the premise of each type of ML, when to use it and its limitations we can start a meaningful conversation on how to implement this abilities in real applications So this is why it's important to distinguish between the type of ML algorithms Because each type is helpful for certain kind of problems and use different kind of data and vary in the insight you can get from it the 3 types of ML algorithms are Supervised learning - When we know what we are trying to infer and we have data of the result Unsupervised learning -When we don't know what we are trying to infer or we know but we don't have enough data about the expected result Reinforcement Learning - When the environment change by the action of the algorithm So Lets start looking at each one in details Supervised learning this is the usually known as prediction algorithms it will receive as an input data that for each record we know what is the expected results for that data a basic example for this is knowing : red 2016 Mazda cost 30K$ red 2017 Mazda cost 35K$ we predict a Red 2018 Mazda will cost 40K$ but supervised learning ist limited to prediction of a value you can use it to create: Using customer service Q&A to give the most proper response for chatbot automatically Tag Social Media using what user tagged in the past emotion recognition in form an image using what user said they felt at that moment The Limit of this approach is that each record need to be labeled with the expected result this is a problem when : Not enough records or no history we don't know result for each record we don't know what are we looking or what we looking for is vary rear Unsupervised learning To cope with the cases we don't know what is the meaning of the data or its not labeled. We can use unsupervised learning to understand the inner relation between the property of the data and find pattern in the data and anomalies that divert from this patterns for example by looking on the transactions in a supermarket we can discover: that people how buy diapers also by beers understand what characterize the customers hoe buy beer find anomalies in purchase that can lead to detecting fraud this can give you insight of to the patterns an anomaly but it lacks in a few area there is no indication if a pattern or anomaly is good or bad if something is an anomaly it doesn't mean its fraud Lots of false detection of anomaly and pattern the result can vary a lot by changing the model definition( like group to 5 groups instead of 10) Reinforcement learning Lastly let's look at Reinforcement learning the algorithms that knows how to play chess Go or Super Mario and on the other hand con control robots and optimize store layout the base of this algorithm works on the premise we can act on the environment and we get the result of this action for example the robot moves and then he receive change in gps positioning we put the diapers next to the beers and see if sales go up or down we tries different strategies in games to win the game Can be used to compress data The issues in Reinforcement learning are : It requires an interactive environment or a simulation of one Sometime the knowledge on the results of the action are only partial this is called partially observed Sometimes the result can be corrupted like the case of faulty sensors In conclusion When we understand what we can achieve with each type of ML and we know what is required to make it work the sky's the limit. Thank you for reading if you have any question or suggestion please leave a comment or contact me at insightindevelopment@gmail.com