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


What is this course about?

The course aims to strengthen your background in linear algebra, which is essential for manipulating data, and to help you understand the details of some basic machine learning algorithms. Roughly speaking, the content contains about 40% of linear algebra, 30% of machine learning algorithms, and 30% of the applications of these algorithms. (Unfortunately, we do not have time to cover neural networks.) Although the course was designed for math majors, students from all disciplines are welcome—the course will start from basic linear algebra, such as how to multiply a matrix and a vector.

Many students asked me whether they should take this course if they have not done any programming before. The short answer is it is okay, and this course assumes no programming background, though having some experience is helpful. However, instead of wondering whether you can take this course or not, I would encourage to pick up a Python textbook and start learning now. If you read a section of A Whirlwind Tour of Python every day, you could finish the basic part in ten days and improve your self-learning skills! Once you set up the Python environment, e.g., Anaconda or Google Colab, you may enjoy the fun of programming very soon. By then, missing the programming background is not a problem anymore. In any case, please feel free to contact the instructor through email if you have further questions.


Announcements


Course Info top

Textbook

Linear Algebra with NumPy
   Jephian Lin

Machine Learning with NumPy
   Jephian Lin

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

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

40% Group homework + ≥20% In-class activities + 20% LA exam + 20% ML exam


Tentative Schedule top

Calendar


Homework/Quiz top

Group homework: The handouts of this course contains many exercises. Every student will be assigned with two handouts, and you have to work with your group to finish all exercises there. See NSYS Cyber University > Announcements for more details.

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.

In-class activities: There will be activities in almost every hour of the course to provide you at least 20 points or more. By default, no make-up option is available if you missed one.

Exams: After each exam, the questions and the sample answers will be uploaded below.


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.