JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

資料才是真正的燃料

模型搶盡了風頭,真正出力的卻是資料。來認識那些默默決定模型是天才還是廢品的樣本、特徵與標籤——以及為什麼「垃圾進、垃圾出」是機器學習裡最誠實的一條定律。

模型真正學習的對象

到現在你已經知道,模型是一個帶有可調參數的函數,而監督學習透過觀察樣本來調整這些參數。但樣本從哪來、又由什麼構成?這正是本階梯要講的內容。[[dataset|資料集]]說白了就是一堆樣本的集合——試算表裡的一行行記錄、資料夾裡的一張張照片、資料庫裡的一條條客戶資料。模型永遠看不到真實世界,它看到的只有資料集。所以對模型來說,資料集就等於整個世界。

每一條單獨的記錄叫做一個樣本(也叫示例、實例或一行)。一個樣本可能是一封郵件、一套房源資訊,或一張貓的照片。資料集不過是把許許多多這樣的樣本堆在一起。而真正有意思的問題永遠是同一個:每個樣本說了些什麼,我們又想從中預測出什麼?

特徵與標籤:輸入和答案

在每個樣本內部,我們把資訊分成兩種角色。[[feature|特徵]]是輸入——也就是模型被允許查看的、可測量、可描述的事實。對一套房子來說,特徵可能是面積、臥室數量和所在社區。[[label|標籤]]則是我們希望模型給出的答案——對這套房子而言,也許就是它的成交價。特徵送進去,預測則試圖去匹配應當輸出的標籤。

# One labeled example: features -> label
features = {
  "sqft": 1200,
  "bedrooms": 2,
  "neighborhood": "riverside"
}
label = 450000   # the sale price we want to predict

# A dataset is just many rows like this
dataset = [(features_1, label_1), (features_2, label_2), ...]
特徵是模型讀取的內容,標籤是它試圖輸出的結果。資料集就是把成千上萬這樣的「特徵—標籤」對堆疊起來。

並不是每個資料集都帶標籤。在監督學習中,每個樣本都附有標籤,而取得這些標籤往往意味著花錢雇人做[[data-annotation|標註]]——一張張點過幾千張圖、標出哪些含有腫瘤,或把評論一條條評為正面或負面。這種標註既慢又貴,這也正是無標籤資料為何要豐富得多的原因。相比之下,挑選好的特徵則是特徵工程的手藝,本階梯後面的指南會專門講。

結構化資料與非結構化資料

資料大體上有兩種形態。結構化資料本就住在整齊的表格裡:每一欄含義清晰,比如年齡、價格或國家。銀行的交易流水、醫院的病歷就是結構化的——每一欄都是現成的特徵。非結構化資料則是除此之外的一切:純文字、影像、音訊、影片。一張照片不過是一格格像素,一則推文不過是一串字元。沒有任何帶標籤的欄位來告訴模型「這塊是天空」或「這個詞是動詞」。

這一區分解釋了很多 AI 歷史。決策樹這類經典方法在整潔的結構化表格上如魚得水。而深度學習之所以引起轟動,正是因為它學會了直接從非結構化的像素和文字中提取有用特徵——這本是過去要靠人手工去做的活。但「非結構化」從不意味著「不用費功夫」,它只是意味著結構被藏了起來,總得有人把它哄出來。

垃圾進,垃圾出

這就是這個領域裡最誠實的一條定律:模型的好壞上限,由它學習的資料決定。如果你有一半的房價輸錯了,或者你的貓照片其實全來自同一個品種,那再聰明的架構也救不了你。模型會忠實地學到資料中的一切規律——包括其中的錯誤。這就是垃圾進、垃圾出,它不是一句套話,而是真實 AI 工作裡每天都在上演的現實。

這正是為什麼現實中大量精力都花在資料清洗上:修正錯別字、去掉重複項、決定缺失值怎麼處理、抓出那條把年齡寫成 999 的記錄。這活兒不起眼,幾乎從不會出現在示範影片裡,卻往往佔了整個工作量的八成。本階梯後面的指南會深入那些更隱蔽的陷阱——資料洩漏、類別失衡、偏見——它們能在資料「看起來」很乾淨時照樣毀掉一個模型。

以資料為中心的 AI:別再調模型了

多年來,一旦模型表現不佳,人們的本能反應就是去換一個更花俏的架構。[[data-centric-ai|以資料為中心的 AI]]則是如今已成主流的反向思路:把模型固定住,轉而去改進資料。在許多真實專案裡,重新標註那 200 個讓模型犯迷糊的樣本,或者修正前後不一致的標註規範,帶來的提升遠超過換一個更大的網路。撬動效果的槓桿,往往藏在資料裡,而不在模型裡。

  1. 親手看你的資料。真的去讀樣本、去看圖片——大多數問題在訓練之前,肉眼就能發現。
  2. 找出模型出錯的地方,再去逐一檢查那些樣本——是標籤錯了,還是它本身就模稜兩可?
  3. 去修正標籤和標註規範,而不只是改那幾行問題資料;標籤一致比標籤完美更重要。
  4. 用改進後的資料重新訓練再比較——讓資料的變化(而非直覺)來判斷你是否真的有幫助。

所以當你繼續往上爬完這一階梯時,記住一個畫面:模型是人人稱羨的引擎,但資料才是燃料。再了不起的引擎,燒著髒燃料也會咳喘、熄火——宣傳冊上寫多大馬力都沒用。接下來的指南會一步步教你,如何把這份燃料提煉乾淨。