Tugas 5 Machine Learning : Model Linear

1. Binary Classification
Binary classification adalah mengklasifikasikan data menjadi dua kelas (binary). Contoh model linear sederhana untuk binary classification diberikan pada persamaan 5.6. Perhatikan, pada persamaan 5.6, suatu data direpresentasikan sebagai feature vector x, dan terdapat bias2 b. Klasifikasi dilakukan dengan melewatkan data pada fungsi yang memiliki parameter. Fungsi tersebut menghitung bobot setiap fitur pada vektor dengan mengalikannya dengan parameter (dot product). Persamaan 5.6 dapat ditulis kembali sebagai persamaan 5.7, dimana xi merupakan elemen ke-i dari vektor x. Fungsi ini memiliki range [−∞, ∞]. Pada saat ini, kamu mungkin bingung. Bagaimana mungkin fungsi regresi yang menghasilkan nilai kontinu digunakan untuk klasifikasi kelas kategorial. Kita dapat menggunakan thresholding, atau dengan memberikan batas nilai tertentu. Misal, bila f(x) > threshold maka dimasukkan ke kelas pertama; dan sebaliknya f(x) ≤ threshold dimasukkan ke kelas kedua. Threshold menjadi bidang pembatas antara kelas satu dan kelas kedua (decision boundary, Gambar 5.3). Pada umumnya, teknik threshold diterapkan dengan menggunakan fungsi sign (sgn, Gambar 5.4) untuk merubah nilai fungsi menjadi [−1, 1] sebagai output (persamaan 5.8); dimana −1 merepresentasikan input dikategorikan ke kelas pertama dan nilai 1 merepresentasikan input dikategorikan ke kelas kedua.

2. Overfitting dan Underfitting
Tujuan machine learning adalah membuat model yang mampu memprediksi data yang belum pernah dilihat (unseen instances) dengan tepat; disebut sebagai generalisasi (generalization). Seperti yang sudah dijelaskan pada bab pertama, kita dapat membagi dataset menjadi training, development, dan testing dataset. Ketiga dataset ini berasal dari populasi yang sama dan dihasilkan oleh distribusi yang sama (identically and independently distributed). Dalam artian, ketiga jenis dataset mampu melambangkan (merepresentasikan) karakteristik yang sama8 . Dengan demikian, kita ingin loss atau error pada training, development, dan testing bernilai kurang lebih bernilai sama (i.e., kinerja yang sama untuk data dengan karakteristik yang sama). Akan tetapi, underfitting dan overfitting mungkin terjadi. Underfitting adalah keadaan ketika kinerja model bernilai buruk baik pada training atau development maupun testing data. Overfitting adalah keadaan ketika kinerja model bernilai baik untuk training tetapi buruk pada unseen data. Hal ini diilustrasikan pada Gambar 5.14. Underfitting terjadi akibat model yang terlalu tidak fleksibel, yaitu memiliki kemampuan yang rendah untuk mengestimasi variasi fungsi. Sedangkan, overfitting terjadi ketika model terlalu fleksibel, yaitu memiliki kemampuan yang terlalu tinggi untuk mengestimasi banyak fungsi atau terlalu mencocokkan diri terhadap training data. Perhatikan kembali Gambar 5.14, dataset asli diambil (sampled) dari fungsi polinomial orde-3. Model underfitting hanya mampu mengestimasi dalam orde-1 (kemampuan terlalu rendah), sedangkan model overfitting mampu mengestimasi sampai orde-9 (kemampuan terlalu tinggi).

Komentar