ในหน่วยโฆษณานี้ คุณจะได้สํารวจอัลกอริทึมตัวแยกที่ง่ายที่สุดในการใช้งานมากที่สุด ซึ่งจะสร้างเงื่อนไขของรูปแบบ ในการตั้งค่าต่อไปนี้
- งานการแยกประเภทไบนารี
- ไม่มีค่าในตัวอย่าง
- ไม่มีดัชนีที่คํานวณไว้ล่วงหน้าในตัวอย่าง
สมมติว่ามีตัวอย่าง พร้อมฟีเจอร์ตัวเลขและป้ายกํากับไบนารี "orange" และ "blue" อธิบายอย่างเป็นทางการว่าชุดข้อมูล มีลักษณะดังนี้
ที่ไหน:
- คือค่าของฟีเจอร์ตัวเลขใน (ชุดตัวเลขจริง)
- เป็นค่าป้ายกํากับการแยกประเภทไบนารีใน {orange, blue}
วัตถุประสงค์ของเราคือการค้นหาค่าเกณฑ์ (เกณฑ์) ดังกล่าว เช่น การแบ่งตัวอย่าง ไปยังกลุ่ม และ ตามเงื่อนไข ช่วยแบ่งค่าป้ายกํากับ เช่น ตัวอย่างเพิ่มเติม "orange" ตัวอย่าง $t;&t.;blue&&t.
Shannon entropy เป็นเครื่องวัดความผิดปกติ สําหรับป้ายกํากับไบนารี
- เอนโทรปี Shannon มีค่าสูงสุดเมื่อป้ายกํากับในตัวอย่างมีความสมดุล (สีฟ้า 50% และสีส้ม 50%)
- เอนโทรปี Shannon มีค่าขั้นต่ํา (ค่า 0) เมื่อป้ายกํากับในตัวอย่างเป็น เฉพาะ (สีฟ้า 100% หรือสีส้ม 100%)
รูปที่ 8 ระดับเอนโทรปี 3 ระดับ
ก่อนหน้านี้เราต้องการหาเงื่อนไขที่ลดผลรวมที่ถ่วงน้ําหนักของการกระจายป้ายกํากับใน และ คะแนนที่เกี่ยวข้องคือการได้ข้อมูล ซึ่งเป็นความแตกต่างระหว่างเอนโทรปี ' และเอนโทรปี {,} ความแตกต่างนี้เรียกว่าการได้ข้อมูล
รูปต่อไปนี้แสดงการแยกส่วนที่ไม่ถูกต้องซึ่งเอนโทรปียังสูงอยู่และข้อมูลต่ํา
รูปที่ 9 การแยกที่ไม่ถูกต้องไม่ลดเอนโทรปีของป้ายกํากับ
ในทางตรงกันข้าม ตัวเลขต่อไปนี้แสดงการแยกที่ดีกว่าซึ่งเอนโทรปีต่ํา (และข้อมูลมีค่าสูง)
รูปที่ 10 การแยกส่วนที่ถูกต้องจะลดเอนโทรปีของป้ายกํากับ
ทางการ:
ที่ไหน:
- คือผลพลอยได้ของการแบ่ง เป็น และ
- คือเอนโทรปีของชุดตัวอย่างที่
- คือจํานวนองค์ประกอบในชุด
- คือค่าเกณฑ์
- คือค่าป้ายกํากับบวก เช่น "blue" ในตัวอย่างด้านบน การเลือกป้ายกํากับอื่นเป็น "ป้ายกํากับเชิงบวก" จะไม่เปลี่ยนค่าของเอนโทรปีหรือข้อมูลที่ได้
- คืออัตราส่วนของค่าป้ายกํากับเชิงบวกในตัวอย่าง
- คือชุดข้อมูล (ตามที่กําหนดไว้ก่อนหน้านี้ในหน่วยโฆษณานี้)
ในตัวอย่างต่อไปนี้ เราพิจารณาชุดข้อมูลการจัดประเภทแบบไบนารีที่มีฟีเจอร์ตัวเลข ตัวเลขเดียว ตัวเลขต่อไปนี้แสดงค่าเกณฑ์ (แกน x) ที่แตกต่างกัน
- ฮิสโตแกรมของฟีเจอร์
- อัตราส่วนของ "blue" ตัวอย่างในชุด , และ ตามค่าเกณฑ์
- เอนโทรปีใน , และ
- ข้อมูลที่ได้คือ เดลต้าเอนโทรปีระหว่าง ถึง {,} ถ่วงน้ําหนักด้วยจํานวนตัวอย่าง
รูปที่ 11 พล็อตเกณฑ์ 4 ข้อ
แปลงเหล่านี้จะแสดงข้อมูลต่อไปนี้
- พล็อต "ความถี่" แสดงให้เห็นว่าการสังเกตการณ์จะกระจายไปได้ดีโดยมีความเข้มข้นระหว่าง 18-60 การกระจายมูลค่าที่กว้างหมายความว่ามีการแบ่งส่วนที่เป็นไปได้จํานวนมาก ซึ่งเป็นประโยชน์ในการฝึกโมเดล
อัตราส่วนของป้ายกํากับ "blue" ในชุดข้อมูลอยู่ที่ประมาณ 25% &อัตราส่วนของป้ายกํากับสีฟ้า&;;พล็อตแสดงให้เห็นว่าสําหรับค่าเกณฑ์ที่อยู่ระหว่าง 20 ถึง 50:
- ชุด มีตัวอย่างป้ายกํากับเกิน "blue" (สูงสุด 35% สําหรับเกณฑ์ 35)
- ชุด มีตัวอย่างป้ายกํากับ ""blue" รวมไม่สมบูรณ์ (เพียง 8% สําหรับเกณฑ์ 35)
ทั้ง "อัตราส่วนของป้ายกํากับสีน้ําเงิน" และพล็อต "entropy" ระบุว่าป้ายกํากับต่างๆ สามารถแยกกันได้ในช่วงที่ใช้เกณฑ์นี้
การสังเกตการณ์นี้ได้รับการยืนยันในพล็อต "info" ข้อมูล เราจะเห็นได้ว่าข้อมูลที่ได้คือ t~=28 ซึ่งได้มาซึ่งค่าโดยประมาณคือ 0.074 ดังนั้น เงื่อนไขที่แสดงผลโดยตัวคั่นคือ
การได้ข้อมูลจะเป็นค่าบวกหรือเป็นค่าว่างเสมอ เส้นนี้บรรจบกันเป็น 0 เนื่องจากค่าเกณฑ์จะบรรจบกับค่าสูงสุด / ค่าต่ําสุด ในกรณีดังกล่าว หรือ จะว่างเปล่าในขณะที่อีกรายการมีชุดข้อมูลทั้งหมดและแสดงเอนโทรปีเท่ากับชุดข้อมูลใน ข้อมูลที่ได้อาจเป็น 0 เมื่อ = = เกณฑ์ขั้นต่ําที่ 60 อัตราส่วนของ ".
ค่าผู้สมัครสําหรับ ในชุดของตัวเลขจริง () ไม่มีที่สิ้นสุด อย่างไรก็ตาม ในตัวอย่างมีจํานวนจํากัด จะมีเพียงส่วนย่อยของ DD TFt$ เพียงไม่กี่อย่างเท่านั้นในการทดสอบ
วิธีการคลาสสิกคือการจัดเรียงค่า xi เพื่อเรียงลําดับ xs(i) เพิ่มขึ้น ดังนี้
จากนั้นทดสอบ กับค่าทุกๆ ครึ่งหนึ่งระหว่างค่าที่จัดเรียงติดกันของ เช่น สมมติว่าคุณมีค่าลอยตัว 1,000 ค่าของฟีเจอร์หนึ่งๆ หลังจากจัดเรียง สมมติว่าค่า 2 ค่าแรกคือ 8.5 และ 8.7 ในกรณีนี้ ค่าเกณฑ์แรกที่จะทดสอบคือ 8.6
เราพิจารณาค่าตัวเลือกต่อไปนี้สําหรับเงื่อนไขต่อไปนี้
ความซับซ้อนของอัลกอริทึมในช่วงเวลานี้คือ ที่มี ของจํานวนตัวอย่างในโหนด (เนื่องจากการจัดเรียงค่าฟีเจอร์) เมื่อใช้ในโครงสร้างการตัดสินใจ อัลกอริทึมการแยกจะใช้กับแต่ละโหนดและแต่ละฟีเจอร์ โปรดทราบว่าแต่ละโหนดจะได้รับตัวอย่างระดับบนสุดประมาณ 1/2 ดังนั้น ตามทฤษฎีบทของปรมาจารย์ ความซับซ้อนของการฝึกกําหนดการตัดสินใจด้วยการแยกนี้คือ
ที่ไหน:
- คือจํานวนฟีเจอร์
- คือจํานวนตัวอย่างในการฝึกอบรม
ในอัลกอริทึมนี้ ค่าของฟีเจอร์ไม่สําคัญ แต่จะมีเพียงลําดับเท่านั้น ด้วยเหตุนี้ อัลกอริทึมนี้จะทํางานโดยอิสระจากสเกลหรือการกระจายของค่าฟีเจอร์ ด้วยเหตุนี้ เราจึงไม่จําเป็นต้องปรับค่าฟีเจอร์ตัวเลขให้เท่ากันหรือปรับให้เป็นมาตรฐานเมื่อฝึกแผนผังการตัดสินใจ