Lagi

Sesuaikan aturan di Hutan Acak untuk klasifikasi spesies pohon


Apakah mungkin untuk menyesuaikan aturan dalam algoritma Hutan Acak untuk klasifikasi spesies pohon?

semua integrasi atau penyesuaian aturan dalam algoritma hutan acak dilakukan di bidang medis, kejahatan, obat-obatan.

Saya belum pernah menemukan itu dilakukan untuk spesies pohon.

Jika memungkinkan, adakah yang bisa menyarankan perangkat lunak yang sesuai?


Algoritma RandomForests sering digunakan dalam kehutanan. Ada dua implementasi dari algoritma randomForests yang biasa saya gunakan. Yang pertama adalah pengklasifikasi berbasis piksel yang diterapkan dalam R menggunakan paket randomForests. Saya percaya ini adalah pendekatan paling canggih dan fleksibel yang mungkin Anda temukan. Ada banyak sumber daya untuk membantu Anda mulai menggunakan rute ini. Publikasi berikut menggunakan berbagai algoritma pendeteksian pohon, termasuk randomForests, untuk mengidentifikasi tutupan juniper:

Poznanovic, A. J., Falkowski, M. J., Maclean, A. L., Smith, A. M., & Evans, J. S. (2014). Penilaian Akurasi Algoritma Deteksi Pohon di Juniper Woodlands. Rekayasa Fotogrametri & Penginderaan Jauh, 80(7), 627-637.

Berikut adalah beberapa publikasi tambahan yang mungkin menarik:

Immitzer, M., Atzberger, C., & Koukal, T. (2012). Klasifikasi spesies pohon dengan hutan acak menggunakan data satelit WorldView-2 8-band resolusi spasial sangat tinggi. Penginderaan Jauh, 4(9), 2661-2693.

Rodriguez-Galiano, V. F., Ghimire, B., Rogan, J., Chica-Olmo, M., & Rigol-Sanchez, J. P. (2012). Penilaian efektivitas pengklasifikasi hutan acak untuk klasifikasi tutupan lahan. Jurnal Fotogrametri dan Penginderaan Jauh ISPRS, 67, 93-104.

Pendekatan kedua adalah implementasi berorientasi objek dari algoritma randomForests di eCognition Developer (Sebenarnya ada implikasi berbasis piksel juga). Ini adalah pendekatan yang sangat kuat, meskipun sangat sulit untuk diterapkan karena hanya ada sedikit dokumentasi. saran terbaik yang dapat saya berikan kepada Anda adalah bergabung dengan komunitas eCognition dan cari "Contoh Pengklasifikasi CART, SVM & RF (Ditingkatkan dalam eCognition 9.0)" untuk menemukan contoh aturan. Contoh dengan citra sampel yang disertakan ini akan memandu Anda melalui cara melakukan klasifikasi randomForest berbasis piksel atau berorientasi objek.


Haruskah saya menggunakan pohon keputusan atau regresi logistik untuk klasifikasi?

Saya sedang mengerjakan masalah klasifikasi. Saya memiliki kumpulan data yang berisi jumlah variabel kategori dan variabel kontinu yang sama. Bagaimana saya memutuskan teknik mana yang akan digunakan, antara pohon keputusan dan regresi logistik?

Apakah benar untuk mengasumsikan bahwa regresi logistik akan lebih cocok untuk variabel kontinu dan bahwa pohon keputusan akan lebih cocok untuk variabel kontinu dan kategorik?


2 Jawaban 2

Sepertinya Anda mengerti bahwa Anda dapat memiliki n level, berlawanan dengan n-1 , karena tidak seperti dalam regresi linier Anda tidak perlu khawatir tentang kolinearitas sempurna.

(Saya datang dari sudut pandang R, tetapi saya menganggapnya sama dengan Python.) Itu tergantung pada beberapa hal, seperti 1) paket mana yang Anda gunakan dan 2) berapa banyak level faktor yang Anda miliki.

