- What are the prerequisites of this course?
 There are no prerequisites of this
            course. In earlier offerings, CS210/ESO207 and MSO201
          used to be prerequisites for this course but they are no
          longer prerequisites. However, fluency with concepts in
          probability and statistics, linear algebra, calculus and real
          analysis, and programming ability are absolutely essential for
          this course even though the formal prerequisites do not
          reflect these. We will use the Python language for most
            programming tasks in this course so you should
          familiarize yourself with it.
 
 
 
- I am interested in doing this course. How can I register
          for this course?
 Preregistration period is Apr 9-15, 2021 and add-drop period
        is Jul 30- Aug 06, 2021
 
          - All UG students (whether CSE or non-CSE): must
            register via Pingala either during course
            preregistration or else during add-drop
- Existing PG students: must register via Pingala
            either during course preregistration or else during
            add-drop
- New PG students (admitted in Jul 2021): must do
            manual registration by meeting the instructor and getting
            signatures on registration form or else during add-drop (assuming an offline semester)
 Note that manual registration requests will not be
          entertained for existing students. Existing students must
        register online via Pingala, either during preregistration, or
        during add-drop.
 
 
- I have heard that there is a lot of demand for this course.
          What will be done if there are more add requests than there
          are seats?
 Indeed, this course is in heavy demand and
          we are seldom able to fulfill all requests. Regretfully, this
          is likely to continue. In order to ensure a fair and orderly
          processing, we will follow a priority order (given below)
          while processing add requests. These priority lists have been
          decided keeping in mind graduation requirements (for example,
          students for whom this course is compulsory/part of a basket
          have been given higher priority) and graduation deadlines (for
          example, students expected to graduate in 2022 have been given
          higher priority). Total number of seats: 200
           Seat breakup: 100 seats for UG students, 100 seats for PG
          students
           Definition of UG/PG: As per the DoAA website, we will
          use the following categorization 
          BT, BS, MSc programs are UG programs. 
          Dual programs such as BT-MT, BS-MS, BS-MT, BT-MS, BT-MDes,
          BS-MDes, BT-MBA, BS-MBA, MSc-PhD are also UG programs. 
          MT, MS, MDes, MBA, PhD are PG programs.
          
           
            
              
                | Priority list for PG
                  students (80 seats) 
 | Priority list for UG
                  students (80 seats) 
 |  
                | 
                    
                       PG students (MT, MS, PhD) of
                        the CSE department of Y19 or earlier batches
                      PG students (MT, MS, PhD) of
                        the CSE department of Y20 batch and those taking
                        admission in Jul 2021
                      PG students (any program) of
                        other all departments* * Please see above for
                    definition of UG and PG programs. A student enrolled
                    in a UG program will be considered a UG student and
                    one enrolled in a PG program will be considered a PG
                    student.
 
                   | 
                    
                       UG students of Y18 or
                        earlier batches who have been accepted to the
                        CSE ML minor program*
                      UG students of Y19 batch who
                        have been accepted to the CSE ML minor program*
                      UG students of Y18 or earlier
                        batches who are either in the CSE BT or CSE
                        BT-MT programs or else have been accepted to the
                        CSE double major program#
                      UG students of Y19 batch who
                        are either in the CSE BT or CSE BT-MT programs
                        or else have been accepted to the CSE double
                        major program#
                      UG students of Y18 or earlier
                        batches not covered above
                      UG students of Y19 batch not
                        covered aboveUG students of Y19 batch who are either in the
                      CSE BT or CSE BT-MT programs or else have been
                      accepted to the CSE double major program#UG students of Y19 batch not covered above * Only students who have
                    actually been accepted into the ML minor program (as
                    verified using published lists from the DoAA office)
                    will be counted here. Students who are in the
                    process of applying for the minor or trying to get a
                    "retrospective" minor by first doing courses and
                    then claiming a minor will not be counted here.
                    Students accepted into other CSE minors e.g.
                    Algorithms will also not be counted here.# Only students who have been actually
                    accepted into the CSE double major program (as
                    verified using published lists from the DoAA office)
                    will be counted here. Students still in the process
                    of applying for inclusion into the double major
                    program will not be counte here.
 
 |  
 
- How will ties be broken within a given priority level?
 If while processing requests of a certain
          priority level we find more requests at that priority level
          than there are seats left, then we will use the
          first-come-first-serve (FCFS) policy to break ties. For manual
          registrations, this will be indicated naturally by the time
          the student visits the instructor. For online requests this
          will be indicated by the time the request was made on Pingala.
 
 
 
- 
        I did do preregistration and got
            accepted to the course but I dropped the course. However,
            now I think I do want to do the course. What should I do
            now?
 You should apply again at the time of add-drop. We will
          process add requests received during add-drop using the same
          priority lists as mentioned above. However, you will not get
          any additional preference during add-drop just because your
          add request was accepted earlier.
 
 
 
