愉快充實的學習旅程 (Prof. Jeffrey R. Chasnov 的課程)


故事的開始從想看懂生成式模型的 flow matching 方法.
搜尋一下需要的數學知識, 大概還需要補 ordinary/partial differential equations, vector calculus (Gauss divergence theorem, Continuity equation), numerical methods for solving PDEs.
這些知識正好就是 Coursera 這門專項課的內容: Mathematics for Engineers Specialization by Prof. Jeffrey R. Chasnov
用了四個月的時間很充實又愉快的學習了四門課程

好啦我承認也花了點上班時間來學習 😆, 主要假日盡量投入, 確實有點辛苦

說一下四門課的心得內容:

  1. Matrix Algebra for Engineers [筆記]
    輕鬆愉快的線性代數複習體驗, 雖然沒有涵蓋以前學到的所有內容, 但重要的基礎內容都有包含
    這邊特別推薦一下周老師的網頁: https://ccjou.wordpress.com/, 搭配一起學習會更扎實!

  2. Differential Equations for Engineers [筆記]
    我以前從來沒學過 differential equations, 因此這門課對我來說大部分是全新的知識, 算是圓了以前就想接觸看看微分方程的願望吧!
    整體感覺就是 Ansatz, Ansatz and Ansatz…
    過程大概是這種感覺, 首先讓我們猜猜這個 ODE 的解長什麼樣
    假設長這樣, 我們代入 boundary conditions 和使用 superposition 就能得到一般解的結果… done
    (學了整個課程感覺針對不同類別的 ODE 猜不同的長相, 但解的流程大部分如上述. 好奇這樣能把所有可能的解的長相都找到嗎?)

  3. Vector Calculus for Engineers [筆記]
    我太喜歡這部分了! Divergence, Curl, Laplace operators. Line and surface integral. Gauss divergence theorem, Continuity equation, Stokes’ theorem. 每樣都給讓我感受到數學很美. 看透了這部分再去讀 flow matching 感覺視野都打開了.

  4. Numerical Methods for Engineers [筆記]
    這門課相當於總結了之前那三門課的實務層面, 不過我一開始在猶豫要不要花時間學
    原因是這門課使用 Matlab. 以前確實用比較熟練, 但現在都是 Python, 可能 Matlab 都忘了差不多了, 譬如很基本的一件事是 Matlab indexing 從 $1$ 開始…
    後來想說反正讓 AI 去幫忙我這邊的 Matlab coding, 正好也體驗一下用 AI 輔助學習效果如何.
    結論是好棒棒! 方便👍🏻!
    回到這門課, 對於理解真的實作會遇到什麼問題, 這門課給出實際的解法. 譬如, 如果矩陣比較大的時候 Gauss elimination 容易數值不穩定, 所以需要 partial pivoting. 怎麼做 root finding? 積分到底要怎麼做? 還有最重要的 ODE/PDE 怎麼數值模擬 (well known Runge Kutta Methods)?
    對於想了解背後實作秘密的人, 且喜歡追根究底的人, 應該會學得挺開心的. 😃 至少我是拉!

最後真的很感謝 Prof. Jeffrey R. Chasnov 提供這麼精彩的課程, 不僅課程內容在 Youtube 能免費全部看到, 使用的課本教材也都免費

🎉一路上收穫滿滿, 受用無窮🎉

2025/03/13