Jump to...
redirecting...

Log for Ubuntu 台灣社群

器學習的視覺化入門介紹(2015) (★ 170 分)

R2D3 是一個以互動式視覺化方式介紹機器學習概念的經典網頁專案,最早發表於 2015 年。這篇文章以舊金山與紐約的房屋資料為範例,帶領讀者一步步理解機器學習中的分類任務(classification)。文章首先以「海拔高度」作為單一特徵,說明如何區分兩個城市的房屋——因為舊金山地勢較為起伏,海拔超過 240 英尺的房屋較可能位於舊金山。接著再加入「每平方英尺價格」這第二個維度,透過散佈圖(scatterplot)展示如何進一步區分低海拔區域的房屋,引導讀者理解所謂的特徵(features)與資料邊界(boundaries)。

文章的核心內容聚焦於決策樹(decision tree)這種機器學習方法。決策樹透過一系列「如果—那麼」的條件判斷來切分資料,每個切分點(split point)就像在資料中劃定一條邊界。文章透過直方圖(histogram)清楚展示不同切分點的取捨——切分點過高會產生偽陰性(false negatives),過低則會產生偽陽性(false positives),因此最佳切分點應讓每個分支的結果盡可能純粹。演算法會以遞迴(recursion)方式不斷對子集重複分割,隨著樹的層數增加,準確率從初始逐步提升到 84%、96%,甚至可以達到 100%。

然而文章也點出一個關鍵問題:當決策樹在訓練資料上達到 100% 準確率時,面對從未見過的測試資料(test data)時表現卻可能大幅下降,這就是所謂的過度擬合(overfitting)。模型把訓練資料中每一個細節都當作重要特徵來學習,包括那些實際上無關緊要的雜訊。文章最後預告下一篇將深入探討過度擬合與機器學習中偏差與變異的權衡(bias/variance tradeoff)。

在 Hacker News 的討論中,這篇 2015 年的作品被多位留言者譽為經典之作。有人指出它在技術與概念呈現上都走在時代前端,至今仍是介紹機器學習時的絕佳教材。原作者之一 Tony Hschu 也親自現身回應,表示很驚喜文章再度受到關注。有人詢問是否有類似 R2D3 風格、專門解釋 Transformer 注意力機制(attention mechanism)等更高維度概念的互動式內容,回覆者推薦了 Georgia Tech 的 Transformer Explainer 等資源。另有留言者推薦 Josh Starmer 的 StatQuest 頻道作為視覺化學習機器學習的優質來源,也有人分享了一份互動式機器學習教學資源的彙整清單。整體而言,社群對這種以互動設計傳達統計思維的做法給予高度評價,並惋惜類似品質的內容在網路上仍屬少見。

👥 10 則討論、評論 💬
https://news.ycombinator.com/item?id=47386116
[photo](media:AgACAgUAAx0CPRn5XQABAkoiabeyIryg5g4KEl25Ni9aY3bn_joAAnANaxtXssBVkhz1qsbdD-kBAAMCAANzAAM6BA@telegram)
??
Linux 程式設計介面》 (The Linux Programming Interface, TLPI) 作為大學課程教材 (★ 102 分)

《The Linux Programming Interface》 (TLPI) 作者 Michael Kerrisk 在 man7.org 表示,當初寫作時並未特別鎖定大學市場,但近年陸續收到多位大學教師來信,提到在 Linux 或 UNIX 系統程式設計相關課程中,把 TLPI 當作指定用書或推薦讀物。為了讓未來版本更貼近教學現場,他希望蒐集各校實際使用情況,作為改版的依據。

他邀請正在用 TLPI 授課的教師直接寄信分享細節,包括學校名稱與網址、課程大綱或內容安排、課程開設年級、修課人數、TLPI 是指定或推薦,以及對「如何讓 TLPI 更適合作為大學教材」的具體改進建議,並強調意見越具體越好。

延伸到 Hacker News 討論,多數留言把 TLPI 視為少見的高品質系統程式設計書籍;有人分享自己在資工系作業系統課程把它列為選讀,甚至會挑選部分頁面做講義素材,也有人說雖非正式教材,但教授私下推薦後對學習很有幫助。另有留言以反諷方式稱它「不適合當教科書」,因為不像許多教材每年小改版來刺激重新購買,實際上是在稱讚其內容扎實、勝過典型課本。

不少人則期待推出第二版:雖然 Linux 的系統呼叫介面與 ABI (Application Binary Interface,應用程式二進位介面) 以高度向後相容著稱,但近十多年整體觀念與關鍵技術已大幅演進,例如 namespaces(命名空間)與 control groups (cgroups,控制群組) 成為容器 (container) 的基礎抽象,io_uring(Linux 的高效非同步 I/O 介面)改寫非同步 I/O 模型,eBPF (extended Berkeley Packet Filter,用於在核心內安全執行程式以做可觀測性與策略強制) 也改變了除錯觀測與政策控管的做法。討論也岔到資工教育應更「理論純粹」或更重實作工具:有人主張 CLI (Command-Line Interface,命令列介面)、git、shell、IDE、Vim/Emacs、regex(正規表示式)等是現代開發必修;也有人認為這類工具應靠自學與動手做。另有留言補充,若要接觸 Linux 核心開發,最好先理解哪些子系統已淘汰、並多和活躍開發者交流,甚至可參考 Linux Foundation 的免費入門課程 LFD103 與相關教學資源。

👥 13 則討論、評論 💬
https://news.ycombinator.com/item?id=47393388