ต้นไม้ด้านการตัดสินใจที่อ่อนแอคืออะไร?


34

ต้นไม้ตัดสินใจดูเหมือนจะเป็นวิธีการเรียนรู้ด้วยเครื่องที่เข้าใจได้ง่ายมาก เมื่อสร้างแล้วสามารถตรวจสอบได้ง่ายโดยมนุษย์ซึ่งเป็นข้อได้เปรียบที่ดีในการใช้งานบางอย่าง

อะไรคือจุดอ่อนด้านการปฏิบัติของต้นไม้การตัดสินใจ?

คำตอบ:


37

นี่คือคู่ที่ฉันนึกได้:

  • พวกมันไวต่อการรบกวนของข้อมูลเพียงเล็กน้อย: การเปลี่ยนแปลงเล็กน้อยอาจส่งผลให้ต้นไม้แตกต่างกันอย่างมาก
  • พวกเขาสามารถ overfit ได้อย่างง่ายดาย สิ่งนี้อาจถูกทำให้เป็นโมฆะโดยวิธีการตรวจสอบและตัดแต่งกิ่ง แต่นี่เป็นพื้นที่สีเทา
  • พวกเขาสามารถมีปัญหาการทำนายนอกตัวอย่าง (ซึ่งเกี่ยวข้องกับพวกเขาไม่ราบรื่น)

สิ่งเหล่านี้บางส่วนเกี่ยวข้องกับปัญหาความหลากสี : เมื่อทั้งสองตัวแปรอธิบายสิ่งเดียวกันต้นไม้ตัดสินใจจะเลือกสิ่งที่ดีที่สุดอย่างตะกละตะกลามในขณะที่วิธีการอื่น ๆ จะใช้ทั้งคู่ วิธีการรวมกลุ่มเช่นป่าสุ่มสามารถลบล้างสิ่งนี้ได้ในระดับหนึ่ง แต่คุณสูญเสียความสะดวกในการทำความเข้าใจ

อย่างไรก็ตามปัญหาที่ใหญ่ที่สุดจากมุมมองของฉันอย่างน้อยก็คือการขาดกรอบความน่าจะเป็นหลักการ วิธีการอื่น ๆ อีกมากมายมีสิ่งต่าง ๆ เช่นช่วงความมั่นใจการแจกแจงหลัง ฯลฯ ซึ่งทำให้เรามีความคิดว่าแบบจำลองนั้นดีเพียงใด ต้นไม้การตัดสินใจในท้ายที่สุดก็คือฮิวริสติกแบบเฉพาะกิจซึ่งยังคงมีประโยชน์มาก (มันยอดเยี่ยมสำหรับการค้นหาแหล่งที่มาของข้อบกพร่องในการประมวลผลข้อมูล) แต่มีอันตรายจากคนที่รักษาเอาต์พุตในฐานะ "รุ่น" ที่ถูกต้อง ประสบการณ์สิ่งนี้เกิดขึ้นมากมายในด้านการตลาด)


2
จากมุมมองต้นไม้ ML สามารถทดสอบได้ในลักษณะเดียวกับลักษณนามอื่น ๆ (เช่น CV) ถึงกระนั้นก็ยังแสดงให้เห็นว่า overfit หนักที่เกิดขึ้น ;-) นอกจากนี้ RF หนีหลายความสัมพันธ์ไม่ได้เป็นเพราะมันเป็นวงดนตรี แต่เนื่องจากต้นไม้ของมันเป็น suboptimal

2
สำหรับกรอบความน่าจะเป็นของต้นไม้การตัดสินใจดู DTREE (url: datamining.monash.edu.au/software/dtree/index.shtml ) ซึ่งอ้างอิงจากเอกสาร "Wallace CS และ Patrick JD,` Coding Decision Trees ', การเรียนรู้ของเครื่อง , 11, 1993, pp7-22 "
emakalic

