Math599 Python and Machine Learning Algorithms | Python 與機器學習之理論實現


Announcements


Course Info top

Textbook

Python Data Science Handbook [on GitHub]
   Jake VanderPlas, O'Reilly Media, 2016Course website

Handouts

Linear Algebra with NumPy
   Jephian Lin

Machine Learning with NumPy
   Jephian Lin

Further reading

Neural Networks and Deep Learning
   Michael Nielsen

A Whirlwind Tour of Python [on GitHub pdf]
   Jake VanderPlas, O'Reilly Media, 2016

Further Resources

A 9-hour Python tutorial focusing on data processing (A brief introduction of Python basics, Numpy, pandas, matplotlib.)
   Jephian Lin

CommonMark (You may find Markdown tutorials here.)

Learning objectives

Machine learning has been shown powerful on many specific problems. While there are many existing packages to perform various machine learning tasks, we must understand the relations between the parameters and the outcome. This course will start with an overview of linear algebra, which is the foundation of many machine learning algorithms. Then you will learn the theory behind each algorithm and how to implement them from scratch (which should be fun!). With these insights, you will be more confident in picking the models, tuning the hyperparameters, and even contriving new algorithms.

Outlines

Evaluation

20% LA exam + 20% ML exam + 60% Group homework [± in-class involvement]


Tentative Schedule top

Calendar


Homework/Quiz top

The handouts of this course contains many exercises. Every student is assigned with three handouts; use the link below to find your assignments.

https://docs.google.com/spreadsheets/d/1wCJnBN02pfD_xIYheAhfwbDki7wRjrmI5pxyw_9bOeIJ/edit?usp=sharing

For each assigned handout you have to do the following:

  1. Check the schedule to see when will this handout be taught. (e.g., LAwithNumPy11 will be used on March 22.)
  2. Talk with your partners and visit me one week before. See my weekly schedule and office hours therein.
  3. During the class, serve as TAs and help other students.
  4. Within 10 days after the class, finish all exercises in the handout and visit me again.

Notice that you have to go through this process three rounds since you are assigned with three handouts.

Handout solutions provided by each group are uploaded to GitHub:jephianlin/Math599_solution. You may contact me if you don't want your name to be put on there.


Policies/Ethics top

Accessibility

Students with diverse learning styles and needs are welcome in this course. In particular, if you have a disability/health consideration that may require accommodations, please feel free to approach me.

Grading

Percentage scores will be converted to letter grades according to the university-wide standard table.

Attendance

You are expected to attend the classes.

Missing work

If you miss some course components due to illness, accident, family affliction, or religious observances, please talk to me and provide the documentation. In such cases, the course component is excused, and your course score will be calculated by distributing the weight of the missed item(s) across the other course components. Missing components are limited to at most 20%.

Academic integrity

Do not copy others' work, including others' homework, the textbook, online materials, and others' answers in an exam; if it is really necessary, add proper citations to your references. It makes no point (and gives you no point) if the work is not yours since you learned nothing.