You are on page 1of 40

How can you get started?

The first thing you need to do is learn a programming language. Though there are a lot of languages that
you can start with, Python is what many prefer to start with because its libraries are better suited to Machine
Learning.

Here are some good resources for Python:

 CodeAcademy
 Learn Python the hard way
 Coursera Python
 Introduction to Computer science
Introduction to Bots

A BOT is the most basic example of a weak AI that can do automated tasks on your behalf. Chatbots were
one of the first automated programs to be called “bots.” You need AI and ML for your chatbots. Web
crawlers used by Search Engines like Google are a perfect example of a sophisticated and advanced BOT.

You should learn the following before you start programming bots to make your life easier.

 xpath - This will help you to inspect and target HTML and build your bot from what you see there.
 regex - This will help you to process the data you feed your bot by cleaning up or targeting (or both)
the parts that matter to your logic.
 REST - This is really important as you will eventually work with APIs. You can use requests to do
this.
How can you build your first bot?

You can start learning how to create bots in Python through the following tutorial in the simplest way.

 How to build a Python Bot


You can also start by using APIs and tools that offer the ability to build end -user applications. This helps
you by actually building something without worrying too much about the theory at first. Some of the APIs
that you can use for this are:

 Google Cloud Prediction API Documentation


 DiffBot
 Machine Learning for Language Toolkit
 Scrapy
 Wolfram Alpha API
Here’s a listing of a few BOT problems for you to practice and try out before you attempt the ultimate
challenge.

 Tic Tac Toe


 Hex
 Dots & Boxes
What now?

Once you have a thorough understanding of your preferred programming language and enough practice with
the basics, you should start to learn more about Machine Learning. In Python, start learning Scikit-learn,
NLTK, SciPy, PyBrain, and Numpy libraries which will be useful while writing Machine Learning
algorithms.You need to know Advanced Math and as well.

Here is a list of resources for you to learn and practice:

 A Visual Introduction to Machine Learning


 Machine Learning (By Andrew Ng)
 Machine Learning Lectures (Tom Mitchell)
 Artificial Intelligence (edX) (Specially for practice exercise in Python)
 Intro to Statistics
 Intro to Artificial Intelligence (Includes Logic and Robotics)
 Artificial Intelligence
Here are a few more valuable links:

 Artificial Intelligence: A Modern Approach


 AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java
 Computational Cognitive Neuroscience
 Computational Explorations in Cognitive Neuroscience
 13 Free self-study books on Mathematics, Machine learning, and Deep learning
 13 Free training courses on Machine learning and Artificial Intelligence
 Data Tools Deep Dive: Machine Learning
You should also take part in various AI and BOT Programming Contests at different places on the Internet:

 Kaggle
 Coding Game
 HackerEarth
 Robocup
Before you start learning and contributing to the field of AI, read how AI is rapidly changing the world.
13 Free Self-Study Books on Mathematics, Machine Learning & Deep Learning
Machine Learning
February 6, 2017

Introduction
Getting learners to read textbooks and use other teaching aids effectively can be tricky.
Especially, when the books are just too dreary.

In this post, we’ve compiled great e-resources for you digital natives looking to explore the
exciting world of Machine Learning and Neural Networks. But before you dive into t he deep
end, you need to make sure you’ve got the fundamentals down pat.

It doesn’t matter what catches your fancy, machine learning, artificial intelligence, or deep
learning; you need to know the basics of math and stats—linear algebra, calculus, optimization,
probability—to get ahead.

Mathematics Books

1. Matrix Computations
This 2013 edition by Golub and Van Loan, published by The Johns Hopkins University Press,
teaches you about matrix analysis, linear systems, eigenvalues, discrete Poisson solvers, least
squares, parallel LU, pseudospectra, Singular Value Decomposition, and much more.

This book is an indispensable tool for engineers and computational scientists. It has great
reviews on Amazon, especially by users looking for problems, discussions, codes, solutions,
and references in numerical linear algebra.

Free Book: Download here


2. A Probabilistic Theory of Pattern Recognition
Written by Devroye, Lugosi, and Györfi, this an excellent book for graduate students and
researchers. The book covers various probabilistic techniques including nearest neighbour
rules, feature extraction, Vapnik-Chervonenkis theory, distance measures, parametric
classification, and kernel rules. Amazon reviewers laud it for its nearly 500 problems and
exercises.

Wikipedia says “The terms pattern recognition, machine learning, data mining and knowledge
discovery in databases are hard to separate, as they largely overlap in their scope.” No wonder,
machine learning enthusiasts swear by this comprehensive, theoretical book on
“nonparametric, distribution-free methodology in Pattern Recognition.”

Free Book: Download here

3. Advanced Engineering Mathematics


Erwin Kreyszig’s book beautifully covers the basics of applied math in a comprehensive and
simplistic manner for engineers, computer scientists, mathematicians, and physicists. It teaches
you Fourier analysis, vector analysis, linear algebra, optimization, graphs, complex analysis,
and differential and partial differential equations.

It has up-to-date and effective problem sets that ensure you understand the concepts clearly.

Free Book: Download here

4. Probability and Statistics Cookbook


A collection of math and stats reference material from the University of California (Berkeley)
and other sources put together by Matthias Vallentin, this cookbook is a must-have for
learners. There are no elaborate explanations but concise representations of key concepts. You
can view it on GitHub, or download a PDF file using the link below.

Free Book: Download here

Machine Learning & Deep Learning Books

1. An Introduction to Statistical Learning (with applications in R)


This book written by Gareth James, Daniela Witten, Trevor Hastie, and Robert Tibshirani is
meant for non-math students. For data scientists, this is a valuable addition because of its R
labs. The TOC includes linear regression, classification, resampling methods, linear model and
regularization, tree-based methods, shrinkage approaches, clustering, support vector machines,
and unsupervised learning. With interesting real-world examples and attractive graphics, this is
a great text for statistical tools and techniques.

Free Book: Download here


2. Probabilistic Programming and Bayesian Methods for Hackers
Cameron Davidson-Pilon describes Bayesian methods and probabilistic programming from
math and computation perspectives. The book discusses modeling Bayesian problems using
Python's PyMC, loss functions, the Law of Large Numbers, Markov Chain Monte Carlo,
priors, and so lots more. The content is open sourced. The print version has updated examples,
EOC questions, and improved and extra sections.

Free Book: Download here

3. The Elements of Statistical Learning


Authors Trevor Hastie, Robert Tibshirani, and Jerome Friedman (all three are Stanford
professors) discuss supervised learning, linear methods of regression and classification, kernel
smoothing methods, regularization, model selection and assessment, additive trees, SVM,
neural networks, random forests, nearest neighbors, unsupervised learning, ensemble methods,
and more.

This book covers a broad range of topics is particularly useful for researchers interested in data
mining and machine learning. You need to know linear algebra and some stats before you can
appreciate the text. This is what one of the reviewers said about the book on Amazon: The
Elements of Statistical Learning is a comprehensive mathematical treatment of machine
learning from a statistical perspective.

Free Book: Download here

4. Bayesian Reasoning and Machine Learning


David Barber’s books is a comprehensive piece of writing on graphical models and machine
learning. Meant for final-year undergraduate and graduate students, this text has ample
guidelines, examples,and exercises. The author also offers a MATLAB toolbox and a related
website.

It covers inference in probabilistic models including belief networks, inference in trees,the


junction tree algorithm, decision trees; learning in probabilistic models including Naive Bayes,
hidden variables and missing data, supervised and unsupervised linear dimension reduction,
Gaussian processes, and linear models; dynamic models including discrete - and continuous-
state model Markov models, and distribution computation; and approximate inference.

Free Book: Download here


5. Information Theory, Inference, and Learning Algorithms
David MacKay exciting book discusses key concepts that form the core of machine learning,
data mining, pattern recognition, bioinformatics, and cryptography. Amazon reviewers find the
illustrations, depth, and “esoteric” approach remarkable. It is a grea t book on information
theory and inference, which covers topics such as data compression, noisy -channel coding,
probabilities, neural networks, and sparse graph codes.

Free Book: Download here

6. Deep Learning
This what Elon Musk, co-founder of Tesla Motors, has to say about this definitive text written
by Ian Goodfellow, Yoshua Bengio, and Aaron Courville: "Written by three experts in the
field, Deep Learning is the only comprehensive book on the subject."

