fbpx
overfitting and underfitting

2 Masalah yang Umum Dialami Data Science

By Fasya Al Rahmah  |  12 Januari, 2022

Overfitting dan Underfitting merupakan keadaan dimana terjadi defisiensi yang dialami oleh kinerja model machine learning. Salah satu fungsi utama dari machine learning adalah untuk melakukan generalisasi dengan baik, terjadinya overfitting dan underfitting menyebabkan machine learning tidak dapat mencapai salah satu tujuan utamanya, yaitu generalisasi. Generalisasi disini adalah mencari tren dominan dari suatu data untuk menghasilkan insight guna memprediksi data yang belum pernah dilihat dengan tepat. Keduanya merupakan masalah fundamental yang kerap kali dialami bahkan oleh seorang ahli.

Apa Itu Overfitting?

Overfitting merupakan keadaan dimana model berusaha untuk mempelajari seluruh detail termasuk noise yang ada dalam data dan berusaha untuk mengikutsertakan semua data point ke dalam garis.

Overfitting

Bayangkan grafik diatas merupakan data jumlah pengguna sepeda motor di Indonesia selama 10 tahun terakhir. Sumbu Y (garis vertikal) menandakan pengguna sepeda motor dan sumbu X (garis horizontal) menunjukkan tahun. Jika ingin melihat jumlah pengguna sepeda motor di Indonesia 5 tahun kedepan, model akan memprediksi jumlahnya berdasarkan data yang dimiliki.

Pada gambar di atas, garis mengenai seluruh data point yang ada. Model ini tidak mempelajari tren dominan pengguna sepeda motor tetapi menghafal setiap data point yang ada. Kompleksnya model membuat model mempelajari data terlalu baik sehingga gagal untuk melakukan generalisasi dari dataset.

Overfitting menjadi masalah karena tujuan kita adalah ingin mendapat tren dari sebuah dataset. Model ini menangkap semua tren tetapi bukan tren yang dominan. Model pun tidak bisa menghasilkan output yang reliable karena tidak memiliki kemampuan untuk dapat memprediksi kemungkinan output untuk input yang belum pernah diketahui. Disini, model tidak dapat memprediksi jumlah pengguna sepeda motor di Indonesia 5 tahun kedepan dengan baik.

Jika dianalogikan, overfitting terjadi pada siswa yang menghafal pertanyaan (data point) untuk ujian, bukan mempelajari konsep materi (tren dominan). Sehingga, ketika ujian ia hanya mampu menjawab pertanyaan yang dihafal dan tidak bisa menjawab pertanyaan di luar hafalannya. Maka hasil ujiannya pun akan lebih rendah dari temannya yang belajar dengan memahami konsep materi.

Apa Itu Underfitting?

Jika overfitting mempelajari data terlalu baik, underfitting justru tidak mempelajari data dengan baik. Underfitting merupakan keadaan dimana model machine learning tidak bisa mempelajari hubungan antara variabel dalam data serta memprediksi atau mengklasifikasikan data point baru.

underfitting & overfitting

Di gambar ini, garis justru tidak mengenai data point manapun seperti bergerak tidak sesuai data yang ada. Model ini tidak menangkap tren dari dataset yang berarti tidak mempelajari pola dari data. Model yang terlalu sederhana berakibat pada model yang tidak bergantung data dan cenderung melakukan asumsi terhadap data. Contohnya model ini berasumsi bahwa datanya linear, padahal ini sama sekali tidak benar. Ketika model melakukan prediksi, prediksi yang dihasilkan akan tidak akurat karena model gagal mempelajari data.

Underfitting sama seperti siswa yang tidak belajar saat ujian. Pada saat ujian, ia cenderung akan asal-asalan menjawab dan berasumsi dalam mencari jawaban yang benar. Tentu nilai ujian siswa ini akan jauh lebih rendah dari teman yang menghafal pertanyaan maupun teman yang memahami konsep

Kenapa Bisa Terjadi Overfitting dan Underfitting?

Overfitting dan underfitting merupakan hasil dari performa machine learning yang buruk. Terdapat beberapa penyebab dari terjadinya overfitting dan underfitting.

Overfitting

  • Data yang Dipakai Kurang Variatif

Data yang tersedia dalam training kurang variatif dibandingkan dengan kompleksitas model. Sehingga jika ingin tetap memakai model yang sama dan menghindari overfitting, gunakan dataset yang lebih bervariatif saat training.

  • Model Terlalu Kompleks

Seringkali, model yang dipakai saat training terlalu kompleks untuk dataset yang cenderung tidak terlalu kompleks. Terjadi ketidakcocokan antara model dan data sehingga terjadi overfitting. Maka, kurangi kerumitan model agar terhindar dari overfitting.