- 
        I did do preregistration and got
            accepted to the course but my registration got cancelled.
            What should I do now?
 You should apply again at the time of add-drop. We will
          process add requests received during add-drop using the same
          priority lists as mentioned above. However, you will not get
          any additional preference during add-drop just because your
          add request was accepted earlier.
 
 
- Why was FCFS used as a tie breaker and not
          CPI or grades in some course?
 In previous semesters, we did indeed use
          grades in ESO207 as a tie-breaker since ESO207 used to be a
          prerequisite for this course back then. However, since CS771
          has no prerequisites anymore, FCFS is as objective an
          alternative for a tie-breaker as any. We understand that other
          priority lists and other forms of tie-breaking are possible.
          We also understand that it is natural for an individual
          student to feel that some other priority/tie-breaking method
          would have been preferable, especially if that priority
          list/tie-breaking method could have put that student towards
          the top of the list. However, we can only adopt one priority
          list and one tie-breaking method and we feel that the ones we
          have chosen are fair and objective. There is no getting around
          the more basic fact that the demand for this course greatly
          exceeds the teaching resources (faculty, TA etc) we have. No
          matter which priority list/tie-breaking method we choose, we
          are bound to turn down several add requests.
 
 
 
- What can I expect to learn from this course?
  Please take a look at the FCH [ link] to
          see a tentative list of topics that we will cover in the
          course. The course will seek to offer a broad exposure to
          topics in machine learning with some emphasis on areas that
          are currently prominent. Please note that although we will
          cover neural networks of various kinds, this is not a course
          focused on deep learning alone.
         
 
- Is this a theoretical course or an applied course?
  The course will involve both,
          understanding the statistical and algorithmic foundations of
          machine learning, as well as looking at applications of
          learning algorithms, indeed by implementing some of them. In
          order to get the maximum benefit from this course, you will be
          required to have a high degree of fluency and ease while
          working with statistical distributions, concepts from linear
          algebra, calculus and real analysis, and basic algorithmic
          tools. The course will also require the ability to code up
          machine learning algorithms. There will be programming
          assignments, as well as pen-and-paper quizzes and exams. These
          aspects of the course will all touch upon theoretical, as well
          as applied aspects of machine learning.
 
 
 
- How do I brush up my basics (prob-stat, algebra, calculus
          etc)?
 For all the topics we mentioned above,
          there are plenty of resources available online using which you
          can come up to speed on these topics. During the course we
          will cover these topics briefly but we cannot spend any length
          of time on these basic topics. You will have to fill up any
          gaps in your understanding of these topics yourself. A few of
          our department courses have lecture notes/slides on some of
          these topics.
 
 http://www.cse.iitk.ac.in/users/piyush/courses/ml_autumn16/ML.html
 http://web.cse.iitk.ac.in/users/purushot/courses/olo/2016-17-w/scribes.php
 
 
- What programming language would be used in the course
          assignments?
 For most assignments, Python will be the
          language of choice. We will also expect fluent usage of
          libraries like numpy, scipy, matplotlib, as well as useful
          tools such as Jupyter.
 
 
 
- 
        I really want to do this course but my
            add request has not been accepted. Can I meet you sometime
            in this regard?
 Add requests will get processed as per the priority rules mentioned above - the
            priority lists will not be amended to suit an individual
            student. If you feel that you have been unjustly denied a seat in the course , please send me an email with your query and I
          will reply to that email.
 Alternatively, you are welcome to audit the course even if you
          are not registered. Please see an FAQ item on this below.
 
 
 
      
      - Can I audit the course?
  If you are a student or employee at IITK
          then yes, of course. IITK students and employees are most
          welcome to audit the course. As auditor you will be able to
          attend the lectures, have access to the lecture material,
          assignment, examination and quiz questions and solutions
          thereto. However, due to administrative constraints, we would
          be able to grade assignments for, and administer quizzes and
          examinations to, only registered students, and not auditors.
          Nevertheless, since auditors will have access to both the
          questions and solutions, they can attempt the questions on
          their own and perform self evaluation once solutions are
          released.
 
 
 
- 
        What is the procedure to audit the
            course?
 I will announce this closer to the class dates.
 
 
 
- Can the class timings be changed? I have a preoccupation
          that clashes with one of the lecture slots.
 The Dean of Academic Affairs and the
          Pingala teams have been extremely supportive and have accepted
          our request to schedule the lectures at an unusual hour. This
          timing completely avoids popular courses such as ESO, HSO and
          MSO and in general does not clash with any regular institute
          course activities. We regret that we are unable to entertain
          any requests for changing the lecture slots.