The authors talk about applied math and machine learning basics, deep networks and modern
practices, and deep learning research. For engineers interested in neural networks, this could
well be their bible. The book is highly recommended for people in academia, providing the
required mathematical background to fully appreciate deep learning in its current state.
Free Book: Download here

7. Neural Networks and Deep Learning


Michael Nielsen’s free online book is a comprehensive text on the core concepts ofdeep
learning and artificial neural networks. The book has great interactive elements, but it does not
provide solutions for the exercises. Laid out like a narrative, Nielsen holds o nto core math and
code to explain the key ideas.

He talks about backpropagation, hyper parameter optimization, activation functions, neural


networks as functional approximators, regularization, a little about convolutional neural
networks, etc. The author includes valuable links to ongoing research and influential research
papers and related tutorials.

Free Book: Download here

8. Supervised Sequence Labelling with Recurrent Neural Networks


Alex Graves discusses how to classify and transcribe sequential data, which is important in
part-of-speech tagging, gesture, handwriting, and speech recognition, and protein secondary
structure prediction. He talks about the role of recurrent neural networks in sequence labeling.

Long short-term memory, a comparison of network architectures, hidden Markov model


hybrids, connectionist temporal classification, multidimensional networks, and hierarchical
subsampling networks are other chapters in this book.

Free Book: Download here

9. Reinforcement Learning: An Introduction


Richard S. Sutton and Andrew G. Barto’s pioneering book on reinforcement learning covers
the intellectual background, applications, algorithms, and the future of this exciting field.
These University of Massachusetts Professors describe this artificial intelligence concept with
clarity and simplicity.

This book includes interesting topics such as Markov decision processes, Monte Carlo
methods, dynamic programming, temporal-difference learning, eligibility traces, and artificial
neural networks.

Free Book: Download here

Summary
What’s better than getting educational resources that are free and authored by pioneers in the
field? Can’t think of a downside really…Especially for struggling students, these ebooks are a
boon. They don’t need to wait for the books to turn up at the library or swap with others; grab
them and start learning!

So, what’s stopping you from picking up one of these excellent books and fashioning a
successful career in data science, AI, or machine learning?
13 Free Training Courses on Machine Learning and Artificial Intelligence

Introduction
When the world’s smartest companies such as Microsoft, Google, Alphabet Inc., and Baidu are
investing heavily in Artificial Intelligence (AI), the world is going to sit up and take notice.
Chinese Internet giant Baidu spent USD1.5 billion on research and development.

And as proof of China’s strong focus on AI and Machine Learning, Sinovation Ventures, a
venture capital firm, invested USD0.1 billion in “25 AI-related startups” in the last three years
in China and the U.S.

Research shows that although genuine intelligence may still be a bit far off, AI and Machine
Learning technologies are still expected to reign in 2017. Try reading up on Microsoft Project
Oxford, IBM Watson, Google Deep Mind, and Baidu Minwa, and you’ll understand what I am
trying to get at.

In 2015, Gartner’s Hype Cycle for Emerging Technologies introduced Machine Learning (ML),
and the graph showed (Figure 1) that it would reach a plateau in 2 to 5 years. Big players such
as Facebook and Amazon are increasingly exploiting the advantages of this concept, which is
derived from artificial intelligence and statistics, to extract meaning from huge amounts of (big)
data.

Research predicts that the AI market will grow to about USD37 billion by 2025; in 2015 it was
about USD645 million!
Source: Gartner

Difference between Machine Learning and Artificial


Intelligence
Artificial Intelligence (AI) and ML are not interchangeable terms. ML is sort of a subset of AI,
which is a part of computer science trying to develop “machines capable of intelligent behavior.”
Then, what is Machine Learning (ML)? “The science of getting computers to act without being
explicitly programmed,” says Stanford. So you get that difference? You need both AI and ML
experts to make smart machines that are truly intelligent.

Why are Machine Learning and Artificial Intelligence “Hot”?


"Machine learning is a core, transformative way by which we’re rethinking everything
we’re doing” — Sundar Pichai, Google CEO

The pervasive commercial success of machine learning/artificial intelligence is visible


everywhere—from Amazon recommending what movies you might like to see to self-driving
Google cars that can tell a tree from a pedestrian.
AI/ML has changed how data-driven business leaders make decisions, gage their businesses,
study human behavior, and view predictive analytics. If your organization needs to unleash the
benefits of this extraordinary field, you need the right minds—quants and translators.

With breakthroughs such as parallel computation that’s cheap, Big Data, a nd improved
algorithms, utilitarian AI is what the world is moving toward. The increased need to handle huge
amounts of data and the number of IoT connected devices that define the world today reinforce
the importance of machine learning.

AI/ML, with tons of potential, is a great career choice for engineers or data mining/ pattern
recognition enthusiasts out there. Also, Machine Learning is integral to data science, which is
touted as the sexiest job of the 21st century by the Harvard Business Review.

An Evans Data Corp. study found that 36% of the 500 developers surveyed use elements of ML
in their Big Data or other analytical projects. CEO Janel Garvin said, “Machine learning includes
many techniques that are rapidly being adopted at this time and the developers who already work
with Big Data and advanced analytics are in an excellent position to lead the way.”

She added: “We are seeing more and more interest from developers in all forms of cognitive
computing, including pattern recognition, natural language recognition, and neural networks and
we fully expect that the programs of tomorrow are going to be based on these nascent
technologies of today.”

So, for people who have a degree in Computer Science, Machine Learning, Operational Research,
or Statistics, the world could well be their oyster for some time to come, right?

List of Courses
I’ve put together (and agonized a bit over what to add and what not to) a few free top ML and
AI courses that will help you become the next ML expert Google or Apple hires. Of course, it is
hard work, but if you are willing to pursue something, you’ll discover ways like these to succeed.

Machine Learning Courses


1. Machine Learning by Andrew Ng

Co-founder of Coursera, Andrew Ng, takes this 11-week course. He is an Associate Professor at
Stanford University and the Chief Scientist at Baidu. As an applied machine learning class, it
talks about the best machine learning techniques and statistical pattern recognition, and teaches
you how to implement learning algorithms.
Broadly, it covers supervised and unsupervised learning, linear and logistic regression,
regularization, and Naïve Bayes. He uses Octave and MatLab. The course is rich in case studies
and recent practical applications. Students are expected to know the b asics of probability, linear
algebra, and computer science. The course has rave reviews from the users.

Go to Course: Start learning

2. Udacity’s Intro to Machine Learning

A part of Udacity’s Data Analyst Nanodegree, this approximately 10-week course


teaches all you need to know to handle data sets using machine learning techniques to extract
useful insights. Instructors Sebastian Thrun and Katie Malone will expect the beginners to know
basic statistical concepts and Python.

This course teaches you everything from clustering to decision trees, from ML algorithms such
as Adaboost to SVMs. People also recommend you take the foundational Intro to Data
Science course which deals with Data Manipulation, Data Analysis, Data Communication with
Information Visualization, and Data at Scale.

Go to Course: Start learning

3. EdX’s Learning from Data(Introductory Machine Learning)

Yaser S. Abu-Mostafa, Professor of Electrical Engineering and Computer Science


at the California Institute of Technology, will teach you the basic theoretical principles,
algorithms, and applications of Machine Learning.

The course requires an effort of 10 to 20 hours per week and lasts 10 weeks. They have another
5-week-course, Machine Learning for Data Science and Analytics, where newbies can learn
more about algorithms.

Go to Course: Start learning

4. Statistical Machine Learning


Your instructor of the series of video lectures (on YouTube) in Advanced Machine
Learning is Larry Wasserman, Professor in the Department of Statistics and in the Machine
Learning Department at the Carnegie Mellon University.

The prerequisites for this course are his lectures on Intermediate Statistics and Machine
Learning (10-715) intended for PhD students. If you can’t access these courses, you need to
ensure you have the required math, computer science, and stats sk ills.

Go to Course: Start learning

5. Coursera’s Neural Networks for Machine Learning

Emeritus Distinguished Professor Gregory Hinton, who also works atGoogle’s


Mountain View facility, from the University of Toronto teaches this 16-week advanced course
offered by Coursera.