2
นอกจากนี้ยังเป็นไปไม่ได้ที่จะได้รับ CI (สำหรับการคาดการณ์) โดยใช้การบูตสแตรป?
Tal Galili

@Simon Byrne ฉันมีคำถามเกี่ยวกับความคิดเห็นของคุณ "อย่างไรก็ตามปัญหาที่ใหญ่ที่สุดจากมุมมองของฉันอย่างน้อยก็คือการขาดกรอบความน่าจะเป็นหลักการ" ยกโทษให้ความเขลาของฉัน แต่คุณช่วยชี้ให้ฉันเห็นกรอบความน่าจะเป็นในทางปฏิบัติบางประการ (โดยเฉพาะในบริบทของการจำแนก) ฉันสนใจอย่างมากในข้อ จำกัด ของต้นไม้ตัดสินใจ
Amelio Vazquez-Reina

2
@AmV ตัวอย่างหนึ่งคือการถดถอยโลจิสติก: เราสามารถใช้ความจริงที่ว่าการสังเกตแต่ละครั้งมาจากทวินามเพื่อรับความมั่นใจ / ช่วงเวลาที่เชื่อถือได้และตรวจสอบสมมติฐานของโมเดล
Simon Byrne

23

ข้อเสียอย่างหนึ่งคือเงื่อนไขทั้งหมดจะถือว่าการโต้ตอบ นั่นคือคุณไม่สามารถมีตัวแปรอธิบายสองตัวที่ทำงานอย่างอิสระ ตัวแปรทุกตัวในทรีถูกบังคับให้โต้ตอบกับตัวแปรทุกตัวที่อยู่บนต้นไม้ นี่เป็นสิ่งที่ไม่มีประสิทธิภาพอย่างยิ่งถ้ามีตัวแปรที่ไม่มีปฏิสัมพันธ์หรืออ่อนแอ


ฉันสงสัยว่านี่เป็นข้อ จำกัด ในทางปฏิบัติหรือไม่ - สำหรับตัวแปรที่มีอิทธิพลต่อการจำแนกเพียงเล็กน้อยเท่านั้นสัญชาตญาณของฉันคือต้นไม้จะไม่แยกตัวแปรนั้น (เช่นมันจะไม่เป็นโหนด) ซึ่งหมายความว่า มันมองไม่เห็นเท่าการจำแนกประเภทของ Decision Tree
doug

ฉันกำลังพูดถึงการมีปฏิสัมพันธ์ที่อ่อนแอไม่ใช่ผลที่อ่อนแอต่อการจำแนกประเภท การโต้ตอบคือความสัมพันธ์ระหว่างตัวแปรทำนายสองตัว
Rob Hyndman

2
สิ่งนี้อาจไม่มีประสิทธิภาพ แต่โครงสร้างของต้นไม้สามารถจัดการได้

นั่นเป็นเหตุผลที่ฉันพูดว่าไม่มีประสิทธิภาพแทนที่จะลำเอียงหรือไม่ถูกต้อง หากคุณมีข้อมูลจำนวนมากมันไม่สำคัญเลย แต่ถ้าคุณใส่ต้นไม้กับการสังเกตสองสามร้อยกว่าการโต้ตอบที่สันนิษฐานจะช่วยลดความแม่นยำในการทำนาย
Rob Hyndman

2
ตกลง; ฉันแค่อยากจะเน้นมัน ถึงกระนั้นฉันคิดว่าการลดความแม่นยำในการทำนายสามารถลบออกได้โดยใช้การฝึกอบรมที่เหมาะสม ใน phylogenetics ปัญหาที่คล้ายกัน (ความโลภ) ลดลงโดยการสแกน Monte Carlo ของพื้นที่ต้นไม้ที่เป็นไปได้เพื่อหาโอกาสสูงสุด - ฉันไม่ทราบว่ามีวิธีการที่คล้ายกันในสถิติอาจจะไม่มีใครใส่ใจปัญหานี้เช่นนี้ ขอบเขต