1) Jika Anda menggunakan paket randomForest R, maka jika Anda memiliki <33 tingkat faktor maka Anda dapat melanjutkan dan membiarkannya dalam satu fitur jika Anda mau. Itu karena dalam implementasi hutan acak R, ia akan memeriksa untuk melihat level faktor mana yang harus berada di satu sisi pemisahan dan mana di sisi lain (misalnya, 5 level Anda mungkin dikelompokkan bersama di sisi kiri, dan 7 mungkin dikelompokkan bersama-sama di sebelah kanan). Jika Anda membagi fitur kategoris menjadi n boneka, maka algoritme tidak akan memiliki opsi ini.

Jelas jika paket khusus yang Anda gunakan tidak dapat menangani fitur kategoris maka Anda hanya perlu membuat n variabel dummy.

2) Seperti yang saya singgung di atas, implementasi hutan acak R hanya dapat menangani 32 level faktor - jika Anda memiliki lebih dari itu maka Anda perlu membagi faktor Anda menjadi himpunan bagian yang lebih kecil, atau membuat variabel dummy untuk setiap level.


Dibandingkan dengan model lain, Random Forests cenderung tidak mengenakan pakaian berlebihan tetapi masih merupakan sesuatu yang ingin Anda hindari secara eksplisit. Menyetel parameter model jelas merupakan salah satu elemen untuk menghindari overfitting tetapi itu bukan satu-satunya. Sebenarnya saya akan mengatakan bahwa fitur pelatihan Anda lebih cenderung mengarah pada overfitting daripada parameter model, terutama dengan Hutan Acak. Jadi saya pikir kuncinya adalah benar-benar memiliki metode yang andal untuk mengevaluasi model Anda untuk memeriksa overfitting lebih dari apa pun, yang membawa kami ke pertanyaan kedua Anda.

Seperti disinggung di atas, menjalankan validasi silang akan memungkinkan Anda menghindari overfitting. Memilih model terbaik Anda berdasarkan hasil CV akan mengarah pada model yang tidak terlalu pas, yang belum tentu terjadi untuk sesuatu seperti kesalahan keluar dari kantong. Cara termudah untuk menjalankan CV di R adalah dengan paket caret. Contoh sederhana di bawah ini:

@xof6 benar dalam arti bahwa semakin dalam modelnya, semakin cenderung overfit, tetapi saya ingin menambahkan beberapa parameter lagi yang mungkin berguna bagi Anda. Saya tidak tahu paket mana yang Anda gunakan dengan R dan saya tidak mengenal R sama sekali, tetapi saya pikir pasti ada rekanan dari parameter ini yang diterapkan di sana.

Jumlah pohon - Semakin besar angka ini, semakin kecil kemungkinan hutan untuk ditumbuhi. Ini berarti bahwa karena setiap pohon keputusan mempelajari beberapa aspek dari data pelatihan, Anda mendapatkan lebih banyak opsi untuk dipilih. Jumlah fitur - Jumlah ini menunjukkan berapa banyak fitur yang dipelajari setiap pohon. Seiring bertambahnya jumlah ini, pohon menjadi semakin rumit, oleh karena itu mereka adalah pola pembelajaran yang mungkin tidak ada dalam data uji. Perlu beberapa eksperimen untuk menemukan nilai yang tepat, tetapi itulah pembelajaran mesin. Bereksperimenlah dengan kedalaman umum juga, seperti yang kami sebutkan!

Berikut ini tautan yang bagus tentang itu di stackexchange, namun pengalaman umum saya adalah semakin dalam modelnya, semakin cenderung overfit.


2 Jawaban 2

Itu tergantung pada overfitting saat Anda menskalakan. Pohon keputusan cenderung overfit saat mereka tumbuh dalam. Setelah setiap pemisahan akan ada semakin sedikit sampel untuk pemisahan berikutnya untuk dikerjakan. Lebih sedikit sampel berarti risiko pecahnya kebisingan meningkat.

Hutan acak menghindari masalah pohon keputusan yang berlebihan dengan cara menskalakan dengan menambahkan lebih banyak pohon daripada membangun satu pohon besar. Rata-rata hasil pohon di hutan berarti bahwa tidak terlalu menjadi masalah jika masing-masing pohon terlalu pas.

