Memahami parameter fungsi Gaussian Basis untuk digunakan dalam regresi linier


12

Saya ingin menerapkan fungsi basis Gaussian ke dalam implementasi regresi linier. Sayangnya saya mengalami kesulitan memahami beberapa parameter dalam fungsi dasar. Khususnya dan .σμσ

Dataset saya adalah matriks 10.000 x 31. 10.000 sampel dan 31 fitur. Saya telah membaca bahwa "Setiap fungsi dasar mengubah input vektor x menjadi nilai skalar". Jadi saya anggap x adalah 1 sampel jadi 1 x 31 vektor. Dari sini saya bingung. Apa sebenarnya parameter ? Saya pernah membaca bahwa ini mengatur lokasi fungsi basis. Jadi bukankah ini maksud dari sesuatu? Saya juga terlempar oleh subskrip j ( dan ), ini membuat saya berpikir jth row. Tapi itu sepertinya tidak masuk akal. Apakah adalah vektor? Sekarang untuk μ ϕ μ j σμjμϕμjσbahwa "mengatur skala spasial". Apa itu sebenarnya? Saya telah melihat beberapa implementasi yang mencoba nilai-nilai seperti .1, .5, 2.5 untuk parameter ini. Bagaimana nilai-nilai ini dihitung? Saya sudah melakukan penelitian dan mencari contoh untuk belajar, tetapi sampai sekarang saya belum dapat menemukannya. Bantuan atau arahan sangat dihargai! Terima kasih.

Jawaban:


11

Ketika Anda bingung, izinkan saya mulai dengan menyatakan masalahnya dan menjawab pertanyaan Anda satu per satu. Anda memiliki ukuran sampel 10.000 dan setiap sampel dijelaskan oleh vektor fitur . Jika Anda ingin melakukan regresi menggunakan fungsi basis radial Gaussian kemudian mencari fungsi bentuk mana adalah fungsi dasar Anda. Khususnya, Anda perlu menemukan bobot sehingga untuk parameter yang diberikan dan Anda meminimalkan kesalahan antara dan prediksi yang sesuai = f ( x ) = Σ j w j * g j ( x ; μ j , σ j ) , j = 1 .. m g i m w j μ j σ j y y f ( x )xR31

f(x)=jwjgj(x;μj,σj),j=1..m
gimwjμjσjyy^f(x^) - biasanya Anda akan meminimalkan kesalahan kuadrat terkecil.

Apa sebenarnya parameter subscript j Mu?

Anda perlu menemukan fungsi dasar . (Anda masih perlu menentukan angka ) Setiap fungsi dasar akan memiliki dan a (juga tidak dikenal). Subskrip berkisar dari hingga .g j m μ j σ j j 1 mmgjmμjσjj1m

Apakah adalah vektor?μj

Ya, itu adalah poin dalam . Dengan kata lain, itu menunjuk suatu tempat di ruang fitur Anda dan a harus ditentukan untuk masing-masing fungsi dasar . μmR31μm

Saya pernah membaca bahwa ini mengatur lokasi fungsi basis. Jadi bukankah ini maksud dari sesuatu?

Fungsi dasar berpusat di . Anda harus memutuskan di mana lokasi ini. Jadi tidak, itu belum tentu berarti apa-apa (tapi lihat lebih jauh ke bawah untuk cara untuk menentukannya) μ jjthμj

Sekarang untuk sigma yang "mengatur skala spasial". Apa itu sebenarnya?

σ lebih mudah dipahami jika kita beralih ke fungsi basis itu sendiri.

Ini membantu untuk memikirkan fungsi basis radial Gaussian dalam dimenson yang lebih rendah, katakan atau . Dalam fungsi basis radial Gaussian hanyalah kurva lonceng yang terkenal. Lonceng tentu saja bisa sempit atau lebar. Lebar ditentukan oleh - semakin besar adalah semakin sempit bentuk lonceng. Dengan kata lain, menskalakan lebar bentuk lonceng. Jadi untuk = 1 kita tidak memiliki skala. Untuk kami memiliki skala besar.R 2 R 1 σσσσσR1R2R1σσσσσ

Anda mungkin bertanya apa tujuan dari ini. Jika Anda memikirkan bel yang menutupi sebagian ruang (garis dalam ) - bel yang sempit hanya akan mencakup sebagian kecil dari garis *. Poin dekat dengan pusat bel akan memiliki nilai besar. Poin yang jauh dari pusat akan memiliki nilai lebih kecil . Penskalaan memiliki efek mendorong titik lebih jauh dari pusat - karena bel menyempit poin akan terletak lebih jauh dari pusat - mengurangi nilai x g j (x) g j (x) g j (x)R1xgj(x)gj(x)gj(x)

Setiap fungsi dasar mengubah input vektor x menjadi nilai skalar

Ya, Anda mengevaluasi fungsi dasar di beberapa titik .xR31

exp(xμj222σj2)

Anda mendapatkan skalar sebagai hasilnya. Hasil skalar tergantung pada jarak titik dari pusat diberikan olehdan skalar .xμjxμjσj

