機器學習是什麼?用垃圾郵件看懂從例子找規律

機器學習是讓電腦從資料中找出可用規律,再拿來分類、預測或完成其他任務的方法。學到的計算方式稱為「模型」。以垃圾郵件為例,模型可以從已分類的信件學習判斷方式,再用來判斷一封沒看過的新信。

這裡的「學習」不表示電腦自然擁有人的理解或意識。你可以沿著一封信的去向,看懂資料如何變成判斷依據,也看懂它為什麼仍會出錯。


機器學習和寫好規則有什麼不同?

假設你先訂一條規則:「信裡只要出現『免費』,就放進垃圾桶。」這是人先寫好條件,電腦依條件執行。但「免費講座報名成功」可能是你正需要的正常通知,照這條規則也會被擋。

機器學習採取另一種路徑:提供多種信件例子,讓模型根據資料調整判斷方式,而不是由人把每一個組合全部列完。文字內容、寄件資訊等都可以成為線索;不過,模型仍可能抓到不可靠的關係。

機器學習也需要人決定任務、挑選資料與檢查結果,不是把資料丟進去就不用管了。這個比較只是幫你看出判斷方式的來源;真實系統也可以把手寫規則和模型搭配使用。Google 的入門課程以資料學習和預測說明這個核心概念。

從資料學出判斷方式

用已分類的信件,讓模型練習判斷

先看兩筆簡化資料。假設已有人確認第一封是正常的報名通知,第二封是誘導收件者匯款的垃圾信。以下是自製的教學例子,不是 Gmail 的真實規則,也不是實際模型測試。

信件中可提供的資訊 事先確認的答案
活動主辦方寄來:「免費講座報名成功,請準時參加。」 正常信
陌生寄件者宣稱:「你已中獎,請先匯款才能領取。」 垃圾信

用於判斷的輸入資訊叫作特徵,例如信件文字或寄件資訊;事先知道的答案叫作標籤,在這裡就是「正常信」或「垃圾信」。模型透過許多這樣的例子,學習輸入資訊與答案的關係。

這種有配對答案的機器學習方法稱為「監督式學習」。分類就是判斷資料屬於哪一類。兩筆資料只用來示範長相,不代表足以建立可靠模型,也不代表看到陌生寄件者就該一律擋信。Google 的監督式學習課程說明了資料、答案與模型的關係。

機器學習如何用在一封沒看過的信?

現在收到另一封信:「你的講座報名已完成。」假設它確實來自主辦方,而且收件者真的報名過。使用機器學習做分類時,流程可以分成三個可理解的動作:

  1. 把新信件的文字與可用寄件資訊交給模型,這些是這次判斷的輸入。
  2. 模型依學到的規律,產生正常信或垃圾信的類別判斷。
  3. 用事先確認的實際答案核對結果:若判正常信,這一筆答對;若判垃圾信,這一筆就是誤擋。
一封新信如何得到分類

機器學習把這類對未知答案的判斷叫作「預測」,不只指預測未來。本文沒有真的執行模型,所以不替這封信填一個假裝測出來的結果;重點是你知道輸入、判斷與核對各在做什麼。


機器學習為什麼還是會分錯?

第一種情況是舊例學得太貼近,換新信件卻不準,這叫作「過度擬合」。好比模型只抓住原有例子的偶然特徵,沒有學到能用在新情境的規律。因此,評估機器學習應該查看沒有參與訓練的資料,不能只看學過的題目答得多好。Google 的過度擬合說明也以新資料表現區分這個問題。

第二種情況是例子沒有涵蓋會遇到的變化。如果資料裡的垃圾信都寫「免費」,模型可能過度依賴這個詞;新的垃圾信改用「帳號即將停用」之類的話術,就可能漏掉。收進大量相似信件,仍不等於看過各種情境。

看過很多信仍可能分錯

對讀者而言,可以分開看兩種後果:正常信被擋,會錯過重要通知;垃圾信被放行,則可能繼續打擾或誤導收件者。機器學習沒有讓這些錯誤自動消失,遇到重要郵件仍可以核對寄件者與信件內容,並檢查垃圾郵件匣是否誤收。


機器學習只能分類信件嗎?

不只。機器學習也能用在預測數值,例如依房屋資料估計價格;或找出資料中相似的群組,例如把特性接近的商品分在一起。生成文字等內容的系統也會運用這類從資料學習的方法。

不同任務不一定採用同一種學習方式。垃圾信例子使用已知答案,但有些方法會從沒有逐筆答案的資料找規律。因此,不要把本篇的監督式分類當成所有機器學習的固定流程。


看一個模型,要看它遇到新資料時怎麼做

機器學習的核心,是從資料找出可用規律,再拿來處理新的輸入。下次聽到「模型學過很多資料」,你可以接著問:資料包含哪些情況?答案是否可靠?換成沒見過的例子,還能不能做好?這些比只看資料筆數更能幫你理解結果。


參考資料

資料查核日:2026 年 10 月 3 日。郵件例子僅供理解原理,未提供任何產品準確率。

重點整理

機器學習和一般程式有什麼不同?

若由人事先列出「符合哪些條件就做什麼」,判斷規則主要由人指定;機器學習讓模型根據資料例子調整判斷方式。它本身也由程式實作,真實系統可以同時使用手寫規則與模型。

機器學習一定要人先標答案嗎?

不一定。監督式學習需要輸入和已知答案的配對;但機器學習也有從未標答案的資料中找相似群組等方法。垃圾郵件分類是入門例子,不能代表所有學習方法。

機器學習為什麼會判斷錯誤?

可能因為資料沒涵蓋實際情境、標示有誤,或模型學到只適用舊例的不可靠關係。大量資料與舊例答對都不是保證,還要用沒參與訓練的資料檢查表現。
分享此內容: