Saya sedang mengerjakan pekerjaan rumah di Pohon Keputusan, dan salah satu pertanyaan yang harus saya jawab adalah "Mengapa estimator dibangun dari pohon yang bias, dan bagaimana mengantongi membantu mengurangi variansnya?".
Sekarang, saya tahu bahwa model overfitted cenderung memiliki bias yang sangat rendah, karena mereka mencoba menyesuaikan semua poin data. Dan, saya punya skrip Python yang memasangkan pohon ke beberapa dataset (dengan satu fitur. Itu hanya sebuah sinusoid, dengan beberapa titik, gambar di bawah). Jadi, saya bertanya-tanya "baiklah, jika saya benar-benar melengkapi data, bisakah saya mendapatkan bias menjadi nol?". Dan, ternyata, bahkan dengan kedalaman 10.000, masih ada beberapa titik di mana kurva tidak lewat.
Saya mencoba mencari alasannya, tetapi saya tidak dapat menemukan penjelasan. Saya menduga bahwa mungkin ada beberapa pohon yang akan dengan sempurna melewati semua poin, dan yang saya dapatkan hanyalah "nasib buruk". Atau mungkin dataset yang berbeda bisa memberi saya hasil yang tidak bias (mungkin sinusoid sempurna?). Atau bahkan itu, mungkin pemotongan yang dilakukan di awal membuatnya tidak mungkin untuk pemotongan lebih lanjut untuk sepenuhnya memisahkan semua poin.
Jadi, dengan mempertimbangkan dataset ini (karena mungkin berbeda untuk yang lain), pertanyaan saya adalah: apakah mungkin untuk menyesuaikan pohon ke titik di mana bias menjadi nol, atau apakah akan selalu ada beberapa bias, bahkan jika benar-benar ada kecil? Dan jika selalu ada setidaknya beberapa bias, mengapa itu terjadi?
PS Saya tidak tahu apakah itu relevan, tapi saya menggunakan DecisionTreeRegressor
dari yang sklearn
sesuai dengan model ke data.
Jawaban:
Model pohon keputusan tidak selalu lebih bias daripada model pembelajaran lainnya.
Jika kita cocok pohon keputusan dalam kedua situasi, model ini un-bias dalam situasi pertama, tetapi yang bias di kedua. Ini karena pohon biner satu split dapat memulihkan model data mendasar yang sebenarnya dalam situasi pertama. Dalam yang kedua, yang terbaik yang bisa dilakukan pohon adalah mendekati fungsi linear dengan menggerakkan langkah pada interval yang lebih halus - pohon dengan kedalaman terbatas hanya bisa sangat dekat.
Jika kita cocok regresi linier di kedua situasi, model ini bias dalam situasi pertama, tetapi un-bias di kedua.
Jadi, untuk mengetahui apakah suatu model bias, Anda perlu tahu apa sebenarnya mekanisme data yang mendasarinya. Dalam situasi kehidupan nyata, Anda tidak pernah tahu ini, jadi Anda tidak akan pernah bisa mengatakan apakah model dalam kehidupan nyata bias atau tidak. Terkadang, kita berpikir kita benar-benar tepat untuk waktu yang lama, tetapi kemudian bias muncul dengan pemahaman yang lebih dalam (Gravitasi Newton ke Einstein Gravitasi setidaknya merupakan contoh apokrif).
Dalam beberapa hal, kami berharap sebagian besar proses dunia nyata (dengan beberapa pengecualian) menjadi sangat tidak diketahui, bahwa perkiraan yang cukup masuk akal dari kebenaran adalah bahwa semua model kami bias. Saya agak meragukan pertanyaan yang diajukan untuk diskusi filosofis yang mendalam tentang kesia-siaan penting dalam memodelkan proses statistik yang kompleks, tetapi menyenangkan untuk dipikirkan.
sumber
Fakta bahwa beberapa titik dalam data Anda masih belum diprediksi dapat disebabkan oleh sesuatu yang disebut kesalahan tak tereduksi. Teorinya adalah bahwa dalam pembelajaran mesin ada kesalahan yang dapat direduksi, dan tidak dapat direduksi. Gagasan tentang irreducible error adalah bahwa tidak peduli seberapa bagus model Anda, itu tidak akan pernah sempurna. Ini karena beberapa alasan. Pertama, tidak peduli seberapa kuat fitur pelatihan Anda, akan selalu ada beberapa fitur tersembunyi yang mempengaruhi keluaran yang tidak dimasukkan oleh data pelatihan Anda. Alasan lain adalah bahwa dalam hampir semua data, pasti ada beberapa pencilan. Anda selalu dapat mencoba membuat model Anda sekuat mungkin untuk outlier, tetapi tidak peduli seberapa keras Anda mencoba, outlier akan selalu ada. (Ini tidak berarti bahwa Anda tidak boleh berpikir tentang outlier ketika membuat model Anda). Dan satu detail terakhir adalah Anda tidak
sumber