Nhãn, nhãn yếu và sự thật

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

Dr. Chris Anagnostopoulos

Honorary Associate Professor

Nhãn không phải lúc nào cũng hoàn hảo

Mức độ “đúng”:

  • Ground truth
    • máy tính bị treo, hiện thông báo đòi tiền chuộc
  • Gán nhãn bởi chuyên gia
    • nhà phân tích xem log và phát hiện hành vi trái phép
  • Gán nhãn theo heuristic
    • quá nhiều cổng nhận lưu lượng trong thời gian rất ngắn
Thiết kế quy trình Machine Learning bằng Python

Nhãn không phải lúc nào cũng hoàn hảo

Nhãn không nhiễu hay “mạnh”:

  • Ground truth
  • Gán nhãn bởi chuyên gia

Nhãn nhiễu hay “yếu”:

  • Gán nhãn theo heuristic

Kỹ thuật đặc trưng:

  • Đặc trưng dùng trong heuristic
Thiết kế quy trình Machine Learning bằng Python

Đặc trưng và heuristic

Trung bình số cổng duy nhất mỗi host nhiễm truy cập:

np.mean(X[y]['unique_ports'])
15.11

Trung bình số cổng duy nhất mỗi host (bỏ qua nhãn):

np.mean(X['unique_ports'])
11.23
Thiết kế quy trình Machine Learning bằng Python

Từ đặc trưng đến nhãn

Chuyển một đặc trưng thành heuristic gán nhãn:

X_train, X_test, y_train, y_test = train_test_split(X, y)
y_weak_train = X_train['unique_ports'] > 15

hist_cropped.png

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

Từ đặc trưng đến nhãn

Hai bản sao ma trận đặc trưng xếp chồng. Một bản có nhãn do chuyên gia gán, bản kia có nhãn từ heuristic.

X_train_aug = pd.concat([X_train, X_train])
y_train_aug = pd.concat([pd.Series(y_train), pd.Series(y_weak_train)])
Thiết kế quy trình Machine Learning bằng Python

Dữ liệu được xếp chồng như ở slide trước, gán trọng số 1.0 cho nhãn gốc và 0.5 cho nhãn từ heuristic.

weights = [1.0]*len(y_train) + [0.1]*len(y_weak_train)
Thiết kế quy trình Machine Learning bằng Python

Độ chính xác chỉ dùng ground truth:

0.91

Ground truth và nhãn yếu không trọng số:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug).predict(X_test))
0.93

Thêm trọng số:

accuracy_score(y_test, clf.fit(X_train_aug, y_train_aug, sample_weight=weights).predict(X_test))
0.95
Thiết kế quy trình Machine Learning bằng Python

Nhãn không cần hoàn hảo!

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

Preparing Video For Download...