(機器學習,深度學習)關於擬合,欠擬合,過擬合的問題解釋和圖例(肯定看得懂系列)


本篇主要介紹 什麼是擬合,什麼是欠擬合,什麼是過擬合的問題,主要面對 機器學習,深度學習 的觀望者和初學者

1.關於擬合的介紹

前排提示:如果關於這部分的介紹閱讀有困難,請先移步到 /關於AI的入門介紹(編輯中)/ 這篇文章進行前提知識閱讀

所謂的擬合,就是將平面中的許許多多的點用一條線連接起來,如圖:
在這裏插入圖片描述
這就是平面中的一堆點,擬合就是要將這些點連起來。但到底是怎樣的連接確實一個很大的問題,如圖:
在這裏插入圖片描述
雖然都已經將全部的點連接起來,但是方式不同。也就是擬合的效果不同。

要知道進行擬合就是爲了預測數據,按照上圖1,3的擬合方式進行預測,結果肯定比想象的還要差。

所以要記住,在機器學習和深度學習等AI領域中,

AI=數據+模型

數據決定了AI的上限,模型決定了AI的下限,只要擬合模型靠譜,再不精確的數據也能計算出相對來說靠譜的結果

2.欠擬合

現在我們已經知道了什麼叫做擬合,那麼除了正確的擬合模型外,也存在着欠擬合和過擬合的問題

所謂的欠擬合,如圖:
在這裏插入圖片描述
擬合就是在圖中畫一條能表示點的線,那麼上圖也完成了任務,雖然表示的效果不好,用這麼一條線表示點的分佈規律顯然是要被唾棄的。

如此,我們可以視爲計算機出工但沒有出力

隨便畫了一條線糊弄過關,這就是欠擬合

3.欠擬合的解決方法

在欠擬閤中,我們可以注意到,畫出的擬合線與實際數據分佈是不符合的
這就好像說你唱歌不跑調,只不過原唱和你唱的不一樣
那麼解決欠擬合的方法就有以下兩種思路:

  1. 把原唱解決
    這個方案顯然是瞎扯

  2. 自己儘量往調上靠
    那麼如何往數據上靠呢?我們繼續觀察數據
    在這裏插入圖片描述
    通過肉眼可知,數據是一條拋物線,但在欠擬合的結果下,無論以什麼樣的角度來畫擬合線,都無法真正的表示出數據的關係

    所以要表示這些數據,首先肯定是使用一條拋物曲線,所以我們就得出瞭解決欠擬合的第二個方法的解決思路

    將原本一維的數據 y=ax+b 加工成二維數據y=ax^2+bx+c

    y=ax+b註定是一條直線

    具體方法請參考本人的另一篇文章 /關於數據維度的操作(編輯中)/

    這樣我們就得到了一條拋物曲線,用於表示數據的關係
    在這裏插入圖片描述
    這樣欠擬合的問題便成功解決

4.過擬合

在上篇中,我們已經介紹了 擬合,欠擬合以及欠擬合的解決方法。

現在便是本篇的重點,關於過擬合的問題

欠擬合一般在實際中很少會遇到,但過擬合一定是繞不開的一個問題

首先介紹什麼是過擬合

在上篇中,我們知道欠擬合就是計算機出工不出力,隨便畫一條線完事

那麼過擬合就是:
在這裏插入圖片描述
計算機今天心情不錯,用力過猛,導致過擬合
如圖:
在這裏插入圖片描述
由圖可見,本來數據點可以用一條紅色的曲線進行擬合,但是AI大爺用力過猛,不僅把現有數據進行了擬合,而且自作主張的畫出了本不應該存在的後續範圍而且還是錯的

這就是過擬合,簡而言之,用力過猛

5.過擬合詳解

  1. 造成過擬合的原因
    1. 模型過於複雜,也就是在欠擬閤中提到的,一維變二維,或者變成了三四五六維,上圖便是進行了五維的擴充而導致的。由此可見,數據的維度並不是越高越好。
      那麼到底使用幾維的數據呢?
      要解決這個問題也簡單
      一個一個試
    2. 在數據中存在着過多的無用屬性,舉個例子,在關於當代年輕人收入水平的預測中,每個樣本以及預測數據中的名字就是一個用不到屬性。也就是說結果和該屬性沒有直接,間接的關係
  2. 解決過擬合的方法
    1.簡化模型,將高緯數據降低
    2. 進行PCA 如果不知道什麼是PCA 請移步到 /關於PCA的介紹(編輯中)/
    3. 在進行模型訓練時,增加正則化項

過擬合模型在對訓練數據進行預測時,準確率極高
過擬合模型在對測試數據進行預測時,準確率極低
過擬合模型就是在追求對於訓練數據的極致描述,不具備通用性,不能進行推廣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章