Understand machine learning as human learning ,an intro to machine learning a subset of artificial intelligence
As you wake up, you unlock your phone using the face recognition feature. Now, you’re ready to commute, so you choose your favorite app to get the fastest route! then while commuting, you have no idea what to listen to, so you just hit play on your favorite music app. Or, you wonder what to read! Oh, you got a list of similar articles that matches what you like.
The one thing in common between these activities is that they all rely on Machine Learning (which is a subset of Artificial Intelligence), which plays a role in many aspects of our daily lives.
So, how do all of these things work? And why recently and until now we are experiencing an exponential spike in the usage of machine learning driving solutions?
In this article, I will explain how machine learning-driven solutions are developed and how it works without talking technical but by using an analogy that applies to anyone who has gone through the classic education system.
Also, I will talk about the ethics of AI. And I will suggest resources that can be useful if you are interested in developing your machine learning skills.
The analogy of the human learning/teaching experience
So, I will use the following analogy throughout the article to make the complex concepts easier to understand.
“Where students are being taught by a teacher various subjects in order to develop and enhance their skills and knowledge. Also note, that the teacher might use different tools and methods for teaching, depending on the subject.”
In the next section, I will talk about machine learning, by taking a concept/term of machine learning and map it out to its corresponding element in the teaching analogy above.
Alright, enough intro, it’s time to dig in!
Machine learning Concepts and Terms
Machine Learning as The Learning Experience itself:
As you can interrupt from the name, machine learning is the concept of developing an algorithm usually called a model, by relying on data to do something that would be hard or impossible to develop using classic programming methods. This algorithm can learn from data and then do predictions based on data that it already learned from.
Machine Learning Model Corresponding to Student:
Just like students who go through phases in order to gain specific skills or knowledge, a machine learning model is not that different. The students start by attending classes and learning, then they take an exam to test their knowledge.
On the other hand, a machine learning model, is an algorithm that is developed to do a specific task, a model usually has to go through training using a training dataset, then it's going to be tested using testing data, if it passed the test then it might be used in prediction, otherwise, it's going back to the training phase again. Usually, the machine learning developer keeps on iterating until the model reaches an accepted accuracy, i.e., passing the test.
Machine Learning developer/engineer Corresponding to Teacher:
The goal of any teacher can be narrowed down to upskill students and widen their knowledge, where on the other hand, the goal of a machine learning developer is to develop a machine learning model that is capable of resolving a specific task.
Class Material Corresponding to Training Data
Just like a teacher has to have teaching content or class material, the development of machine learning models relies heavily on the training data, as a rule of thumb the more training data you have the better chances you would have in developing an accurate model.
Consider this scenario, where a teacher’s goal is to teach students the difference between cats and dogs. One way to accomplish this is by showing the students images of cats and dogs, while passing images in front of the students, the teacher says “This a dog”, or “This a cat”.
From a machine learning perspective, the more images we show of different types of both cats and dogs, the better student skills will be at telling them apart.
Exams/Quizzes Corresponding to Testing Data
Exams are used to tell if the students have met the class requirements, while testing data is used to tell how accurate our machine learning is. In the exams, students should answer the questions, on the other hand, a machine learning model is tested by feeding it data and then comparing its prediction with the real answers.
To go back to the example above, testing would be as if we pass show images to the students, but instead of saying this image is for a dog or a cat, we ask is this a dog or cat?
Transfer Learning Corresponding to Prerequisite courses
Our educational system is built on the fact that students who are taking a grammar class, should have taken the alphabet class otherwise, the course might be useless.
However, one alternative is to start the grammar class by teaching the students the alphabet then teaching them grammar, but in this approach, the class time should be extended to accommodate for the time required for teaching the alphabets.
Developers of machine learning models used to follow only the second approach, where they started training/developing a model from scratch, however recently when transfer learning was introduced, it was like machine learning reached a new milestone.
Using a transfer learning approach could cut the training time required to develop machine learning models to half at least. However, this might not be applicable to all problems.
Developing Machine Learning using Machine Learning
The teacher might ask himself or herself, what the optimal class time, e.g., 30, 35, or 40 minutes, etc., or how frequently should he/she give the students homework.
One way the teacher can learn more about this kind of stuff would be by taking courses focused on teaching techniques. But wait, let’s recap our suggestions here, the teacher is taking a class, so the teacher is going to be a student and I said earlier that a student corresponds to a machine learning model.
So yeah, that's it, we can build a machine learning model that is used for solving a specific problem which is a machine learning developer/engineer while creating a machine learning model.
This is in fact a heavily researched area in machine learning, there has been a lot of focus on it recently.
Ethics of Artificial intelligence/Machine learning
Artificial intelligence or machine learning could be thought of as a “double-edged sword”, it has astonishing capabilities but if it's not used cautiously it might lead to unfortunate consequences.
Consider the case in which a machine learning model is being trained with the goal of keeping users (on-screen or/and engaging). The model understands that a user, X, is spending a lot of time reading an article or a post if the post is correlated with specific keywords.
Now, each time the user X opens the app, it keeps on suggesting/showing articles/posts that are correlated with the same specific keywords.
Now if those keywords are about Tech related topics, the model would be beneficial for user X, but what about if it turns out the keywords are related to a conspiracy theory or fake news. The consequence would be that the model will help spread fake news or other harmful content, though. The model doesn't care what is the content about, it just has one goal which is to keep a user on the screen.
So, if the model is kept without moderation/auditing, it might really have very harmful effects on society.
Alright if you are looking to start your technical background in machine learning, I would suggest intro to machine learning by Andrew Ng, I would also suggest the Stanford CS courses, their course material is online and accessible to anyone for free as well as their lectures, for example, this CS229 Machine learning course.
After building your foundational machine learning skills, you choose to go in-depth according to what area you want to specialize in. for example, computer vision or Natural language processing (NLP).
However, if you are just interested in learning in-depth about artificial intelligence but without going technical. I would suggest these two long blog posts by waitbuthwhy.com blog.