Difference between revisions of "Spring 2018 CS165B Machine Learning"

From courses
Jump to: navigation, search
(Created page with "====Instructor and Venue==== * Instructor: [http://www.cs.ucsb.edu/~william William Wang] * TAs: ** Yi Ding yding@ucsb.edu ** Hongmin Wang hongmin_wang@cs.ucsb.edu ** Jiawei...")
 
(Syllabus)
 
(7 intermediate revisions by the same user not shown)
Line 12: Line 12:
 
** Jiawei T 5:00- 5:50 PHELP 1445
 
** Jiawei T 5:00- 5:50 PHELP 1445
 
** Hongmin T 6:00- 6:50 PHELP 1445  
 
** Hongmin T 6:00- 6:50 PHELP 1445  
* TA Office Hours: TBA
+
* TA Office Hours Location: Room 104 at Trailer 935, next to Phelps
 +
** Hongmin 4:00 - 5:00 pm every Monday
 +
** Jiawei 4:00 - 5:00 pm every Wednesday
 +
** Yi 4:00 - 5:00 pm every Thursday
 
* Instructor Office Hours: Th 12:30pm-1:30pm HFH 1115
 
* Instructor Office Hours: Th 12:30pm-1:30pm HFH 1115
 
* Prerequisites:
 
* Prerequisites:
Line 23: Line 26:
  
 
===Piazza===
 
===Piazza===
Please enroll if you haven't: [http://piazza.com/ucsb/winter2017/cs190i piazza.com/ucsb/winter2017/cs190i]
+
Please enroll if you haven't: [http://piazza.com/ucsb/spring2018/cs165b]
  
 
====Syllabus====
 
