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

Announcements

top

We will learn ...

Machine learning has been shown powerful on many specific problems. To make things work, one has to clean up the data and apply appropriate algorithms on it. In this course, we will learn how to process and analyze data with Python. We will introduce Python packages including NumPy (for scientific computing on arrays), pandas (for processing data), and scikit-learn (for machine learning). If time allowed, we will go through some examples on Keras (for neural network) and matplotlib (for data visualization). With these tools at hand, you will find it much easier to learn further and newer techniques on machine learning.

NumPy

a package for scientific computing on arrays

pandas

a package for data processing

matplotlib

a package for plotting

scikit-learn

a package for machine learning

You need to do ...

HW0: Tell me your email before February 21 to get extra 2pt — this is a required work. Important information will be announced through email.

Homework (40%): There will be homework every week.

NumPy, pandas, matplotlib

Midterm (30%):

Machine learning

Final exam (30%):

A few tips for learning mathematics ...

Mistakes Make You Smarter: Everyone learns through experiences and mistakes. For each new concept you learn, generate as many examples as possible to train your brain to distinguish between right and wrong.

Ask Questions: Beyond knowledge, mathematics is fundamentally about logic. Question everything you encounter—why it is defined this way, why an assumption is required, why a proof needs a particular step, and so on.

Think Carefully: Sound arguments should hold true in any circumstance. Verify the examples you generate to ensure they align with your argument.

Help Each Other: Learning together can make the process easier. Teaching others is also an effective way to reinforce your own understanding.


Course Info

  • Term: Feb 17, 2025 – Jun 20, 2025
  • Meeting time: Monday, 2:10 pm – 5:00 pm @ SC4009-1
  • Instructor: Jephian Lin | 林晉宏
  • Email: chlin [at] math.nsysu.edu.tw
  • Office: SC2002-5
  • Office Hours: Tuesday, 3:10 pm – 5:00 pm
  • Office Hours: Thursday, 3:10 pm – 5:00 pm
  • Discord: https://discord.com/invite/behbC9NmqNJ

Textbook

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

Further Resources

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

Neural Networks and Deep Learning
   Michael Nielsen

Linear Algebra with NumPy
   Jephian Lin

Machine Learning with NumPy
   Jephian Lin


Tentative Schedule

Calendar


Policies/Ethics

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.