model regresi linear Overfitting

Contohnya dapat dilihat pada model regresi linear, tingkat degree atau derajat sama dengan tingkat kerumitan model. Semakin tinggi degree atau derajat berarti semakin fleksibel model tersebut, hal ini memungkinkan model untuk dapat mengenai data point lebih banyak dibandingkan dengan degree yang lebih kecil. Ini dapat menyebabkan overfitting karena kebebasan garis untuk mengenai lebih banyak data point.

Underfitting

  • Model Terlalu Sederhana

Sebaliknya dari overfitting, model yang dipakai terlalu sederhana untuk dataset yang cenderung kompleks. Umumnya, model gagal untuk mempelajari dataset karena memang tidak diciptakan untuk bisa mempelajari dataset tersebut. Terdapat berbagai jenis data seperti data berupa teks, gambar, audio, atau video. Untuk setiap jenis data ini memiliki model Machine Learningnya tersendiri, perbedaan karakteristik dan kompleksitas membuat kebutuhan untuk model Machine Learning berbeda bagi setiap jenis datanya.

random forest atau naive bayes dan neural network Overfitting

Contohnya seperti pada jenis data gambar, data jenis ini kurang cocok jika hanya menggunakan model machine learning biasa seperti random forest atau naive bayes, tetapi lebih cocok menggunakan neural network yang lebih kompleks. Model biasa hanya akan menganggap nilai pixel dalam gambar sebagai deretan kolom/feature. Dengan menggunakan neural network,nilai pixel direpresentasikan sebagai gambar 2 dimensi sehingga lebih banyak informasi yang bisa ditangkap.

Pada dasarnya, kedua hal ini dapat diatasi dengan memilih model yang sesuai dengan dataset yang dimiliki. Dengan ini, hasil training dan test data akan lebih bernilai dan memenuhi kebutuhan serta tujuan.

Yuk belajar data science di Algoritma Data Science Education Center! Kamu bisa ikut berbagai kelas data science untuk pemula, salah satunya di program Academy kami.

PELAJARI LEBIH LANJUT

The last comment and 12 other comment(s) need to be approved.

Related Blog

Distributed Processing
Apa Itu Data Analysis Expressions?
jadi data scientist
Cara Menjadi Data Scientist Handal
Distributed Processing
Mengenal Apa Itu Distributed Processing

Overfitting dan Underfitting merupakan keadaan dimana terjadi defisiensi yang dialami oleh kinerja model machine learning. Salah satu fungsi utama dari machine learning adalah untuk melakukan generalisasi dengan baik, terjadinya overfitting dan underfitting menyebabkan machine learning tidak dapat mencapai salah satu tujuan utamanya, yaitu generalisasi. Generalisasi disini adalah mencari tren dominan dari suatu data untuk menghasilkan insight guna memprediksi data yang belum pernah dilihat dengan tepat. Keduanya merupakan masalah fundamental yang kerap kali dialami bahkan oleh seorang ahli.

Apa Itu Overfitting?

Overfitting merupakan keadaan dimana model berusaha untuk mempelajari seluruh detail termasuk noise yang ada dalam data dan berusaha untuk mengikutsertakan semua data point ke dalam garis.

Overfitting

Bayangkan grafik diatas merupakan data jumlah pengguna sepeda motor di Indonesia selama 10 tahun terakhir. Sumbu Y (garis vertikal) menandakan pengguna sepeda motor dan sumbu X (garis horizontal) menunjukkan tahun. Jika ingin melihat jumlah pengguna sepeda motor di Indonesia 5 tahun kedepan, model akan memprediksi jumlahnya berdasarkan data yang dimiliki.

Pada gambar di atas, garis mengenai seluruh data point yang ada. Model ini tidak mempelajari tren dominan pengguna sepeda motor tetapi menghafal setiap data point yang ada. Kompleksnya model membuat model mempelajari data terlalu baik sehingga gagal untuk melakukan generalisasi dari dataset.

Overfitting menjadi masalah karena tujuan kita adalah ingin mendapat tren dari sebuah dataset. Model ini menangkap semua tren tetapi bukan tren yang dominan. Model pun tidak bisa menghasilkan output yang reliable karena tidak memiliki kemampuan untuk dapat memprediksi kemungkinan output untuk input yang belum pernah diketahui. Disini, model tidak dapat memprediksi jumlah pengguna sepeda motor di Indonesia 5 tahun kedepan dengan baik.