12

คำตอบของฉันถูกนำไปยัง CART (การใช้งาน C 4.5 / C 5) แม้ว่าฉันจะไม่คิดว่ามัน จำกัด ฉันเดาว่านี่คือสิ่งที่ OP มีอยู่ในใจ - โดยปกติแล้วจะมีบางคนหมายถึงเมื่อพวกเขาพูดว่า "Decision Tree"

ข้อ จำกัด ของต้นไม้การตัดสินใจ :


ต่ำประสิทธิภาพ

โดย 'ประสิทธิภาพ' ฉันจะมีความละเอียดไม่ได้หมายถึง แต่ความเร็วในการทำงาน เหตุผลที่มันไม่ดีคือคุณต้อง 'redraw the tree' ทุกครั้งที่คุณต้องการอัปเดตโมเดล CART ของคุณ - ข้อมูลที่จัดทำโดย Tree ที่ผ่านการฝึกอบรมมาแล้วจากนั้นคุณต้องการเพิ่ม Tree (เช่นใช้เป็น จุดข้อมูลการฝึกอบรม) ต้องการให้คุณเริ่มต้นจาก - กรณีการฝึกอบรมไม่สามารถเพิ่มทีละส่วนได้เนื่องจากพวกเขาสามารถทำได้สำหรับอัลกอริทึมการเรียนรู้แบบมีผู้สอนอื่น ๆ ส่วนใหญ่ บางทีวิธีที่ดีที่สุดในการกล่าวคือ Decision Trees ไม่สามารถฝึกในโหมดออนไลน์ได้ แต่ในโหมดแบทช์ เห็นได้ชัดว่าคุณจะไม่สังเกตเห็นข้อ จำกัด นี้หากคุณไม่อัปเดตตัวจําแนกของคุณ แต่ฉันคาดหวังว่าคุณจะเห็นความละเอียดลดลง

สิ่งนี้มีความสำคัญเนื่องจากสำหรับ Multi-Layer Perceptrons เมื่อผ่านการฝึกอบรมแล้วสามารถจำแนกข้อมูลได้ ข้อมูลนั้นยังสามารถใช้ในการ 'ปรับ' ตัวแยกประเภทที่ผ่านการฝึกอบรมแล้วแม้ว่าด้วย Decision Trees คุณจะต้องฝึกใหม่กับชุดข้อมูลทั้งหมด (ข้อมูลดั้งเดิมที่ใช้ในการฝึกอบรมรวมถึงอินสแตนซ์ใหม่)


ความละเอียดต่ำของข้อมูลที่มีความสัมพันธ์ที่ซับซ้อนระหว่างตัวแปร

ต้นไม้การตัดสินใจแบ่งประเภทโดยการประเมินอย่างชาญฉลาดของจุดข้อมูลของคลาสที่ไม่รู้จักหนึ่งโหนดในเวลาเริ่มต้นที่โหนดรูทและสิ้นสุดด้วยโหนดเทอร์มินัล และในแต่ละโหนดมีเพียงสองวิธีที่เป็นไปได้ (ซ้าย - ขวา) ดังนั้นจึงมีความสัมพันธ์ของตัวแปรบางอย่างที่ต้นไม้การตัดสินใจไม่สามารถเรียนรู้ได้


จำกัด เฉพาะการจำแนกประเภท

ต้นไม้การตัดสินใจทำงานได้ดีที่สุดเมื่อพวกเขาได้รับการฝึกฝนให้กำหนดจุดข้อมูลให้กับคลาส - โดยเฉพาะอย่างยิ่งหนึ่งในไม่กี่คลาสที่เป็นไปได้ ฉันไม่เชื่อว่าฉันเคยประสบความสำเร็จในการใช้ Decision Tree ในโหมดถดถอย (เช่นผลผลิตต่อเนื่องเช่นราคาหรือรายได้ตลอดอายุการใช้งานที่คาดหวัง) นี่ไม่ใช่ข้อ จำกัด อย่างเป็นทางการหรือโดยธรรมชาติ แต่เป็นข้อปฏิบัติ ต้นไม้การตัดสินใจส่วนใหญ่ใช้สำหรับการคาดการณ์ปัจจัยหรือผลลัพธ์ที่ไม่ต่อเนื่อง


