為提供您更多優質的內容,本網站使用 cookies 分析技術。若繼續閱覽本網站內容,即表示您同意我們使用 cookies,關於更多 cookies 資訊請閱讀我們的 隱私權政策
線上課程
每日5分鐘
技能飆升中
當你對一個現象有許多種解釋時,記得選擇最簡單的那一個。
【別把隨機當必然】想盡辦法解釋的現象,可能僅是「隨機」的結果

如果你要教電腦去找出一個公式,用來計算出身高與體重的關係,那麼你的第一件事情就是收集很多人身高與體重的資料(data),然後跑一個線性迴歸分析(Linear Regression),在身高與體重的平面上找出一條直線去match這些data,這條直線電腦就拿來當作是計算身高體重的公式:你給了電腦身高,電腦就算出體重給你,反之亦然。

這是機器學習最簡單的一個例子。電腦所做的事情不過就是從資料看出身高與體重之間的大略關係。之所以說是大略關係,是因為我們讓電腦假設身高與體重的關係完全是線性的,所以我們找了一條直線去當作身高和體重的模型:身高越高,體重就越高。

但是大家都知道身高和體重不可能剛好是線性的關係,有些人很高但是體重卻很輕,有些人很矮但是體重卻很重。所以當我們用一條直線來解釋這些資料的時候,實際上我們會有一些誤差存在。但是我們知道,以統計上來講,這個趨勢是對的,身高越高的人通常體重會比較重,所以當我們知道了某個人的身高,然後用這條直線去預測那個人的體重時,大部分的時候我們預測出來的結果不會差太遠。

現在有人覺得直線不是一種預測身高體重很好的model,所以想要用比較複雜的曲線來重新fit這些資料,結果他找出了一條完美的曲線來解釋這些資料,這條曲線毫無誤差,可以在平面上完全穿過所有資料點。

但是這個曲線會出現一個大問題:這條曲線完全沒有辦法拿來預測一個人的體重:你有一個人的身高,然後拿這條曲線去預測這個人的體重,你會發現大部分的時候算出的體重都是相當離譜。而且這條曲線看起來會彎彎曲曲,完全沒有辦法看出身高與體重大致上是呈現線性的關係。

這種現象就稱為Overfitting,從字面上的意思來看就是:我們對於資料做了過多的解釋。Overfitting這個現象,在統計學習理論上已經可以用數學來量化,在這邊我們就略過不談。

Overfitting給我們最大的啟示就是,不要對你的資料和你看到的現象做過多的解釋。

研究哲學的人都知道Occam’s Razor這個原則:「當你對一個現象有許多種解釋時,記得選擇最簡單的那一個。」

延伸閱讀

  1. 1 黃金思維圈:學會隨時問「為什麼」
  2. 2 李雪雯:想讓薪水「領得久、領得多」, 一定要好好思考2大重點
  3. 3 引進「對的資本」,而非「引狼入室」
  4. 4 不會寫程式=沒前途?微軟總裁:想升遷,應向文組人學習

你可能有興趣的