Gini ลดลงและ Gini ไม่บริสุทธิ์ของโหนดลูก


15

ฉันกำลังทำงานกับตัววัดความสำคัญของคุณลักษณะ Gini สำหรับฟอเรสต์แบบสุ่ม ดังนั้นฉันจำเป็นต้องคำนวณการลดลงของ Gini ในโหนดที่ไม่บริสุทธิ์ นี่คือวิธีที่ฉันทำซึ่งนำไปสู่ความขัดแย้งกับคำนิยามแนะนำว่าฉันต้องผิดที่ไหนสักแห่ง ... :)

สำหรับต้นไม้ไบนารีและได้รับความน่าจะเป็นของลูกซ้ายและขวาฉันสามารถคำนวณความไม่บริสุทธิ์ของ Gini ของโหนด :n

i(n)=1pl2pr2

และ Gini ลดลง:

Δi(n)=i(n)pli(nl)pri(nr)

ดังนั้นสำหรับตัวอย่างนี้มีการสังเกต 110 จุดบนโหนด:

- node (110)
   - left (100)
      - left_left (60)
      - left_right (40)
   - right (10)
      - right_left (5)
      - right_right (5)

ฉันจะคำนวณการลดลงของ Gini สำหรับโหนดดังนี้:

i(left)=1(60/100)²(40/100)²=0.48ผม(Rผมก.ชั่วโมงเสื้อ)=1-(5/10)²-(5/10)²=0.50ผม(nโอdอี)=1-(100/110)²-(10/110)²=0.16

แต่ทำตามคำจำกัดความของ Breiman (หรือคำตอบนี้ในประวัติย่อ: วิธีการวัด / จัดอันดับ "ความสำคัญของตัวแปร" เมื่อใช้ CARTแต่ฉันไม่สามารถเข้าถึงหนังสืออ้างอิงได้) เกณฑ์การปนเปื้อนของผู้สืบทอดควรน้อยกว่าผู้ปกครอง โหนด:

ความสำคัญของ Gini
ทุกครั้งที่มีการแบ่งโหนดบนตัวแปร m เกณฑ์การปนเปื้อนของ gini สำหรับสองโหนดที่สืบทอดจะน้อยกว่าโหนดหลัก การเพิ่มค่า Gini จะลดลงสำหรับตัวแปรแต่ละตัวของต้นไม้ทุกต้นในป่าให้ความสำคัญของตัวแปรที่รวดเร็วซึ่งมักจะสอดคล้องกับการวัดความสำคัญของการเปลี่ยนรูป

เพราะไม่เช่นนั้นจะนำไปสู่การลบ Gini ลดลง ...

Δi(node)=i(node)(100/110)i(left)(10/110)i(right)=0.32

ดังนั้นถ้ามีคนบอกว่าฉันผิดฉันจะขอบคุณมากเพราะดูเหมือนว่าฉันพลาดอะไรบางอย่างที่นี่ ...

คำตอบ:


16

คุณไม่ได้ใช้ตัวแปรคลาสเป้าหมายเลย Gini สิ่งเจือปนเป็นฟังก์ชั่นสิ่งเจือปนอื่น ๆ ทั้งหมด, วัดความไม่บริสุทธิ์ของเอาต์พุตหลังจากแยก สิ่งที่คุณทำคือการวัดสิ่งที่ใช้ขนาดตัวอย่างเท่านั้น

ฉันพยายามหาสูตรสำหรับกรณีของคุณ

สมมติว่าคุณมีตัวจําแนกเป็นไบนารี แสดงว่าด้วยแอตทริบิวต์การทดสอบกับแอตทริบิวต์ class ที่มีค่าC c + , c -A+,-

ดัชนี gini เริ่มต้นก่อนที่จะแยกให้โดย โดยที่เป็นสัดส่วนของจุดข้อมูลที่มีค่าสำหรับคลาส ตัวแปร. P ( A + ) c +

ผม(A)=1-P(A+)2-P(A-)2
P(A+)+

ตอนนี้สิ่งเจือปนสำหรับโหนดด้านซ้ายจะเป็น โดยที่เป็นสัดส่วนของจุดข้อมูลจากเซตย่อยด้านซ้ายของซึ่งมีค่าในตัวแปรคลาสเป็นต้น I ( A r ) = 1 - P ( A r + ) 2 - P ( A r - ) 2 P ( A l) + ) A c +

ผม(Aล.)=1-P(Aล.+)2-P(Aล.-)2
ผม(AR)=1-P(AR+)2-P(AR-)2
P(Aล.+)A+

ตอนนี้สูตรสุดท้ายสำหรับ GiniGain จะเป็น

พีลิตรอีT # | ลิตร|

