Phát hiện bất thường

Thiết kế quy trình Machine Learning bằng Python

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Bất thường và outlier

Có giám sát

Hai cụm màu đen, với vài điểm đỏ cô lập.

Không giám sát

Hai cụm màu đen với vài điểm đen cô lập.

Thiết kế quy trình Machine Learning bằng Python

Bất thường và outlier

Hai cụm màu đen với vài điểm đen cô lập.

  • Một trong hai lớp rất hiếm
  • Trường hợp cực đoan của dịch chuyển dữ liệu
  • Ví dụ:
    • an ninh mạng
    • phát hiện gian lận
    • chống rửa tiền
    • phát hiện lỗi
Thiết kế quy trình Machine Learning bằng Python

Quy trình không giám sát

Hai cụm màu đen với vài điểm đen cô lập được khoanh đỏ.

  • Huấn luyện thuật toán khi không có nhãn như thế nào?
  • Ước lượng hiệu năng ra sao?

Dùng một ít nhãn một cách thận trọng:

  • quá ít để huấn luyện mà không overfit
  • vừa đủ để chọn mô hình
  • bỏ qua ước lượng chính xác không thiên lệch

Bộ dữ liệu chia thành phần huấn luyện, chọn mô hình và kiểm định; nhãn chỉ có ở phần chọn mô hình.

Thiết kế quy trình Machine Learning bằng Python
  • Outlier: điểm dữ liệu nằm ngoài phạm vi của phần lớn dữ liệu

Hai cụm màu đen với vài điểm đen cô lập. Điểm xa nhất được khoanh đỏ.

  • Outlier cục bộ: điểm dữ liệu nằm ở vùng tách biệt, không có điểm khác xung quanh

Hai cụm màu đen với vài điểm đen cô lập. Các điểm cô lập nằm giữa hai cụm được khoanh đỏ.

Thiết kế quy trình Machine Learning bằng Python

Hệ số outlier cục bộ (LoF)

Hai cụm màu đen với vài điểm đen cô lập. Một điểm nằm giữa hai lớp được khoanh đỏ, và láng giềng gần nhất của nó gần một cụm được khoanh xanh.

Thiết kế quy trình Machine Learning bằng Python

Hệ số outlier cục bộ (LoF)

from sklearn.neighbors import 
   LocalOutlierFactor as lof
clf = lof()
y_pred = clf.fit_predict(X)
y_pred[:4]
array([ 1,  1,  1, -1])
clf.negative_outlier_factor_[:4]
array([-0.99, -1.02, -1.08 , -0.97])
confusion_matrix(
   y_pred, ground_truth)
array([[  5,  16],
       [  0, 184]])

Cùng các cụm với vài điểm cô lập. Nhiều điểm bị khoanh đỏ, gồm cả trong cụm và các điểm cô lập.

Thiết kế quy trình Machine Learning bằng Python

Hệ số outlier cục bộ (LoF)

clf = lof(contamination=0.02)
y_pred = clf.fit_predict(X)
confusion_matrix(
   y_pred, ground_truth)
array([[  5,   0],
       [  0, 200]])

Cùng các cụm với vài điểm cô lập. Chỉ các điểm cô lập được khoanh đỏ.

Thiết kế quy trình Machine Learning bằng Python

Ai cần nhãn cơ chứ!

Thiết kế quy trình Machine Learning bằng Python

Preparing Video For Download...