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:
| Kondisi | Teknik Regularisasi yang Cocok |
|---|---|
| Banyak fitur tidak relevan | L1 (Lasso) |
| Fitur saling berkorelasi | L2 (Ridge) |
| Model ingin seimbang L1 & L2 | Elastic Net |
| Decision Tree terlalu dalam | max_depth, min_samples_leaf |
| Neural Network overfitting | Dropout, Weight Decay, Early Stopping |
| Dataset kecil | Data 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.