Mengenai pembaruan Anda. Tidak, mereka tidak akan mendapatkan skor yang sama. Hutan acak tidak hanya memiliki satu pohon keputusan. Ini memiliki beberapa dan membagi fitur menjadi himpunan bagian acak untuk setiap pohon yang akan dilatih. Jadi bahkan jika ukuran pohon keputusan di hutan acak akan sama dengan pohon keputusan tunggal, fitur yang mereka latih tidak akan sama.

Tetapi jika Anda bertanya apa yang terjadi jika kita mengambil hutan acak, hanya menggunakan satu pohon dan melatihnya pada fitur yang sama sebagai pohon keputusan tunggal dengan ukuran yang sama, maka ya mereka akan menjadi satu dan sama.


Disagregasi spasial unit peta tanah kompleks: Pendekatan berbasis pohon keputusan di tanah hutan Bavaria

Pengetahuan terperinci tentang distribusi spasial tanah sangat penting untuk pemantauan, pengelolaan, dan pemodelan lingkungan. Namun peta tanah dengan jumlah unit peta tanah diskrit yang terbatas seringkali merupakan satu-satunya informasi yang tersedia tentang tanah. Tergantung pada skala peta atau perincian legenda peta, informasi ini mungkin terlalu tidak tepat. Kami menyajikan metode untuk disagregasi spasial unit peta, yaitu penyempurnaan unit peta tanah kompleks di mana dua atau lebih jenis tanah diagregasi. Tujuan kami adalah menggambar batas baru di dalam poligon peta untuk mewakili satu jenis tanah dan bukan lagi campuran beberapa jenis tanah. Ide dasar metode kami adalah hubungan fungsional antara jenis tanah dan posisi topografi seperti yang dirumuskan dalam konsep catena. Kami menggunakan database profil tanah yang komprehensif dan atribut topografi yang berasal dari model elevasi digital 10 m sebagai data input untuk klasifikasi jenis tanah dengan model hutan acak. Kami mengelompokkan semua unit peta kompleks yang memiliki kombinasi jenis tanah yang sama. Setiap kelompok unit peta dimodelkan secara terpisah. Untuk prediksi jenis tanah, kami membuat stratifikasi peta tanah ke dalam kelompok-kelompok ini dan menerapkan model hutan acak khusus hanya untuk unit peta terkait. Untuk mendapatkan hasil yang andal, kami menetapkan ambang batas untuk probabilitas yang diprediksi pada 0,7 untuk menetapkan jenis tanah tertentu. Di daerah di mana probabilitas di bawah 0,7 untuk setiap jenis tanah yang mungkin, kami menetapkan kelas baru "tidak peduli" karena model hanya membuat klasifikasi tidak spesifik di sana. Hasil kami menunjukkan penyempurnaan spasial yang signifikan dari poligon tanah asli. Validasi prediksi kami diperkirakan pada 1812 profil tanah independen yang dikumpulkan setelah prediksi di lapangan. Validasi lapangan memberikan akurasi keseluruhan sebesar 70%. Unit peta, di mana tanah dangkal dikelompokkan bersama dengan tanah dalam dapat dipisahkan dengan baik. Juga histosol dapat diprediksi berhasil. Tingkat kesalahan tertinggi ditemukan di unit peta, di mana Gleysoils dikelompokkan bersama-sama dengan tanah dalam atau Anthrosols. Untuk memeriksa validitas hasil kami, kami membuka model hutan acak kotak hitam dengan menghitung kepentingan variabel untuk setiap variabel prediktor dan memplot permukaan respons. Kami menemukan konfirmasi yang baik dari hipotesis kami, bahwa topografi memiliki pengaruh yang signifikan pada penataan spasial jenis tanah dan bahwa hubungan ini dapat digunakan untuk disagregasi.

Highlight

Unit peta tanah kompleks dipilah secara spasial. Informasi topografi sebagai prediktor untuk mengklasifikasikan jenis tanah. Ambang untuk probabilitas kelas digunakan untuk menghasilkan hasil yang dapat diandalkan. Kepentingan variabel dan plot permukaan respons sebagai alat yang berguna untuk pemeriksaan masuk akal.


