CS 344/386: Artificial Intelligence
— Fall 2018
This course gives a broad introduction to Artificial Intelligence and Machine Learning.
We will cover topics such as, but not limited to:
- Basics of problem-solving: problem representation paradigms, state space, satisfiability vs optimality, pattern classification problems, example domains.
- Search techniques: problem size, complexity, approximation and search; depth, breadth, and best search; knowledge-based problem solving, artificial neural networks.
- Knowledge representation: first-order and non-monotonic logic; rule-based, frame and semantic network approaches.
- Knowledge acquisition: learnability theory, approaches to learning.
- Uncertainty treatment: formal and empirical approaches including an introduction to Bayesian theory, belief functions, certainty factors, and fuzzy sets.
- Discussion from example domains: language, medicine, verification, vision, knowledge-based systems
Instructor
Clint P. George — clint [at] iitgoa.ac.in — Office: 205 (F5), IT Building
Teaching Assistants
Chitra Nayagam — chitra [at] iitgoa.ac.in — Office: CSE Lab, IT Building
Janice Fernandes — janice [at] iitgoa.ac.in — Office: CSE Lab, IT Building
Meetings
Lectures: Monday (9:30-10:25am, T1) — Tuesday (2-2:55pm, LH1) — Wednesday (9:30-10:25am, T1)
Labs: Friday (9-11:30am, CSE Lab)
Office hours: Monday (11:30am-12:25pm) — Tuesday (4:00pm-4:55pm) — Wednesday (11:00am-12:00pm)
Recommended Books
- Artificial Intelligence 3e: A Modern Approach (AIMA)
- Machine Learning
- Pattern Recognition and Machine Learning (Information Science and Statistics)
Course Eligibility and Requirements
- This is a core course designed for the fifth semester Computer Science and Engineering undergraduate students. Knowledge in computer programming is required.
- Course prerequisites: CS 113, MA106, CS215, CS218, MA214
Grading Policy
CS 344: Quiz 1 (15%) — Midterm (20%) — Quiz 2 (15%) — Seminar (10%) — Final (40%)
CS 386: Based on 5 lab assignments/projects (20 marks each)
Academic Honesty
We expect each student to follow the highest standards of integrity and academic honesty. Copying/sharing code in exams, homeworks, labs are not allowed: see IIT Goa: Policy for academic malpractices.
Course Schedule
This is a tentative course schedule. It will be updated often.
# | Date | Topic | Materials* |
---|---|---|---|
1 | July 23 |
Course Introduction and What's Artificial Intelligence? Reading: AIMA Sections 1.1 - 1.4 |
|
2 | July 24 | Problem solving agents, search problems | |
3 | July 25 | Python tutorial | e.g. Python for Data Science, Introduction to Python |
4 | July 30 |
Uninformed Search: breadth-first search, depth-first search, and uniform-cost search Reading: AIMA Sections 3.1 - 3.2, breadth-first search, depth-first search |
|
5 | July 31 | Informed Search: heuristics, greedy search | |
6 | August 1 | A* search | |
7 | August 6 | A* search: properties, examples; Graph Search algorithms | |
8 | August 7 | Constraint satisfaction problems, backtracking | |
9 | August 8 | Overview of machine learning algorithms, discussion on seminar topics | |
10 | August 20 | Quiz 1 | |
11 | August 21 | Constraint satisfaction problems: variable and value ordering, filtering | |
12 | August 24 | k-means clustering | |
13 | August 27 | Constraint satisfaction problems: filtering, problem structure | |
14 | August 28 |
Constraint satisfaction problems:
improving problem structure;
Local search: hill climbing,
simulated annealing
Reading: genetic algorithms |
|
15 | August 29 | Topics in clustering: partition-based and bottom-up approaches | |
16 | September 3 | Principal components analysis Reading: A tutorial on PCA by J. Shlens |
|
17 | September 4 | Introduction to text analyses | |
18 | September 5 | Text analyses methods: TF-IDF, Latent Semantic Analysis | |
September 14 | Midterm Location: LH1, Time: 10am-12pm | ||
19 | September 17 | Probability: review | |
20 | September 18 | Probability: The Product rule, the Chain rule, Bayes' rule | Bayesian thinking Bayes' rule - an intuitive explanation |
21 | September 19 | Markov Models | |
22 | September 24 | Hidden Markov Models | |
23 | September 25 | Hidden Markov Models: the Forward algorithm | |
24 | September 26 | Hidden Markov Models: the Viterbi algorithm, Particle Filters | |
25 | October 1 | Bayes' net: representation | |
26 | October 2 | Bayes' net: independence (1.5 lectures) | |
27 | October 22 | Bayes' net: independence (continued) | |
28 | October 23 | Bayes' net: inference | |
29 | October 24 | Bayes' net: inference (1.5 lectures) | |
30 | October 26 | Bayes' net: sampling | |
31 | October 29 | Bayes' net: sampling (continued) | |
32 | October 30 | Naive Bayes | |
33 | October 31 | Naive Bayes Learning, MLE, MAP | |
34 | November 2 | Quiz 2 Location: LH3, Time: 2pm-3pm | |
35 | November 5 | MLE, MAP (continued), evaluation metrics for classfiers | |
36 | November 6 | The perceptron learning algorithm | |
37 | November 12 | The perceptron and large margin classifiers | |
38 | November 13 | Learning theory | |
November 15 | Final Location: LH2, Time: 10am-1pm |
Student Seminars
Team | Date | Title | Materials |
---|---|---|---|
1 | September 19 |
Transforming a standard video into slow motion using AI Apurv Varshney, Piyush Doke, and Rohan Teja |
abstract slides |
5 | September 28 |
Content-based image retrieval Shivangi Sharma, Siddharth Singh, and Shreyash Tripathi |
abstract slides |
4 | September 28 |
Google's AI camera: An approach to computational photography
Ashish Ekka, Prashant Kote, and Neha Shah |
abstract slides |
3 | October 3 |
Google’s online handwriting recognition and quick draw Abhishek Varghese, Gaurav Aidasani, and Nitish Shah |
abstract slides |
9 | October 3 |
Making life Leazy with AI Abhisar Kushwah, Gaurav Ganna, and Vikas Bansal |
abstract slides |
6 | October 3 |
Face recognition using machine learning Manika Khare, Pankaj Katkar, and Shivam Kumar |
abstract slides |
2 | October 5 |
Computer Vision Sandesh Maurya, Sanjeev Ranjan, and Gaurav Dahiya |
abstract slides |
11 | October 5 |
Home Automation System Shivam Pandey, Tanmay Maheshwari, and Himali Goel |
abstract slides |
7 | October 5 |
AI in Games Vishal Jha, Ishan Singhal, and Shuvham Kumar |
abstract slides |
10 | October 8 |
Speech Recognition Avya Bansal, Pratyay Gaikwad, and Srinivas Thammana |
abstract slides |
8 | October 10 |
AI in Health Care Shikha Verma, Aman Kumar, and Vaishnav Tammadwar |
abstract slides |
Term Projects
Team | Title | Materials |
---|---|---|
1 |
Single-Line Handwritten Sentence Recognition Shivam Pandey, Shivam Kumar, Abhishek Varghese |
report
abstractOver the last few decades, research on handwriting recognition has made impressive progress. The research and development on handwritten word recognition are to a large degree motivated by many application areas, such as automated postal address, data acquisition in banks, text-voice conversion, security, etc. As the prices of scanners, computers and handwriting-input devices are falling steadily, we have seen an increased demand for handwriting recognition systems and software packages. Few commercial handwriting recognition systems are now available in the market. Current commercial systems have an impressive performance in recognizing machine-printed characters and neatly written texts. For instance, Xerox in the U.S. has developed TextBridge for converting hardcopy documents into electronic document files. Notwithstanding the impressive progress, there is still a significant performance gap between the human and the machine in recognizing off-line unconstrained hand- written words. The difficulties encountered in recognizing unconstrained handwritings are mainly caused by huge variations in writing styles and the overlapping and the interconnection of neighboring characters. Furthermore, many applications demand very high recognition accuracy and reliability. Sadly, in the banking sector, although ATMs and networked banking systems being widely available, many transactions are still carried out in the form of cheques. Google’s Tesseract, despite being developed by the greatest IT beast, its output will have very poor quality if the input images are not preprocessed to suit it. This motivates us to research and develop a handwritten sentence recognizer with much improved accuracy. |
2 |
Stock Prediction using Sentiment Analysis of News Headlines and Artificial Neural Network Ishan Singhal, Avya Bansal, Vishal Jha |
report
abstractStock prices are volatile. They are hard to predict based only on some expertise through previous trends. Stock price fluctuation represents the current market trends and business growth among other factors that could be considered to sell or buy stocks. The daily news represents factual information about the companies and affect the stock market. Hence, we wish to create a model that will use news articles along with the historic trend of closing price to predict the change in stock prices of five companies namely TCS, LT, Infosys, Yes Bank and Tata Steel. |
3 |
T-Rex Game using Artificial Intelligence Gaurav Aidasani, Tanmay Maheswari, Neha Shah |
report
abstractGames and artificial intelligence have a long history together. Much research on Artificial Intelligence in games is concerned with constructing agents for playing games, with or without a learning component. In this project, we propose to use Deep Q- learning and online learning Multi Layer Perceptron (MLP) for learning to control the game agent in T-Rex, the game embedded in Chrome offline mode. |
4 |
CHATBOT Sandesh Maurya, Gaurav Dahiya, Sanjeev Ranjan |
report
abstractIn this project we have built a simple textual chatbot , which is a sequence to sequence model with attention decoder. An encoder is an utterance by the user and the decoder is the response to that utterance. The bot requires dataset for training itself. We have used the Cornell Movie-Dialogs Corpus for training our bot. The training dataset has been pre-processed as it contains some data which is useless for the model. |
5 |
Bird Speech Recognition Gaurav Ganna, Apurv Varshney, Pratyay Gaikwad |
report
abstractClassification of birds by their sound has many potential ap- plications in ecological surveillance, conservation monitoring, taxonomy, and vocal communication studies. Using audio recordings rather than pictures is justifiable since bird calls and songs have proven to be easier to collect and to discriminate better between species. But for it to be useful for the layman, it should be scalable, should work in noisy environments and on different lengths. |
6 |
Musical Chord Recognition Ashish Ekka, Shreyash Tripathi, Shivangi Sharma |
report
abstractChord Recognition is the automated process of assigning mu- sical chordsto segments of a music piece.It is an important task in the analysis of western music and music transcription in general, and it can contribute to applications such as key detection, structural segmentation, music similarity measures, and other semantic analysis tasks. The first step of the chord recognition (CR) is the extraction of a meaningful descriptor that enhances the contribution of every note at each instant. One of the main strategies of doing Chord Recognition is based on the comparison of vectors of the extracted descriptor with a set of chords templates by means of a distance measure. This method, due to the interaction of many instruments with dif- ferent timbral characteristics, is very influenced by the noise of the descriptor itself and, for this reason, can be ineffective. In this project, we worked on a method for Chord Recognition based on machine learning techniques. These techniques are designed to automatically learn the complicated relations that link an input observation to the corresponding class making use of probabilistic theory. |
7 |
Article Recommendation System Himali Goel, Manika Khare, Siddharth Singh |
report
abstractRecommendation systems represent user preferences for the purpose of suggesting items to purchase or examine. They have become fundamental applications in electronic commerce and information access, providing suggestions that effectively prune large information spaces so that users are directed towards those items that best meet their needs and preferences. A variety of techniques have been proposed for perform- ing the task of recommendation, including content-based, collaborative, knowledge-based and other techniques. While collaborative filtering makes automatic predictions (filtering) about the interests of a user by collecting information regarding preferences or interests of other users (collaborating), content based filtering uses information about the description and attributes of the items that the user has previously consumed to model user’s preferences. However, Recent research has demonstrated that a hybrid of the two models could be more effective than the pure approaches since it combines the benefits of the two, overcoming some of their shortcomings. Our project aims at building one such hybrid recommendation system to suggest news articles to readers based on their prior interactions with previous reads in the form of views, likes, comments, bookmarks and followings. |
8 |
Reverse Dictionary: Searching Words by their Definitions Piyush Doke, Shikha Verma, Nitish Shah |
report
abstractMany times we find ourselves unable to recall the most ap- propriate word for describing the idea/concept we have in our minds. This might just be a recall problem or might be due to our lack on knowledge in that language. And it turns out to be a very common problem for people who produce language. In such cases, dictionaries might not be the most perfect solution as it is easy to find the meaning of a particular word but it is almost impossible to find a word given its meaning. Hence, to address this issue we propose the idea of building a reverse dictionary. |
9 |
Movie Recommendation Pankaj Katkar, Vaishnav Tammadwar, Aman Kumar |
report
abstractIn this project we worked on how to recommend a user new movie based on its previously watched movies and ratings it had given to watched movies. Movie recommendation is used in many areas like Netflix(https://www.netflix.com/in/) uses it to recommend movies to its user, also Amazon Prime(https://www.primevideo.com/) for movie recommenda- tion. It gives user a complete new experience of watching movies. Thus it motivated us to do project on this topic. |
10 |
Neural Style Transfer Abhisar Kushwaha, Rohan Teja, Vikas Bansal |
report
abstract
Neural Style Transfer is basically transferring of the style from
one image to the another image called content image.We have
done it in two stages which are explained below. |
11 |
Facial Expression Recognition using Naive Bayes` Model Prasanth Kote, Shuvham Kumar, Srinivas |
report
abstractFacial Expression Recognition is something that humans can vividly do on a daily basis. On a personal level, if you know someone long enough, you know how they are feeling even without uttering a word - a true friend/partner/sibling/family member. There are a number of applications for this technol- ogy. Applications of Emotion Recognition are spread across different fields like Medicine, E-learning, monitoring, Market- ing, Entertainment and Law. One of the application is "ATM not dispensing money when the user is scared". This is a challenge for a computer to perform with accuracy. There are many AI methods like neural networks, SVMs which can help in solving this problem. Our motivation comes from the Kaggle fer2013 challenge. We look into a Naive Bayes` approach to solve this problem. Although this doesn‘t give a high accuracy for commercial use, it gives an idea of how tough it is to build an AI method with great performance standards. We aim to classify an image into any one of the seven expreesions (Anger, Disgust, Fear, Happiness, Sadness, Surprise, Fear). |
Labs
# | Week | Topics/Projects | Due Date | Resources |
---|---|---|---|---|
1 | July 27 | Project 0 | August 03 |
|
2 | August 3 | Project 1 | August 10 | |
3 | August 17 | Project 2 | August 31 | |
4 | September 28 | Project 3 | October 12 (Part I) & 26 (Part II) |