機器學習(Machine Learning)是讓機器從大量資料中自動學習規則,並根據這些規則對未知資料進行預測的過程。這與人類孩童認知世界的方式相似,透過不斷學習和觀察來歸納事物的規律。
機器學習的本質是透過大量樣本資料的訓練(training),讓機器獲得經驗(模型),從而產生預測新事物的能力(inference)。這種預測能力可以被視為是找到一個從輸入到輸出的函數(或稱對應關係),以揭示資料中隱藏的規律。
一、機器學習、資料探勘與資料分析的比較
這幾個概念的定義界線模糊,但可以從目標和側重點來區分:
-
資料分析(Data Analysis):主要針對小規模資料,透過分析和總結已知資訊,得出有意義的結論。大數據分析(Big Data Analysis)則是在處理大規模資料時,對運算模式和方法上的差異的稱呼。
-
資料探勘(Data Mining):範圍更廣,目標是從大量資料中「挖掘」出表層看不到的、有價值的資訊,並幫助人們進行決策。它常常使用機器學習技術來完成。
-
機器學習(Machine Learning):最終目標是「預測」。它根據資料規律來預測未知資訊,從而帶來決策上的收益。
共同點:
- 都是從資料中提取資訊的過程。
- 都是數學與電腦結合的產物。
- 都能幫助人們進行判斷和決策。
二、機器學習的基本概念
1. 資料集、特徵和標籤
-
資料集(Dataset):由多個樣本組成的結構化資料,通常以表格形式呈現。
-
樣本(Instances/Examples):資料集中的每一筆觀測記錄,相當於表格中的一行。
-
特徵(Features):用來解釋和預測結果的變數,相當於表格中的一列(自變量)。
-
標籤(Labels/Targets):我們關注的最終結果,相當於表格中用來預測的那一列(因變量)。
2. 機器學習任務的分類
-
監督式學習(Supervised Learning):資料集帶有標籤資料,透過學習已知標籤來進行預測。
-
迴歸(Regression):目標變量為連續型數值,例如預測房價。
-
分類(Classification):目標變量為離散型類別,例如判斷郵件是否為垃圾郵件。
-
非監督式學習(Unsupervised Learning):資料集沒有標籤資料,目標是挖掘特徵資料中的資訊。
-
聚類(Clustering):根據資料分佈將樣本分組。
-
強化學習(Reinforcement Learning):基於「行動-反饋」機制進行自我學習,以最大化獎勵為目標,通常應用於動態、瞬息萬變的環境中(例如遊戲AI)。
-
遷移學習(Transfer Learning):一種加速學習的模式,將一個已訓練好的模型的參數應用於新的相關任務,而非從零開始學習。
3. 特徵資料類型
常見的特徵資料類型包括:
-
數值型(Numerical):如溫度、價格。
-
分類型(Categorical):如性別、地區。
-
文本(Text):如姓名、地址。
-
日期(Datetime):如2018-08-26。
4. 訓練集、驗證集和測試集
為了公平評估模型,資料集通常被分為三部分:
-
訓練集(Training Set):用於訓練模型並確定參數。
-
驗證集(Validation Set):用於模型的選擇與最佳化,幫助調整參數。
-
測試集(Test Set):用於最終評估已訓練好的模型,檢驗其在未見過資料上的表現,避免「過擬合(Overfitting)」現象。
5. 機器學習任務流程
一個完整的機器學習任務通常包含以下六個步驟:
-
資料導入:讀入結構化或非結構化資料。
-
探索性分析:了解資料的初步特性。
-
資料清洗:處理缺失值、異常值等問題。
-
特徵工程:從原始資料中創造新特徵或轉換特徵格式。
-
演算法選擇和最佳化:挑選合適的模型並調整參數。
-
模型訓練和評估:使用訓練集訓練模型,並用測試集評估其性能。
其中,探索性分析、資料清洗和特徵工程統稱為「資料預處理」。