A pioneer in the field of deep learning, Hinton’s lecture videos on YouTube talk about the
application of neural networks in image segmentation, human motion, modeling language,
speech and object recognition, and so on. Students are expected to be comfortable with calculus
and have requisite experience in Python programming.

Go to Course: Start learning

6. Google’s Deep Learning

Udacity offers this amazing free course which “takes machine learning to the next
level.” Google’s 3-month course is not for beginners. It talks about the motivation for deep
learning, deep neural networks, convolutional networks, and deep models for text and sequences.

Course leads Vincent Vanhoucke and Arpan Chakraborty expect the learners to have
programming experience in Python and some GitHub experience and to know the basic concepts
of ML and statistics, linear algebra, and calculus. The TensorFlow (Google’s own deep learning
library) course has an added advantage of being self-paced.
Go to Course: Start learning

7. Kaggle R Tutorial on Machine Learning

DataCamp offers this interactive learning experience that’ll help you ace
competitions. They also have an Introduction to R course for free.

Go to Course: Start learning

8. EdX’s Principles of Machine Learning

A part of the Microsoft Professional Program Certificate in Data Science, this


6-week course is an intermediate level one. It teaches you how to build and work with machine
learning models using Python, R, and Azure Machine Learning.

Instructors, Dr. Steve Elston and Cynthia Rudin talk about classification, regression in machine
learning, supervised models, non-linear modeling, clustering, and recommender systems. To add
a verified certificate, you’ll need to pay.

Go to Course: Start learning

9. Coursera’s Machine Learning Specialization

The University of Washington has created five courses, with practical case
studies, to teach you the basics of Machine Learning. This 6-week course which require between
5 and 8 hours of study a week, will cover ML foundations, classification, clustering, regression,
recommender systems and dimensionality reduction, and project using deep learning.

Amazon’s Emily Fox and Carlos Guestrin are the instructors, and they expect the learners to
have basic math and programming skills along with a working knowledge of Python. Course
access is free though getting a valid certificate is not.

Go to Course: Start learning


Artificial Intelligence Courses
1. EdX's Artificial Intelligence

This exciting course from EdX talks about AI applications such as Robotics and
NLP, machine learning (branch of AI) algorithms, data structures, games, and constraint
satisfaction problems. It lasts 12 weeks and is an advanced-level tutorial from Columbia
University.

Go to Course: Start learning

2. Udacity’s Intro to Artificial Intelligence

The course is expected to teach you AI’s “representative applications.” It is a part of


its Machine Learning Engineer Nanodegree Program. Instructors Sebastian Thrun and Peter
Norvig will take you through the fundamentals of AI, which include Bayes networks, statistics,
and machine learning, and AI applications such as NLP, robotics, and image processing. Students
are expected to know linear algebra and probability theory.

Go to Course: Start learning

3. Artificial Intelligence: Principles and Techniques

This Stanford course talks about how AI uses math tools to deal with complex
problems such as machine translation, speech and face recognition, and autonomous driving.
You can access the comprehensive lecture outline—machine learning concepts; tree search,
dynamic programming, heuristics; game playing; Markov decision processes; constraint
satisfaction problems; Bayesian networks; and logic— and assignments.

Go to Course: Start learning

4. Udacity's Artificial Intelligence for Robotics by Georgia Tech


Offered by Udacity, this course talks about programming a robotic car the way
Stanford and Google do it. It is a part of the Deep Learning Nanodegree Foundation course.
Sebastian Thrun will talk about localization, Kalman and Particle filters, PID control, and SLAM.
Strong grasp of math concepts such as linear algebra and probability, knowledge of Python, and
programming experience are good-to-have skills.

Go to Course: Start learning

Summary
In this post, a few of the listed courses are meant to help you get started in the exciting and fast -
growing field of Machine Learning and Artificial Intelligence. Others take you through slightly
more advanced aspects. The courses listed are free and the only thing stopping you from getting
the most out of them will be a lack of commitment.

These world-class courses, which focus on a specific area of learning, are great stepping stones
to lucrative and amazing careers in machine learning, data science, and so much more. If you
don’t want the Baxters of the world to make you obsolete, you best teach them just who the
master is.

So once you identify your learning goals, and assuming you have reliable access to technological
requirements, be self-disciplined, build a study plan, set time limits, stay on schedule, work
effectively with others, and, most of all, find ways to stay motivated.

Data Tools Deep Dive: Machine Learning

April 14, 2017 by datascience@berkeley Staff

Whether you knew it or not, you've probably been taking advantage of the benefits of machine
learning for years. Most would find it hard to go a full day without using at least one app or web
service driven by machine learning. Amazon, Facebook, Netflix, and, of course, Google all have been
using machine learning algorithms to drive searches, recommendations, targeted advertising, and
more for well over a decade. In recent years, letting algorithms sort through a company's data to find
out how to optimize a business has become the rule rather than the exception. This extends not only
to digital business models like web services or apps, but also to any company or industry where data
can be gathered: energy, financial services, marketing, transportation, brick-and-mortar retail, and
even how you get you coffee from your local coffee shop.

Though the term “machine learning” has become increasingly common, many still don’t know exactly
what it means and how it is applied. We will examine how machine learning is defined as a tool used
by data scientists — and take a bird’s eye view of how it was developed, how it is currently being
used, and what lies ahead as it continues to evolve.

Defining Machine Learning

The basic concept of machine learning External link involves the use of statistical learning and
optimization methods that let computers analyze data sets and identify patterns based. The typical
machine learning algorithm consists of (roughly) three components:

1. A decision process: A recipe of calculations or other steps that takes in the data and returns a “guess”
at the kind of pattern in the data your algorithm is looking to find.
2. An error function: A method of measuring how good the “guess” was by comparing it to known
examples (when they are available). Did the decision process get it right? If not, how do you quantify
“how bad” the miss was?
3. An updating or "optimization" process: This is where the algorithm looks at the miss and then updates
how the decision process comes to the final decision so that the next time the miss won’t be as great.

For example, if you're building a movie recommender, your algorithm’s decision process might look at
how similar a given movie is to other movies you’ve watched and come up with a weighting system
for different features. During the “training process” it goes through the movies you have watched and
weights different properties like if it is a sci-fi movie or if it is funny. The algorithm then tests out if it
ends up recommending movies that you (or people like you) actually watched. If it gets it right, the
weights it used stay the same, if it gets a movie wrong, the weights that led to the wrong decision
(e.g., action-adventure) get turned down so it doesn’t make that kind of mistake again.

Since a machine learning algorithm updates autonomously, the analytical accuracy improves with
each run as it teaches itself from the data it analyzes. This iterative nature of learning is both unique
and valuable because it occurs without human intervention — providing the ability to uncover hidden
insights without being specifically programmed to do so.

The Evolution of Machine Learning

Although advances in computing technologies have made machine learning more popular than ever,
it’s not a new concept. The origins of machine learning External link date back to 1950. Alan Turing,
speculating on how one could tell if he or she had developed a truly integrated “artificial intelligence”
(AI), created what is now referred to as the Turing Test, which (roughly) suggests that one way of
testing for whether or not the AI is capable of understanding language is to see if it is able to fool a
human into thinking he or she is speaking to another person. In 1952, Arthur Samuel wrote the first
learning program for IBM — this time involving a game of checkers. The work of many other machine
learning pioneers followed, including Frank Rosenblatt’s design of the first neural network in 1957 and
Gerald Dejong’s introduction of Explanation Based Learning (EBL) in 1981.

In the 1990s, a major shift occurred in machine learning when the focus moved away from a
knowledge-driven approach to that of data. This was a critical decade in the field’s evolution, as
scientists began creating computer programs that could both analyze large data sets — and learn in
the process. Several milestones in machine learning are marked by instances where an algorithm is
able to beat the performance of a human being, including Kasparov's defeat in chess at the hands of
IBM’s Deep Blue in 1997, IBM Watson’s 2011 victory in Jeopardy, and more recently the victory of
the Alpha Go algorithm over Sedol playing Go, a game notorious for its massively large space of
possibilities in game play.

Near-Future Applications of Machine Learning


Today, machine learning is being used around the world in nearly every major sector External link —
including business, government, finance, agriculture, transportation, cybersecurity, and marketing.
Such rapid adoption across disparate industries is evidence of the value that machine learning
creates. Armed with insights from vast data sets — which often occur in real time — organizations
can operate more efficiently and gain a competitive edge.

