Mengapa mengubah data menjadi ruang fitur dimensi tinggi di mana kelas dipisahkan secara linear mengarah ke overfitting?

10

Saya membaca di buku saya (klasifikasi pola statistik oleh Webb dan Wiley) di bagian tentang SVM dan data yang tidak dapat dipisahkan secara linear:

Dalam banyak masalah praktis dunia nyata tidak akan ada batas linear yang memisahkan kelas dan masalah mencari hyperplane pemisah yang optimal tidak ada artinya. Bahkan jika kita akan menggunakan vektor fitur canggih, , untuk mengubah data menjadi ruang fitur dimensi tinggi di mana kelas-kelas dapat dipisahkan secara linear, ini akan mengarah pada pemasangan data yang berlebihan dan karenanya kemampuan generalisasi yang buruk.Φ(x)

Mengapa mengubah data menjadi ruang fitur dimensi tinggi di mana kelas dipisahkan secara linear mengarah ke overfitting dan kemampuan generalisasi yang buruk?

Gigili
sumber

Jawaban:

8

@ffriend memiliki postingan yang bagus tentang hal itu, tetapi secara umum, jika Anda bertransformasi menjadi ruang fitur berdimensi tinggi dan berlatih dari sana, algoritma pembelajaran 'dipaksa' untuk memperhitungkan fitur-fitur ruang yang lebih tinggi, walaupun mereka mungkin tidak memiliki apa-apa. harus dilakukan dengan data asli, dan tidak menawarkan kualitas prediksi.

Ini berarti bahwa Anda tidak akan menggeneralisasikan aturan pembelajaran dengan benar saat pelatihan.

Ambil contoh intuitif: Misalkan Anda ingin memprediksi berat dari ketinggian. Anda memiliki semua data ini, sesuai dengan bobot dan ketinggian orang. Mari kita katakan bahwa secara umum, mereka mengikuti hubungan linear. Artinya, Anda dapat menggambarkan berat (W) dan tinggi (H) sebagai:

W=mHb

mb

Mari kita katakan bahwa Anda adalah seorang ahli biologi berpengalaman, dan Anda tahu bahwa hubungannya adalah linier. Data Anda terlihat seperti plot pencar yang sedang tren ke atas. Jika Anda menyimpan data dalam ruang 2 dimensi, Anda akan cocok dengan garis melaluinya. Mungkin tidak mencapai semua poin, tapi itu tidak masalah - Anda tahu bahwa hubungan itu linier, dan Anda tetap menginginkan pendekatan yang baik.

HH2H3H4H5H2+H7

ci

W=c1H+c2H2+c3H3+c4H4+c5H5+c6H2+H7

H2+H7

Inilah sebabnya mengapa jika Anda mengubah data ke dimensi urutan yang lebih tinggi secara membabi buta, Anda berisiko sangat tinggi untuk overfitting, dan tidak menggeneralisasi.

Spacey
sumber
6

Katakanlah kita sedang mencoba untuk menemukan fungsi yang mendekati sekumpulan titik 2D di dataran menggunakan regresi linier (yang pada dasarnya cukup banyak apa yang dilakukan SVM). Pada 3 gambar di bawah salib merah adalah pengamatan (data pelatihan) dan 3 garis biru mewakili persamaan dengan tingkat polinomial yang berbeda yang digunakan untuk regresi.

masukkan deskripsi gambar di sini

Gambar pertama dihasilkan oleh persamaan linear. Seperti yang Anda lihat, itu mencerminkan poin yang sangat buruk. Ini disebut underfitting , karena kami memberikan algoritma pembelajaran terlalu sedikit "derajat kebebasan" (jumlahnya sedikit). Gambar kedua jauh lebih baik - kami menggunakan polinomial tingkat kedua dan terlihat cukup bagus. Namun, jika kita semakin meningkatkan "derajat kebebasan" kita mendapatkan citra ke-3. Garis biru muncul tepat melalui salib, tetapi apakah Anda percaya bahwa garis ini benar-benar menggambarkan ketergantungan? Saya kira tidak. Ya, pada pelatihan set kesalahan pembelajaran (jarak antara persilangan dan garis) sangat kecil, tetapi jika kita menambahkan satu pengamatan lagi (katakanlah, dari data nyata), kemungkinan besar kesalahan untuk itu akan jauh lebih besar daripada jika kita menggunakan persamaan dari kedua gambar. Efek ini disebut overfittingxxx2x3. Singkatnya, Anda membagi data Anda menjadi, katakanlah, 10 bagian, ambil 9 dari mereka untuk pelatihan dan 1 untuk validasi. Jika kesalahan pada set validasi jauh lebih tinggi dari pada set kereta, maka Anda punya pakaian berlebihan. Kebanyakan algoritma pembelajaran mesin menggunakan beberapa parameter (misalnya parameter kernel di SVM) yang memungkinkan untuk mengatasi overfitting. Juga, satu kata kunci yang populer di sini adalah regularisasi - modifikasi algoritma yang secara langsung memengaruhi proses optimasi, secara harfiah mengatakan "jangan mengikuti data pelatihan terlalu dekat".

BTW, saya tidak yakin bahwa DSP adalah situs yang tepat untuk pertanyaan seperti ini, mungkin Anda akan tertarik untuk mengunjungi CrossValidated juga.

teman
sumber
Ini - dicuri - dipinjam dari video ceramah Andrew Ng tentang Pembelajaran Mesin. Kecuali kalau itu Anda Dr. Ng. Dalam hal itu, apakah Anda mencari mahasiswa PhD untuk laboratorium Anda? (Ceramah dapat ditemukan di coursera.com bagi Anda yang tertarik)
CyberMen
@CyberMen: itu dicuri dari images.google.com :) Tapi ya, notasi sangat mirip dengan Ng. Dan saya pasti akan menyarankan programnya (dan makalah lainnya) untuk pengantar pembelajaran mesin.
Berteman
Saya pikir DSP adalah tempat yang tepat untuk pertanyaan semacam ini, setidaknya di antara situs SE lainnya.
Gigili
2

Apakah Anda membaca lebih lanjut?

Di akhir bagian 6.3.10:

"Namun, sering ada parameter kernel yang harus ditetapkan dan pilihan yang buruk dapat menyebabkan generalisasi yang buruk. Pilihan kernel terbaik untuk masalah yang diberikan tidak diselesaikan dan kernel khusus telah diturunkan untuk masalah tertentu, misalnya klasifikasi dokumen "

yang mengarahkan kita ke bagian 6.3.3:

" Kernel yang dapat diterima harus dapat dinyatakan sebagai produk dalam di ruang fitur, yang berarti mereka harus memenuhi kondisi Mercer"

Kernel dengan area mereka sendiri yang cukup sulit, Anda dapat memiliki data besar di mana di bagian yang berbeda harus menerapkan parameter yang berbeda, seperti perataan, tetapi tidak tahu persis kapan. Karena itu hal semacam itu cukup sulit untuk digeneralisasi.

sigrlami
sumber
Saya membaca "4.2.5 Mendukung mesin vektor" seperti yang saya katakan, saya tidak tahu apa bagian 6 yang Anda bicarakan. Karena paragraf setelah apa yang saya sebutkan dalam pertanyaan tidak ada artinya, saya pikir saya sebaiknya bertanya di sini.
Gigili
Maaf, saya mencampurnya dengan Pengenalan Pola Statistik juga oleh Webb, yang saya cari sekarang dan yang memiliki bab yang sama.
sigrlami