Saya telah bermain-main di taman bermain tensorflow . Salah satu set data input adalah spiral. Tidak peduli apa pun parameter input yang saya pilih, tidak peduli seberapa lebar dan dalam jaringan saraf yang saya buat, saya tidak bisa cocok dengan spiral. Bagaimana data ilmuwan cocok dengan data dari bentuk ini?
neural-networks
classification
tensorflow
Souradeep Nanda
sumber
sumber
Jawaban:
Ada banyak pendekatan untuk masalah seperti ini. Yang paling jelas adalah membuat fitur baru . Fitur terbaik yang dapat saya buat adalah mengubah koordinat menjadi koordinat bola .
Saya belum menemukan cara untuk melakukannya di taman bermain, jadi saya baru saja membuat beberapa fitur yang harus membantu dengan ini (fitur dosa). Setelah 500 iterasi akan jenuh dan berfluktuasi pada skor 0,1. Ini menunjukkan bahwa tidak ada perbaikan lebih lanjut yang akan dilakukan dan kemungkinan besar saya harus membuat layer tersembunyi lebih luas atau menambahkan layer lain.
Tidak mengherankan bahwa setelah menambahkan hanya satu neuron ke lapisan tersembunyi Anda dengan mudah mendapatkan 0,013 setelah 300 iterasi. Hal serupa terjadi dengan menambahkan layer baru (0,017, tetapi setelah iterasi 500 secara signifikan lebih lama. Juga tidak mengejutkan karena lebih sulit untuk menyebarkan kesalahan). Kemungkinan besar Anda bisa bermain dengan kecepatan belajar atau melakukan pembelajaran adaptif untuk membuatnya lebih cepat, tetapi ini bukan intinya di sini.
sumber
Jaringan neural idealnya harus dapat mengetahui fungsi itu sendiri tanpa kami menyediakan fitur bola. Setelah beberapa percobaan, saya dapat mencapai konfigurasi di mana kami tidak memerlukan apa pun kecuali dan . Jaring ini bertemu setelah sekitar 1500 zaman yang cukup panjang. Jadi cara terbaik mungkin masih menambahkan fitur tambahan tapi saya hanya mencoba mengatakan bahwa masih mungkin untuk bertemu tanpa mereka.X1 X2
sumber
Dengan menipu ...arctan(y,x) r (x2+y2)−−−−−−−−√
theta
adalah , adalah .Secara teori, dan harus bekerja, tetapi, dalam praktiknya, mereka entah bagaimana gagal, meskipun, kadang-kadang, itu berhasil.x2 y2
sumber
Ini adalah contoh taman bermain vanilla Tensorflow tanpa fitur tambahan dan tanpa modifikasi. Lari untuk Spiral adalah antara 187 hingga ~ 300 Zaman, tergantung. Saya menggunakan Lasso Regularization L1 sehingga saya bisa menghilangkan koefisien. Saya mengurangi ukuran bets sebanyak 1 untuk menjaga output dari pas. Dalam contoh kedua saya, saya menambahkan beberapa noise ke set data kemudian menaikkan L1 untuk mengimbangi.
sumber
The solusi aku mencapai setelah satu jam dari percobaan biasanya menyatu hanya 100 zaman .
Ya, saya tahu itu tidak memiliki batas keputusan yang paling halus di luar sana, tetapi ia bertemu dengan sangat cepat.
Saya belajar beberapa hal dari percobaan spiral ini: -
Kebetulan solusi yang saya buat sangat mirip dengan yang diberikan oleh Salvador Dali .
Mohon tambahkan komentar, jika Anda menemukan intuisi atau alasan lagi.
sumber