Pohon keputusan vs. Jaringan Saraf Tiruan

20

Saya menerapkan struktur pembelajaran mesin untuk mencoba dan memprediksi penipuan pada sistem keuangan seperti bank, dll ... Ini berarti ada banyak data berbeda yang dapat digunakan untuk melatih model, misalnya. nomor kartu, nama pemegang kartu, jumlah, negara, dll ...

Saya mengalami masalah dalam memutuskan struktur mana yang terbaik untuk masalah ini. Saya memiliki pengalaman dengan pohon keputusan tetapi saat ini saya sudah mulai mempertanyakan apakah jaringan saraf akan lebih baik untuk masalah seperti ini. Juga jika ada metode lain yang terbaik, silakan mencerahkan saya.

Manakah pro dan kontra dari setiap struktur dan struktur mana yang akan menjadi yang terbaik untuk masalah ini?

Juga saya tidak yakin tentang fakta ini, tetapi saya pikir pohon keputusan memiliki keuntungan besar atas jaringan saraf dalam hal kecepatan eksekusi. Ini penting karena kecepatan juga merupakan faktor kunci dalam proyek ini.

Topo
sumber

Jawaban:

24

Ada banyak perbedaan antara keduanya, tetapi dalam hal praktis, ada tiga hal utama yang perlu dipertimbangkan: kecepatan, interpretabilitas, dan akurasi.

Pohon Keputusan

  • Seharusnya lebih cepat setelah dilatih (walaupun kedua algoritma dapat berlatih secara lambat tergantung pada algoritma yang tepat dan jumlah / dimensi data). Ini karena pohon keputusan secara inheren "membuang" fitur input yang tidak berguna, sedangkan neural net akan menggunakan semuanya kecuali jika Anda melakukan beberapa pemilihan fitur sebagai langkah pra-pemrosesan.
  • Jika penting untuk memahami apa yang dilakukan model, pohon-pohon tersebut sangat dapat ditafsirkan.
  • Hanya fungsi model yang merupakan pemisahan paralel-sumbu data, yang mungkin tidak demikian.
  • Anda mungkin ingin memastikan untuk memangkas pohon agar tidak terlalu pas.

Jaring Saraf Tiruan

  • Lebih lambat (baik untuk pelatihan dan klasifikasi), dan kurang dapat diartikan.
  • Jika data Anda tiba dalam aliran, Anda dapat melakukan pembaruan tambahan dengan penurunan gradien stokastik (tidak seperti pohon keputusan, yang menggunakan algoritme pembelajaran batch yang inheren).
  • Dapat memodelkan fungsi yang lebih arbitrer (interaksi nonlinear, dll.) Dan karenanya mungkin lebih akurat, asalkan ada cukup data pelatihan. Tetapi bisa juga cenderung terlalu pas.

Anda mungkin ingin mencoba menerapkan keduanya dan menjalankan beberapa percobaan pada data Anda untuk melihat mana yang lebih baik, dan membandingkan waktu berjalan. Atau, Anda bisa menggunakan sesuatu seperti Weka GUI yang diterangi dengan sampel data Anda yang representatif untuk menguji drive kedua metode.

Mungkin juga bahwa menggunakan algoritma "bagging" atau "boosting" dengan pohon keputusan akan meningkatkan akurasi dengan tetap menjaga kesederhanaan dan kecepatan. Namun singkatnya, jika kecepatan dan kemampuan interpretasi benar-benar penting, maka pohon mungkin merupakan tempat untuk memulai. Kalau tidak, itu tergantung dan Anda akan memiliki beberapa eksplorasi empiris untuk dilakukan.

duri
sumber
Anda sepertinya tahu sedikit tentang ini, apakah Anda memiliki pengalaman dengan jaringan bayesian atau metode pembelajaran mesin lainnya yang mungkin membantu dengan masalah ini?
Topo
1
Saya belum banyak beruntung dengan jaringan Bayesian penuh, sebagian besar Bayes naif dan model topik. Saya tidak pernah bekerja pada masalah deteksi penipuan, tetapi Bayes yang naif atau regresi logistik mungkin juga merupakan pendekatan yang masuk akal di sini.
burr