Hasil pada kumpulan data simulasi

Untuk setiap pengulangan, skor brier terintegrasi bootstrap-cross-validated dicatat. Hasilnya kemudian dilaporkan menggunakan plot-kotak seperti yang ditunjukkan di bawah ini.

Gambar 1 menyajikan plot kotak kesalahan prediksi untuk RSF1, RSF2 dan model CIF pada semua enam set data yang disimulasikan dengan kovariat biner. Secara umum, semua model memiliki kinerja prediksi yang baik pada dataset. Hal ini karena semua nilai kesalahan prediksi berada di bawah 50% cut-off point. Namun, ada beberapa perbedaan unik dalam kinerja prediksi antara dua hutan kelangsungan hidup acak dan model CIF yang tidak dapat diabaikan. Pada Data 1, kesalahan prediksi untuk model CIF diapit di antara nilai kesalahan untuk RSF1 dan RSF2. Nilai kesalahan prediksi untuk model CIF pada lima set data yang tersisa paling rendah dibandingkan dengan model RSF1 dan RSF2. Plot kotak nilai kesalahan untuk ketiga model tampak hampir simetris. Oleh karena itu, hasilnya menunjukkan bahwa kinerja prediktif untuk dua hutan kelangsungan hidup acak dan model hutan kelangsungan hidup inferensi bersyarat serupa atau sebanding dalam kinerja pada data waktu-ke-peristiwa yang disimulasikan dengan hanya kovariat biner. Gambar 2 menunjukkan bahwa ketiga model memiliki kinerja prediksi yang baik pada semua enam dataset karena nilai kesalahan di bawah tanda 50%. Meskipun nilai kesalahan prediksi untuk model CIF tampaknya setara dengan RSF2 pada Data 1, model tersebut memiliki nilai kesalahan terendah dibandingkan dengan RSF1 dan RSF2 pada lima set data yang tersisa. Hal ini tidak mengherankan karena model CIF dikenal lebih unggul dalam kinerjanya dibandingkan model hutan kelangsungan hidup acak dengan adanya kovariat dengan banyak titik pisah.

Performa prediktif pada set data simulasi dengan kovariat biner

Kinerja prediktif dari tiga model hutan kelangsungan hidup pada set data simulasi dengan kovariat politomus

Hasil yang disajikan dengan menggunakan plot kotak pada Gambar. 3 memberikan kesalahan prediksi RSF1, RSF2 dan model CIF pada enam set data yang disimulasikan memiliki kovariat biner dan politomus. Pada semua enam set data, model CIF memiliki tingkat kesalahan prediksi terendah. Ini karena hutan inferensi bersyarat memiliki keuntungan tambahan untuk prediksi dengan adanya kovariat dengan banyak titik pisah karena caranya melakukan pencarian pemilihan kovariat dan titik pisah.

Performa prediktif pada set data simulasi dengan kovariat biner dan politomus

Gambar 4 menyajikan plot kotak untuk kinerja prediktif dari tiga model hutan kelangsungan hidup pada data waktu-ke-peristiwa yang disimulasikan dengan interaksi kovariat. Nilai kesalahan prediksi untuk model CIF paling rendah pada keenam kumpulan data. Karena interaksi kovariat disimulasikan sedemikian rupa sehingga beberapa kovariat memiliki banyak titik pisah, keunggulan dalam kinerja model CIF tidak mengejutkan.

Kinerja prediktif dari tiga model hutan kelangsungan hidup pada kumpulan data simulasi dengan interaksi kovariat

Secara umum, ketiga model hutan kelangsungan hidup memiliki kinerja prediksi yang baik berdasarkan estimasi validasi silang bootstrap dari skor Brier terintegrasi. Namun demikian, terdapat beberapa perbedaan performansi dari masing-masing model pada masing-masing dataset yang disimulasikan seperti yang telah dibahas di atas. Hasil ringkasan menunjukkan bahwa hutan inferensi bersyarat memiliki kinerja prediksi yang baik dibandingkan dengan dua model hutan kelangsungan hidup acak terutama pada set data waktu-ke-peristiwa dengan kovariat politomus. Model ini sebanding dalam kinerja prediktif dengan model hutan kelangsungan hidup acak dalam analisis set data waktu-ke-peristiwa yang disimulasikan dengan kovariat biner.


