機器學習是什麼?core concepts與development environmentinstall

當你聽到「機器學習」這四個字,腦中浮現 是不是密密麻麻 數學公式、戴著眼鏡 資料科學家、以及昂貴 GPU 伺服器?

事實上,機器學習 core concepts非常簡單。讓我們用a生活化 例子來理解。

用買房來理解機器學習

想像你是a第一次買房 人,你走進房仲公司,房仲問你:「請問您想找什麼樣 房子?」

你可能會這麼回答:

  • 「我希望室內坪數大約 30 坪以上」
  • 「預算大概 1500 萬左右」
  • 「希望走路到捷運站不要超過 10 分鐘」
  • 「屋齡不要太老,15 年以內」

房仲聽了你 描述後,在腦中快速回想過去成交 案子,然後跟你說:「我手上剛好有三間符合您需求 房子!」

恭喜你,你剛剛親身經歷了一次機器學習 完整流程

讓我們把這個場景對應到機器學習 術語:

| 買房場景 | 機器學習術語 | |---------|------------| | 你過去看過 房子資料 | 訓練資料 (Training Data) | | 坪數、價格、捷運距離、屋齡 | 特徵 (Features) | | 你最終買了哪間 | 標籤 (Label) | | 房仲腦中 配對邏輯 | 模型 (Model) | | 你說出需求 | 預測 (Prediction) |

機器學習 本質就是:從過去 資料中找出規律,然後用這個規律來預測新 資料。

機器學習 three類型

all 機器學習問題,都可以歸類為以下三種:

1. 監督式學習 (Supervised Learning)

這是最常見也最實用 機器學習類型。它 概念是:你給computers一堆「有答案 題目」,讓它學會作答,然後拿「沒答案 題目」來考它。

迴歸 (Regression):預測a連續數值

  • 房價預測(輸出:1200 萬)
  • 明天氣溫預測(輸出:28.5°C)
  • 下個月營業額預測(輸出:$350,000)

分類 (Classification):預測a類別

  • 這封 Email 是垃圾郵件嗎?(輸出:是/否)
  • 這筆交易是詐騙嗎?(輸出:正常/可疑/詐騙)
  • 這張照片是貓還是狗?(輸出:貓/狗)

2. 非監督式學習 (Unsupervised Learning)

你給computers一堆「沒有答案 資料」,讓它自己找出其中 「群組」或「模式」。

  • 客戶分群:根據消費行為,把客戶分成「高價值 VIP」、「一般客戶」、「休眠客戶」
  • 異常檢測:自動找出與眾不同 資料點(例如信用卡盜刷)

3. 強化學習 (Reinforcement Learning)

讓computers像玩遊戲一樣,透過「嘗試 → 獎勵/處罰」 方式自己學會最佳策略。

  • AlphaGo:擊敗世界棋王 圍棋 AI
  • 自駕車:在模擬環境中學會開車

機器學習 標準開發流程

不管你用什麼演算法,機器學習專案通常遵循以下六個步驟:

1. 定義問題 → 2. 收集資料 → 3. 資料清洗與特徵工程
                                    ↓
4. 選擇演算法並訓練模型
    ↓
5. 評估模型
    ↓
6. 部署與預測
  • 步驟 1:你要預測什麼?(房價?點擊率?流失機率?)
  • 步驟 2:收集相關 歷史資料(從database、CSV、API 等)
  • 步驟 3:處理缺失值、移除異常值、轉換資料格式(最耗時 步驟!)
  • 步驟 4:選擇適合 演算法,用訓練資料來「訓練」模型
  • 步驟 5:用測試資料評估模型準確率
  • 步驟 6:將模型包裝成 API,整合到你 應用中

install Python 機器學習環境

我們將使用 Anaconda(或 Miniconda)來managed Python 環境,這是最簡單 方式。

install Miniconda(輕量級,推薦)

# macOS (Intel / Apple Silicon)
brew install miniconda

# 或者手動下載
# https://docs.conda.io/en/latest/miniconda.html

建立專屬環境

# 建立一個名為 ml-course 的 Python 環境
conda create -n ml-course python=3.11

# 啟動環境
conda activate ml-course

# 安裝所需的套件
pip install pandas numpy matplotlib seaborn scikit-learn jupyter joblib

確認install

打開 Python 直譯器,輸入以下指令確認每個套件都能正常載入:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import sklearn

print(f"Pandas version: {pd.__version__}")
print(f"NumPy version: {np.__version__}")
print(f"Scikit-Learn version: {sklearn.__version__}")

如果每個套件都能正常載入,你 機器學習環境就準備完成了!

本日總結

在本章中,你學到了:

  1. 機器學習 本質:從資料中找出規律,用來預測新資料
  2. three類型:監督式學習(迴歸/分類)、非監督式學習、強化學習
  3. 標準開發流程:從定義問題到部署模型 六個步驟
  4. development environmentinstall:使用 Miniconda 建立 Python 機器學習環境

下一章,我們將實際取得一份真實 資料集,並用 Pandas 進行資料清洗與探索!

会員限定無料チュートリアル

このチャプターは登録会員限定の無料コンテンツです!ログインまたは登録してすぐにロックを解除してください。

今すぐログイン / 登録