Apakah jumlah dua pohon keputusan sama dengan pohon keputusan tunggal?

15

Misalkan kita memiliki dua pohon regresi (pohon A dan pohon B) yang peta masukan untuk output yR . Biarkan y = f A ( x ) untuk pohon A dan f B ( x ) untuk pohon B. Setiap pohon menggunakan perpecahan biner, dengan hyperplanes sebagai fungsi memisahkan.xRdy^Ry^=fA(x)fB(x)

Sekarang, anggaplah kita mengambil jumlah tertimbang dari output pohon:

fC(x)=wA fA(x)+wB fB(x)

Apakah fungsi setara dengan pohon regresi tunggal (lebih)? fCJika jawabannya "kadang-kadang", maka dalam kondisi apa?

Idealnya, saya ingin memungkinkan hyperplanes miring (yaitu pemisahan dilakukan pada kombinasi fitur linear). Tapi, dengan asumsi pemisahan fitur tunggal bisa ok jika itu satu-satunya jawaban yang tersedia.

Contoh

Berikut adalah dua pohon regresi yang didefinisikan pada ruang input 2d:

masukkan deskripsi gambar di sini

Gambar menunjukkan bagaimana setiap partisi partisi ruang input, dan output untuk setiap wilayah (kode dalam skala abu-abu). Angka berwarna menunjukkan daerah ruang input: 3,4,5,6 sesuai dengan node daun. 1 adalah penyatuan 3 & 4, dll.

Sekarang anggaplah kita rata-rata output pohon A dan B:

masukkan deskripsi gambar di sini

Output rata-rata diplot di sebelah kiri, dengan batas keputusan pohon A dan B ditumpangkan. Dalam hal ini, dimungkinkan untuk membuat pohon tunggal yang lebih dalam yang outputnya setara dengan rata-rata (diplot di sebelah kanan). Setiap node sesuai dengan wilayah ruang input yang dapat dibangun dari wilayah yang ditentukan oleh pohon A dan B (ditunjukkan oleh angka berwarna pada setiap node; beberapa angka menunjukkan persimpangan dua wilayah). Perhatikan bahwa pohon ini tidak unik - kita bisa mulai membangun dari pohon B alih-alih pohon A.

Contoh ini menunjukkan bahwa ada kasus di mana jawabannya adalah "ya". Saya ingin tahu apakah ini selalu benar.

pengguna20160
sumber
2
Hmm .. Jika itu masalahnya mengapa kita melatih hutan acak? (Karena jelas kombinasi linear dari 500 pohon dapat dinyatakan kembali sebagai 499 jumlah berpasangan 500 pohon) Pertanyaan yang bagus, +1.
usεr11852 mengatakan Reinstate Monic
pertanyaan menarik! Saya akan menganggap ruang hipotesis pohon keputusan dan ansambel pohon keputusan (meningkatkan, kombinasi linear pohon) menjadi sama. Menantikan jawaban ..
Laksan Nathan
@ usεr11852 Mungkin karena menggunakan satu pohon yang sangat besar bukan hutan jauh lebih lambat? Sama seperti di jaringan saraf, satu jaringan lapisan tersembunyi sudah dapat memperkirakan semua fungsi kontinu tetapi menambahkan lapisan membuat jaringan lebih cepat. Tidak mengatakan ini masalahnya di sini, tetapi mungkin saja demikian.
Harto Saarinen
1
@HartoSaarinen: Ini adalah cara berpikir yang menarik tentang ini, tetapi saya kira itu tidak mudah. Dapat diterima bahwa pohon-pohon yang sangat dalam mungkin menutupi dan menggeneralisasi dengan buruk (prediksi mereka juga sangat tidak stabil). Selain itu (mengenai pertimbangan kecepatan) pohon yang lebih dalam membutuhkan pemisahan secara eksponensial dan dengan demikian lebih banyak waktu pelatihan. (Sebatang pohon kedalaman 10 memiliki paling banyak 1.023 pohon terpisah tetapi pohon kedalaman 20.048.575. Banyak lagi pekerjaan!)
usεr11852 mengatakan Reinstate Monic
1
@ usεr11852 Saya setuju bahwa itu mungkin sama sekali tidak benar dan jawabannya mungkin sesuatu yang sama sekali berbeda. Inilah yang membuat bidang ini sangat menarik saat ini, banyak sekali hal yang dapat ditemukan!
Harto Saarinen

Jawaban:

6

Ya, jumlah tertimbang pohon regresi sama dengan satu pohon regresi (lebih dalam).

Pengukur fungsi universal

Pohon regresi adalah aproksimasi fungsi universal (lihat mis. Teori ). Sebagian besar penelitian tentang perkiraan fungsi universal dilakukan pada jaringan saraf tiruan dengan satu lapisan tersembunyi (baca blog hebat ini ). Namun, sebagian besar algoritma pembelajaran mesin adalah perkiraan fungsi universal.

Menjadi penduga fungsi universal berarti bahwa setiap fungsi arbitrer dapat diwakili secara kasar. Dengan demikian, tidak peduli seberapa kompleks fungsi yang didapat, perkiraan fungsi universal dapat mewakilinya dengan presisi yang diinginkan. Dalam kasus pohon regresi, Anda dapat membayangkan pohon yang sangat dalam. Pohon yang sangat dalam ini dapat memberikan nilai apa pun ke titik mana pun di ruang angkasa.

Karena jumlah tertimbang dari pohon regresi adalah fungsi arbitrer lain, ada pohon regresi lain yang mewakili fungsi itu.

Algoritma untuk membuat pohon seperti itu

Mengetahui bahwa ada pohon yang demikian itu bagus. Tapi kami juga ingin resep membuatnya. Algoritma semacam itu dan akan menggabungkan dua pohon yang diberikanT1 dan T2dan buat yang baru. Sebuah solusi adalah copy-pasteT2 di setiap simpul daun T1. Nilai output dari simpul daun dari pohon baru kemudian adalah jumlah tertimbang dari simpul daunT1 (suatu tempat di tengah pohon) dan simpul daun T2.

Contoh di bawah ini menunjukkan dua pohon sederhana yang ditambahkan dengan bobot 0,5. Perhatikan bahwa satu simpul tidak akan pernah tercapai, karena tidak ada angka yang lebih kecil dari 3 dan lebih besar dari 5. Ini menunjukkan bahwa pohon-pohon ini dapat ditingkatkan, tetapi tidak membuat mereka tidak valid.

masukkan deskripsi gambar di sini

Mengapa menggunakan algoritma yang lebih kompleks

Sebuah pertanyaan tambahan yang menarik dimunculkan oleh @ usεr11852 dalam komentar: mengapa kita menggunakan meningkatkan algoritma (atau bahkan algoritma pembelajaran mesin yang kompleks) jika setiap fungsi dapat dimodelkan dengan pohon regresi sederhana?

Pohon regresi memang bisa mewakili fungsi apa pun tetapi itu hanya satu kriteria untuk algoritma pembelajaran mesin. Satu properti penting lainnya adalah seberapa baik mereka menggeneralisasi. Pohon regresi mendalam cenderung overfitting, yaitu mereka tidak menggeneralisasi dengan baik. Hutan acak rata-rata banyak pohon dalam untuk mencegah hal ini.

Pieter
sumber