Kesimpulan

Untuk memanfaatkan informasi gerakan mata untuk diagnosis penyakit, teknologi AI diterapkan untuk pembelajaran mandiri dan ekstraksi fitur. Fitur dapat dievaluasi dan dipilih secara otomatis oleh algoritma pembelajaran yang diawasi. Berbagai skema eksperimental dirancang untuk memandu subjek untuk pelacakan mata saat video gerakan mata direkam. Pupil dideteksi melalui pemrosesan gambar, dan berbagai fitur gerakan mata asli diperoleh. Untuk setiap fitur asli, pengklasifikasi LSTM dibuat, dan hasil klasifikasi diperlakukan sebagai fitur evolusioner, yang diterapkan untuk membangun pohon keputusan dan RF. Proses membangun RF mencerminkan efektivitas evaluasi dan pemilihan karakteristik gerakan mata yang dipandu oleh label sampel. Hasil eksperimen juga menunjukkan efisiensi metode ini dan sangat mendorong nilai penelitian dan prospek teknik AI dalam diagnosis penyakit.


Kesimpulan

Kami telah menunjukkan bahwa hutan acak dapat digunakan untuk menghasilkan prediksi spasial yang tidak bias dan ketidakpastian model dan peta. Melalui beberapa kumpulan data buku teks standar, kami telah menunjukkan bahwa prediksi yang dihasilkan menggunakan RFsp seringkali sama akuratnya (berdasarkan validasi silang berulang) daripada model geostatistik linier yang setara. Keuntungan dari pemodelan dan teknik hutan acak vs. linier geostatistik seperti kriging, bagaimanapun, terletak pada kenyataan bahwa tidak ada asumsi stasioneritas yang perlu diikuti, juga tidak ada kebutuhan untuk menentukan parameter transformasi atau anisotropi (atau untuk menyesuaikan variogram sama sekali) .

Hal ini membuat RF cukup menarik untuk aplikasi pemetaan otomatis, terutama di mana pengambilan sampel titik representatif (ekstrapolasi diminimalkan) dan di mana hubungan antara variabel target, kovariat dan struktur ketergantungan spasial kompleks, non-linier dan membutuhkan solusi lokal. Beberapa kelemahan serius menggunakan RFsp, di sisi lain, adalah kepekaan terhadap kualitas data input dan masalah ekstrapolasi (Gbr. 14). Kunci keberhasilan kerangka kerja RFsp mungkin adalah kualitas data pelatihan—terutama kualitas pengambilan sampel spasial (untuk meminimalkan masalah ekstrapolasi dan segala jenis bias dalam data), dan kualitas validasi model (untuk memastikan bahwa akurasi tidak dipengaruhi oleh overfitting ).

Berdasarkan pembahasan di atas, kami dapat merekomendasikan kerangka kerja dua tahap yang dijelaskan pada Gambar 15, sebagai jalur terpendek untuk menghasilkan akurasi pemetaan maksimum menggunakan RFsp sambil menghemat biaya produksi. Pada tahap pertama, sampel awal digunakan untuk mendapatkan perkiraan parameter model, informasi awal ini kemudian digunakan untuk mengoptimalkan prediksi (tahap kedua) sehingga tujuan pemetaan dapat dicapai dengan investasi tambahan yang minimal. Kerangka kerja pada Gambar 15, bagaimanapun, mengasumsikan bahwa ada (hanya) sampel awal yang cukup objektif, bahwa peta kesalahan RF dapat diandalkan, yaitu akurat, bahwa validasi silang yang kuat digunakan dan fungsi peluruhan RMSE yang dapat diandalkan. Fungsi peluruhan sederhana dapat diperluas lebih lanjut untuk menyertakan juga tujuan 'pendinginan' fungsi seperti yang digunakan misalnya di Brus & amp Heuvelink (2007), meskipun ini mungkin dapat meningkatkan intensitas komputasi. Pengambilan sampel dua tahap sudah cukup dikenal dalam literatur (Hsiao, Juang & Lee, 2000 Meerschman, Cockx & Van Meirvenne, 2011 Knotters & Brus, 2013), dan optimasi lebih lanjut dan otomatisasi pengambilan sampel dua tahap mungkin akan cukup menarik untuk operasional. pemetaan.

