Regularisasi dalam Machine Learning: Konsep, Jenis, dan Penerapannya

Dalam proses membangun model Machine Learning, salah satu tantangan terbesar adalah menghindari overfitting — kondisi ketika model terlalu menyesuaikan diri dengan data training sehingga gagal mengeneralisasi pada data baru.
Untuk mengatasi masalah tersebut, digunakan teknik yang disebut regularisasi (regularization).

Regularisasi membantu mengontrol kompleksitas model dengan menambahkan penalti terhadap parameter yang terlalu besar. Dengan demikian, model menjadi lebih stabil, lebih sederhana, dan lebih mampu mengenali pola yang benar-benar relevan dari data.

Apa Itu Regularisasi?

Regularisasi adalah teknik untuk mencegah overfitting dengan menambahkan penalti (regularization term) pada fungsi loss. Penalti ini membuat model cenderung memilih parameter yang lebih kecil dan sederhana.

Secara umum:

  • Loss_original → error antara prediksi dan label
  • Penalty → nilai penalti untuk parameter besar
  • λ (lambda) → hyperparameter yang mengatur kekuatan regularisasi

Semakin besar λ, semakin kuat regularisasi.

Mengapa Regularisasi Penting?

Mengurangi Overfitting

Model tidak terlalu fleksibel dan tidak menangkap noise pada data.

Meningkatkan Generalisasi

Model lebih baik dalam memprediksi data baru.

Menstabilkan Training

Parameter tidak tumbuh terlalu besar sehingga model lebih stabil.

Mengatasi Multicollinearity

Pada regresi, regularisasi membantu ketika fitur saling berkorelasi.

Jenis-Jenis Regularisasi

Berikut beberapa teknik regularisasi yang paling umum digunakan.

L1 Regularization (Lasso)

L1 menambahkan penalti berupa jumlah absolut dari semua parameter.

Karakteristik:

  • Mendorong beberapa parameter menjadi nol
  • Efektif untuk feature selection
  • Cocok ketika terdapat fitur tidak relevan

Contoh Python:

from sklearn.linear_model import Lasso

model = Lasso(alpha=0.1)
model.fit(X_train, y_train)

L2 Regularization (Ridge)

L2 menambahkan penalti berupa jumlah kuadrat dari parameter.

Karakteristik:

  • Tidak mengurangi parameter menjadi nol
  • Parameter besar dipaksa menjadi lebih kecil
  • Stabil dan paling banyak dipakai

Contoh Python:

from sklearn.linear_model import Ridge

model = Ridge(alpha=1.0)
model.fit(X_train, y_train)

Elastic Net

Menggabungkan L1 dan L2.

Karakteristik:

  • Memiliki kelebihan L1 (feature selection)
  • Memiliki stabilitas dari L2
  • Cocok untuk dataset dengan banyak fitur dan korelasi antar fitur

Contoh Python:

from sklearn.linear_model import ElasticNet

model = ElasticNet(alpha=0.1, l1_ratio=0.5)
model.fit(X_train, y_train)

Regularisasi pada Decision Tree / Random Forest

Meskipun pohon keputusan tidak menggunakan L1/L2, model ini juga memiliki bentuk regularisasi:

Parameter Regularisasi pada Tree:

  • max_depth → membatasi kedalaman pohon
  • min_samples_split → jumlah minimum sample untuk memecah node
  • min_samples_leaf → minimum sample untuk daun
  • max_leaf_nodes → maksimum jumlah leaf

Tujuan:

Menghindari pohon menjadi terlalu besar sehingga overfitting.

Contoh Python:

from sklearn.tree import DecisionTreeClassifier

tree = DecisionTreeClassifier(max_depth=5)
tree.fit(X_train, y_train)

Regularisasi pada Neural Network

Neural Network/ Deep Learning rentan overfitting karena jumlah parameternya sangat besar. Berikut teknik regularisasi umum:

Dropout

Menghilangkan sebagian neuron secara acak selama training.

Tujuan:

  • Mengurangi ketergantungan antar neuron
  • Menyederhanakan model
  • Meningkatkan generalisasi

Contoh (Keras):

from keras.layers import Dropout

model.add(Dropout(0.3))

L2 Weight Decay

Menambahkan penalti L2 pada bobot neural network.

Contoh (PyTorch):

optimizer = torch.optim.Adam(model.parameters(), weight_decay=1e-4)

Data Augmentation

Menambah variasi data untuk membuat model lebih robust.

Contoh:

  • Rotasi gambar
  • Zoom in/out
  • Flipping
  • Noise injection

Early Stopping

Menghentikan training ketika validation loss meningkat.

Contoh:

from keras.callbacks import EarlyStopping

EarlyStopping(patience=3, restore_best_weights=True)

Bagaimana Memilih Teknik Regularisasi?

Gunakan tabel sederhana berikut sebagai panduan:

KondisiTeknik Regularisasi yang Cocok
Banyak fitur tidak relevanL1 (Lasso)
Fitur saling berkorelasiL2 (Ridge)
Model ingin seimbang L1 & L2Elastic Net
Decision Tree terlalu dalammax_depth, min_samples_leaf
Neural Network overfittingDropout, Weight Decay, Early Stopping
Dataset kecilData Augmentation, L2

Contoh Kasus Sederhana

Misalnya model regresi memprediksi harga rumah dan terjadi overfitting. Solusi:

  • Gunakan Ridge Regression untuk menstabilkan koefisien
  • Kurangi fitur tidak relevan dengan Lasso
  • Gunakan cross-validation untuk menentukan nilai λ terbaik

Penutup

Regularisasi adalah komponen penting dalam Machine Learning modern.
Dengan menerapkan teknik yang tepat:

  • Model menjadi lebih sederhana
  • Overfitting berkurang
  • Generalisasi meningkat
  • Performa pada data nyata jauh lebih baik

Baik model sederhana seperti linear regression maupun kompleks seperti neural network membutuhkan regularisasi untuk hasil optimal.