Kỹ thuật phân lớp

Một phần của tài liệu Ứng Dụng Random Forest Nhận Dạng Lỗi Cho Cloud Computing Iaas (LV thạc sĩ) (Trang 36 - 40)

Những tính năng chứa trong mục 3.2 được sử dụng cho phân loại dùng kĩ thuật phân loại Random Forest. Những tính năng chứa trong mục trước được sử dụng cho phân loại dùng kĩ thuật phân loại RF. Các điểm data chia làm 2 lớp: SAFE (phản đối) và FAIL (đồng ý). Để làm điều này, mỗi điểm dữ liệu (tương ứng với một máy tại một thời điểm nhất định) ta tính toán time_to_remove cho sự kiện XÓA tiếp theo. Sau đó, tất cả các điểm với time_to_remove < 24h ta gán vào class fail trong khi những cái khác được gán cho class Safe. Luận văn đã trích xuất tất cả các point data FAIL tương ứng với cái FAIL thật sự (108,365 điểm dữ liệu) cùng với một subset (nhánh con) của class (lớp) SAFE, tương ứng 0.5% của tổng tạo ra bởi ngẫu nhiên subsampling (544985 point sau khi chia nhánh). Sử dụng thủ tục này để đối phó với thực tế là lớp SAFE lớn hơn nhiều so với lớp FAIL và các phân loại có khó khăn trong việc học các mẫu từ các bộ dữ liệu rất mất cân bằng. Subsampling (mẫu con) là một cách để giảm mức độ mất cân bằng [8]. Ngay cả sau khi dùng phương pháp subsampling, các phản đối khoảng gấp 5 lần số đồng ý. Tất cả 653350 data points (SAFE plus FAIL) là cơ sở nghiên cứu dự đoán của luận văn này.

Với số lượng lớn các tính năng, một số có thể hữu ích hơn những tính năng khác, do đó luận văn khám phá hai loại cơ chế lựa chọn tính năng. Một là phân tích component chính, sử dụng các thuộc tính ban đầu để xây dựng một sẻ các component chính- Các tính năng bổ sung chiếm đa số sự thay đổi trong dữ liệu. Sau

đó, người ta chỉ có thể sử dụng các component chính để phân loại, vì những component đó chứa các thông tin quan trọng nhất. Luận văn đã huấn luyện phân loại với một số lượng ngày càng tăng của các component chính, tuy nhiên hiệu suất thu được không tốt hơn so với sử dụng các tính năng ban đầu. Một cơ chế thứ hai là lọc các tính năng ban đầu dựa trên sự tương quan của chúng với thời gian tới sự cố sự cố tiếp theo (time_to_remove trước). Các tương quan trong khoảng [-0.3,0.45], và ta chỉ sử dụng các tính năng có độ tương quan tuyệt đối lớn hơn một ngưỡng. Ta thấy rằng hiệu suất tốt nhất thu được với một ngưỡng null (rỗng), có nghĩa là một lần nữa sử dụng tất cả các thuộc tính. Do đó, những nỗ lực để giảm bộ tính năng không cho kết quả tốt hơn mà RF đã được huấn luyện trực tiếp trên các tính năng ban đầu. Một lý do cho điều này có thể là thực tế là RF tự thực hiện lựa chọn tính năng khi huấn luyện cây quyết định. Dường như cơ chế RF thực hiện tốt hơn trong trường hợp này là lọc dựa trên sự tương quan hoặc phân tích component chính.

Để đánh giá hiệu quả của phương pháp tiếp cận, luận văn đã sử dụng xác nhận chéo. Với thủ tục luận văn sử dụng để xác định 2 class, có nhiều data point tương ứng với sự thất bại tương tự (dữ liệu trên 24 giờ với độ phân giải 5 phút). Vì một số các điểm dữ liệu này rất giống nhau nên việc chọn dữ liệu train (huấn luyện) và dữ liệu kiểm tra (test) không thể được thực hiện bằng cách chọn các tập con ngẫu nhiên. Mặc dù việc lựa chọn ngẫu nhiên có thể cho kết quả dự đoán cực kỳ tốt, nhưng nó không thực tế vì chúng ta sẽ sử dụng dữ liệu thử nghiệm tương tự như dữ liệu huấn luyện. Đây là lý do tại sao luận văn đã chọn để chia tách dữ liệu trên cặp train/test theo thời gian. Luận văn xem xét dựa trên việc huấn luyện về dữ liệu trong một cửa sổ 10 ngày, tiếp theo là kiểm tra dựa trên dữ liệu trong ngày hôm sau mà không trùng với dữ liệu huấn luyện. Do đó, ngày kiểm tra bắt đầu 24 giờ sau điểm dữ liệu huấn luyện cuối cùng. Hai ngày đầu tiên đã bị bỏ qua để làm giảm hiệu ứng trên các tính năng tổng hợp. Theo cách này, đã có 15 train/test được sử dụng làm điểm chuẩn để đánh giá phân tích (xem Hình 3.3). Thủ tục xác nhận chéo này để đảm bảo hiệu suất phân loại là thực tế và không phải là một giả tạo của cấu trúc dữ liệu. Ngoài ra, nó mô phỏng con đường dự đoán FAIL sẽ được áp dụng trong một data center trực tiếp, nơi mà mỗi ngày một mô hình có thể được huấn luyện về dữ liệu trong quá khứ để dự đoán FAIL trong tương lai.

