Phát hiện ngoại lai

Phát hiện bất thường trong dữ liệu số bằng Isolation Forest. Xác định các giá trị ngoại lai bằng thuật toán Isolation Forest. Các điểm dữ liệu có điểm bất…

Xác định các giá trị ngoại lai bằng thuật toán Isolation Forest. Các điểm dữ liệu có điểm bất thường cao được đánh dấu là bất thường tiềm năng dựa trên ngưỡng nhiễm.

Phát hiện ngoại lệ Isolation Forest là gì?

Isolation Forest là thuật toán học máy không giám sát dùng để phát hiện bất thường, dựa trên nguyên lý rằng các điểm ngoại lai luôn 'hiếm và khác biệt' — chúng dễ bị cô lập hơn so với các điểm bình thường. Khác với các phương pháp dựa trên khoảng cách, thuật toán này không tính khoảng cách hay mật độ, nhờ vậy rất hiệu quả với những tập dữ liệu lớn.

Thuật toán xây dựng một tổ hợp (ensemble) các cây cô lập ngẫu nhiên. Mỗi cây phân hoạch dữ liệu một cách đệ quy bằng cách chọn ngẫu nhiên một biến và một giá trị chia tách. Do hiếm gặp và khác biệt, các điểm bất thường chỉ cần ít lần chia tách để bị cô lập (độ dài đường đi từ gốc đến lá ngắn hơn). Các điểm bình thường, vốn tụ lại thành cụm, cần nhiều lần chia tách hơn.

Điểm bất thường được suy ra từ độ dài đường đi trung bình trên toàn bộ các cây, chuẩn hóa theo độ dài đường đi kỳ vọng ứng với kích thước tập dữ liệu. Giá trị gần 1 cho thấy điểm bất thường; giá trị gần 0.5 cho thấy điểm bình thường. Tham số contamination (tỷ lệ nhiễm bẩn kỳ vọng) ấn định tỷ lệ bất thường dự kiến, qua đó xác định ngưỡng điểm dùng để phân loại.

Formula: Anomaly Score s(x, n) = 2^(-E(h(x)) / c(n)) c(n) = 2H(n-1) - 2(n-1)/n where h(x) = path length, c(n) = average path length in BST, H(i) = harmonic number ≈ ln(i) + 0.5772

Ví dụ tính toán

100 điểm dữ liệu với contamination = 0.05 (kỳ vọng khoảng 5 điểm ngoại lai). Xây dựng 100 cây cô lập. Điểm A có độ dài đường đi trung bình 3.2 (bị cô lập nhanh → điểm bất thường 0.82 → bị đánh dấu). Điểm B có độ dài đường đi trung bình 8.7 (khó cô lập → điểm bất thường 0.45 → bình thường). 4 điểm vượt ngưỡng — được đánh dấu là bất thường.

Khi nào sử dụng máy tính này

Những sai lầm thường gặp

Cách diễn giải kết quả

Tiêu chuẩn & Tài liệu tham khảo liên quan

Câu hỏi thường gặp

Tôi nên đặt tham số contamination như thế nào?

Contamination là tỷ lệ bất thường kỳ vọng trong dữ liệu của bạn. Nếu đã biết tỷ lệ bất thường trong quá khứ (ví dụ tỷ lệ lỗi 2%), hãy dùng chính giá trị đó. Nếu chưa biết, hãy bắt đầu với 0.05-0.10 rồi điều chỉnh theo kinh nghiệm chuyên môn. Đặt quá thấp → bỏ sót bất thường thật; đặt quá cao → đánh dấu nhầm điểm bình thường thành bất thường. Việc xem xét trực quan các điểm bị đánh dấu giúp hiệu chỉnh giá trị này.

Khi nào nên dùng Isolation Forest thay vì các phương pháp phát hiện ngoại lai khác?

Isolation Forest phát huy hiệu quả với dữ liệu nhiều chiều, tập dữ liệu lớn và khi các điểm ngoại lai khác biệt trên phạm vi toàn cục. Hãy dùng LOF khi mật độ cục bộ mới là yếu tố quyết định (ngoại lai so với chính vùng lân cận của nó). Dùng các phương pháp thống kê (điểm Z, IQR) cho dữ liệu một biến đơn giản. Dùng DBSCAN khi bạn còn cần phân cụm. Độ phức tạp O(n log n) khiến Isolation Forest trở thành lựa chọn có khả năng mở rộng tốt nhất.