2024-09-03|閱讀時間 ‧ 約 24 分鐘

J035|如何用數學家的角度理解工程師使用的設計模式?

「所謂的“抽象”,是從具體的對象上,需要聚焦的重要部分,單獨抓出來。」


「Abstract的tract部分,既有“抽出 extract”也有"減去 subtract"的函數;而 Abstract 的

ab 部分,就是遠離,也就是遠離要抽象的那個具體的對象。」


「所謂的“模型”,是為了“說明”現實世界時,簡化後的表現。」


「"模型 Model"與"模組 Module",兩者的語源都是拉丁語的 modulus。」


「Model-View-Controller對應著"編程 Programming", “表現”, "操作"的關鍵部分。」


「"模式 Pattern",則是在"抽象"與"模型"下能被看見的世界。」


「"設計模式 Design Pattern",則是你希望透過模式來看見的世界。」


以上這段討論,摘錄自日本作者西尾泰和[1]的著書,


《エンジニアの知的生産術 - 効率的に学び、整理し、アウトプットする》[2]的第29-36頁,


引發我對數學模型,統計模型,演算法模型的深度思考。


由於我的研究領域是統計機器學習與資料科學,


幾乎是時時刻刻都在與「模型 Model」打交道。


我在大學時期就讀台大數學系,所以掌握了大量的數學模型,


幫助我看懂各種運算背後的本質。


而碩士時期就讀台大數學系應用數學所,進一步掌握了各種統計模型,


幫助我看懂各種數據背後的本質。


到了博士時期就讀美國普渡大學統計學習,研究統計機器學習,


進一步掌握了各種演算法模型,


幫助我看懂各種自動化決策的本質。


而透過自學「編程 Programming」,


我也瞭解到「數據結構 Data Structure」,「設計模式 Design Pattern」等概念。


但之前沒有特別與我所熟悉的數學模型,統計模型,演算法模型連起來想。


今天讀到西尾泰和這個描述,


從「抽象 Abstract」講到「模型 Model」再串連到「模式 Pattern」,


給我一種一氣貫通,醍醐灌頂的感覺,非常棒。


對比現代的「數據基礎建設 Data Infrastructure」中,


裡面也有很多「機器學習工程 Machine Learning Engineering」,


人類對「工具 Tools」的鍛造,讓我們的人類文明生生不息。


Reference

[1] http://nhiro.org/ja.html

[2] https://scrapbox.io/nishio/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93_%E8%91%97%E8%80%85%E5%85%AC%E5%BC%8F%E3%83%9A%E3%83%BC%E3%82%B8

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.