The applications of machine learning extend beyond commerce and optimizing operations. Following
its Jeopardy win, IBM applied the Watson algorithm to medical research literature “sending Watson to
medical school External link .” More recently, precision medicine initiatives are breaking new ground
using machine learning algorithms driven by massive artificial neural networks (aka “deep learning”
algorithms) to detect subtle patterns in genetic structure and how one might respond to different
medical treatments. Over the last few years, breakthroughs in how machine learning algorithms can
be used to represent natural language have enabled a surge in new possibilities that include
automated text translation, text summarization techniques, and sophisticated question and answering
systems. Other breakthroughs involve learning systems for automated robotics, self-flying drones,
and the promise of industrialized self-driving cars.

The continued digitization of most every sector of society and industry means that an ever-growing
volume of data will continue to be generated. The ability to gain insights from these vast data sets is
one key to addressing an enormous array of issues — from identifying and treating diseases more
effectively, to fighting cyber criminals, to helping organizations operate more effectively to boost the
bottom line.

The universal capabilities that machine learning enables across so many sectors makes it an
essential tool — and experts predict a bright future for its use. In fact, in Gartner’s “Top 10
Technology Trends for 2017 External link ,” machine learning and artificial intelligence topped the list:

AI and machine learning… can also encompass more advanced systems that understand, learn,
predict, adapt and potentially operate autonomously… The combination of extensive parallel
processing power, advanced algorithms and massive data sets to feed the algorithms has unleashed
this new era.

As machine learning and AI applications are becoming more popular, they’re becoming more
accessible too — moving from server-based systems to the Cloud. Over the past few years, Google,
Amazon, Microsoft, Baidu and IBM all unveiled machine learning platforms through open source
projects and enterprise cloud services.

Machine Learning and datascience@berkeley

In recognition of its critical role both today and in the future, datascience@berkeley has included an
in-depth focus on machine learning in its Master of Information in Data Science (MIDS) curriculum.

The foundation course is Applied Machine Learning, which aims to provide a broad introduction to the
key ideas in machine learning. The emphasis is on intuition and practical examples rather than
theoretical results, though some experience with probability, statistics, and linear algebra is
important. Students learn how to apply powerful machine learning techniques to new problems, run
evaluations and interpret results, and think about scaling up from thousands of data points to billions.

The advanced course, Machine Learning at Scale, builds on and goes beyond the collect-and-
analyze phase of big data by focusing on how machine learning algorithms can be rewritten and
extended to scale to work on petabytes of data, both structured and unstructured, to generate
sophisticated models used for real-time predictions. Students learn how to skills using cutting edge
distributed computation and machine learning systems such as Spark and are trained to code up their
own implementations of large-scale projects, like Google’s original PageRank algorithm, and how to
use modern deep learning techniques to train text-understanding algorithms in the Natural Language
Processing course.

Links to material discussing our main ideas at a high level, in suggested viewing order
Article: Reduction Considered Harmful (Introduction to main idea). Also available as a PDF without comments.
Theory and motivation: Artificial Intuition
Corporate video site - most current ideas are available as videos of presentations
Blog: Monica's Mind
Article: Problem Solved — Unfriendly AI. Also available as a PDF without comments.
Ms. Anderson on Facebook
Ms. Anderson's Resume
Ms. Anderson ran the Silicon Valley AI MeetUp for 100+ meetups over 5 years

How do I start learning artificial intelligence? Is it possible to get research work in the
field of A.I? Are there open source projects where I can contribute?

Monica Anderson, Understanding Machines and Deep Neural Networks since 2001