====Syllabus====
*01/10 Introduction & logistics, and NLP applications
+
* 04/03: Introduction and Logistics
*01/12 Basic text processing
+
* 04/05: Key Machine Learning Concepts
*01/17 N-grams & language models & HW1 out
+
* 04/10: Ingredients in ML / Classification (Guest Lecturer: Dr. Vivek Kulkarni)
*01/19 Text classification: naive Bayes
+
* 04/12: Classification (HW#1 out)
*01/24 Voted perceptron and logistic regression
+
* 04/17: Classification / Concept Learning
*01/26 Part-of-speech tagging: HMMs
+
* 04/19: Concept learning
*01/31 HMMs and MEMMs & HW1 due / HW2 out
+
* 04/24: Decision Trees
*02/02 Conditional Random Fields
+
* 04/26: Decision Trees (HW#1 due, HW#2 out)
*02/07 In-class midterm exam
+
* 05/01: Linear models
*02/09 Natural language parsing
+
* 05/03: Linear models, perceptrons, midterm review
*02/14 Word sense disambiguation & HW2 due (extended to 02/15 midnight) / HW3 out
+
* 05/08: In-Class Midterm exam
*02/16 Guest lecture on Social Media: Vivek Kulkarni (Stony Brook)
+
* 05/10: Perceptrons, Support vector machines (HW#2 due, HW#3 out)
*02/21 Distributional semantics (1): sparse representation
+
* 05/15: Kernel methods, distance measures, clustering
*02/23 Distributional semantics (2): dense representation
+
* 05/17: Clustering, naive Bayes classifier
*02/28 Machine translation & HW3 due / HW4 out
+
* 05/22: Features, model ensembles
*03/02 Question answering
+
* 05/24: Machine learning experiments (HW#3 due, HW#4 out)
*03/07 Deep learning for NLP: RNNs
+
* 05/29: Neural networks
*03/09 Deep learning for NLP: CNNs
+
* 05/31: Neural networks & Deep learning
*03/14 Course review and class evaluation & HW4 due
+
* 06/05: Neural networks & Deep learning
*03/16 In-class final exam
+
* 06/07: Final Exam Review (HW#4 due)
  
 
====Course Description====
 
====Course Description====
  
Have you ever used intelligent virtual assistants such as Google Now, Apple Siri, Amazon Alexa or Microsoft Cortana? Wondering what are the technologies behind such systems? How did IBM's Watson beat top human Jeopardy players? Or you are just curious about how Google Translate works? Understanding human language is an important goal for Artificial Intelligence, and this course introduces fundamental theories and practical applications in Natural Language Processing (NLP).
+
* What is this course about?
In particular, this course will focus on the design of basic machine learning algorithms (e.g., classification and structured prediction) for core NLP problems. The concentration of this course is on the mathematical, statistical and computational foundations for NLP. 
 
  
Throughout the course, we will cover classic lexical, syntactic, and semantic processing topics in NLP, including language modeling, sentiment analysis, part-of-speech tagging, parsing, word sense disambiguation, distributional semantics, question answering, information extraction, and machine translation. The parallel theme on machine learning algorithms for NLP will focus on classic supervised learning, semi-supervised learning, and unsupervised learning models, including naive Bayes, logistic regression, hidden Markov models, maximum entropy Markov models, conditional random fields, feed-forward neural networks, recurrent neural networks, and convolutional neural networks. Throughout the course, we will study the implicit assumptions made in each of the machine learning models, and understand the pros and cons of these modern statistical tools for solving NLP problems. A key emphasis of this course is on empirical and statistical analysis of large text corpora, and distill useful structured knowledge from large collections of unstructured documents.  
+
The course covers the core principals and key techniques of machine learning (ML), which is the study of algorithms that learn from data and experience. Topics including classification, concept learning, decision trees, artificial neural networks, Bayesian learning, and others. Both theory and practice will be emphasized. However, this is an introductory course - you won't learn everything about machine learning here, but you'll be prepared to go deeper in the subject.
 +
 
 +
* Overview
 +
 
 +
Machine learning studies the question "How can we build computer programs that automatically improve their performance through experience?" This includes learning to perform different types of tasks based on different types of experience. For example, it includes robots learning to better navigate based on experience gained by roaming their environments; medical decision aids that learn to predict which therapies work best for which diseases based on data mining of historical health records; speech recognition systems that lean to better understand your speech based on experience listening to you; and computer vision systems that learn how to represent and recognize objects. This course is designed to give students a thorough grounding in the methods, theory, and algorithms of machine learning. The topics of the course draw from several fields that contribute to machine learning, including classical and Bayesian statistics, pattern recognition, and information theory.
 +
 
 +
* We will cover topics such as:
 +
** Overview of machine learning
 +
** Concept Learning
 +
** Decision Tree Learning
 +
** Artificial Neural Networks
 +
** Bayesian Learning
 +
** Computational Learning Theory
 +
** Instance-Based Learning
 +
** Genetic Algorithms
 +
** Classification
 +
 
 +
Note that CS165A, taught in the Winter Quarter, is a complementary course on Artificial Intelligence, although it is not a prerequisite to CS165B. Artificial Intelligence is a broader area and encompasses topics beyond machine learning such as logic, problem-solving and search, expert systems, intelligent agents, knowledge representation, planning, and natural language processing.
 +
 
 +
* What you will learn
 +
 
 +
By the end of the quarter, you should understand what machine learning is all about - what it entails, what it can (and can't) be used for, what are the underlying assumptions and principles, and what are the main tools and techniques. You will gain experience, both conceptually and practically, by homework assignments that involve solving problems and implementing machine learning algorithms. You will see many examples of working machine learning systems and research throughout the quarter to provide a broad exposure to the topic.
 +
 
 +
* Why study machine learning?
 +
 
 +
Machine learning, which was originally an area of study within the broad field of artificial intelligence, has a long history, with notable failures and successes, but always with a promise of being really useful some day. That day has come. In recent years machine learning has become an extremely important and relevant topic and a core competency for many (perhaps most - maybe even all) areas of science, business, and government. The explosion of "big data" has made machine learning a critical technology for finding the information needles in the data haystacks, so to speak. Huge amounts of data combined with machine learning techniques are at the heart of what Google, Amazon, Netflix, Facebook, and many key companies do, and increasingly important in scientific pursuits.
 +
 
 +
Gaining knowledge and experience in machine learning is valuable for a wide range of career paths, including research, industry, and entrepreneurship.
  
 
====Text Book====
 
====Text Book====
No official text book is required for this class, but the following optional text book is recommended:
+
There is a required textbook, available at the UCSB bookstore, from which reading will be assigned throughout the quarter.
* Speech and Language Processing (2nd ed.), Dan Jurafsky and James H. Martin.
+
 
The following website provides a free draft version of a new edition of this book. [https://web.stanford.edu/~jurafsky/slp3/].
+
* Required: Machine Learning: The Art and Science of Algorithms that Make Sense of Data, by Peter Flach, Cambridge University Press, 2012.
 +
 
 +
Also available at Amazon, etc.
 +
 
 +
* (optional) Machine Learning, Tom Mitchell. (Errata and new chapters)
 +
* (optional) Pattern Recognition and Machine Learning, Chris Bishop.
 +
* (Freely downloadable) A Course in Machine Learning, Hal Daumé III
 +
* (Freely downloadable) Information Theory, Inference, and Learning Algorithms, David MacKay
  
 
====Grading====
 
====Grading====

Latest revision as of 19:40, 14 May 2018

Instructor and Venue

  • Instructor: William Wang
  • TAs:
    • Yi Ding yding@ucsb.edu
    • Hongmin Wang hongmin_wang@cs.ucsb.edu
    • Jiawei Wu jiawei_wu@cs.ucsb.edu
  • Grader: Chani Jindal chaniajindal@gmail.com
  • Time: T R 11:00am - 12:15pm
  • Location: CHEM 1171
  • Discussions:
    • Yi T 4:00- 4:50 GIRV 2108
    • Jiawei T 5:00- 5:50 PHELP 1445
    • Hongmin T 6:00- 6:50 PHELP 1445
  • TA Office Hours Location: Room 104 at Trailer 935, next to Phelps
    • Hongmin 4:00 - 5:00 pm every Monday
    • Jiawei 4:00 - 5:00 pm every Wednesday
    • Yi 4:00 - 5:00 pm every Thursday
  • Instructor Office Hours: Th 12:30pm-1:30pm HFH 1115
  • Prerequisites:
    • The formal prerequisite is Computer Science 130A (Data Structures and Algorithms I). This implies that you have taken CS 40, CS 32, and PSTAT 120A or ECE 139 and you have studied topics such as algorithms, data structures, searching and sorting techniques, recursion, and induction, all of which are relevant to this course. Most importantly, you need to be able to think logically about problems and solution strategies, and you must be familiar enough with writing software to implement solutions on your own. If you have completed the CS lower division courses, the Math and PSTAT requirements, and CS 130A, you will be well-prepared.
    • Some familiarity with basic concepts of machine learning, linear algebra, probability, and calculus.

Course Objective

At the end of the quarter, students should have a good understanding about basic ML problems tasks and should be able to implement some fundamental algorithms for simple problems in ML. Students will also develop an understanding of the open research problems in ML.

Piazza

Please enroll if you haven't: [1]

Syllabus

  • 04/03: Introduction and Logistics
  • 04/05: Key Machine Learning Concepts
  • 04/10: Ingredients in ML / Classification (Guest Lecturer: Dr. Vivek Kulkarni)
  • 04/12: Classification (HW#1 out)
  • 04/17: Classification / Concept Learning
  • 04/19: Concept learning
  • 04/24: Decision Trees
  • 04/26: Decision Trees (HW#1 due, HW#2 out)
  • 05/01: Linear models
  • 05/03: Linear models, perceptrons, midterm review
  • 05/08: In-Class Midterm exam
  • 05/10: Perceptrons, Support vector machines (HW#2 due, HW#3 out)
  • 05/15: Kernel methods, distance measures, clustering
  • 05/17: Clustering, naive Bayes classifier
  • 05/22: Features, model ensembles
  • 05/24: Machine learning experiments (HW#3 due, HW#4 out)
  • 05/29: Neural networks
  • 05/31: Neural networks & Deep learning
  • 06/05: Neural networks & Deep learning
  • 06/07: Final Exam Review (HW#4 due)

Course Description

  • What is this course about?

The course covers the core principals and key techniques of machine learning (ML), which is the study of algorithms that learn from data and experience. Topics including classification, concept learning, decision trees, artificial neural networks, Bayesian learning, and others. Both theory and practice will be emphasized. However, this is an introductory course - you won't learn everything about machine learning here, but you'll be prepared to go deeper in the subject.

  • Overview

Machine learning studies the question "How can we build computer programs that automatically improve their performance through experience?" This includes learning to perform different types of tasks based on different types of experience. For example, it includes robots learning to better navigate based on experience gained by roaming their environments; medical decision aids that learn to predict which therapies work best for which diseases based on data mining of historical health records; speech recognition systems that lean to better understand your speech based on experience listening to you; and computer vision systems that learn how to represent and recognize objects. This course is designed to give students a thorough grounding in the methods, theory, and algorithms of machine learning. The topics of the course draw from several fields that contribute to machine learning, including classical and Bayesian statistics, pattern recognition, and information theory.

  • We will cover topics such as:
    • Overview of machine learning
    • Concept Learning
    • Decision Tree Learning
    • Artificial Neural Networks
    • Bayesian Learning
    • Computational Learning Theory
    • Instance-Based Learning
    • Genetic Algorithms
    • Classification

Note that CS165A, taught in the Winter Quarter, is a complementary course on Artificial Intelligence, although it is not a prerequisite to CS165B. Artificial Intelligence is a broader area and encompasses topics beyond machine learning such as logic, problem-solving and search, expert systems, intelligent agents, knowledge representation, planning, and natural language processing.

  • What you will learn

By the end of the quarter, you should understand what machine learning is all about - what it entails, what it can (and can't) be used for, what are the underlying assumptions and principles, and what are the main tools and techniques. You will gain experience, both conceptually and practically, by homework assignments that involve solving problems and implementing machine learning algorithms. You will see many examples of working machine learning systems and research throughout the quarter to provide a broad exposure to the topic.

  • Why study machine learning?

Machine learning, which was originally an area of study within the broad field of artificial intelligence, has a long history, with notable failures and successes, but always with a promise of being really useful some day. That day has come. In recent years machine learning has become an extremely important and relevant topic and a core competency for many (perhaps most - maybe even all) areas of science, business, and government. The explosion of "big data" has made machine learning a critical technology for finding the information needles in the data haystacks, so to speak. Huge amounts of data combined with machine learning techniques are at the heart of what Google, Amazon, Netflix, Facebook, and many key companies do, and increasingly important in scientific pursuits.

Gaining knowledge and experience in machine learning is valuable for a wide range of career paths, including research, industry, and entrepreneurship.

Text Book

There is a required textbook, available at the UCSB bookstore, from which reading will be assigned throughout the quarter.

  • Required: Machine Learning: The Art and Science of Algorithms that Make Sense of Data, by Peter Flach, Cambridge University Press, 2012.

Also available at Amazon, etc.

  • (optional) Machine Learning, Tom Mitchell. (Errata and new chapters)
  • (optional) Pattern Recognition and Machine Learning, Chris Bishop.
  • (Freely downloadable) A Course in Machine Learning, Hal Daumé III
  • (Freely downloadable) Information Theory, Inference, and Learning Algorithms, David MacKay

Grading

There will be four homework assignments (40%), one mid-term exam (20%), and a final exam (40%). Four late days are allowed with no penalty. After that 50% will be deducted if it is within 4 days after the due day, unless you have a note from the doctors' office. Homework assignment submissions that are five days late will receive zero credits. Your grade can be found on GauchoSpace.

Academic Integrity

We follow UCSB's academic integrity policy from UCSB Campus Regulations, Chapter VII:``Student Conduct and Discipline"):

  • It is expected that students attending the University of California understand and subscribe to the ideal of academic integrity, and are willing to bear individual responsibility for their work. Any work (written or otherwise) submitted to fulfill an academic requirement must represent a student’s original work. Any act of academic dishonesty, such as cheating or plagiarism, will subject a person to University disciplinary action. Using or attempting to use materials, information, study aids, or commercial “research” services not authorized by the instructor of the course constitutes cheating. Representing the words, ideas, or concepts of another person without appropriate attribution is plagiarism. Whenever another person’s written work is utilized, whether it be a single phrase or longer, quotation marks must be used and sources cited. Paraphrasing another’s work, i.e., borrowing the ideas or concepts and putting them into one’s “own” words, must also be acknowledged. Although a person’s state of mind and intention will be considered in determining the University response to an act of academic dishonesty, this in no way lessens the responsibility of the student.

More specifically, we follow Stefano Tessaro and William Cohen's policy in this class:

You cannot copy the code or answers to homework questions or exams from your classmates or from other sources; You may discuss course materials and assignments with your classmate, but you cannot write anything down. You must write down the answers / code independently. The presence or absence of any form of help or collaboration, whether given or received, must be explicitly stated and disclosed in full by all involved, on the first page of their assignment. Specifically, each assignment solution must start by answering the following questions:

  • (1) Did you receive any help whatsoever from anyone in solving this assignment? Yes / No.
    • If you answered 'yes', give full details: (e.g. ``Jane explained to me what is asked in Question 3.4")
  • (2) Did you give any help whatsoever to anyone in solving this assignment? Yes / No.
    • If you answered 'yes', give full details: (e.g. ``I pointed Joe to section 2.3 to help him with Question 2".
  • No electronics are allowed during exams, but you may prepare an A4-sized note and bring it the exam.
  • If you have questions, often ask the teaching staff.

Academic dishonesty will be reported to the highest line of command at UCSB. Students who engage in such activities will receive an F grade automatically.

Accessibility

Students with documented disability are asked to contact the DSP office to arrange the necessary academic accommodations.

Discussions

All discussions and questions should be posted on our course Piazza site.