rodmarkun/SmolML

A fully functional and simple Machine Learning library made entirely from scratch with Python.

解決的問題

SmolML 是為了解開機器學習庫內部運作的神秘面紗而設計的。它移除了 PyTorch 或 Scikit-Learn 等生產級工具的複雜性與優化,提供核心機器學習概念的透明且具教育性的實作。

如何運作

此套件完全使用純 Python 建構,僅使用標準程式庫模組(collectionsrandommath),刻意避免使用 NumPy 或 C++ 擴充。它從零開始實作機器學習的基礎元件,包含:

  • 核心引擎:自訂的 N 維陣列實作(MLArray)與用於計算梯度的自動微分引擎(Value)。
  • 預處理:資料縮放工具(Standard 與 MinMax 縮放器)。
  • 神經網路元件:激活函數(ReLU、Sigmoid、Softmax)、權重初始化器(Xavier、He)、損失函數(MSE、交叉熵)與最佳化器(SGD、Adam、AdaGrad)的實作。
  • 模型架構:線性與多項式迴歸、前饋神經網路、樹狀模型(決策樹、隨機森林),以及 K-Means 聚類的實作。

適用對象

適合希望了解機器學習演算法與資料處理工具在程式碼中如何實作的學生與開發者,而非僅將其當作黑箱使用。

主要特色

  • 零外部相依:完全以純 Python 建構,達到最大可及性。
  • 自訂自動微分:內建自動微分引擎。
  • 全面涵蓋:從基礎迴歸與聚類到複雜神經網路與隨機森林皆有涵蓋。
  • 教育導向:優先考量程式碼的可讀性與理解性,而非運算效能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案