2025年12月30日 星期二

ML Data 惟度 標記規劃

 thoughtful

在機器學習中,理解輸入 $X$ 與輸出 $Y$ 之間的維度關係,是構建模型最核心的一步。我們可以將其簡化為「特徵(Features)」與「預測目標(Target)」的對應。

以下是針對維度(Dimensions)與其關係的詳細說明:


1. 輸入維度 $X$ (Input Dimensions)

輸入 $X$ 通常被稱為特徵矩陣。它的維度通常表示為 $(n, d)$

  • $n$ (Samples): 代表資料的筆數(樣本數)。例如:你有 1000 位客戶的資料。

  • $d$ (Features/Dimensions): 代表每一筆資料包含的屬性數量。

    • 一維數據: 簡單的表格資料。例如:[年齡, 收入, 信用評分],此時 $d=3$

    • 高維數據: * 影像: 維度可能是 $(寬, 高, 通道數)$。一張 $28 \times 28$ 的灰階圖片,展平後 $d = 784$

      • 文字: 經過 Embedding 後,每個字可能變成 512 維的向量。


2. 輸出維度 $Y$ (Output Dimensions)

輸出 $Y$ 被稱為標籤向量或矩陣,其維度取決於你解決的問題類型:

問題類型輸出描述維度示例
迴歸 (Regression)預測一個連續數值(如房價)。$(n, 1)$
二元分類 (Binary Classification)預測 0 或 1(如是否生病)。$(n, 1)$
多元分類 (Multi-class)預測多個類別中的一個(如貓、狗、鳥)。$(n, k)$,其中 $k$ 為類別數(通常使用 One-hot 編碼)。
多標籤分類 (Multi-label)一筆資料可同時屬於多個類別。$(n, k)$,每一位可以是 0 或 1。

3. $X$$Y$ 的數學關係:映射函數

模型的核心目標是找到一個數學函數 $f$,使得:

$$Y \approx f(X, W) + b$$
  • $W$ (Weights): 權重矩陣。它的維度必須與 $X$$Y$ 匹配。

  • $b$ (Bias): 偏置項。

維度匹配原則 (Dimensionality Matching)

在線性層(Linear Layer)中,如果 $X$ 是 $(n, d_{in})$,而你希望輸出 $Y$ 是 $(n, d_{out})$,那麼權重 $W$ 的維度必須是 $(d_{in}, d_{out})$。

這就是矩陣乘法的基本規則:$(n \times d_{in}) \cdot (d_{in} \times d_{out}) = (n \times d_{out})$。


4. 常見的維度陷阱

在處理從 MySQL 匯入的資料時,最常遇到以下維度問題:

  1. Rank-1 Array 問題: 在 Python (NumPy) 中,shape(10,) 的陣列既不是列向量也不是行向量。許多 ML 模型要求輸入必須是 (10, 1)。你需要使用 X.reshape(-1, 1) 來修正。

  2. 類別資料未轉換:

    如果你的 $Y$ 是字串(如 "Positive", "Negative"),模型無法運算。必須轉換為 $0$ 或 $1$,維度維持 $(n, 1)$。

  3. 時間序列 (3D 維度):

    如果你處理的是股票或感測器數據,維度會多出一維「時間步」,變成 $(樣本, 時間步, 特徵)$,即 $(n, t, d)$。


總結來說:

$X$ 是你給模型的「線索」,其維度決定了資訊的豐富度;$Y$ 是模型的「答案」,其維度決定了問題的性質。

您目前手頭上的 MySQL 資料,總共有多少個欄位(特徵 $d$)? 以及您想要預測的是單一數值還是分類標籤?如果您提供具體的欄位名稱,我可以幫您規劃精確的 $X, Y$ 維度配置。

沒有留言:

張貼留言