Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

อัลกอริธึม RIPPER คืออะไร?


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

RIPPER เลือกคลาสส่วนใหญ่เป็นคลาสเริ่มต้น และเข้าใจกฎสำหรับการระบุคลาสของชนกลุ่มน้อย สำหรับปัญหาหลายคลาส คลาสจะเป็นอนุกรมตามความถี่

ให้ (y12 ...yc ) เป็นคลาสที่ได้รับคำสั่ง โดยที่ y1 เป็นคลาสที่ความถี่น้อยที่สุดและ yc เป็นชั้นเรียนที่บ่อยที่สุด ในระหว่างการทำซ้ำครั้งแรก อินสแตนซ์ที่เป็นของ y1 เป็น Iabeled เป็นตัวอย่างในเชิงบวกในขณะที่พวกที่อยู่ในชั้นเรียนอื่น ๆ จะถูกระบุว่าเป็นตัวอย่างเชิงลบ

วิธีการครอบคลุมตามลำดับสามารถนำมาใช้เพื่อสร้างกฎเกณฑ์ที่เลือกปฏิบัติระหว่างตัวอย่างเชิงบวกและเชิงลบ ต่อไป RIPPER จะแยกกฎที่แยกแยะ y2 จากคลาสอื่นๆ ที่เหลือ กระบวนการนี้ทำซ้ำจนกว่าเราจะเหลือ yc ซึ่งถูกกำหนดให้เป็นคลาสเริ่มต้น

RIPPER ใช้วิธีการทั่วไปถึงเฉพาะเพื่อเพิ่มกฎและการวัดการรับข้อมูลของ FOIL เพื่อเลือกการเชื่อมต่อที่ดีที่สุดที่จะแทรกลงในกฎก่อนหน้า จะหยุดแทรก conjuncts เมื่อกฎเริ่มครอบคลุมกรณีเชิงลบ

กฎใหม่จะถูกตัดออกโดยขึ้นอยู่กับการใช้งานในชุดการตรวจสอบความถูกต้อง เมตริกต่อไปนี้คำนวณเพื่อพิจารณาว่าจำเป็นต้องตัดแต่งกิ่งหรือไม่ − (p-n)/(p+n) โดยที่ p(n) คือจำนวนตัวอย่างเชิงบวก (เชิงลบ) ในชุดการตรวจสอบความถูกต้องที่ครอบคลุมโดยกฎ

เมตริกนี้เกี่ยวข้องกับความถูกต้องของกฎในชุดการตรวจสอบแบบซ้ำซาก หากตัวชี้วัดได้รับการปรับปรุงหลังจากการตัดแต่งกิ่ง การรวมกันจะถูกตัดออก การตัดแต่งกิ่งเสร็จสิ้นโดยเริ่มจากส่วนเชื่อมต่อสุดท้ายที่แทรกเข้าไปในกฎ ตัวอย่างเช่น ตามกฎ ABCD → y RIPPER จะตรวจสอบว่า D ควรถูกตัดก่อนหรือไม่ ตามด้วย CD, BCD เป็นต้น แม้ว่ากฎเริ่มต้นจะครอบคลุมเฉพาะกรณีเชิงบวก กฎที่ตัดแล้วสามารถครอบคลุมอินสแตนซ์เชิงลบหลายรายการในชุดการฝึก

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

หากกฎใหม่ปรับปรุงความยาวการแสดงทั้งหมดของกฎที่กำหนดโดย d บิตขั้นต่ำ ดังนั้น RIPPER จะหยุดแทรกกฎลงในชุดกฎของมัน (โดยค่าเริ่มต้น d จะถูกเลือกเป็น 64 บิต) เงื่อนไขการหยุดอื่นที่ใช้โดย RIPPER คืออัตราข้อผิดพลาดของกฎในชุดการตรวจสอบต้องไม่เกิน 50% RIPPER ใช้ขั้นตอนการปรับให้เหมาะสมมากขึ้นเพื่อตัดสินใจว่ากฎที่มีอยู่หลายกฎในชุดกฎสามารถกู้คืนได้ด้วยกฎอื่นหรือไม่