Artificial intelligence is arguably the future of technology and a lot of developers are interested in the field. But the major problem seems to be how to get started.
There are not a lot of detailed and comprehensive articles about how to learn artificial intelligence on the open web. Not enough articles that just hit the nail on the head and tell you exactly what you need to know and do to get started in artificial intelligence.
If you are one of the people interested in artificial intelligence and you are willing to put in the hours. Then this article will guide you through the process (steps) of learning artificial intelligence from scratch.
Before we get started and just in case you are completely new to artificial intelligence, I strongly recommend this introductory article on artificial intelligence. It covers the definition, history and types of artificial intelligence, as well as how artificial intelligence works on the surface.
If you are really interested in learning artificial intelligence you need to know there is no easy way, no shortcuts or quick methods. You should be willing to put in the hours.
How long does it take to learn artificial intelligence? Basically, it takes between 365 days (1 year) to 1,825 days (5 years) to learn artificial intelligence (assuming you put in 4 – 0.5 learning hours a day). And how fast you learn also affects how long it takes you to be an expert.
My definition of an expert here, is that you have gotten to the point where you can confidently say and prove you know quite a lot about artificial intelligence.
What does this mean for you?
- It’s going to take you quite some time to learn artificial intelligence.
- Hence, you need to be determined to put in the hours consistently and committedly.
Things that might upset your determination
It is one thing to say ‘I want to learn artificial intelligence’ and another thing to go through the process of learning artificial intelligence.
Too often people get excited and enthusiastic about learning something and few steps down the road, the excitement and enthusiasm dies.
The following are major reasons why initial enthusiasm and excitement for learning something new dies and how to avoid/overcome them:
Procrastination is simply the art of saying “I am going to do it later when you should be doing it to now”. It’s one of the major reason why a lot of tasks are incompleted and objectives not achieved.
Say no to procrastination and whatever is worth doing now, should be done now at all justifiable cost.
Procrastination have dealt with me a lot and I’ve learnt to fight it the hard way (and yet it’s still an uphill task). My summation: if you want to learn artificial intelligence, you must learn to fight procrastination.
Tips to fighting procrastination:
- Define a time (hours per day week) for your learning and stick to it.
- Challenge yourself always to through each step of the way.
- Ensure you define how fast you want to learn and stick to the pace.
- Eliminate anything that distracts you from learning and be focused on one thing at a time.
When you fail to understand something or achieve an objective after multiple attempts, the resulting frustration most often than not kills the initial excitement and enthusiasm for learning something new.
You should expect failure even after several attempts to understand something or achieve an objective. It’s not a big deal that you fail, proven experts in the field of artificial intelligence sometimes fail repeatedly and woefully.
Failing in learning is inevitable but when you fail always get yourself up and try again and again and again untill you get it right.
Most importantly always ask questions, even if it means asking Google.
Meet the Basic Requirements
The basic requirements for learning artificial intelligence are; skill in a programming language, data analytics and a foundation in mathematics especially areas such as linear algebra, calculus and probability.
But I must quickly add that Artificial Intelligence is mostly about solving problems and as such you problem solving ability will greatly determine how far you go in Artificial Intelligence.
Learn a Programming language
It is fundamental that you learn at least one programming language before looking to get started in artificial intelligence development.
Although, knowledge of a programming language is not necessary to start learning Artificial Intelligence from a theoretical standpoint. But my guess is that you are looking to learn Artificial Intelligence from a practical standpoint and not from a theoretical standpoint. Hence, knowledge of a programming language is essential.
The top programming languages used in Practical artificial intelligence are python, C++, Java, and Lisp. Python specifically is a highly recommended language for beginners looking to learn artificial intelligence.
Other programming languages such as R, Julia, Perl, Prolog, Haskell, and Go are also used in artificial intelligence development. Each of these programming languages have their strengths and weaknesses worth looking into.
What programming language should i learn for artificial intelligence?
The best programming language to learn for artificial intelligence is Python programming especially for beginners. But other programming languages like C/C++ and Java are also good.
Python programming language is the most popular programming language used in artificial intelligence development. It is a simple-to-use programming language.
The syntax simplicity and versatility of python programming language makes it a much easier language for beginners to learn than most other programming languages used in artificial intelligence.
It is a multi-paradigm programming language and supports object-oriented, procedural and functional styles of programming.
In terms of support, it has the largest community for AI developers (beginners, experts and everybody in between). And a ton of rich libraries and frameworks in machine learning and deep learning such as TensorFlow, Caffe, Theano, Keras, Scikit-Learn, Spark MLIib etc. that are essential for AI Development.
- It is an easy to learn programming language owing to its simple syntax.
- It’s a free and open source programming language.
- Development is faster in Python compared to some other programming languages used in AI development such as Java, C++ or Ruby.
- Python is a Multi-paradigm programming language that supports object-oriented design.
- It supports algorithm testing without having to implement them.
- Python has a ton of libraries and frameworks for AI development.
- It is a portable language and can be used on multiple operating systems such as Mac OS, Windows, Linux, and Unix.
- It’s difficult to adapt to the syntaxes of other programming languages with Python as the only language under your belt. Simply put, it’s difficult to learn other programming languages when you begin with Python.
- Python works with the help of an interpreter which makes compilation and execution slower in AI development compared to Java and C++. Because of its limited speed it performs poorly for time-sensitive AI projects only.
- It is not intuitive to mobile environment, making it a weak language for mobile computing. Mobile environment such as Android and iOS does not support Python as an official language.
C++ is one of the fastest programming language in general and it’s speed is very much appreciated in AI development especially for time-sensitive projects. Where Python brings simplicity to the table, C++ brings speed.
It provides faster execution and has less response time, a feature which is applied in search engines like Google Search.
C++ also allows extensive use of algorithms and is efficient in using statistical AI techniques.
- It has a rich libraries and frameworks.
- C++ is also a multi-paradigm programming language that supports object-oriented designs.
- It proffers faster execution and making it the favorite for time-sensitive AI projects. Hence, it’s deployment in search engines.
- C++ is good for finding solutions for complex AI problems
- It offers substantial use of algorithms.
- It uses statistical AI techniques quite effectively.
- Data hiding and inheritance with C++ make it possible to reuse the existing code during the development process.
- C++ is poor in multitasking and is mostly only used for implementing core or the base of specific systems.
- It’s highly complex making it difficult for beginners to learn and use in writing AI programs.
Check out this free resource site to learn c++ for free.
Java is an object oriented programming language that is highly portable, transparent and maintainable.
It is supported by rich libraries and frameworks in AI development such as Deeplearning4j, Weka, and Java-ML, and a vibrant community. It’s also highly user-friendly and easy to debug.
Java is an AI programming language that can run on any platform that supports it without the need for recompilation. It works seamlessly with search engine algorithms, improves user interconnections, and supports large-scale projects effectively.
- Java is a time-efficient language as it can be run on any platform (iOS, Windows, Linux and Unix) without the need for re-compilation every time.
- Unlike C++, Java is user-friendly and easy to debug.
- It has an automatic memory manager which eases the work of the developer.
- It is also a multi-paradigm language, hence, it supports object-oriented, procedure-oriented and functional programming.
- Java has less speed in execution and more response time compared to C++. Hence, it is not suitable for time-sensitive AI projects.
- Though highly portable, on older platforms, java would require dramatic changes on software and hardware to facilitate.
- Java has a complex code structure which generally increases development time with it.
- It’s quite difficult to learn compared to Python: it’s not beginners-friendly.
- Java is also a generally immature AI programming language. It’s doesn’t have rich libraries and frameworks for AI development compared to Python.
Codeacademy has one of the best free Java basic course for beginners. Check it out
Lisp is one of the oldest and earliest programming language that developed into a standard programming language in Artificial intelligence development. It was invented by John McCarthy, one of the founding fathers of artificial intelligence in 1958. Lisp has been at the core of AI development since the early days up till today.
it has developed over time to be a strong and dynamic programming language. And is considered to be the best AI programming language by some AI developers because of it’s flexible frameworks that enables fast prototyping.
LISP is fast in prototyping and experimentation. And it’s more efficient in solving specific problems, and highly adaptive for building machine learning systems.
- It’s a fast and efficient programming language as it is supported by compilers instead of interpreters.
- It has garbage collection because automatically memory manager was invented for LISP.
- LISP offers specific control over systems resulting to their maximum use.
- It enables fast prototyping, thereby, providing developers with the needed freedom to quickly test out ideas and theories.
- Since it was custom built for AI, its symbolic information processing capability is above par.
- Since it is an old language, not a lot of developers are well acquainted with Lisp programming.
- It requires configuration of new softwares and hardwares to accommodate it use.
- Because few developers are well acquitted with it, it’s only natural that there’s not enough community support around it.
Land of Lisp: Learn to Program in Lisp, One Game at a Time! Buy from Amazon
Have a Foundation in Mathematics
In artificial intelligence dealing with data is inevitable. To make sense of these data in order to solve problems requires a sound knowledge of mathematics.
Mathematics is simply essential for learning artificial intelligence.
The basic areas of mathematics needed for artificial intelligence development are linear algebra, Multivariate calculus and probability.
Define your Approach
You need to decide clearly your approach to learning artificial intelligence. There are two major things to consider.
First, decide whether you going to start from top to bottom or from bottom to top.
- The top-bottom approach simply means starting your learning journey by first, learning how to do things in AI before learning the underlying theories and mathematics.
- While the bottom-top approach is the opposite of the former. With this approach you get started by first learning the underlying theories and mathematics before moving to learning how to do things.
Secondly, you need to decide whether you want to learn artificial intelligence by teaching yourself (self-taught approach), enrolling into an online AI Beginners course or incorporating both (the self-taught approach and the online courses approach).
Many people like me, will choose the self-taught approach because it’s cheaper and allows me to move at my own pace and terms.
But, I have also found ‘great’ online courses to be easier and they tend to save me a lot of unnecessary headaches.
Incorporating the self-taught approach with online courses tends to proffers a certain kind of balance. A kind of balance that makes it easier to learn things while allowing you to learn at your pace and terms.
All of the approaches above have their strengths and weaknesses. And deciding which approach best suits you will be dependent on factors such as cost, time, experience and your unique learning ability.
I strongly recommend the online course approach, if you are someone who is not accustomed to the headaches of the self-study approach. But if you are highly self-motivated, have a prior coding experience and favor the self-taught approach, I strongly recommend you go self-taught.
Whichever way you decide to approach learning AI, the end results are the same. People learn in different ways and pace, just adopt the approach that suits you best.
Understand the Basics of Artificial Intelligence
Self studying artificial intelligence or following the top to bottom approach doesn’t mean you skip the basics.
In my own case what I did initially was to get Introductory resources on Artificial Intelligence (starting from machine learning) and studied them intensively for about 2 week. The studying of those resources gave me just enough insights to understand the basics of Artificial Intelligence and with that I was ready to go. Yeah! Ready to go into further studying.
In order for you to become submerged in the basics of Artificial Intelligence, you need to start with machine learning and from there you can branch to other aspects of Artificial Intelligence.
I personally recommend the Stanford’s Machine Learning Course to get you started. It’s a free online course taught by Andrew Ng, that covers the basic theories of machine learning in a beginner friendly way.
Undertake Tutorial Projects
Once you have understand the basic theories of machine learning (a sub-section of Artificial Intelligence) the next thing would be to undertake tutorial projects, using whichever AI Programming language you’ve learned.
There are so many tutorial projects on Artificial Intelligence available and for most people, I recommend undertaking this Projects according to their level of difficulty step-by-step.
Basically, you should start from less difficult projects to more difficult projects. And from one tutorial project to another, eventually, you will be capable of taking on real life projects.
Popular Artificial Intelligence Practice Projects for Beginners
1. Classification Recognition System
Human activity recognition (HAR) System, is an Artificial Intelligence system that is built to identify specific action of a person on a given time. The system is built based on recorded sensor data and is capable of identifying activities such as walking, talking, jogging, standing, and sitting.
The sensor data may be remotely recorded, such as video, radar, or other wireless methods. Alternately, data may be recorded directly on the subject such as by carrying custom hardware or smart phones (like an iPhone) that have accelerometers and gyroscopes.
Most tutorials on human activity recognition on the internet use data obtain from a mobile device (mostly an iPhone) carried around a person’s waist.
The goal of this Artificial Intelligence project is to build a classification model that can precisely identify human fitness activities.
Tutorial on Human Activity Recognition (HAR) System
Towardsdatascience: Human Activity Recognition (HAR) Tutorial with Keras and Core ML (Part 1)
2. Classification of Iris Flowers
When most people start learning a new programming language, the first thing the learn, is how to write “Hello World” in that language.
print (“Hello World”)
Easy going Python, my favorite.
Just like there is an “Hello World” for every programming language, one Artificial Intelligence project has stood out to be the “Hello World” project for machine learning and it’s called “the Iris Flowers Classification”.
The goal of this project is to train a model to distinguish between different species of the Iris flower based on four measurements (features): sepal length, sepal width, petal length, and petal width.
3. Social Media Sentiment Analyzer
With billions of people of different generation and from different geographical locations spending hours on social Media platforms, social media has become even more relevant for branding, marketing, and business as a whole.
Social media platforms like Instagram, TikTok, Twitter, Facebook, and Reddit generate huge amounts of big data as a result of billions of users-generated content, that can be mined in various ways using a ‘sentiment analyzer’ to understand trends, public sentiments and opinions.
You can learn to build a Sentiment Analyzer using ‘the Twitter Dataset’. The Twitter Dataset is considered an entry point for beginners to practice sentiment analysis problems. It consists of 31,962 tweets and is 3MB in size.
Using the Twitter dataset, you will get tweet contents and other related metadata such as hashtags, retweets, users and location, to understand trends, public sentiments and opinions in other to make predictions, decisions and take actions.
4. Python Face Recognition Tutorial (Video)
These books are some of the best deal for beginners looking to learn Artificial Intelligence. They are all available for sale on Amazon. The information in them are practical and direct. Most of them have various tutorial projects that will boost your learning, which is my favorite thing about them.
If you have the money to spare, I strongly recommend you buy now and thank me later.
Join AI Developers’ Communities
One of the first things you need to do, is to find and join AI learning communities. Joining these will help you stay motivated, focused and hungry, solve problems and answer questions you may have along the way.
AI learning communities will simply offer you the needed support as journey alone to learning Artificial Intelligence.
Kaggle is an online community of data scientists and Artificial Intelligence Developers owned by you-know-who (Google LLC). It is a community that allows users to find and publish data sets, explore and build models in a web-based data-science environment, work with other data scientists and AI Developers, and enter competitions to solve challenges.
Kaggle is one of the largest and most diverse data community in the world. With over one million registered users (Kagglers) as at 2017 ranging from beginners to experts in different data related fields; Kaggler is a highly recommended community for anybody interested in learning Artificial Intelligence.
Hackster.io is one of the world’s largest and diverse community for hardware & software developers. With 1,100,000+ members and 19,000+ projects, beginners and professionals can learn and share how to build robotics, industrial automation systems, AI-powered machines, and everything in between.
Hackster members are experienced and beginner developers with different interests and from different backgrounds, worldwide. According to their 2017 survey, close to 50% of their users design, build, or program hardware as a part of their daily job.
If you are looking for a place where you would learn how to build DIY AI-Powered Machines or systems, then Hackster.io is a great place to be.
Hackster.io is simply the definition of step-by-step practical resource sites. For whatever it’s worth, I strongly recommend you check it out.
Question and Answers (Q & A) Communities
Question and answer communities are targeted towards problem solving. You can post the specific questions you have, answer questions to which you know the answer and read questions and answers to discover new methods and perspectives.
Q & A Communities for AI Developers are a great place to be when you have questions about AI you don’t have answers to. These communities are mostly flooded by people from different backgrounds in terms of their knowledge of Artificial Intelligence, hence, it’s not rare to see industry experts answering questions (maybe your questions).
Almost forgot to mention that, in most cases the questions you have, might have been asked and answered. So, before you ask questions just search to see if that question have been asked and answered.
Quora is an question-and-answer website where questions are asked, answered, and edited by users. The answers on Quora are either based on fact or opinion, and they are often answered by experts on the question’s topic.
Many people use Quora as a resource for research, , and general interest.
There are so many topics on Quora about almost anything you can think of and it allows users to follow topics of their interest.
As someone interested in Artificial Intelligence, I follow topics such as Artificial Intelligence, Machine Learning, Deep Learning, Python Programming and Computer Vision among others. Following topics relevant and related to Artificial Intelligence allows me to see questions asked and answered by other users that might be relevant to me.
I encourage you to do the same, you could also ask you own questions and get answers. The good thing about Quora’s answers is that they are more detailed and well explained, sometimes more than regular blog posts.
Stack Overflow is a question and answer site for professional and enthusiast programmers. It features questions and answers on a wide range of topics in computer programming including Artificial Intelligence.
If you are looking for a question and answer site dedicated to programming, stack overflow holds the number one spot.
Stack overflow gets more than 50 million unique visitors each month who live and breathe coding.Founded in 2008, it is one of the largest, most trusted online community for anyone that codes to learn, share their knowledge, and build their careers.
Join now and I guarantee you, you will be around like-minded people who will give the support you require to learn Artificial Intelligence. And be sure to hangout in the ‘Artificial Intelligence tag’.