Updated Jan 6, 2015 · Upvoted by Jovan Williams, Founder - Monad.ai (AI,AGI) R&D (http://www.monad.ai)

Originally Answered: How do I get started in Artificial Intelligence? Are there any simple instructions I could follow to
create some basic AI algorithms? I prefer to learn things in Python, but I could also work in C.

With due respect to all who have suggested various AI books and Machine Learning classes: Step one is to
understand what matters in AI.

And (kind of appropriately) what matters most is Understanding. And Understanding starts with "What
Matters". This sounds convoluted, amusing, or tautological but it really isn't. Let me explain.

Most AI research today is misguided; they have been trying to solve the wrong problem for sixty-five years to
the tune of a million man-years. Solving the right problem is much easier and we should be done in about five
years. This is a very good time to get into AI research... as long as you avoid almost everything that has been
done in AI research to date, since very little of that actually contributes to finding the correct solution.

Step one is to realize that the human mind is not scientific. It is a result of evolution and excels at finding
quick-and-dirty solutions to incompletely specified problems in almost zero time. Almost everything we do on a
daily basis is done this way; this is what we use our brains for, and this is what an AI would have to be able to
do. It's called "Intuitive Understanding".

Step two is to realize that Understanding requires the ability to know "What Matters". What is relevant, and
what is irrelevant to the situation at hand. The core unsolved problem in AI is to find a problem domain
independent measure of "Saliency" - to know whether something matters or not. Several algorithms for
domain-independent saliencey are currently being evaluated by researchers in this area and some are showing
some promise. This corner of AI research is where the action is.

Step three is to realize that the answers to most questions in the AI domain can be pruned to a manageable size
by considering Epistemological Limitations. As an example of a statement in Epistemology, consider "You can
only learn that which you already almost know". This simple truth, expressed by Prof. Patrick Winston (MIT)
around 1980 forms the basis of what today is known as "Deep Learning" which has become the greatest
advance in AI in the past 20 years. Epistemology holds the hints for many more advances like this. You just
need to let go of the old Reductionist AI kind of thinking. Which is hard, since most of everybody's education
has been focused on learning how to do Reduction.

"The greatest surprise to AI researchers is that they have to create systems that jump to conclusions on scant
evidence" -- Me, in several talks.

Logical reasoning is slow and our brains spend only about 0.001% of its cycles on this mode of thinking. In
contrast, Intuitive Understanding is fast and is used for everything from sequencing our leg muscles as we are
walking across the floor to language generation and understanding to enjoying a symphony. AI research to date
has been focusing on this 0.001% of the brain's operations, neglecting the 99.999% that the brain spends on
the Intuitive Understanding part.

In "Thinking Fast and Slow" Daniel Kahneman discusses these two modes of thinking in some detail.

So in order to get started in AI you need to understand that Understanding is more important than Reasoning,
that most of the AI books and methods discuss the smaller part - Reasoning - and that you need to learn
everything you can about methods that can be used to implement Understanding. They are implemented using
certain kinds of Machine Learning techniques which are all based on Unsupervised learning. They are called
Model Free Methods.

The easiest path in is to watch the talk I gave at Stanford on May 17 2014 : Dual Process Theory

and then to read my introduction to "Reduction" - the process of simplifying our Rich Reality to models (and
partial models) an AI could use: Page on syntience.com

and then to peruse the other materials at Syntience Technology Resources on the Web

If you understand what matters in AI then you will be able to ignore well over 90% of all AI textbooks and
similar materials and focus on the few things that matter. Like Saliency, Understanding, and Epistemology.

Once you reach that point, you need to know a programming language. Any old language will do; the problems
you need to solve do not require anything fancly like Lisp or Haskell. C or Java will do just fine.
I suggest looking at the course materials for introductory courses at top universities. Particularly,
check out the syllabus and textbooks for the class to see what material they teach.

Here is a sample of such classes:

1. Artificial Intelligence: Principles and Techniques (Stanford)


2. Berkeley AI Materials (Berkeley)
3. Introduction to Artificial Intelligence (U. Michigan)
The book referenced in all of the above courses is Artificial Intelligence: A Modern Approach, which is
widely seen as a good book (I used it and liked it). If cost is an issue, you can find used copies of the
second edition of that book for less than $10 (the current edition is the third edition).

1. Udacity
Intro to Artificial Intelligence

This class is a self-paced primer on AI, which is subdivided into ten major lessons. Once enrolled,
you’ll get an overview of artificial intelligence as well as walkthroughs of concepts such as machine
learning, computer vision, robotics, natural language processing, and game theory. But before
you enroll, be sure that you’ve taken some lessons on probability theory and linear algebra since
some of the topics use these as platforms.

Instructor

Peter Norvig is Director of Research at Google Inc. He is also a Fellow of the American
Association for Artificial Intelligence and the Association for Computing Machinery. Norvig is co-
author of the popular textbook Artificial Intelligence: A Modern Approach. Prior to joining Google he
was the head of the Computation Sciences Division at NASA Ames Research Center.

2. edX
Artificial Intelligence

This course helps to learn the foundational concepts in artificial intelligence, with a focus on the
statistical and decision-theoretic paradigm. As such, you’ll need prior programming experience as
well as a working background in math (specifically in probability, combinations, and permutations)
to join the class. The course also uses Python as the predominant programming language, so better
be sure you know how to write basic Python code before taking the course. Once enrolled,
you’ll learn how to build an autonomous intelligent agent that’s programmed to make sound
decisions in random and adversarial scenarios. You’ll also get to learn, discuss and apply different
ideas in machine reasoning and learning

Instructor
Dan Klein (PhD Stanford, MSt Oxford, BA Cornell) is an associate professor of computer science at
the University of California, Berkeley. His research focuses on natural language processing and using
computational methods to automatically acquire models of human languages.

Pieter Abbeel (PhD Stanford, MS/BS KU Leuven) joined the faculty of the Department of Electrical
Engineering and Computer Sciences at UC Berkeley in 2008. He regularly teaches CS188:
Introduction to Artificial Intelligence and CS287: Advanced Robotics. His research focuses on robot
learning.
3. MIT OpenCourseWare
Artificial Intelligence

This course introduces students to the basic knowledge representation, problem solving, and learning
methods of artificial intelligence. Upon completion of 6.034, students should be able to develop
intelligent systems by assembling solutions to concrete computational problems; understand the role
of knowledge representation, problem solving, and learning in intelligent-system engineering; and
appreciate the role of problem solving, vision, and language in understanding human intelligence
from a computational perspective.

Instructor
Prof. Patrick Henry Winston

4. Saylor.org Academy
Artificial Intelligence

Materials on AI programming, logic, search, game playing, machine learning, natural language
understanding, and robotics introduce the student to AI methods, tools, and techniques, their
application to computational problems, and their contribution to
understanding intelligence. Because each of these topics could be a course unto itself, the material is
introductory and not complete. Each unit presents the problem a topic addresses, current progress,
and approaches to the problem.

Requirements:
Have a basic mastery of Discrete Structures.
Have a basic mastery of calculus
25.8k Views · 47 Upvotes

Niko Gamulin, PhD from Machine Learning, passionate AI practitioner


Answered Dec 20, 2013
Originally Answered: How do I get started in Artificial Intelligence? Are there any simple instructions I could follow to
create some basic AI algorithms? I prefer to learn things in Python, but I could also work in C.
For the beginning I would recommend you the following:
- Machine Learning course on Coursera (Coursera)
- CS188.1x course (UC BerkeleyX: CS188.1x: Artificial Intelligence)
- Get the book Artificial Intelligence: A Modern Approach (Artificial Intelligence: A Modern
Approach)

Solve exercises from the book and the courses and then try to find the challenges from the real world
where you could apply the concepts from the courses.

The courses listed above and the book are great to gain theoretical background and gaining
experiences from applying it on real-life challenges, I believe you are on the good way. When solving
real-life problems many times there are some obstales specific for the given problem. So at first, try to
solve some simple toy problems and then use your imagination to gradually increase complexity.

Here is some good resources for Python & Machine Learning:


Learn Python - Best Python tutorials | Hackr.io

Learn Machine Learning - Best Machine Learning tutorials | Hackr.io

Here's a list of courses I've compiled from a MOOC search engine:


-Intro to Machine Learning on Udacity
-Artificial Intelligence for Robotics on Udacity
-Intro to Artificial Intelligence on Udacity
-Learning From Data - Online Course (MOOC) via Cal Tech
-Machine Learning Course On Supervised Learning on Udacity
-Machine Learning Course On Unsupervised Learning on Udacity
-Machine Learning Course On Reinforcement Learning on Udacity
-Machine Learning (Lectures: Coursera) on Coursera via U.W.
-Natural Language Processing on Coursera via Stanford
-Neural Networks for Machine Learning on Coursera via U Toronto
-Artificial Intellegence on edX via UC Berkeley
-Natural Language Processing on Coursera via Columbia
-Machine Learning on Coursera via Stanford

BOOKS

https://www.tutorialspoint.com/a...
http://gunkelweb.com/coms493/tex...
https://courses.csail.mit.edu/6....
https://dcs.abu.edu.ng/staff/abd...
Buy Artificial Intelligence 3e: A Modern Approach Book Online at Low Prices in India
Web Sites

 Artificial Intelligence in Robotics - javatpoint


 Introduction and Scope
 Artificial Intelligence

STEP 1.) Learn Python & SQL

Python is what many prefer to start with because its libraries are much better suited to Machine
Learning.

STEP 2.) Learn Machine Learning from couple of courses.

I’ve listed Top 10 Artificial Intelligence & Machine Learning Courses that will help you turn into the
following ML master Google or Apple employs.

http://www.favouriteblog.com/lis...

STEP 3.) Learn basics of probability theory, statistics, Data science and some computational
mathematics.
STEP 4.) I have listed some of my favourite free machine learning/Data science ebooks from where
you can download and kick start Machine Learning Basics/Statistics for developers to become good at
building AI systems quickly.

http://www.favouriteblog.com/10-...

STEP 5.) Practice few exercises on Scikit from website: http://scikit-learn.org/

STEP 6.) Practice practice on your own, step by step you will slowly become AI programmer.

I have listed free open source AI tools which you can use to build your solutions

http://www.favouriteblog.com/lis...

Once all these 6 steps are done then you can have a glance at these interview questions on AI and start
giving interviews if you want to start career in AI/ML. Good Luck!

http://www.favouriteblog.com/top...

2.6k Views · 12 Upvotes

Anonymous
Answered Jul 2, 2017
6 Easy Steps To Get Started Learning Artificial Intelligence

Artificial intelligence (AI) is a sub-division of software engineering. The main goal is to enable a smart
PC/Cell phone to perform exercises that are normally done by people. To start with said back in the
50s in the paper “Computing Machinery and Intelligence”, composed by mathematician Alan Turing,
AI is currently an exceptionally well known field, and we have propelled innovation to “fault” for that..
This article is about learning Artificial Intelligence and we will give you a comprehensive guide that
you can use as a starting point towards learning artificial intelligence.

Where you start depends on what you already know.

Below you’ll find a list of resources to learn and practice and how to get started in Artificial
Intelligence in 6 Easy steps:

STEP 1.) Learn Python & SQL

Python is what many prefer to start with because its libraries are much better suited to Machine
Learning.

STEP 2.) Learn Machine Learning from couple of courses.

I’ve listed Top 10 Artificial Intelligence & Machine Learning Courses that will help you turn into the
following ML master Google or Apple employs.

http://www.favouriteblog.com/lis...

STEP 3.) Learn basics of probability theory, statistics, Data science and some computational
mathematics.
STEP 4.) I have listed some of my favourite free machine learning/Data science ebooks from where
you can download and kick start Machine Learning Basics/Statistics for developers to become good at
building AI systems quickly.

http://www.favouriteblog.com/10-...

STEP 5.) Practice few exercises on Scikit from website: http://scikit-learn.org/

STEP 6.) Practice practice on your own, step by step you will slowly become AI programmer.

I have listed free open source AI tools which you can use to build your solutions

http://www.favouriteblog.com/lis...

Once all these 6 steps are done then you can have a glance at these interview questions on AI and start
giving interviews if you want to start career in AI/ML. Good Luck!

http://www.favouriteblog.com/top...

2.7k Views · 7 Upvotes

Sunil Vashist, Founder and CEO Liversy, Managing Director 21Coders