Saya telah melihat beberapa implementasi yang mencoba nilai-nilai seperti .1, .5, 2.5 untuk parameter ini. Bagaimana nilai-nilai ini dihitung?

Ini tentu saja merupakan salah satu aspek yang menarik dan sulit menggunakan fungsi basis radial Gaussian. jika Anda mencari di web Anda akan menemukan banyak saran tentang bagaimana parameter ini ditentukan. Saya akan menguraikan secara sederhana satu kemungkinan berdasarkan pengelompokan. Anda dapat menemukan ini dan beberapa saran lainnya secara online.

Mulailah dengan mengelompokkan 10.000 sampel Anda (Anda dapat menggunakan PCA untuk mengurangi dimensi diikuti oleh k-Means clustering). Anda dapat membiarkan menjadi jumlah cluster yang Anda temukan (biasanya menggunakan validasi silang untuk menentukan yang terbaik ). Sekarang, buat fungsi basis radial untuk setiap cluster. Untuk setiap fungsi basis radial, biarkan menjadi pusat (mis. Mean, centroid, dll) dari kluster. Biarkan merefleksikan lebar cluster (mis. Radius ...) Sekarang lanjutkan dan lakukan regresi Anda (deskripsi sederhana ini hanya gambaran umum - perlu banyak kerja di setiap langkah!)mmgjμjσj

* Tentu saja, kurva lonceng didefinisikan dari - hingga sehingga akan memiliki nilai di mana-mana pada baris tersebut. Namun, nilai yang jauh dari pusat dapat diabaikan


Jawaban bagus! Namun, mencari , tidakkah kita selesai dengan mendukung regresi mesin vektor (dengan kernel gaussian)? μ
O_Devinyak

@ O_Devinyak- Banyak metode ekspansi dasar akan memerlukan semacam estimasi parameter. Ada banyak cara untuk menemukan jadi saya tidak berpikir ini berarti kita mengurangi masalah menjadi SVR. Sejujurnya, saya bukan ahli SVR tetapi fungsi kerugian yang diminimalkan tentu berbeda dan saya yakin banyak fitur diabaikan - itulah cara Dukungan Vektor. Dengan fungsi basis, kami menggunakan semua fungsi untuk evaluasi tetapi untungnya dukungan yang ringkas berarti banyak fungsi dasar menghasilkan nilai yang diabaikan atau nol. Bagaimanapun, itu akan menjadi pertanyaan yang bagus di forum iniμ
martino

Mengapa kita memerlukan skala daripada matriks kovarians yang akan membuat fungsi dasar terlihat seperti bagian eksponensial dari Gaussian multivarian? σj
stackunderflow

1

Izinkan saya mencoba memberikan penjelasan sederhana. Dalam notasi seperti itu, dapat berupa nomor baris tetapi dapat juga nomor fitur. Jika kita menulis maka menunjukkan nomor fitur, adalah vektor-kolom, adalah skalar dan adalah kolom -vektor. Jika kita menulis maka menunjukkan nomor baris, adalah skalar, adalah vektor-kolom dan adalah vektor-baris. Notasi di mana menunjukkan baris dan menunjukkan kolom lebih umum, jadi mari kita gunakan varian pertama.jy=β0+j=1:31βjϕj(x)jyβjϕj(x)yj=βϕj(x)jyjβϕj(x)ij

Memperkenalkan fungsi basis Gaussian ke dalam regresi linier, (skalar) sekarang tidak tergantung pada nilai numerik fitur (vektor), tetapi pada jarak antara dan pusat semua titik lain . Sedemikian rupa tidak tergantung pada apakah nilai fitur -th pengamatan -th tinggi atau kecil, tetapi tergantung pada apakah nilai fitur -th dekat atau jauh dari rata-rata untuk itu -feature . Jadi bukan parameter, karena tidak dapat disetel. Ini hanya properti dari dataset. Parameterx i x i μ i y i j i j j μ i j μ j σ 2 y y σ 2yixixiμiyijijjμijμjσ2adalah nilai skalar, ia mengontrol kelancaran dan dapat disetel. Jika kecil, perubahan kecil dalam jarak akan memiliki efek besar (ingat gaussian curam: semua titik yang sudah berada pada jarak kecil dari pusat memiliki nilai kecil ). Jika besar, perubahan kecil dalam jarak akan memiliki efek rendah (ingat flat gaussian: penurunan dengan meningkatnya jarak dari pusat lambat). Nilai optimal dari harus dicari (biasanya ditemukan dengan validasi silang).yyσ2


0

Fungsi dasar Gaussian dalam pengaturan multivariat memiliki pusat multivariat. Dengan asumsi bahwa Anda , maka juga. Gaussian harus multivarian, yaitu mana adalah sebuah matriks kovarians. Indeks bukan merupakan komponen dari vektor, ini hanya vektor ke- . Demikian pula, adalah matriks . μ jR 31 e ( x - μ j ) Σ - 1 j ( x - μ j ) Σ jR 31 × 31 j j Σ j jxR31μjR31e(xμj)Σj1(xμj)ΣjR31×31jjΣjj

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.