iT邦幫忙

0

每日一篇學習筆記 直到我做完專題 :( [Day37]

  • 分享至 

  • xImage
  •  

今天學一點點機器學習各種名詞解釋

Label(標籤):通常是指我們想要預測的目標

Feature(特徵):數據會有不同的特徵例如面積、地段、屋齡等等都是房屋的特徵值

Sample(樣本):通常是指一筆包括許多特徵資料 例如一棟房的面積、地段、屋齡等等

Training Set(訓練集):是使用最多數據的部分,拿來訓練機器根據特徵值來預測我們要的標籤
Test Set(測試集):利用測試集來測試我們的訓練集所訓練出來的模型預測的結果
Validation Set(驗證集):用於調整模型

Overfitting(過擬合):是指訓練出來的模型並沒有找到規律,而是 記住了 數據上的噪點與細節

為甚麼會Overfitting:可能是數據太過漂亮,並沒有過多的噪點,又或是模型太複雜,沒有足夠的數據支撐,也可能是數據的特徵值對於我們所想預測的標籤不夠有影響

該如何解決呢Overfitting:應該提供更多的數據樣本來訓練,或是提供更多的標籤,如果是模型太過複雜那可以選擇更簡單的模型(較少的數據使用較簡單的模型也會有更好的效果),也可以使用Regularization(正則化)

Regularization(正則化):正則化的核心是在模型的損失函數中加入一個額外的懲罰項,用來限制模型參數的大小,分成L1跟L2

Lasso Regression(L1正則化):又叫「一階正則化」,懲罰參數的絕對值和,可以讓不需要的特徵參數直接變0,可以讓我們選擇要使用什麼特徵值

Ridge Regression(L2正則化):又叫「二次正則化」,懲罰參數的平方和,模型內的參數也會變小,但不會直接歸零

Generalization(泛化能力):是指我們訓練出來的模型對於新數據的預測準確率,當然我們Generalization越高也就是我們的模型越準確

如何提升Generalization:防止模型Overfitting,或是可以收集更多的數據、特徵值進行訓練集的訓練,也可以進行Cross-Validation(交叉驗證)也就是拿不同的數據來比對跟訓練,來調整參數使模型預測的更精確

Underfitting(欠擬合):訓練集與測試集的誤差都很大,可能是數據量太少,或是模型太簡單

如何解決Underfitting:提供更多數據、提升模型的複雜度、增加更多特徵值或是調整Learning Rate(學習率)、迭代次數等超參數

Learning Rate(學習率):可以控制模型更新參數的速度

如果Learning Rate太高:會使模型更新參數的步數過高,常常接近最完美的參數,但因步數太高所以越過了最佳解,使模型無法收斂

如果Learning Rate太低:會使模型更新參數步數降低太多,模型迭代太慢,導致模型訓練緩慢、效率低下,甚至停滯

如何找到最好的Learning Rate:使用Learning Rate Finder(學習率搜索)的方法,可以更加科學的找出最佳的學習率,或使用優化器如 Adam、RMSprop等可以自動調整學習率的優化器

今天先學到這邊
明天還有很多可學的呢:)


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言