Answered Mar 6, 2015
Originally Answered: I want to start learning all about artificial intelligence but I don't know where to start from and how to
proceed. What should I do?
1. for a wide scope https://www.edx.org/courses/Berk... especially for usable in practice
Python exercises or https://www.udacity.com/course/c... including logic and robotics
2. to focus on predicting data from an existing large
datasethttps://www.coursera.org/course/ml (basically what will lend you most internships
at that stage)
3. find a local Meetups like http://www.meetup.com/MLGeek-Bru...
4. don't read more science-fiction than research papers ;)
5. use APIs and learn from libraries like SciKit Learn (because let's be honest, chances are you
won't re-implement the classics yourself in a professional setting) but I suggest only when
you do understand the underlying principles, even if it means running some painfully
slow code that doesn't scale with Octave
6. participate to competitions like Kaggle (company) or Robocup

The first thing that you need to do is learn a programming language. Though there are a lot of
languages that you can start with, Python is what many prefer to start with because its libraries are
better suited to Machine Learning.

Best Artificial Intelligence tutorials recommended by programming community: Learn Artificial


Intelligence - Best Artificial Intelligence tutorials | Hackr.io

Introduction to Bots

A BOT is the most basic example of a weak AI that can do automated tasks on your behalf. Chatbots
were one of the first automated programs to be called “bots.” You need AI and ML for your
chatbots.Web crawlers used by Search Engines like Google are a perfect example of a sophisticated
and advanced BOT.

You should learn the following before you start programming bots to make your life easier.

xpath - This will help you to inspect and target HTML and build your bot from what you see there.

regex - This will help you to process the data you feed your bot by cleaning up or targeting (or both)
the parts that matter to your logic.

REST - This is really important as you will eventually work with APIs. You can use requests to do this
for its simplicity.

How can you build your first bot?

You can start learning how to create bots in Python through the following two tutorials in the simplest
way.

How to build a Python Bot

You can also start by using APIs and tools that offer the ability to build end-user applications. This
helps you by actually building something without worrying too much about the theory at first. Some
of the APIs that you can use for this are:

Google Cloud Prediction API Documentation


DiffBot
MAchine Learning for LanguagE Toolkit
Scrapy
Wolfarm Alpha API

Here’s a listing of a few BOT problems for you to practice and try out before you attempt the ultimate
challenge.

Tic Tac Toe


Hex
Dots & Boxes

You should first start with learning Python since it is used a lot in AI.
The link below is a reference to an MIT course that is uploaded on MIT OpenCourseWare.
Introduction to Computer Science and Programming
Your next step should be to pursue MIT's artificial intelligence course that is uploaded on
MITOpenCourseWare. The link is given below.
Artificial Intelligence
If you need to learn more you should pursue CMU's online course on machine learning.
Machine Learning
All these lectures are highly detailed and are taught by excellent faculties.
Get real acquainted with Python, (C/C++) & data structures

Also get a basal knowledge of what you are about to delve into by reading AI: A modern approach by
Russell & Norvig. This removes any dependence on frameworks/libraries but instead gives you a
better knowledge of different techniques used to create such systems.

Also digest the MIT OCW course on AI by Patrick Winston, its free & absolutely terrific.

After you are done with the above, you can pick a framework & use/implement it for basic
classifications & re-mixing popular models. Picking a framework might be a daunting task because
they are all built with different purposes in mind, for ex Caffe uses a declarative approach to define
models in it whereas with TensorFlow you can programmatically create & utilise models. Even
visualise & deploy them with ease across platforms, which is great & reduces reinvention of the wheel
to quite an extent.

It would behoof you to buy a Pascal series GPU(1060 6GB or mightier), i3, 8GB RAM & a teensy SSD
to get a minimal rig for such activities, in order to take advantage of the numerous CUDA cores which
dramatically speed up training.

Also keep abreast with numerous papers, youtube videos from the people behind such frameworks,
researchers/labs, openAI & others involved.

I found the introduction to machine learning course of Udacity very good. It's interactive and gives
lots of hands on. Moreover it doesn't dive too deep into mathematical models each machine learning algorithm
uses. There are many other online resources as well. And apart from machine learning you should understand
search trees, data structures and general programming in Python preferably to get you hands dirty.

If you've done undergraduate level CS, or are at least familiar with common algorithms and data
structures already, check out Udacity - Free Online Classes & Nanodegrees's Intro to
AI: https://www.udacity.com/course/c... It's taught by the head of the Google self-driving Car project,
and the guy who wrote AI: A Modern Approach. And it's free!

Even though the class isn't going on right now, you should be able to watch all the video lessons and
take the automated quizzes.

It doesn't get into Deep Learning specifically, but other free online AI classes do use many of the
topics covered in that class as their basis.

Other classes to do next:


https://www.udacity.com/course/c... AI for Robotics
https://www.coursera.org/course/ml Machine Learning
https://www.coursera.org/course/... Neural Networks for Machine Learning
https://www.coursera.org/course/... Natural Language Processing
https://www.coursera.org/course/... AI Planning
https://www.coursera.org/course/... Computational Neuroscience
Python
Python is one of the most widely used programming languages in the AI field of Artificial Intelligence
thanks to its simplicity. It can seamlessly be used with the data structures and other frequently used
AI algorithms.

The choice of Python for AI projects also stems from the fact that there are plenty of useful libraries
that can be used in AI. For example, Numpyoffers scientific computation capability, Scypy for
advanced computing and Pybrain for machine learning in Python.

You will also have no problems learning Python for AI as there are tons of resources available online.

Java
Java is also a great choice. It is an object-oriented programming language that focuses on providing
all the high-level features needed to work on AI projects, it's portable, and it offers in-built garbage
collection. The Java community is also a plus point as there will be someone to help you with your
queries and problems.

Java is also a good choice as it offers an easy way to code algorithms, and AI is full of algorithms, be
they search algorithms, natural language processing algorithms or neural networks. Not to mention
that Java also allows for scalability, which is a must-have feature for AI projects.

Lisp
Lisp fares well in the AI field because of its excellent prototyping capabilities and its support for
symbolic expressions. It's a powerful programming language and is used in major AI projects, such as
Macsyma, DART, and CYC.

The Lisp language is mostly used in the Machine Learning/ ILP sub-field because of its usability and
symbolic structure. Peter Norvig, the famous computer scientist who works extensively in the AI field,
and also the writer of the famous AI book, “Artificial Intelligence: A modern approach,” explains why
Lisp is one of the top programming languages for AI development in a Quora answer.

Prolog
Prolog stands alongside Lisp when it comes to usefulness and usability. According to the
literature, Prolog Programming for Artificial Intelligence, Prolog is one of those programming
languagesfor some basic mechanisms, which can be extremely useful for AI programming. For
example, it offers pattern matching, automatic backtracking, and tree-based data structuring
mechanisms. Combining these mechanisms provides a flexible framework to work with.

Prolog is extensively used in expert systems for AI and is also useful for working on medical projects.

C++
C++ is the fastest programming language in the world. Its ability to talk at the hardware level enables
developers to improve their program execution time. C++ is extremely useful for AI projects, which
are time-sensitive. Search engines, for example, can utilize C++ extensively.
In AI, C++ can be used for statistical AI techniques like those found in neural networks. Algorithms
can also be written extensively in the C++ for speed execution, and AI in games is mostly coded in
C++ for faster execution and response time.

Final thoughts
Choosing a programming language for your AI project depends heavily on the sub-field. So before
you pick up a programming language, ensure that it can be utilized extensively and not partially.
Above all these programming languages, Python is slowly making its way to the top as it is viable to
use for most of the AI subfields. Lisp and Prolog have always been there and are still being used
extensively by certain groups as they are more productive with them. Java and C++ are also still very
useful because of the benefits they offer.

***************************************************

Good tutorials for intro to AI:


https://www.tutorialspoint.com/artificial_intelligence/

https://medium.freecodecamp.org/simple-chess-ai-step-by-step-1d55a9266977

************************************************

AI Programming Introduction and Resources


When the term Artificial Intelligence (AI) is mentioned, most of us immediately think of the self-aware
machines depicted within our favorite books or movies.

We imagine robots that can think for themselves such as R2-D2, machines that fight crime and
defend humans like Astroboy; or we envision a world in which these thinking machines have turned
against us, where the HAL 9000 attacks its crew or Skynet launches an offensive against all mankind.

Whether we see AI as good or bad, many of us see AI as an inevitable progression of computer


science, where computer systems are ultimately able to think and problem solve as well or better than
humans do.

The reality of modern AI is both less glamorous and more fascinating.

Artificial intelligence is being used in an increasing number of ways, from providing online help to
interpreting handwriting to driving cars, but none of these quite compare to the Hollywood vision. It is
easy to overlook the tremendous advances we have made or the incredible science behind these
achievements.

In computer science, AI programming involves designing systems that can "rationalize" a problem,
evaluating multiple possible outcomes and selecting a path with the highest potential for success.

Once an AI program chooses its solution, it should then be able to evaluate the results of that action,
and refer back to that information the next time it has to make a similar decision. In this way, an AI
system "learns" and "problem-solves" within the bounds of its programming.
Unlike traditional programming, which relies primarily on math and logic, AI programming requires
computer scientists to incorporate a variety of other disciplines, such as psychology, neuroscience,
and linguistics, in order to develop systems that can replicate human-like thought processes and
behaviors.

AI research tends to focus on specific areas of intelligence, such as reasoning, planning,


communication, creativity, and object manipulation. For many, this is where AI falls short of our
expectations.

Rather than acting like fully-functioning humans, AI programs typically have a very narrow focus, such
as learning to play a specific game or providing logical responses to typed or asked questions.

But these accomplishments should not be overlooked, as each small advancement tasks takes AI
one-step closer to the ultimate goal of General Intelligence.

History of AI Programming
While stories have been created and theories proposed about the possibility of AI for centuries, there
was little formalized study of AI until the 1956 Dartmouth Summer Research Project on Artificial
Intelligence established AI as a legitimate field of research.

For the next fifteen years, AI research took several major leaps forward, during which time computers
were taught to win at checkers, solve advanced math problems, and even speak.

When government funding dried up in the mid-1970s, AI research slowed for several years. But
during the 1980s our interest in AI was revitalized, largely based on the success of expert systems,
mainframe computers designed for decision making tasks.

These expert machines utilized a knowledge base of rules and known facts along with an inference
engine in order to apply pre-existing knowledge to infer new fact.

At the same time, the rise of the PC created a whole new arena for AI research.

The client-server model allowed programmers the freedom to forego the massive mainframes — a
considerable savings in terms of time and budget.

And as computers become more interconnected throughout the 1980s and 1990s, AI researchers
were able to take advantage of the power of shared computing environments.

During this entire period, the field of AI was expanding and gaining notoriety. One of the most
recognizable developments occurred in 1997, when IBM's Deep Blue defeated the reigning world
chess champion, Garry Kasparov.

This event marked a significant turning point for AI, as it demonstrated that a computer could not only
learn a game but could achieve a level of mastery previously thought only available to humans.

Today, the field of AI has seen many real-world applications from computerized personal assistance
on our smartphones to self-driving cars, and the demand for further automation is on the rise.

While general intelligence may still be reserved for sci-fi films, computers are able to tackle more
complex decision-making processes every day.
Where to Learn AI Programming
Whether you're an experienced programmer looking to branch out into AI or you're just getting
started, these sites can help you incorporate AI concepts into your programs.

 Introduction to AI Programming for Games: this easy introduction to AI programming teaches you to
add AI elements to a simple monster game. Through sample code and detailed explanations for all
the logic being added, you can quickly learn a variety of essential concepts in AI programming.
 Lisp Tutorials: this site contains a collection of tutorials for learning Lisp, one of the most popular
languages for AI programming, particularly in the early decades of AI research.
 Artificial Intelligence Programming in Prolog: the course outline and lecture notes for this masters
level course provide an introduction to Prolog, one of the key languages in AI research, as well as
advanced Prolog programming concepts and AI implementations.
 Algorithms in C#: the AI section of this site provides an abundance of resources for C# developers
looking to implement AI concepts into their work, including sample code, tutorials, and modern
theories on AI development.

Online communities
There are plenty of AI enthusiasts on the web. If you're interested in learning more about AI, or the
many theories behind modern developments, check out these AI community sites.

 AI Forums: this collection of AI-related forums covers topics such as the philosophic implications of
artificial intelligence, current research, chatbots, HAL, and new perspectives on language and
thought.
 The Forum for Artificial Intelligence: hosted by the University of Texas, this online community meets
bi-weekly to discuss current issues in artificial intelligence. During each meeting, a distinguished
guest speaker presents a talk on a prominent area of AI. The transcripts from past talks are available
in their archive section.
 Game-AI Forum: this forum is specifically focused on AI implementations for game development.

Books
Books on Artificial Intelligence range from legitimate programming guides to extreme flights of
science fiction. For the sake of this guide, we've limited our list of text to that cover current
programming practices and well-established theories.

 Artificial Intelligence: A Modern Approach (2009) by Russell and Norvig: this text offers a broad
overview of modern theories and implementation of artificial intelligence. It looks at such concepts as
intelligence theory, logical reasoning, and game playing, to shows how they can be applied to
programming, robotics, and even humans. While written primarily for computer scientists, the book
may also interest linguist or anyone fascinated by current AI trends.
 Machine Learning for Dummies (2016) by Mueller and Massaron: proof that AI has hit mainstream,
even the Dummies are getting involved! This entry-level guide to AI provides a basic overview of how
and why AI is being used today, presents fundamental concepts in artificial intelligence, and offers an
overview of programming languages and tools being used to implement AI, with a particular emphasis
on Python and R.
 Java Deep Learning Essentials (2016) by Yusuke Sugomori: this advanced text is intended for
experienced Java developers or data scientist looking to implement AI concepts into their Java
programming. The book walks readers through a basic overview of machine learning algorithms and
then takes them step by step through a series of exercises covering many current AI and Deep
Learning concepts and implementations, all with an emphasis on Java programming.
 Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (1991) by Peter
Norvig: this advanced programming text takes apart several complex AI programs and guides readers
through the process of rewriting them using Common Lisp. The book focuses on real-world
applications, rather than theory, with a particular emphasis on large and complex program
development. Beyond AI implementation, it is an excellent guide to improving efficiency and
troubleshooting complex Lisp programs.
 Prolog Programming for Artificial Intelligence(2000) by Ivan Bratko: this text is both an introduction
to Prolog and a guide to common AI concepts. After providing readers with a grounding in the Prolog
language, the author uses several Prolog-based exercises and examples to demonstrate how AI can
be incorporated into modern programming.
 Unity AI Game Programming (2015) by Ray Barrera et al.: this advanced programming guide is
intended for programmers with a basic understanding of C# and experience using the Unity editor. It
presents essential concepts in AI programming and how they can be utilized within game
development to create a sensory system, develop path-finding systems, build artificial crowds,
construct character behaviors, and implement fuzzy logic concepts to make your world and
characters appear more real.

Conclusion
Being a modern AI programmer may not be quite as cool as having a Jetsons-style housekeeping
robot. But the rapid adoption of mobile technologies and the rise of the Internet of Things has forced
AI back into the spotlight.

Now we look to code developers to create more powerful personal assistants, self-driving cars,
adaptive voice recognition software, translation tools, automated help systems, and, of course, more
realistic video games.

The ultimate future of AI may be uncertain, but it's clear that from this point forward AI will play an
increasingly important role in computer and machine development.

Further Reading and Resources


We have more guides, tutorials, and infographics related to AI coding and development:

 Prolog Resources: this language was developed especially to process language.


 Lisp: one of the first high level languages, it has been enormously important in AI programming.
Check out our articles on Lisp variants: AutoLISP, Clojure, Common Lisp, Emacs Lisp, and Scheme.
 How to Avoid Falling in Love with a Chatbot: despite the cheeky title, this infographic provides a great
history of talking computers.

Supercomputers Are Shaping Future of Humanity

Want to know where AI is really taking off? Check out our infographic, Supercomputers Are Shaping
Future of Humanity
=======================

Key Qualifications for AI Engineers

Qualifications for AI engineers can be broken down into three broad categories: education, skill set, and
personality traits.

Education: While some AI engineers do not have a degree, for the most part, AI engineers looking to work
with large tech companies need at least a bachelor’s degree.

Skill Set: While the skills in most demand vary from company to company, dependent upon business needs,
there are some core competencies that all companies value in AI engineers. Engineers must be able to search
through large amounts of data for patterns, possess a deep understanding of algorithms, as well as problem-
solving and math skills.

According to recent job postings, the major tech companies expect their AI engineers to be proficient with:

 Java
 Artificial Intelligence
 Software Development
 C++
 Linux
 Python

Personality Traits: Useful character traits for AI engineers include:

 Analytical thinking
 An eye to the future
 Innate curiosity and creative vision
 Patience
 Ability to work independently or collaboratively
 Discipline
 Patience
 Attention to detail
6 Easy Steps To Get Started Learning Artificial Intelligence

June 5, 2017ManjunathArtificial Intelligence University4

Artificial Intelligence (AI) is the study of computer science focusing on developing software or machines that exhibit
human intelligence. This article is about How to start learning Artificial Intelligence in Six Easy Steps which will give
you a comprehensive guide that you can use as a starting point towards learning artificial intelligence.

AI is used to solve real-world problems including search, games, machine learning, logic, understanding natural
language, computer vision, expert systems, heuristic classification, constraint satisfaction problems etc.

Types of AI

We can divide AI into 3 different categories based on it’s capabilities:

1.) Strong AI (a machine with consciousness, sentience, and mind):

