The term Machine Learning sounds mysterious and confusing to a lot of people especially beginners.
In this thread, I will try to explain how does a machine learn, and why do we even need machine learning?
🧵👇
In pre-machine learning era, we had what is called "rule-based systems".
This basically means that we provide a machine with a bunch of instructions on how to perform a certain task.
For example, if we need to write a function that returns the square of a number.
With rule-based system, this is very easy.
1. First we define a function called Square, for example.
2. Square function takes X as an input, where X can be any number.
3. Square function multiplies X by itself (X **2).
4. Square function returns the result to the user.
So in the previous example, we had to write the rules that map from the input X to the output Y, where Y = X**2.
We did not need machine learning for that because the mapping rules were relatively easy to understand and write.
Now consider the next problem.
We have a bunch of information about a particular real estate in New York regarding its location, number of rooms, population of the area, etc.
We need to write a function that takes these information as an input and can predict the price of the property.
As you can probably see, using rule-bases systems, it is almost impossible to come up with rules that can map the input features to the output target value. This is where machine learning shines.
The amazing thing about machine learning is that we do not have to write the rules.
All we have to do is to feed both the input information (X) along with the expected output values (Y) to the machine learning algorithm, and it will figure out the rules that maps X to Y itself. Most of the times, we do not even know what the rules are nor do we care.
In this example, we used what is called supervised machine learning, because the algorithm learns by taking both the input features X and the expected solution Y as inputs.
Because machine learning usually handles much more complex problems, we usually have thousands and sometimes millions of rules, called parameters, that maps the input to the output.
Using some algorithms, the machine can learn these rules itself, hence the name machine learning.
Machine learning is used for problems where the current solutions require a lot of tuning and maintenance.
Machine learning is also used for problems that are too complex to tackle using rule-bases systems.
However, machine learning is not the answer to everything.
The learning process is guided by different machine learning algorithms, chief among which is Gradient Descent.
The basic principle behind gradient descent was first published in 1986 in the amazing paper "LEARNING INTERNAL REPRESENTATIONS BY ERROR PROPAGATION".
a link to the paper
apps.dtic.mil/sti/pdfs/ADA16…
That is it for this thread.
In a future thread, I will discuss how exactly gradient descent works to learn the parameters that guide the mapping from the input X to the output Y.
If you find this thread to be useful, kindly consider retweeting it.
And for more content about machine learning, AI, and data science, please follow me @ammaryh92.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ammar Yasser

Ammar Yasser Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ammaryh92

22 Jun
If you are planning to get into machine learning, then you are likely to use scikit-learn, one of Python's most famous libraries.
In this thread, I will try to break down scikit-learn's API which could be intimidating in the beginning.
🧵👇
#MachineLearning
Estimators
- An estimator is any scikit-learn object that learns some parameters from data.
- All estimators implement "fit()" method to perform the estimation process.
- Estimators can also act as transformers or predictors.
Transformers
- They are estimators which use the parameters that they have learned to transform data.
- All transformers can implement "transform()" method to perform the transformation process.

I know this sounds vague, but it will become clearer after the following example.
Read 12 tweets
21 Jun
Data Science learning roadmap
If you are looking to get into machine learning, I would like to make your life easier by listing some of my favorite resources in this thread 🧵👇
#MachineLearning
1⃣Python is the most common language for data science (even though there are other great languages like R, C++)
This playlist by @JustinMitchel is a great way to start.
youtube.com/playlist?list=…
2⃣SQL
This @udacity free course is amazing.
udacity.com/course/sql-for…
Read 13 tweets
21 Jun
Bias/Variance analysis is one of the most important concepts in machine learning as it allows you to measure and improve the performance of your model.
🧵In this thread, I will discuss the basic idea behind it, so let's dive right in.
#MachineLearning #ArtificialIntelligence
1⃣Bias (Underfitting)
What is bias?
In simple terms, bias is the difference between the model predictions and the actual values.
So if a model has a high bias, it means it has underfitted the training data. In other words, the model has a high training set error.
What causes a high bias?
Bias, or underfitting, mainly occurs when the model is too simple to understand the underlying structure of the training data, and so it misses the relevant relations between the input features and target outputs.
Read 16 tweets
19 Jun
Feature Scaling is one of the most important transformations you need to apply to your data before feeding it to your machine learning model.
🧵thread 👇
- Feature scaling refers to the concept of normalizing the range of input features so that they have similar scales.
- Most machine learning algorithms do not work well when the input numerical attributes have very different scales. Image
1⃣Min-Max Scaling (Normalization)
- In this method, values are rescaled so they end up ranging between 0 and 1 (the range can be changed in some cases).
- Normalization is very sensitive to the existence of outliers. Image
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(