Do nhiều điểm từ class FAIL rất giống nhau, không phải trường hợp của class SAFE do việc lấy mẫu ban đầu, thông tin trong lớp SAFE vẫn chiếm đa số. Điều này nhắc tôi thêm mẫu subsample class phản đối để có được dữ liệu huấn luyện. Điều này được thực hiện sao cho tỷ số giữa các điểm dữ liệu SAFE và FAIL bằng một tham số fsafe. Thay đổi tham số này với các giá trị {0.25, 0.5, 1, 2, 3,4} trong khi sử dụng tất cả các điểm dữ liệu từ lớp đồng ý để không bỏ lỡ bất kỳ thông tin hữu ích. Điều này chỉ áp dụng cho dữ liệu huấn luyện: để kiểm tra, luận văn luôn sử dụng tất cả dữ liệu từ cả lớp phủ định và đồng ý (trong số liệu cơ sở là 653.350 điểm). Sử dụng RF có kích cỡ khác nhau, với số Cây quyết định thay đổi từ 2 đến 15 với bước 1 (dẫn đến 14 giá trị khác nhau)

Hình 3.3: Phương pháp xác nhận chéo: kiểm tra chuyển tiếp trong thời gian (forward-in-time testing). 10 ngày đã được sử dụng để huấn luyện và một ngày để testing. Một bộ 15 tiêu chuẩn (train/test pairs) thu được bằng cách trượt cửa sổ

train/test qua 29 ngày theo dõi.

Hiệu suất của các bộ phân loại đơn, dù tốt hơn ngẫu nhiên, được đánh giá là không thỏa đáng. Đó là lý do tại sao luận văn chọn một phương pháp tổng hợp, tạo ra một loạt các phân loại và sau đó lựa chọn và kết hợp chúng để cung cấp sự phân loại cuối cùng. Ensembles (phân loại tập hợp) có thể tăng cường sức mạnh của các bộ phân loại cá thể hiệu suất thấp [16], đặc biệt nếu chúng được đa dạng [17-18]: nếu họ đưa ra câu trả lời sai về các điểm dữ liệu khác nhau (lỗi độc lập), sau đó kết hợp kiến thức của các bộ có thể nâng cao độ chính xác. Để tạo phân loại đa dạng, người ta có thể thay đổi các tham số mô hình nhưng cũng huấn luyện chúng với các dữ liệu khác nhau (được gọi là phương pháp tính toán bagging [16]). Thuật toán Bagging rất tốt với subsampling để vượt qua các vấn đề sự kiện hiếm hoi, và trên thực tế nó đã được hiển thị có hiệu quả cho vấn đề mất cân bằng lớp [19]. Do đó, luận văn áp dụng cách tiếp cận tương tự để xây dựng các phân loại riêng. Mỗi lần

một phân loại mới được huấn luyện, một tập dữ liệu huấn luyện mới được xây dựng bằng cách xem xét tất cả các điểm dữ liệu trong lớp dương và một tập con ngẫu nhiên của lớp phủ định. Như mô tả ở trên, kích thước của tập con này được định nghĩa bởi tham số fsafe. Bằng cách thay đổi giá trị không an toàn và số lượng cây trong thuật toán RF, tôi tạo ra các phân loại khác nhau. Các thuật toán sau đây chi tiết các thủ tục được sử dụng để xây dựng các phân loại cá nhân trong toàn bộ.

Luận văn lặp lại thủ tục này 5 lần, kết quả trong 5 lần phân loại cho mỗi lần kết hợp thông số fsafe và kích cỡ RF/ Kết quả này trong 1 tổng của 420 RF trong toàn bộ (5 lần lặp lại × 6 giá trị fsafe × 14 sizes RF).

Một khi đã có được nhóm các phân loại, một chiến lược kết hợp phải được sử dụng. Hầu hết các phương pháp tiếp cận hiện tại đều sử dụng nguyên tắc bỏ phiếu đa số - mỗi bộ phân loại sẽ bỏ phiếu cho lớp và lớp đa số trở thành quyết định cuối cùng [16]. Ngoài ra, một cuộc bỏ phiếu có trọng số có thể được sử dụng, và luận văn đã chọn để bỏ phiếu có trọng số chính xác (precision-weighted voting). Đối với hầu hết các phương pháp hiện tại, trọng số tương ứng với độ chính xác của mỗi phân loại trên dữ liệu huấn luyện (training data) [20]. Trong trường hợp này, hiệu năng của dữ liệu huấn luyện gần với độ hoàn hảo và độ chính xác nói chung là cao, đó là lý do tại sao luận văn sử dụng độ chính xác trên tập con của dữ liệu thử

nghiệm. Cụ thể, luận văn chia dữ liệu thử nghiệm thành hai phần: một bộ dữ liệu thử nghiệm đơn (individual test dataset) và bộ dữ liệu kiểm tra toàn bộ (ensemble test dataset). Cái cũ được sử dụng để đánh giá độ chính xác của các phân loại riêng lẻ và có được trọng số cho việc bỏ phiếu của từng phân loại. Thứ hai cung cấp đánh giá cuối cùng của tất cả các bộ phân loại. Tất cả dữ liệu tương ứng với ngày thử nghiệm đã được sử dụng, không có phân nhánh. Bảng 3.2 cho thấy số điểm dữ liệu được sử dụng cho mỗi điểm chuẩn cho việc huấn luyện và thử nghiệm. Mặc dù thông số fsafe kiểm soát tỷ lệ SAFE / FAIL trong quá trình huấn luyện, các trường hợp FAIL ít gặp hơn trong quá trình kiểm tra, thay đổi từ 13% đến 36% số lần SAFE.

Bảng 3.2: Quy mô tập huấn và kiểm tra đối với dữ liệu huấn luyện, số điểm dữ liệu SAFE là số FAIL nhân với tham số fsafe ở mỗi lần chạy.

Một phần của tài liệu Ứng Dụng Random Forest Nhận Dạng Lỗi Cho Cloud Computing Iaas (LV thạc sĩ) (Trang 36 - 40)