The idea behind Strong AI is that the machines could represent human minds in the future. If that is the case,
those machines will have the ability to reason, think and do all functions that a human is capable of
doing. Nanobots, which can help us fight diseases and also make us more intelligent, are being designed. The
development of an artificial neural network, which can function as a proper human being, is being looked at as a
future application of Strong AI.

2.) Weak AI or “narrow” AI:

The idea behind Weak AI is the fact that machines can be made to act as if they are intelligent. For example, when
a human player plays any game against a computer, the human player may feel as if the computer is actually
making impressive moves. But the game application is not thinking and planning at all. All the moves it makes are
previously fed into the computer by a human and that is how it is ensured that the software will make the right
moves at the right times.

3.) Artificial SuperIntelligence (ASI)

Artificial superintelligence is a term referring to the time when the capability of computers will surpass humans.
“Artificial intelligence,” which has been much used since the 1970s, refers to the ability of computers to mimic
human thought. Artificial superintelligence goes a step beyond, and posits a world in which a computer’s cognitive
ability is superior to a human’s.

Where you start depends on what you already know.

Below you’ll find a list of resources to Learn and Practice and how to get started in Artificial
Intelligence in 6 Easy steps:
6 Easy Steps To Get Started Learning Artificial Intelligence

STEP 1.) Learn Python & SQL