Gambar 15: Kerangka kerja berbasis akurasi dua tahap yang direkomendasikan untuk mengoptimalkan prediksi spasial berdasarkan RFsp (lihat juga Persamaan (18)).

Meskipun kami telah memberikan panduan komprehensif tentang cara menerapkan RF untuk berbagai masalah pemetaan prediktif—dari variabel kontinu hingga tipe faktor dan dari masalah spasial murni hingga spatiotemporal dengan banyak kovariat—masih ada banyak tantangan metodologis, seperti derivasi simulasi spasial , penurunan jarak buffer untuk kumpulan data titik besar, pengurangan masalah ekstrapolasi, dll, yang harus diselesaikan sebelum RFsp dapat beroperasi penuh untuk pemetaan prediktif. Sampai saat itu, beberapa teknik geostatistik tradisional mungkin masih lebih disukai.


Hutan Acak - Pentingnya Permutasi Bersyarat

Saya telah mencari algoritma yang paling tidak bias untuk mengetahui pentingnya fitur di hutan acak jika ada korelasi di antara fitur input.

Selain metodologi yang paling umum disukai pengurangan gini-impurity, pentingnya drop-column dan pentingnya permutasi, saya menemukan algoritme yang disebut pentingnya permutasi bersyarat, dalam artikel yang diberikan: (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-307#Sec8)

Langkah-langkah menghitung pentingnya permutasi bersyarat diberikan dalam artikel seperti ini:

  1. Di setiap pohon, hitung akurasi prediksi oob sebelum permutasi
  2. Untuk semua variabel Z yang akan dikondisikan: Ekstrak titik potong yang membagi variabel ini di pohon saat ini dan buat kisi dengan cara membagi dua ruang sampel di setiap titik potong.
  3. Dalam kisi ini, permutasi nilai X j dan hitung akurasi prediksi oob setelah permutasi
  4. Perbedaan antara akurasi prediksi sebelum dan sesudah akurasi permutasi kembali memberikan arti penting X j untuk satu pohon. Pentingnya X j untuk hutan dihitung lagi sebagai rata-rata untuk semua pohon.

Untuk langkah pertama, Saya mengalami kesulitan untuk mencapai skor oob dari setiap pohon karena oob_score default dihitung untuk semua pohon di hutan dalam metode scikit. Namun, karena saya masih dapat mencapai pohon tunggal sebagai pohon keputusan, saya mencoba input pengujian di pohon-pohon ini alih-alih sampel oob tetapi kernel terus mati.

clf=RandomForestClassifier(n_estimators=200,max_depth=3,oob_score = True) forest = clf.fit(train_inputs_arr, train_targets_arr)

Mencapai properti pohon keputusan tunggal

Untuk langkah kedua, Saya mengalami kesulitan untuk memahami apa yang dimaksud dengan "membuat gird dengan cara membagi dua ruang sampel di setiap titik potong", dan tidak begitu mengerti apakah saya harus menentukan titik potong dari Xj yang dipilih atau untuk variabel lain Z untuk dikondisikan.

Selain itu, saya juga membagikan struktur metode pentingnya permutasi yang saya gunakan sebelumnya, Ini hanya mengubah setiap fitur menghitung bagaimana skor oob menurun untuk setiap fitur setelah permutasi dan penurunan tertinggi dalam skor oob berarti pentingnya fitur yang lebih tinggi. Saya ingin memodifikasi struktur ini tetapi secara teoritis saya terjebak pada titik ini. Yang benar-benar ingin saya pelajari adalah implementasi algoritma ini pada python.


Tonton videonya: Cara Menggunakan Sampling Acak Sederhana u0026 pengertiannya #ProbabilitySampling #SimpleRandomSampling (September 2021).