Jika dianalogikan, overfitting terjadi pada siswa yang menghafal pertanyaan (data point) untuk ujian, bukan mempelajari konsep materi (tren dominan). Sehingga, ketika ujian ia hanya mampu menjawab pertanyaan yang dihafal dan tidak bisa menjawab pertanyaan di luar hafalannya. Maka hasil ujiannya pun akan lebih rendah dari temannya yang belajar dengan memahami konsep materi.

Apa Itu Underfitting?

Jika overfitting mempelajari data terlalu baik, underfitting justru tidak mempelajari data dengan baik. Underfitting merupakan keadaan dimana model machine learning tidak bisa mempelajari hubungan antara variabel dalam data serta memprediksi atau mengklasifikasikan data point baru.

underfitting & overfitting

Di gambar ini, garis justru tidak mengenai data point manapun seperti bergerak tidak sesuai data yang ada. Model ini tidak menangkap tren dari dataset yang berarti tidak mempelajari pola dari data. Model yang terlalu sederhana berakibat pada model yang tidak bergantung data dan cenderung melakukan asumsi terhadap data. Contohnya model ini berasumsi bahwa datanya linear, padahal ini sama sekali tidak benar. Ketika model melakukan prediksi, prediksi yang dihasilkan akan tidak akurat karena model gagal mempelajari data.

Underfitting sama seperti siswa yang tidak belajar saat ujian. Pada saat ujian, ia cenderung akan asal-asalan menjawab dan berasumsi dalam mencari jawaban yang benar. Tentu nilai ujian siswa ini akan jauh lebih rendah dari teman yang menghafal pertanyaan maupun teman yang memahami konsep

Kenapa Bisa Terjadi Overfitting dan Underfitting?

Overfitting dan underfitting merupakan hasil dari performa machine learning yang buruk. Terdapat beberapa penyebab dari terjadinya overfitting dan underfitting.

Overfitting

  • Data yang Dipakai Kurang Variatif

Data yang tersedia dalam training kurang variatif dibandingkan dengan kompleksitas model. Sehingga jika ingin tetap memakai model yang sama dan menghindari overfitting, gunakan dataset yang lebih bervariatif saat training.

  • Model Terlalu Kompleks

Seringkali, model yang dipakai saat training terlalu kompleks untuk dataset yang cenderung tidak terlalu kompleks. Terjadi ketidakcocokan antara model dan data sehingga terjadi overfitting. Maka, kurangi kerumitan model agar terhindar dari overfitting.

model regresi linear Overfitting

Contohnya dapat dilihat pada model regresi linear, tingkat degree atau derajat sama dengan tingkat kerumitan model. Semakin tinggi degree atau derajat berarti semakin fleksibel model tersebut, hal ini memungkinkan model untuk dapat mengenai data point lebih banyak dibandingkan dengan degree yang lebih kecil. Ini dapat menyebabkan overfitting karena kebebasan garis untuk mengenai lebih banyak data point.

Underfitting

  • Model Terlalu Sederhana

Sebaliknya dari overfitting, model yang dipakai terlalu sederhana untuk dataset yang cenderung kompleks. Umumnya, model gagal untuk mempelajari dataset karena memang tidak diciptakan untuk bisa mempelajari dataset tersebut. Terdapat berbagai jenis data seperti data berupa teks, gambar, audio, atau video. Untuk setiap jenis data ini memiliki model Machine Learningnya tersendiri, perbedaan karakteristik dan kompleksitas membuat kebutuhan untuk model Machine Learning berbeda bagi setiap jenis datanya.

random forest atau naive bayes dan neural network Overfitting

Contohnya seperti pada jenis data gambar, data jenis ini kurang cocok jika hanya menggunakan model machine learning biasa seperti random forest atau naive bayes, tetapi lebih cocok menggunakan neural network yang lebih kompleks. Model biasa hanya akan menganggap nilai pixel dalam gambar sebagai deretan kolom/feature. Dengan menggunakan neural network,nilai pixel direpresentasikan sebagai gambar 2 dimensi sehingga lebih banyak informasi yang bisa ditangkap.

Pada dasarnya, kedua hal ini dapat diatasi dengan memilih model yang sesuai dengan dataset yang dimiliki. Dengan ini, hasil training dan test data akan lebih bernilai dan memenuhi kebutuhan serta tujuan.

Yuk belajar data science di Algoritma Data Science Education Center! Kamu bisa ikut berbagai kelas data science untuk pemula, salah satunya di program Academy kami.

PELAJARI LEBIH LANJUT

Related Blog

Real Time Processing
Perbedaan Batch Processing dan Real Time Processing
Metode Pengolahan Data
Tipe, Langkah, dan Metode Pengolahan Data
Batch Processing
Mengenal Batch Processing dan Implementasinya
The last comment and 12 other comment(s) need to be approved.