Computer >> Máy Tính >  >> Lập trình >> Lập trình

Thuật toán RIPPER là gì?

Đó là một thuật toán quy nạp quy tắc được sử dụng rộng rãi được gọi là RIPPER. Thuật toán này mở rộng gần như tuyến tính với một số trường hợp huấn luyện và đặc biệt thích hợp để xây dựng mô hình từ các tập dữ liệu có phân phối lớp quá tải. RIPPER cũng hoạt động tốt với các tập dữ liệu nhiễu vì nó sử dụng tập hợp xác thực để ngăn việc trang bị quá nhiều mô hình.

RIPPER chọn lớp đa số làm lớp mặc định của nó và hiểu các quy tắc để xác định lớp thiểu số. Đối với các vấn đề đa lớp, các lớp là chuỗi theo tần số của chúng.

Hãy để (y 1 y 2 ... y c ) là các lớp có thứ tự, trong đó y 1 là lớp ít thường xuyên nhất và y c là lớp thường xuyên nhất. Trong lần lặp đầu tiên, các phiên bản thuộc về y 1 được gắn nhãn là ví dụ tích cực, trong khi những ví dụ thuộc các lớp khác được gắn nhãn là ví dụ tiêu cực.

Phương pháp tiếp cận bao hàm tuần tự có thể được sử dụng để tạo ra các quy tắc phân biệt giữa các ví dụ tích cực và tiêu cực. Tiếp theo, RIPPER trích xuất các quy tắc phân biệt y 2 từ các lớp còn lại khác. Quá trình này được lặp lại cho đến khi chúng ta còn lại y c được chỉ định làm lớp mặc định.

RIPPER sử dụng phương pháp từ tổng quát đến cụ thể để tăng quy tắc và thước đo mức tăng dữ liệu của FOIL để chọn từ liên hợp tốt nhất để chèn vào tiền trước quy tắc. Nó ngừng chèn các liên từ khi quy tắc bắt đầu bao gồm các trường hợp phủ định.

Quy tắc mới được lược bớt tùy thuộc vào việc triển khai nó trên tập hợp xác thực. Số liệu sau được tính toán để xác định xem có cần cắt tỉa hay không - (p-n) / (p + n), trong đó p (n) là số lượng ví dụ tích cực (tiêu cực) trong tập hợp xác thực được quy tắc này bao gồm.

Chỉ số này liên quan đơn điệu đến độ chính xác của quy tắc trên tập hợp xác thực. Nếu chỉ số được nâng cao sau khi cắt tỉa, do đó liên từ sẽ bị loại bỏ. Việc cắt tỉa được hoàn thành bắt đầu từ liên từ cuối cùng được chèn vào quy tắc. Ví dụ:cho một quy tắc ABCD → y, RIPPER sẽ kiểm tra xem D có nên được cắt bỏ trước hay không, tiếp theo là CD, BCD, v.v. Trong khi quy tắc ban đầu chỉ bao gồm các trường hợp tích cực, quy tắc được lược bớt có thể bao gồm một số trường hợp tiêu cực trong tập huấn luyện.

Sau khi tạo quy tắc, một số trường hợp tích cực và tiêu cực trong quy tắc sẽ bị xóa. Sau đó, quy tắc được thêm vào bộ quy tắc miễn là nó không vi phạm điều kiện dừng, dựa trên nguyên tắc độ dài mô tả tối thiểu.

Nếu quy tắc mới cải thiện tổng độ dài biểu diễn của quy tắc được đặt bằng d bit tối thiểu, thì RIPPER sẽ ngừng chèn quy tắc vào tập quy tắc của nó (theo mặc định, d được chọn là 64 bit). Một điều kiện dừng khác được RIPPER sử dụng là tỷ lệ lỗi của quy tắc trên bộ xác thực không được vượt quá 50%. RIPPER triển khai nhiều bước tối ưu hóa hơn để quyết định xem một số quy tắc hiện có trong bộ quy tắc có thể được khôi phục bằng các quy tắc thay thế khác hay không.