Chương 1 Giới thiệu chung 1.1 Bài toán phát hiện bất thường Phát hiện bất thường là bài toán nhận dạng motif trong dữ liệu mà không phù hợp với hành vi thông thường. Những motif không phù hợp này thường được gọi là điểm bất thường, điểm ngoại lai, những quan sát trái ngược, ngoại lệ trong nhiều ngữ cảnh khác nhau [10]. Phát hiệt bất thường được sử dụng rộng rãi trong nhiều lĩnh vực • Phát hiện gian lận trong hành vi tiêu dùng thẻ tín dụng, bảo hiểm hay chăm sóc sức khỏe [4][9][22][28][35]. • Phát hiện xâm nhập trong an ninh mạng [27][36][37].
• Phát hiện lỗi trong các hệ thống an toàn và các hoạt động giám sát [14][31]. Một điểm/tập hợp bất thường được định nghĩa là một motif không phù hợp với hành vi thông thường. Vì vậy, một cách tiếp cận trực tiếp cho bài toán phát hiện bất thường, là xác định một vùng đại diện cho các hành vi bình thường và trích rút bất kỳ quan sát nào không thuộc vùng bình thường này là bất thường [10]. Một bài toán phát hiện bất thường bao gồm bốn khía cạnh chính: nguồn dữ liệu đầu vào, các loại bất thường, nhãn của dữ liệu và đầu ra của quy trình phát hiện bất thường [10].1 Nguồn dữ liệu đầu vào Mỗi điểm dữ liệu đầu vào của bài toán được mô tả dưới dạng tập hợp các thuộc tính.
Các thuộc tính này có nhiều kiểu như nhị phân, các giá trị rời rạc 12 LUẬN VĂN THẠC SĨ PHẠM NGỌC QUANG ANH hay liên tục. Mỗi điểm dữ liệu có thể gồm chỉ một thuộc tính (đơn biến) hay nhiều thuộc tính (đa biến). Ngoài ra, các điểm dữ liệu có thể có liên kết với nhau, chẳng hạn dữ liệu dạng chuỗi [14][38], dữ liệu dạng đồ thị [29]. Trong dữ liệu dạng chuỗi, các điểm dữ liệu có tính thứ tự tuyến tính, ví dụ như chuỗi thời gian, chuỗi gen, chuỗi protein.
Trong dữ liệu dạng đồ thị, mỗi điểm dữ liệu được biểu diễn dưới dạng đỉnh của đồ thị và liên kết với nhau bởi các cạnh.2 Các loại bất thường Đặc trưng của bất thường được chia làm ba loại [10] Bất thường điểm Nếu một điểm dữ liệu cụ thể được coi là dị thường với phần còn lại của tập dữ liệu, điểm dữ liệu đó là một bất thường điểm. Loại bất thường này xuất hiện phổ biến trong các bài toán phát hiện gian lận thẻ tín dụng. Cụ thể, xét một thuộc tính số tiền tiêu dùng trong dữ liệu giao dịch thẻ tín dụng của các cá nhân, một giao dịch có số tiền tiêu dùng ở một thời điểm cao đột biến so với hoạt động tiêu dùng thông thường của cá nhân đó được coi là một bất thường điểm. Bất thường ngữ cảnh Một điểm/tập dữ liệu là bất thường trong một ngữ cảnh cụ thể được gọi là một bất thường ngữ cảnh.
Ngữ cảnh trong tập dữ liệu có thể khoảng thời gian cụ thể, hay các thông tin phân vùng không gian như độ cao, độ sâu. Trong bài toán phát hiện gian lận thẻ tín dụng, số tiền tiêu dùng trung bình theo tuần cao đột biến vào những khung thời gian sự kiện giảm giá hoặc dịp lễ hằng năm sẽ không được coi là bất thường vì hành vi này khớp với xu hướng chi tiêu chung. Nhưng việc chi tiêu cùng một số tiền đó vào khoảng thời gian thông thường sẽ được gọi là bất thường ngữ cảnh. Bất thường nhóm Nếu một tập hợp các điểm dữ liệu liên quan có sự khác biệt với toàn bộ tập dữ liệu thì đây là một bất thường nhóm.
Một điểm dữ liệu cụ thể trong loại bất thường này có thể không phải là bất thường điểm, nhưng sự xuất hiện liên tục các điểm này dẫn đến bất thường trong tập dữ liệu. 13 LUẬN VĂN THẠC SĨ PHẠM NGỌC QUANG ANH 1.3 Nhãn dữ liệu Nhãn của một điểm dữ liệu xác định xem điểm này là bình thường hay bất thường. Quá trình thu thập dữ liệu được gán nhãn chính xác là phức tạp. Việc gán nhãn thường được thực hiện một cách thủ công bởi chuyên gia dẫn đến việc tốn chi phí về mặt thời gian.
Thông thường, việc thu thập tập đã gán nhãn từ dữ liệu bất thường khó khăn hơn việc lấy nhãn từ dữ liệu bình thường. Phụ thuộc vào số lượng nhãn của tập dữ liệu, bài toàn phát hiện bất thường có thể được triển khai theo ba hướng [10] • Phát hiện bất thường có giám sát: Tập dữ liệu luyện được đánh nhãn đầy đủ với hai loại là bất thường và bình thường. Cách tiếp cận thông thường là xây dựng mô hình phù hợp từ dữ liệu luyện sau đó dự đoán nhãn cho các điểm dữ liệu bất kỳ. • Phát hiện bất thường bán giám sát: Tập dữ liệu luyện chỉ bao gồm các điểm được gán nhãn bình thường.
Cách tiếp cận với trường hợp này là xây dựng một mô hình tương ứng với hành vi bình thường, và sử dụng mô hình này để xác định ra các điểm bất thường trong tập dữ liệu [39]. • Phát hiện bất thường không giám sát: Tập dữ liệu không có nhãn. Các kỹ thuật cho bài toán này dựa trên giả định ngầm các điểm dữ liệu bình thường có tần suất xuất hiện nhiều hơn các điểm bất thường trong tập dữ liệu [24].4 Đầu ra của bài toán Đầu ra của bài toán phát hiện bất thường gồm hai loại [10] • Điểm số bất thường: Điểm dữ liệu đại diện cho hành vi của đối tượng được tính điểm. Sau đó xác định ra số lượng điểm cụ thể có điểm bất thường cao nhất hoặc đưa ra một ngưỡng điểm số để chọn các điểm bất thường.
• Nhãn: Các đối tượng bất thường và bình thường được phân biệt qua nhãn.2 Bài toán phân lớp và một số thuật toán học máy 1.1 Bài toán phân lớp Phân lớp là quá trình tìm kiếm một mô hình phân biệt các lớp dữ liệu. Mô hình được xây dựng dựa trên việc phân tích tập dữ liệu luyện và được sử dụng để dự đoán nhãn lớp của các đối tượng mà chưa biết thông tin nhãn [21]. 14 LUẬN VĂN THẠC SĨ PHẠM NGỌC QUANG ANH Cụ thể, cho tập nhãn lớp C = {1, 2,. , C} và tập điểm dữ liệu X ⊂ Rd , ta tìm một hàm phân lớp f : Rd → C.
Với điểm dữ liệu x ∈ X , y = f (x) sẽ gán điểm dữ liệu vào lớp có nhãn y. Ngoài ra, f : Rd → RC cũng là một hàm phân lớp với đầu ra là một vector thể hiện xác suất điểm dữ liệu được gán nhãn vào từng lớp. Điểm dữ liệu sẽ được gán vào lớp có xác suất gán nhãn cao nhất.2 Một số thuật toán học máy K-láng giềng gần nhất Thuật toán K -láng giềng gần nhất (KNN) là một trong những thuật toán học giám sát đơn giản. Thuật toán hoạt động dựa trên nguyên lý nhãn của đối tượng được xác định dựa trên các đối tượng lân cận nó [15].
Cụ thể, nhãn của điểm của điểm dữ liệu có thể được xác định qua việc chọn theo đa số (major voting) nhãn trong K điểm gần nhất hay đánh trọng số cho mỗi điểm gần nhất rồi đưa ra kết quả. KNN được ứng dụng trong việc phát hiện chuỗi trạng thái bất thường trong hoạt động vệ tinh [14]. Nghiên cứu của Ming-Yang Su [36] cũng sử dụng KNN để phát hiện nhanh chóng các tình huống tấn công mạng dựa trên lưu lượng mạng bất thường. Cây quyết định Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào tập hợp các luật.
Thành phần của cây quyết định bao gồm các nút biểu diễn cho cấu trúc của nhánh. Có hai loại nút, nút quyết định được sư dụng để ra quyết định và có nhiều nhánh, nút lá là đầu ra của nút quyết định và không có nhánh con [6]. Cây quyết định được ứng dụng trong việc phát hiện gian lận tín dụng và thanh toán của ngân hàng [34][40]. Rừng ngẫu nhiên Rừng ngẫu nhiên (Random Forest) là thuật toán học kết hợp phát triển từ thuật toán cây quyết định.
Ý tưởng thực hiện của thuật toán là luyện hàng loạt các cây quyết định trên các tập dữ liệu con của tập luyện sinh nhờ phương pháp 15 LUẬN VĂN THẠC SĨ PHẠM NGỌC QUANG ANH Bagging [7][8]. Cụ thể, ta chọn ra k tập dữ liệu con từ tập dữ liệu luyện. Ứng với mỗi tập con này, ta chọn một tập thuộc tính con từ không gian thuộc tính và xây dựng một cây quyết định phân lớp trên bộ dữ liệu này. Sau khi xây dựng được k cây quyết định, nhãn của điểm dữ liệu dược xác định dựa trên việc tổng hợp các kết quả đánh nhãn từ các cây quyết định này và sử dụng phương pháp bỏ phiếu đa số (majority voting) để đưa ra kết luận nhãn cuối cùng.
AdaBoost Được đề xuất bởi Yoav Freund và Robert Schapire [18], AdaBoost (Adaptive Boosting) thuộc loại thuật toán học kết hợp và phân lớp. Ý tưởng của thuật toán là kết hợp các bộ phân lớp tồi để xây dựng một bộ phân lớp mạnh có tính chính xác cao hơn [5]. Hồi quy logistic Hồi quy logistic là thuật toán học máy phổ biến được sử dụng cho học có giám sát. Thuật toán ước lượng xác suất phân lớp nhị phân dựa trên một hay nhiều đặc trưng [5].
Hồi quy logistic sử dụng hàm phi tuyến sigmoid để làm hàm phân lớp. Cụ thể, với một điểm dữ liệu x ∈ Rd và bộ tham số w = {wi }ni=0 1 f (t) = (1.1) 1 + e−t n X t= wi xi i=0 16 Chương 2 Xây dựng mô hình khai phá motif cho chuỗi thời gian và phát hiện bất thường Nội dung chương 2 đề cập đến quy trình xây dựng mô hình khai phá motif và phân lớp đối tượng sử dụng các thuật toán học máy.1 đề xuất mô hình tổng quan quy trình phân tích và phát hiện bất thường.2 sẽ mô tả quy trình mô hình hóa dữ liệu thành chuỗi thời gian.3 sẽ đề cập đến khai phá motif bất thường từ những chuỗi thời gian đã được mô hình hóa.4 mô tả quá trình xây dựng bộ thuộc tính bất thường và phân lớp. Cuối cùng, phần 2.5 đưa ra các chỉ số đánh giá kết quả phát hiện bất thường được sử dụng trong luận văn.1 Mô hình tổng quan Dữ liệu giao dịch trong kinh tế chứa đựng một lượng lớn thông tin thể hiện hoạt động của các đối tượng. Để xác định được các kịch bản gian lận được che giấu trong các hoạt động giao dịch này, ta cần xét một chuỗi các giao dịch liên tiếp do cùng một đối tượng thực hiện [3].
Một chuỗi giao dịch liên tiếp do đối tượng thực hiện được gọi là một hành vi.