Dalam buku Bishop tentang pembelajaran mesin, ia membahas masalah penyesuaian kurva fungsi polinomial ke sejumlah titik data.
Biarkan M menjadi urutan polinomial yang dipasang. Ini menyatakan seperti itu
Kita melihat bahwa, ketika M meningkat, besarnya koefisien biasanya menjadi lebih besar. Khususnya untuk polinomial M = 9, koefisien-koefisiennya telah disesuaikan dengan data dengan mengembangkan nilai-nilai positif dan negatif yang besar sehingga fungsi polinomial yang sesuai sesuai dengan masing-masing titik data secara tepat, tetapi di antara titik-titik data (khususnya di dekat ujung-ujungnya). range) fungsi menunjukkan osilasi besar.
Saya tidak mengerti mengapa nilai besar menyiratkan lebih dekat dengan titik data. Saya akan berpikir nilai-nilai akan menjadi lebih tepat setelah desimal, bukan untuk pemasangan yang lebih baik.
sumber
Jawaban:
Ini adalah masalah yang terkenal dengan polinomial tingkat tinggi, yang dikenal sebagai fenomena Runge . Numerik hal ini terkait dengan sakit-conditioning dari matriks Vandermonde , yang membuat koefisien sangat sensitif terhadap variasi kecil dalam data dan / atau roundoff dalam perhitungan (yaitu model tidak stabil diidentifikasi ). Lihat juga jawaban ini di SciComp SE.
Ada banyak solusi untuk masalah ini, misalnya perkiraan Chebyshev , smoothing splines , dan regularisasi Tikhonov . Regularisasi Tikhonov adalah generalisasi dari regresi ridge , menghukum norma dari koefisien vektor θ , di mana untuk menghaluskan matriks bobot Λ adalah beberapa operator turunan. Untuk menghukum osilasi, Anda dapat menggunakan Λ θ = p ′ ′ [ x ] , di mana p [ x ]||Λθ]|| θ Λ Λθ=p′′[x] p [ x ] adalah polinomial yang dievaluasi pada data.
EDIT: Jawaban oleh pengguna hxd1011 mencatat bahwa beberapa masalah pengondisian numerik dapat diatasi menggunakan polinomial ortogonal, yang merupakan poin yang baik. Namun saya ingin mencatat bahwa masalah pengidentifikasian dengan polinomial tingkat tinggi masih ada. Artinya, pengondisian numerik dikaitkan dengan sensitivitas terhadap gangguan "sangat kecil" (misalnya pembulatan), sementara pengkondisian "statistik" menyangkut sensitivitas terhadap gangguan "terbatas" (misalnya pencilan; masalah terbalik adalah kesalahan penempatan ).
Metode yang disebutkan dalam paragraf kedua saya berkaitan dengan sensitivitas pencilan ini . Anda dapat menganggap sensitivitas ini sebagai pelanggaran model regresi linier standar, yang dengan menggunakan ketidakcocokan secara implisit mengasumsikan bahwa data tersebut adalah Gaussian. Regulasi Splines dan Tikhonov berurusan dengan sensitivitas pencilan ini dengan memaksakan kelancaran sebelum fit. Chebyshev penawaran pendekatan dengan ini dengan menggunakan L ∞ ketidakcocokan diterapkan atas domain terus menerus , yaitu tidak hanya pada titik-titik data. Meskipun polinomial Chebyshev adalah orthogonal (produk dalam tertimbang tertentu), saya percaya bahwa jika digunakan dengan ketidakcocokan L 2 atas data, mereka akan tetapL2 L∞ L2 memiliki sensitivitas pencilan.
sumber
Hal pertama yang ingin Anda periksa, adalah jika penulis berbicara tentang polinomial mentah vs. polinomial ortogonal .
Untuk polinomial ortogonal. koefisiennya tidak menjadi "lebih besar".
Berikut adalah dua contoh ekspansi polinomial orde 2 dan 15. Pertama, kami menunjukkan koefisien untuk ekspansi urutan kedua.
Kemudian kami menampilkan urutan ke-15.
Perhatikan bahwa, kami menggunakan polinomial ortogonal , sehingga koefisien urutan rendah persis sama dengan istilah yang sesuai dalam hasil urutan yang lebih tinggi. Misalnya, intersep dan koefisien untuk urutan pertama adalah 20,09 dan -29,11 untuk kedua model.
sumber
summary(lm(mpg~poly(wt,2),mtcars)); summary(lm(mpg~poly(wt,5),mtcars)); summary(lm(mpg~ wt + I(wt^2),mtcars)); summary(lm(mpg~ wt + I(wt^2) + I(wt^3) + I(wt^4) + I(wt^5),mtcars))
poly(x,2,raw=T)
summary(lm(mpg~poly(wt,15, raw=T),mtcars))
. Efek besar-besaran dalam koefisien!Abhishek, Anda benar bahwa meningkatkan ketepatan koefisien akan meningkatkan akurasi.
Saya pikir masalah besarnya agak tidak relevan dengan poin keseluruhan Bishop - bahwa menggunakan model rumit pada data terbatas mengarah ke 'overfitting'. Dalam contohnya 10 titik data digunakan untuk memperkirakan polinomial 9 dimensi (yaitu 10 variabel dan 10 tidak diketahui).
Jika kita pas dengan gelombang sinus (tanpa noise), maka pas bekerja dengan sempurna, karena gelombang sinus [lebih dari interval tetap] dapat diperkirakan dengan akurasi sewenang-wenang menggunakan polinomial. Namun, dalam contoh Bishop, kita memiliki sejumlah 'kebisingan' yang tidak boleh kita muat. Cara kita melakukan ini adalah dengan menjaga jumlah titik data ke jumlah variabel model (koefisien polinom) besar atau dengan menggunakan regularisasi.
Regulasi memaksakan batasan 'lunak' pada model (misalnya dalam regresi ridge) fungsi biaya yang Anda coba untuk meminimalkan adalah kombinasi dari 'kesalahan pemasangan' dan kompleksitas model: misalnya dalam regresi ridge kompleksitas diukur dengan jumlah koefisien kuadrat- dalam efek ini membebankan biaya pada pengurangan kesalahan - meningkatkan koefisien hanya akan diizinkan jika memiliki pengurangan yang cukup besar dalam kesalahan pemasangan [seberapa besar cukup besar ditentukan oleh pengali pada istilah kompleksitas model]. Oleh karena itu harapannya adalah bahwa dengan memilih pengganda yang sesuai kita tidak akan cocok dengan istilah kebisingan kecil tambahan, karena peningkatan kecocokan tidak membenarkan peningkatan koefisien.
Anda bertanya mengapa koefisien besar meningkatkan kualitas kecocokan. Pada dasarnya, alasannya adalah bahwa fungsi yang diperkirakan (sin + noise) bukan polinomial, dan perubahan besar dalam kelengkungan diperlukan untuk memperkirakan efek noise dengan polinomial membutuhkan koefisien yang besar.
Perhatikan bahwa menggunakan polinomial ortogonal tidak memiliki efek (saya telah menambahkan offset 0,1 hanya agar polinomial ortogonal dan mentah tidak berada di atas satu sama lain)
sumber