Bagaimana cara mengetahui jika kurva belajar dari model SVM menderita bias atau varians?

Jawaban:

13

Bagian 1: Cara membaca kurva belajar

Pertama, kita harus fokus pada sisi kanan plot, di mana ada cukup data untuk evaluasi.

  • Jika dua kurva "dekat satu sama lain" dan keduanya tetapi memiliki skor rendah. Model menderita masalah pemasangan yang tidak sesuai (Bias Tinggi)

  • Jika kurva pelatihan memiliki skor yang jauh lebih baik tetapi kurva pengujian memiliki skor yang lebih rendah, yaitu ada kesenjangan besar antara dua kurva. Kemudian model menderita masalah over fitting (High Variance)

Bagian 2: Penilaian saya untuk plot yang Anda berikan

Dari plot sulit untuk mengatakan apakah modelnya bagus atau tidak. Mungkin saja Anda memiliki "masalah yang mudah", model yang bagus dapat mencapai 90%. Di sisi lain, ada kemungkinan Anda memiliki "masalah sulit" yang bisa kita lakukan untuk mencapai 70%. (Perhatikan bahwa, Anda mungkin tidak berharap Anda akan memiliki model yang sempurna, misalkan skornya adalah 1. Berapa banyak yang dapat Anda capai tergantung pada seberapa banyak noise dalam data Anda. Misalkan data Anda memiliki banyak titik data memiliki fitur EXACT tetapi label berbeda, apa pun yang Anda lakukan, Anda tidak dapat mencapai skor 1.)

Masalah lain dalam contoh Anda adalah bahwa 350 contoh tampaknya terlalu kecil dalam aplikasi dunia nyata.

Bagian 3: Saran lainnya

Untuk mendapatkan pemahaman yang lebih baik, Anda dapat melakukan percobaan berikut untuk mengalami pengalaman yang kurang pas dan mengamati apa yang akan terjadi dalam kurva pembelajaran.

  • Pilih data yang sangat rumit katakanlah data MNIST, dan cocok dengan model sederhana, katakan model linier dengan satu fitur.

  • Pilih data sederhana, katakan data iris, cocok dengan model kompleksitas, katakanlah, SVM.


Bagian 4: Contoh lainnya

Selain itu, saya akan memberikan dua contoh terkait under fitting dan over fitting. Perhatikan ini bukan kurva belajar, tetapi kinerja sehubungan dengan jumlah iterasi dalam model peningkatan gradien , di mana lebih banyak iterasi akan memiliki lebih banyak kesempatan over fitting. Sumbu x menunjukkan jumlah iterasi, dan sumbu y menunjukkan kinerja, yang merupakan Area Negatif Di Bawah ROC (semakin rendah semakin baik.)

Subplot kiri tidak mengalami over fitting (well juga tidak under fitting karena kinerjanya cukup baik) tetapi subplot kanan menderita over fitting ketika jumlah iterasi besar.

masukkan deskripsi gambar di sini

Haitao Du
sumber
Terima kasih hxd1011! Apakah Anda setuju dengan saya jika saya mengatakan bahwa model saya menderita sedikit variasi dan sedikit bias (karena skor bukan 1)?
Afke
@Apie Saya pikir Anda model baik-baik saja ... skor 80% tidak buruk dan dua kurva dekat. Satu-satunya masalah adalah contoh hingga 350 yang mungkin terlalu kecil dalam aplikasi dunia nyata.
Haitao Du
@Apie Juga, Anda mungkin tidak berharap Anda akan memiliki model yang sempurna, katakanlah skor adalah 1. Berapa banyak yang dapat Anda capai tergantung pada seberapa banyak noise dalam data Anda. Misalkan data Anda memiliki banyak titik data memiliki fitur TEPAT tetapi label berbeda, apa pun yang Anda lakukan, Anda tidak dapat mencapai 1 pada skor.
Haitao Du
11
Saya pikir "80% pada skornya tidak buruk" bukan cara yang baik untuk memikirkan sesuatu. Tidak ada skor global yang baik, itu sangat tergantung pada masalah yang sedang dipecahkan, lebih khusus, pada rasio sinyal terhadap noise dalam proses dan data yang tersedia. Anda menunjukkan ini dalam jawaban Anda, jadi saya akan menghapus komentar "tidak buruk".
Matthew Drury
1
@MatthewDrury Terima kasih atas sarannya, jawab direvisi!
Haitao Du