ความละเอียดไม่ดีพร้อมตัวแปรความคาดหวังอย่างต่อเนื่อง

ตามหลักการแล้วมันก็โอเคที่จะมีตัวแปรอิสระเช่น "เวลาดาวน์โหลด" หรือ "จำนวนวันนับตั้งแต่การซื้อออนไลน์ครั้งก่อน" - เพียงแค่เปลี่ยนเกณฑ์การแยกของคุณเป็นความแปรปรวน (โดยปกติแล้วคือเอนโทรปีของสารสนเทศหรือ Gini ประสบการณ์การตัดสินใจต้นไม้ไม่ค่อยได้ผลในตัวอย่างนี้ ข้อยกเว้นเป็นกรณีเช่น "อายุของนักเรียน" ซึ่งดูต่อเนื่อง แต่ในทางปฏิบัติช่วงของค่ามีขนาดค่อนข้างเล็ก (โดยเฉพาะถ้าพวกเขาถูกรายงานว่าเป็นจำนวนเต็ม)


1
+1 สำหรับการโทรที่ดีในมุมของการแสดงผลซึ่งโดยปกติแล้วจะไม่ได้รับการเล่นที่เพียงพอ ฉันเคยเห็น Decision Trees พบปัญหาเรื่องประสิทธิภาพของซอฟต์แวร์หลายแพลตฟอร์มที่ออกแบบมาสำหรับชุดข้อมูลขนาดใหญ่ (เช่น SQL Server) อย่างน้อยเมื่อเปรียบเทียบกับวิธีการขุดข้อมูลอื่น ๆ นี่คือนอกเหนือจากปัญหาการอบรมขึ้นใหม่ทั้งหมดที่คุณนำมา ดูเหมือนว่าจะเลวลงในกรณีที่เกิด overfitting (แม้ว่าอาจกล่าวได้ว่าเป็นอัลกอริธึมการทำเหมืองอื่น ๆ อีกมากมาย)
SQLServerSteve

10

มีคำตอบที่ดีอยู่ที่นี่ แต่ฉันประหลาดใจที่ไม่มีสิ่งใดเน้นย้ำ รถเข็นไม่ได้ทำการตั้งสมมติฐานเกี่ยวกับข้อมูลโดยเฉพาะอย่างยิ่งตัวแปรตอบสนอง ในทางตรงกันข้ามการถดถอย OLS (สำหรับตัวแปรตอบสนองต่อเนื่อง) และการถดถอยโลจิสติก (สำหรับตัวแปรตอบสนองเด็ดขาดบางอย่าง) ทำสมมติฐานที่แข็งแกร่ง โดยเฉพาะการถดถอยของ OLS จะถือว่าการตอบสนองนั้นมีการแจกแจงแบบมีเงื่อนไขตามปกติและโลจิสติกจะถือว่าการตอบสนองนั้นเป็นแบบทวินามหรือแบบหลายส่วน

รถเข็นขาดสมมติฐานดังกล่าวเป็นดาบสองคม เมื่อสมมติฐานเหล่านั้นไม่ได้รับการรับประกันสิ่งนี้จะให้ความได้เปรียบในเชิงเปรียบเทียบ ในทางกลับกันเมื่อสมมติฐานเหล่านั้นมีอยู่ข้อมูลเพิ่มเติมสามารถดึงออกมาจากข้อมูลได้โดยคำนึงถึงข้อเท็จจริงเหล่านั้น นั่นคือวิธีการถดถอยมาตรฐานสามารถให้ข้อมูลได้มากกว่า CART เมื่อสมมติฐานเป็นจริง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.