GผมnผมGaผมn(A)=ผม(A)-พีล.อีเสื้อผม(Aล.)-พีRผมก.ชั่วโมงเสื้อผม(AR)
โดยที่คือสัดส่วนของอินสแตนซ์ของเซตย่อยทางซ้ายหรือ (วิธีการหลาย ๆ กรณีอยู่ในเซตซ้ายหารด้วยจำนวนรวมของอินสแตนซ์จากพีล.อีเสื้อ#|Aล.|#|Aล.|+#|AR|A

ฉันรู้สึกว่าสัญกรณ์ของฉันจะดีขึ้นฉันจะดูในภายหลังเมื่อฉันจะมีเวลามากขึ้น

ข้อสรุป

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

แก้ไขในภายหลัง - พิสูจน์สาเหตุที่มันลดลง

ตอนนี้ฉันสังเกตเห็นว่าฉันพลาดส่วนที่พิสูจน์ได้ว่าทำไมมันจึงเป็นดัชนี gini ในโหนดลูกน้อยกว่าโหนดแม่ ฉันไม่มี proove ที่สมบูรณ์หรือที่ตรวจสอบแล้ว แต่ฉันคิดว่าเป็นหลักฐานที่ถูกต้อง สำหรับสิ่ง interenting อื่น ๆ ที่เกี่ยวข้องกับหัวข้อที่คุณอาจตรวจสอบหมายเหตุทางเทคนิค: บางคุณสมบัติของเกณฑ์การแยก - ลีโอเบรแมน ตอนนี้มันจะเป็นไปตามหลักฐานของฉัน

สมมติว่าเราอยู่ในกรณีไบนารีและค่าทั้งหมดในโหนดสามารถอธิบายได้อย่างสมบูรณ์โดยคู่ที่มีความหมายของกรณีของชั้นแรกและกรณีของชั้นที่สอง เราสามารถระบุได้มากกว่านั้นในโหนดแม่เรามีอินสแตนซ์(a,)a(a,)

เพื่อค้นหาการแยกที่ดีที่สุดเราเรียงลำดับอินสแตนซ์ตามคุณลักษณะการทดสอบและเราลองแยกเป็นไปได้ทั้งหมด เรียงตามคุณสมบัติที่กำหนดเป็นจริงการเปลี่ยนแปลงของอินสแตนซ์ซึ่งในชั้นเรียนเริ่มต้นด้วยอินสแตนซ์ของชั้นแรกหรือชั้นที่สอง เราจะสมมติว่ามันเริ่มต้นด้วยอินสแตนซ์ของคลาสเฟิร์สต์คลาส (หากไม่ใช่กรณีที่เรามีหลักฐานกระจกพร้อมการคำนวณเดียวกัน)

การแบ่งครั้งแรกเพื่อลองอยู่ในอินสแตนซ์ด้านซ้ายและในอินสแตนซ์ด้านขวาวิธีการที่ดัชนี gini สำหรับผู้สมัครที่เป็นไปได้สำหรับโหนดลูกซ้ายและขวาจะถูกเปรียบเทียบกับโหนดผู้ปกครอง? เห็นได้ชัดว่าในด้านซ้ายเรามี0 ทางด้านซ้ายเรามีค่าดัชนีจินีที่เล็กกว่า แล้วโหนดที่ถูกต้องล่ะ?(1,0)(a-1,)ชั่วโมง(ล.อีเสื้อ)=1-(1/1)2-(0/1)2=0

ชั่วโมง(พีaRอีnเสื้อ)=1-(aa+)2-(a+)2
ชั่วโมง(Rผมก.ชั่วโมงเสื้อ)=1-(a-1(a-1)+)2-((a-1)+)2

พิจารณาว่ามากกว่าหรือเท่ากับ (เนื่องจากเราจะแยกอินสแตนซ์ของคลาสที่หนึ่งในโหนดด้านซ้ายได้อย่างไร) และหลังจากการทำให้เข้าใจง่ายมันง่ายที่จะเห็นว่าดัชนี gini สำหรับโหนดด้านขวามีค่าน้อยกว่า โหนดหลักa0

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

ในฐานะข้อสรุปสุดท้ายเราต้องทราบแม้ว่าการแบ่งต่าง ๆ สามารถให้ค่าที่ใหญ่กว่าโหนดหลักสิ่งที่เราเลือกจะมีขนาดเล็กที่สุดในหมู่พวกเขาและยังน้อยกว่าค่าดัชนีผู้ปกครอง gini

หวังว่ามันจะช่วย


ขอบคุณมากคุณปลดล็อคสมองของฉัน ... ที่จริงแล้วตั้งแต่ฉันจัดการกับต้นไม้การถดถอยการใช้ตัวแปรคลาสเป้าหมายปรากฏชัดเจนน้อยกว่าสำหรับงานการจัดหมวดหมู่ที่บริสุทธิ์ แต่ตอนนี้มันสมเหตุสมผลแล้ว
Remi Mélisson

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