Jika Anda sedang mempelajari machine learning, Anda mungkin akan menemukan istilah Bias dan Variance. Jadi, apa itu bias dan variance di machine learning?
Mari kita bahas satu per satu!
Apa itu Bias?
Bias adalah kencenderungan algoritma machine learning untuk melakukan penyederhanaan dalam mempelajari kumpulan data dengan tidak mempertimbangkan semua informasi.
Bias dianggap sebagai kesalahan sistematis yang terjadi pada model machine learning itu sendiri karena asumsi yang salah dalam proses pemodelannya. Dengan kata lain, kita dapat mendefinisikan bias sebagai kesalahan antara prediksi model dan data sebenarnya.
Baca juga: Cara menemukan Outlier dengan Python
Model dengan high bias atau bias yang tinggi menghasilkan prediksi yang tidak akurat. Selain itu, model dengan high bias juga tidak dapat menangkap tren data dengan tepat karena memiliki tingkat kesalahan yang tinggi. Model juga lebih berpotensi underfitting.
Pada umumnya, algoritma linier memiliki bias tinggi yang membuatnya lebih cepat dipelajari dan lebih mudah dipahami tetapi kurang fleksibel. Algoritma dengan bias tinggi memiliki kinerja prediktif yang lebih rendah untuk data yang kompleks.
Contoh algoritma machine learning dengan low bias di antaranya Decision Tree, K-Nearest Neighbors (KNN), dan Support Vector Machine (SVM).
Contoh algoritma machine learning dengan high bias di antaranya Linear Regression, Logistic Regression, dan Linear Discriminant Analysis.
Apa itu Variance?
Variance adalah variabilitas dalam prediksi model. Variance terjadi ketika model bekerja terlalu baik pada data pelatihan namun tidak bekerja dengan baik pada data pengujian atau data validasi. Dengan kata lain, model akan menghasilkan akurasi yang baik menggunakan data latih, sedangkan saat menggunakan data uji atau data validasi hasilnya akurasinya kurang baik.
Model dengan high variance atau variance yang tinggi akan menyebabkan overfitting pada data latih sehingga hasil prediksi untuk data uji cenderung tidak bagus. Ini biasanya disebabkan karena kompleksnya data latih dan terdiri dari banyak sekali fitur.
Baca juga: Mengenal Konsep Algoritma Support Vector Machine (SVM)
Untuk menghindari high variance yang mungkin terjadi karena kompleksitas data latih, kita dapat melakukan perubahan pada data sebelum pemodelan, misalnya dengan menghapus fitur yang tidak dibutuhkan atau dengan melakukan transformasi data agar data tidak terlalu memiliki banyak variasi.
Pada umumnya, algoritma non-linier yang memiliki banyak fleksibilitas memiliki variance yang tinggi.
Contoh algoritma machine learning dengan low variance di antaranya adalah Linear Regression, Logistic Regression, dan Linear Discriminant Analysis.
Contoh algoritma machine learning dengan high variance di antaranya Decision Tree, K-Nearest Neighbors (KNN), dan Support Vector Machine (SVM).
Solusi mengatur Bias-Variance
Setiap model machine learning bertujuan untuk memiliki bias dan variance yang rendah agar dapat melakukan prediksi dengan akurat. Namun, itu tidak dapat terjadi karena bias dan variance berbanding terbalik.
Nah, lalu bagaimana kita dapat menghasilkan model dengan kinerja prediksi yang baik?
Baca juga: 2 Teknik Reduksi Dimensi Populer dengan Python
Solusinya yaitu dengan mengkonfigurasi algoritma machine learning yang digunakan dengan cara parameterisasi yang bertujuan untuk menyeimbangkan bias dan variance.
Sebagai contoh misalnya algoritma K-Nearest Neighbors yang memiliki bias rendah dan variance tinggi, dapat diakali dengan meningkatkan nilai K untuk menambah jumlah tetangga yang akan berpengaruh pada peningkatan bias dari model tersebut.
Contoh lain misalnya algoritma Support Vector Machine (SVM) yang memiliki bias rendah dan variance tinggi dapat diakali dengan meningkatkan nilai parameter C yang akan berpengaruh pada meningkatnya bias tetapi menurunkan variance.
Kesimpulannya, mengurangi variance akan meningkatkan bias, dan mengurangi bias akan meningkatkan variance. Anda dapat mengatur nilai parameter yang digunakan untuk menemukan keseimbangan bias-variance pada model Anda sehingga membuat akurasi menjadi lebih baik.
Jika Anda yang sedang belajar data science atau mengolah data dengan bahasa pemrograman Python namun masih suka bingung menulis kode Python-nya, kami telah menyusun Paket E-modul Data Science dengan Python yang didesain khusus untuk pemula dengan penjelasan bahasa Indonesia yang lengkap untuk setiap blok kode-nya. Dapatkan sekarang juga dengan klik di sini!
Semoga bermanfaat!