The primary thing that you have to do is take in a programming language. In spite of the fact that there are a
considerable measure of languages that you can begin with, Python is what many prefer to start with because its
libraries are much better suited to Machine Learning.

I would would recommend below links:

 Machine Learning with Text in scikit-learn (PyCon 2016)


 Machine learning in Python with scikit-learn
 Machine learning with Python
 Machine Learning Part 1 | SciPy 2016 Tutorial
 Machine Learning Part 2 | SciPy 2016 Tutorial

STEP 2.) Learn Machine Learning from some of the below courses.

Artificial Intelligence: Principles and Techniques from Stanford – a phenomenal educational programs for understudies
inspired by adapting more about AI. The course concentrates on foundational standards of AI.

CS405: ARTIFICIAL INTELLIGENCE : CS405 introduces the field of artificial intelligence (AI). Materials on AI
programming, logic, search, game playing, machine learning, natural language understanding, and robotics introduce the
student to AI methods, tools, and techniques, their application to computational problems, and their contribution to
understanding intelligence.

edx.org course on AI: This course gives the fundamentals of Artificial Intelligence (AI), and apply them. Design intelligent
agents to solve real-world problems including, search, games, machine learning, logic, and constraint satisfaction problems.

MIT’s course on AI : This course introduces students to the basic knowledge representation, problem solving, and learning
methods of artificial intelligence. Upon completion of this course, students should be able to develop intelligent systems by
assembling solutions to concrete computational problems; understand the role of knowledge representation, problem solving,
and learning in intelligent-system engineering; and appreciate the role of problem solving, vision, and language in
understanding human intelligence from a computational perspective.

Learn the Fundamentals of AI – This course is subdivided into 10 lessons, this online course acquaints students with
the universe of AI. To understand it, ensure you have some essential information of direct variable based math and
likelihood hypothesis you should learn keeping in mind the end goal to be prepared.

Berkeley Video Lecturers: I would recommend the set of video lecturers here.

Also I’ve listed Top 10 Artificial Intelligence & Machine Learning Courses for Beginners and Advanced that will help
you turn into the following ML master Google or Apple employs.

STEP 3.) Learn basics of probability theory, statistics, and Maths.

I would would recommend below links:

 Linear algebra–Linear Algebra– MIT 18.06 Linear Algebra by Gilbert Strang


 Probability theory-Probability and Statistics– MIT 6.041 Probabilistic Systems Analysis and Applied Probability
by John Tsitsiklis
 Calculus
 Multivariate Calculus
 Graph theory
 Optimization methods

STEP 4.) RECOMMENDED BOOKS to READ

 http://aima.cs.berkeley.edu/
 Artificial Intelligence: A Modern Approach, by Stuart J. Russell and Peter Norvig
 http://wps.aw.com/wps/media/objects/5771/5909832/PDF/Luger_0136070477_1.pdf
 The Quest for Artificial Intelligence, by Nils J. Nilsson
 Practical Artificial Intelligence: Programming in Java , by Mark Watson
 https://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Main
 Simply Logical: Intelligent Reasoning by Example, by Peter Flach
 The AI Revolution: Road to Superintelligence
 http://psych.colorado.edu/~oreilly/comp_ex_cog_neuro.html

Also I have listed some of Top and Best free machine learning AI ebooks from where you can download and kick
start Machine Learning Basics/Statistics for developers to become good at building AI systems quickly.

STEP 5.) PRACTICE FEW EXERCISES


When you have an exhaustive comprehension of your favored programming language and enough practice with the
essentials, you should begin to take in more about Machine Learning. In Python, begin learning Scikit-learn, NLTK,
SciPy, PyBrain, and Numpy libraries which will be valuable while composing Machine Learning algorithms.

Practice few exercises on Scikit from website:

http://scikit-learn.org/

&&

https://www.edx.org/course/artificial-intelligence-uc-berkeleyx-cs188-1x – For practicing exercises in


Python.

Also here is a rundown of assets for you to learn and hone ML:

http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

https://www.coursera.org/learn/machine-learning

https://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml

https://code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games–active-11117

https://www.udacity.com/course/intro-to-artificial-intelligence–cs271

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-034-artificial-intelligence-fall-
2010/

STEP 6.) Practice—Learn—Practice on your own, step by step you will slowly become AI programmer.

I have listed free open source AI tools Or Softwares which you can use to build your solutions.

Also you can attend AI conferences and watch Videos on AI.


Once all these 6 steps are done then you can have a glance at these Top & Best 99 interview
questions on AI and Machine Learning and start giving interviews if you want to start career in
AI/ML.

PS: Want to know in-depth AI and ML latest resources around the web you MUST see this index page here.

FUTURE of AI

Many people argue that it solves many problems other’s like Elon Musk, Bill Gates say it is risky and very dangerous.

Will Robots take away our Jobs? See which Jobs Robots can take away.

Also see which Jobs Robots cannot steal or Replace from Humans.

AI is not just about Robotics the business traverses over an abundance of different enterprises, including business,
auto, retail, pharmaceutical, and various others.

Just watch the below video where AI is currently going.

Well, if you want to be a part of future just go ahead with these simple steps you would not regret later.

Is your Job safe from Artificial Intelligence/Automation/Robots? Check Here.

Final Quote:

“Software is eating the world, but AI is going to eat software.” – Jensen Huang – Nvidia CEO

Related:

HOW TO LEARN MACHINE LEARNING IN 90 DAYS

Index of Best AI/Machine Learning Resources

10 Free Training Courses on Machine Learning and Artificial Intelligence

A Complete Guide on Getting Started with Deep Learning

Learn TensorFlow and deep learning, without a Ph.D.

15 algorithms machine learning engineers must need to know

10 Top Videos, Lecturers & Courses on Machine Learning for Beginners and Advanced

10 Free Must-Read eBooks on Machine Learning Basics

Top 10 Best Deep Learning Videos, Tutorials & Courses on Youtube from 2017

7 Best Online courses to Learn Deep Learning

Top 50 Best YouTube Videos on Neural Networks

Essential Cheat Sheets for Machine Learning Python and Maths


Deeplearning.ai: Announcing New Deep Learning Courses on Coursera

You might also like