SUMMARY
Machine Learning is simply the act of using data to teach computers how to do something without them being programmed.
There are some special times where using Machine learning algorithms will make all the difference and there are some times where using Machine Learning will have less than desirable consequences.
- Machine Learning is broadly divided into categories depending on what they do, how they perform actions and how they perform actions.
Machine Learning is all the buzz these days. Have you ever wondered what machine learning is? The best time to use Machine Learning in your project, and what makes up a Machine Learning system? Well join me and let's find out.
Meaning Of Machine Learning
I'll give you two meanings for the word machine learning the easy one and the complicated one (the one you use when you want to seem like you actually know what you're talking about ;) )
Easy One Machine learning is simply the use of data to teach computers so they can perform operations without your programming them to do so.
Complicated One This is when a computer program learns from experience E with respect to some task T and some performance measure P if its performance P on Task T improves with more experience E then Machine Learning is said to have taken place.
Moments where Machine Learning shines
Machine Learning is great and all but there are some times where using it will have disadvantages rather than advantages. I won't go into that but if you're interested in that you should check out this article here. I am going to focus on the moments when using Machine Learning will make a huge difference.
Problems for which existing solutions require a lot of hand-tuning or long a long list of rules: Have you ever had a project where you have to give a long list of handwritten rules for what the computer is meant to do. A good example of this is a spam filter, imagine building a system where you have to hand-code the exact types of spam the system has to look out for, Well with Machine Learning you don't have to write log rules just give the machine data and it does the rest.
Complex problems for which there is no good solution at all using traditional approaches: Machine Learning particularly shines in problems where the old way of doing things just doesn't work optimally. Let's take game playing for example could you imagine the number of if/else statements you'd have to write before a computer could win a particular game of chess without Machine Learning.
- Fluctuating environments:Imagine a place where you have different scenarios, states of appearance, let's take a game of chess for example where there are 400 possible board setups and 197,742 possible games. Machine Learning is perfect for a case like that because of its ability to adapt to new data, which in this case is the opponents move.
- Getting insights about complex problems and a large amount of data: We all know the ability of Machine Learning to make predictions based on past events of the situation in question but did you have any idea that a Machine Learning Algorithm could actually tell you things you didn't know about your data I'll give you an example let's take for instance you own a huge retail store and you keep data about your clients (these are called instances) such as the time they purchase a lot(like during summer), what type of goods they purchase and stuff like that (those are called features or attributes jsyk) well with a simple cluster algorithm like k-methods you could group your customers into groups based on their purchase behaviour, and also discover different new things about your clients based in their data. Like you could discover when a particular customer is pregnant because for the past few weeks your data shows she's been buying a lot of baby stuff (I'd name baby stuff but I don't know them) and you could send her a catalogue of your new baby stuff and you'd actually make her interested. This is a blueprint of what google does with its targeted ads.
Machine Learning Systems
Machine Learning systems are divided into 3 broad categories based on a lot of things like how they take in data etc.
Whether or not they are trained with human supervision ( Supervised Learning, Unsupervised Learning and Reinforcement Learning ).
Whether or not they can learn incrementally or on the fly( Online vs Batch Learning )
3.)Whether they work by simply comparing new data points to known datapoints or whether they detect patterns in the training data and build a predictive model, much like scientists do ( Instance-Based-learning versus Mode-Bsed-Learning )
Please comment so I can improve, thanks.