This course deals with the design, analysis, and methodology of algorithms used to recognize patterns in
real-world data of any sort (images, audio, videos, text, financial, speech, biosensing, medical, etc.).
This is the foundational course in Artificial Intelligence which has transformed the world around us in
innumerable ways such as online search (ChatGPT), voice recognition (“Hey Google!”), facial recognition
applications (iPhone screen lock), and medical diagnosis (DeepMind). Today, Machine Learning is perhaps
the most-vibrant area of engineering research and is witnessing the most lucrative careers due to its
sheer number of applications in every other field of research. It is the one field which has truly become
interdisciplinary because of its capability to be useful in analyzing data from other branches of knowledge,
from physics to psychology, medicine to meteorology, and politics to philosophy.
Since Machine Learning and Pattern Recognition encompasses hundreds of algorithms and mathematical concepts,
the goal of this course is not to give an overview of each one of them. Rather, it is to impart to students
a strong fundamental background on these topics (such as feature clustering, dimensionality reduction,
classification, and neural networks) with the ability to undertake real-world projects and build an
end-to-end application. Overall, the students will gain a working knowledge of using these tools and
algorithms and get a tangible idea of using them to solve real-world problems around them.
Course Overview
The first module of the course (Week 1-9) delves into the tools required to generate real-world datasets, recognize,
and utilize patterns in them (such as feature extraction, clustering, dimensionality reduction, and classification),
and how such algorithms could be deployed on real-world problems. These are the fundamentals of machine learning
that are useful on any kind of datasets. The second module of the course (Week 10-15) dives deeper into a particular
type of machine learning algorithms (Neural Networks) that have proven to be highly successful in recognizing patterns
and be deployed on real-world applications. This module will help students not only create but also optimize neural
networks and gain understanding of “deep” neural networks (like CNNs, LSTMs, GANs, etc.) as well as some other
popular machine learning approaches like reinforcement learning and genetic algorithms. The students can then take
electives in the following semesters to gain a deeper understanding of these advanced concepts.
Learning Outcomes
By the end of this course, each student will have had the opportunity to:
Engage in hands-on work with real-world data from images, audio, text, etc. to find statistical patterns.
Explore pattern recognition methods on the data for extracting features and work with them towards
cleaning, clustering, classifying, etc. i.e., analyzing the statistical patterns in the data.
Demonstrate the ability to find real-world problems where they could use the above methods to build
robust solutions.
Apply the above statistical techniques to build real-world applications.
Evaluate the efficacy of the developed solutions to make them more robust and scalable.
Create a prototype that utilizes machine learning to solve a real-world problem.
Articulate the characteristics and efficiency of their prototype as to how it works better than previously
existing solutions.
The use of Generative AI platforms like ChatGPT, Google Bard, GitHub Copilot, etc. is absolutely not
permitted for any kind of code generation/debugging/evaluation/analysis for this course. Violation of this
policy in any form by a student will make them ineligible to pass the course. However, such Generative AI
platforms may be used for anything else that is not related to programming like referring to different sources,
reading about the history of ML research, getting ideas about what problems could be solved using ML, examining
which algorithms are apt to use for a particular problem, etc.
Participation is not mere attendance in the class! In order to effectively participate in the course, it is critical that
each member of the team read the course assignments and participate in class discussions and simulations and in
group work. The participation grade will be based on your participation both in the class as a whole and in small
groups. This grade is a “value-added” assessment; in other words, sheer frequency or volume of verbal activity is
not necessarily the goal of class participation. The grade is derived from meaningful dialogue based on reading
and thinking reflectively.
To participate in class more fully, you might consider, for example, commenting on specific issues raised in the
class readings; illustrating specific issues from the readings with examples from your personal experience; raising
questions not covered in the readings; comparing or contrasting ideas of various theorists from the readings; or
supporting or debating the insight or conclusions of a classmate (or the instructor!) by referencing concepts,
experiences or logical reasoning. Part of participation also includes setting the tone of collegiality, whether that is through contributing to a snack
table, engaging in conversation with classmates during breaks, or making fellow students feel welcome.
Participation is not merely an intellectual exercise; it is also a community-building experience.
Regular attendance is expected in this course in order to achieve maximum learning for all participants.
Unforeseen circumstances do sometimes arise, so periodic absences may occur. If you find that you must miss or
be late to a class meeting, please contact the instructor’s teaching fellow prior to the start of class.
Students are expected to maintain at least 70% attendance in both lectures and labs, failure to do so would make them
score zero towards the attendance grade (5% of the course grade)
An “Incomplete” grade will be awarded in case a student does not complete any assessment or evaluation exercise
as a result of which they do not meet the passing criterion. This is only for medical/social emergencies beyond the
control of students or cases of pending disciplinary investigation and must be approved by the Dean, Academic
Affairs.
Situations involving academic integrity are governed by the UG academic policy. Here are the specifics: the
instructor shall report the case to the Academic Integrity Committee, which, after taking into due consideration the
nature of the evaluation component and the intensity of the offense, as well as the number of times the student has
committed prior offenses, will prescribe the appropriate corrective action.
My goal is to be as available as possible to meet your needs during the semester. To reach me:
E-mail me at siddharth.s@plaksha.edu.in; this is the best way to contact me. I check e-mail frequently and,
unless I am out of town, I will usually respond to your e-mail within 24 hours.
In Person: Although I will try to make myself available to you if you “drop by”, please do not expect a
substantive conversation; I may have other commitments. However, I will be available every week during
office hours, Monday 5-6 PM, Office No. 2411.
To make a phone or in-person appointment, please contact my teaching fellow - Mr. Pushpinder Singh
(pushpinder.singh@plaksha.edu.in).