📘機器學習自學 EP.1 |我眼中的機器學習:我從不理解它到它不理解我

更新於 發佈於 閱讀時間約 8 分鐘
我停止書寫條件,讓模型自行低語。

它比我預期的還快學會了預測。

現在換我困惑了。

那些藏在你腦中的答案,是從哪裡來的?

前言

類神經網路、機器學習等 AI 技術其實早已存在多年,但直到近幾年隨著硬體效能的大幅提升,這些技術才迎來了真正的爆發。過去我總是「看著 AI 說話、聽著 AI 表演」,卻始終沒能踏進這場技術盛宴。

直到碩士課程的第一年,我選修了一門人工智慧的課,才第一次親身體驗了什麼叫「機器學習」。

當然,3 學分的一學期課程不可能涵蓋整個 AI 的廣度與深度。那堂課主要從簡單的理論出發,接著透過 Python 實作進行展示。我們選用了 Kaggle 上經典的入門題目——Titanic - Machine Learning from Disaster 作為練習素材。

本系列文章將分享我在自學機器學習過程中的實戰經驗與感想,內容未必面面俱到,也可能有些疏漏,

但都是我真實碰到的狀況、解法與成長軌跡。

如果你也正走在這條路上,或許我們能在彼此的嘗試中找到一點共鳴。

機器學習是甚麼?我對它的理解

以往我們在寫程式時,常會透過「條件判斷」來解決問題。以垃圾郵件篩選為例,傳統做法會像這樣:

如果信件內容包含「中獎」、「免費」、「貸款」這些關鍵字,就標記為垃圾信。

這樣的邏輯其實就像在寫一個函數 y=f(x),其中的 f(x) 是由工程師手動訂出的規則。這種方法的問題在於——規則寫得再多,都趕不上垃圾信內容變化的速度。只要詐騙者把「免費」改寫成「𝒻𝓇𝑒𝑒」或「免︿費」,這條規則就會瞬間失效。

機器學習怎麼做?

與其一條條寫規則,不如讓機器自己學會規則

機器學習的核心思想是這樣的:

  • 我們不知道正確的規則函數 f(x) 長什麼樣。
  • 但我們手上有很多筆資料,每一筆都有「輸入」x 和「對應的結果」y。
  • 透過這些 (x, y) 的組合,我們希望找出一個函數 f,使得 f(x) ≈ y

也就是說,我們不是直接告訴機器什麼是垃圾信,而是給它幾千筆人類已經標註過的信件(哪些是垃圾、哪些不是),讓它自己從中觀察規律——哪些特徵的出現,會讓一封信更有可能被判定為垃圾。

這樣的做法帶來幾個關鍵優點:

  • 模型能發現人類無法輕易察覺的潛在規律
  • 不需要人工一條一條新增條件式
  • 當詐騙手法稍微改變時,只要模型曾見過類似資料,它仍可能做出正確判斷

機器學習有哪些元素?

現在我們知道,機器學習的核心在於:給它大量的輸入和對應的結果,讓它自己去學出兩者之間的關聯。這整個過程,雖然模型會自己學規則,但背後其實還是人類在設計流程、選擇資料、清理錯誤、做出調整。

我自己把機器學習的流程,簡單分成以下五個階段:

1. 資料清理(Data Cleaning)

現實中的資料往往又亂又髒——有缺值、有錯字、有不一致的類別,有差距過大的內容,這一步就是「打掃資料」,讓模型不會因為錯誤資訊而學壞。

📌 例如:名字欄位有的寫 "male"、有的寫 "Male"、有的乾脆拼錯成 "mael",你不處理,模型就會以為那是三種性別。

2. 特徵工程(Feature Engineering)

你得幫模型決定該看哪些資訊。例如你想預測某人會不會買保險,「年齡」是重要特徵,「姓氏第一個字母」可能就不那麼有用。甚至可以結合兩個特徵而生成新的特徵,增加泛化能力。

📌 特徵工程就像是「挑選考試會考的範圍」,讓學生(模型)專心念對的東西。

3. 模型建立(Model Selection)

你要決定要用哪種模型來解這個問題——邏輯迴歸、決策樹、隨機森林、神經網路……每種模型擅長的領域都不一樣。

📌 就像選老師一樣,有的老師講理論、有的老師給範本,得看你要的是哪一種理解方式。

4. 模型訓練(Model Training)

這一步就是「讓模型開始學」,它會透過你提供的大量資料來調整自己的內部參數,最後變成一個可以預測的工具。

📌 這就像不斷做題練習、累積經驗值,直到學生抓到規律。

5. 封裝應用(Deployment / Inference)

當模型學會後,我們要把它應用到新的資料上——這一步也包含了封裝成服務、串接到產品中,甚至讓它自動更新。

📌 就像學生考完模擬考後,真的進入考場,面對真正的題目。

🤖 聽起來好多步驟,機器學習不就是放給它自己學嗎?

是的,機器學習的終極目標,的確是讓機器自己去學習規律、做出判斷,理想上連特徵都不需要我們人工處理

但就像人類學習的時候一樣,我們的課本、講義,其實早就是「前人整理好的特徵」,幫助我們跳過試誤、直接掌握重點。

同樣地,在實務上,我們仍需要針對資料進行整理與特徵工程,才能讓模型學得更快、更準、更穩定。

🧪 那有沒有「真的什麼都不整理」的做法?

有的,這類方法我們稱為 無監督式學習(Unsupervised Learning)

它不需要標籤資料,也不依賴明確的目標輸出,而是讓模型自己在大量資料中「找出規律」。像是:

  • 分群(Clustering):將資料自動分成幾類(如 K-means)
  • 降維(Dimensionality Reduction):找出資料的主要特徵軸(如 PCA)
  • 關聯分析:像購物車分析(Market Basket Analysis)

這類學習方式,就比較接近你說的「讓機器自己去摸索」,但用途和適用場景和監督式學習略有不同。


ML大概清楚了,那DL與RL呢?

說到這裡,我們也順便來釐清三個常見但容易混淆的名詞:

名稱全名簡單理解常見應用

1️.ML:Machine Learning(機器學習)

  • 簡單理解:給模型大量輸入+輸出,讓它找出規則
  • 常見應用:預測、分類、推薦系統(如信用評分、商品推薦)

2️. DL:Deep Learning(深度學習)

  • 簡單理解:機器學習的一種,使用多層神經網路自動學特徵
  • 常見應用:語音辨識、影像分類、文字生成(如語音助理、BERT)

3️. RL:Reinforcement Learning(強化學習)

  • 簡單理解:透過「試誤」與環境互動,學習如何獲得獎勵最大化
  • 常見應用:遊戲 AI、自駕車控制、機器手臂操作

✅ 我這一系列的筆記,會主要聚焦在「傳統機器學習」這個大框架中,也就是處理表格型資料的分類與回歸任務。至於 DL 與 RL,未來會再額外補充延伸應用與實作心得。

結語

機器學習的整體脈絡大致如此,當然還有許多細節無法在這一篇完整展開。

不過,我想這至少為我們開啟了一道入口。

接下來,我會分享在我自學機器學習過程中,最一開始被忽略,卻也可能是最關鍵的一個環節:資料清理

那些看起來像是在整理 Excel 的瑣碎小事,往往才是決定模型能不能學得好、學得對的真正核心。

留言
avatar-img
留言分享你的想法!
avatar-img
夕月之下
0會員
4內容數
在模型尚未收斂前,記下語言的提示與意圖。觀察者、語言與語言模型的交界。