Phương pháp trích chọn đặc trưng dữ liệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 48 - 55)

Về cơ bản việc bóc tách các thuộc tính đặc trưng bao gồm hai phần là xây dựng các thuộc tính và lựa chọn các thuộc tính đặc trưng. Xây dựng bộ các thuộc tính là một công việc rất quan trọng trong việc xử lý số liệu. Khi xây dựng dữ liệu chúng ta cần phải đảm bảo không để mất nhiều thông tin quá cũng như không quá tốn kém về mặt chi phí. Phần thứ hai có mục tiêu tìm ra những thuộc tính đại diện cho đối tượng, loại bỏ những thuộc tính thừa và gây nhiễu nhằm tăng hiệu suất của các thuật toán khai phá dữ liệu[8].

Giảm bớt số chiều của mẫu và theo đó còn gọi là nén tập dữ liệu, thông qua trích chọn thuộc tính và lựa chọn thuộc tính. Quá trình này là bước cơ bản nhất trong việc tiền xử lý dữ liệu. Lựa chọn thuộc tính có thể là một phần vốn có của trích chọn thuộc tính ví dụ như phương pháp phân tích thành phần cơ bản hoặc thậm chí là một thiết kế xử lý thuật toán ví dụ như trong thiết kế cây quyết định. Tuy nhiên, lựa chọn thuộc tính thường là một bước cô lập riêng biệt trong một chuỗi xử lý [8].

Có thể định nghĩa lựa chọn thuộc tính là một quá trình tìm ra một tập con các thuộc tính từ M tập thuộc tính của tập dữ liệu N ban đầu, như vậy phải xác định tiêu chuẩn lựa chọn thuộc tính. Theo cách này, kích cỡ của không gian đặc trưng được rút ngắn tối đa theo một tiêu chuẩn định lượng nhất định. Khi kích cỡ của một lĩnh vực được mở rộng, số phần tử của tập N sẽ tăng lên, vì vậy việc tìm ra một tập đại diện tốt nhất thường gặp khó khăn và có nhiều vấn đề liên quan đến tập được chọn. Nhìn chung, một thuật toán trích chọn gồm 4 bước cơ bản: Sinh tập con, lượng giá tập con, điều kiện dừng và xác nhận kết quả.

Quá trình sinh tập con là một thủ tục tìm kiếm, về cơ bản nó sinh ra những tập con dùng cho việc lượng giá. Gọi N là số các đại diện (đặc trưng) của tập dữ liệu gốc ban đầu, thì tổng số các tập con có thể được sinh ra sẽ là 2n . 2n tập này sẽ liệt kê toàn bộ các tập con của không gian. Mỗi tập con được sinh ra bằng thuật toán cần được lượng giá trị bằng một tiêu chuẩn lượng giá trị nhất định và được so sánh với tập con tốt nhất đã tìm được trước nó. Nếu không có điều kiện dừng phù hợp, thuật toán này có thể sẽ chạy mãi không dừng. Điều kiện dừng của một quá trình sinh phải rơi vào một trong số các trường hợp sau:

- Toàn bộ các phần tử của tập hợp đều được chọn. - Các phần tử chưa chọn bị lặp lại.

- Sinh thêm một tập con nữa cũng không cho kết quả tốt hơn. - Đã chọn đủ số tập con thoả mãn điều kiện tiêu chuẩn.

Tập con tốt nhất được chọn ra phải được lượng giá trong những trường hợp khác nhau và nó cùng với tập gốc phải biểu diễn được với dữ liệu thực tế.

Lựa chọn các thuộc tính có thể tiến hành theo hai cách: cách thứ nhất là xếp loại các thuộc tính theo một tiêu chuẩn nào đó và lấy ra k thuộc tính đầu tiên, do đó cách này là dựa vào ngưỡng để chọn thuộc tính. Cách thứ hai là chọn ra tập con nhỏ nhất mà không làm giảm đi quá trình học, do đó với cách này tự động xác định số lượng thuộc tính.

Lựa chọn thuộc tính có thể dựa vào các mô hình, các chiến lược tìm kiếm, thước đo chất lượng thuộc tính và ước lượng. Có ba loại mô hình như Filter, Wrapper, 3 Embedded. Mô hình Embedded là mô hình tích hợp thuộc tính được lựa chọn khi xây dựng mô hình ví dụ như thuật toán cây quyết định.

Các chiến lược tìm kiếm bao gồm: Forward, Backward, Floating, Branch & Bound, Randomized. Ước lượng của việc chọn lựa thuộc tính bao gồm hai nhiệm vụ: một là so sánh hai giai đoạn: trước và sau khi lựa chọn thuộc tính. Hai là so sánh hai thuật toán lựa chọn thuộc tính [7].

Tóm lại lựa chọn thuộc tính được xem như là sự tổng hợp của ba thành phần chính: tìm kiếm, đánh giá, chọn lựa mô hình. Hình dưới đây thể hiện lựa chọn thuộc tính theo 3 thành phần nói trên [9].

Hình 2.11. Các thành phần chính của việc lựa chọn thuộc tính * Chiến lược tìm kiếm

Lựa chọn thuộc tính có thể được xem như là một vấn đề tìm kiếm, trong đó mỗi bước trong không gian tìm kiếm xác định ra một tập con thuộc tính liên quan. Một phương pháp tìm kiếm là tìm ra tập con tối ưu bắt đầu từ một tập rỗng các thuộc tính (Ví dụ: Sequential Forward Generation), phương pháp còn lại là tìm ra tập con tối ưu bằng cách lần lượt loại bỏ các thuộc tính ít quan trọng từ một tập đủ các thuộc tính ban đầu (Ví dụ: Sequential Backward Generation)[7].

* Tiêu chuẩn lựa chọn

Tất cả các chiến lược tìm kiếm đều có nhu cầu đánh giá một thuộc tính hoặc một tập con thuộc tính để xác định thuộc tính/tập con đó là tốt hay không tốt. Việc đánh giá này thường là phức tạp và có nhiều chiều đánh giá. Ví dụ, đánh giá có thể được đo lường theo những khía cạnh: các thuộc tính được chọn lựa có làm tăng độ chính xác của bộ phân lớp hay không và các thuộc tính được chọn lựa có giúp làm đơn giản các kết quả học do đó sẽ các kết quả này có thể dễ dàng để hiểu hay

* Các mô hình Filter và Wrapper

Về cơ bản có thể phân loại các phương pháp lựa chọn thuộc tính theo hai cách tiếp cận khác nhau là Filter và Wrapper. Cách sử dụng đơn giản nhất của chọn lựa thuộc tính là sử dụng độ chính xác của bộ phân lớp như một đo lường hiệu quả của bộ phân lớp. Nếu mục đích của chúng ta là để cực tiểu hóa tỷ lệ lỗi của phân lớp và chi phí đo lường đối với mỗi thuộc tính là như nhau thì sử dụng độ chính xác dự báo của lớp như một tiêu chí đo lường hiệu quả là rất khả thi. Do vậy, chúng ta nên xây dựng một bộ phân lớp với mục đích là để có được độ chính xác dự báo cao nhất có thể, sau đó chọn lựa các thuộc tính được sử dụng bởi bộ phân lớp như là các thuộc tính tối ưu. Mô hình này cũng được gọi là mô hình Wrapper. Ngoài phương pháp đo lường trực tiếp ở trên, cũng có một phương pháp đo lường hiệu quả không trực tiếp khác, chủ yếu dựa trên việc đo lường khoảng cách và đo lường thông tin trong việc chọn lựa thuộc tính. Mô hình được xây dựng theo cách này được gọi là mô hình Filter.

- Mô hình Wrapper

Hình 2.12. Mô Hình Wrappe

Một trong những các phương pháp nhằm cải thiện hiệu quả phân lớp là thông qua chọn lựa thuộc tính, vì thông qua chọn lựa thuộc tính chúng ta sẽ có tập dữ liệu tốt hơn cho phân lớp. Nếu chúng ta có thể chọn được các thuộc tính liên quan và

loại bỏ các thuộc tính nhiễu chúng ta có thể nâng cao hiệu quả phân lớp mà cụ thể là độ chính xác của bộ phân lớp [10].

- Mô hình Filter

Hình 2.13. Mô hình Filter

Ngoài cách dựa vào độ chính xác của bộ phân lớp ở trên, chúng ta cũng có thể sử dụng một số cách khác để làm tăng độ chính xác dự đoán của bộ phân lớp như: loại bỏ nhiễu, biến đổi dữ liệu (data reduction). Mặc dù chúng ta biết rằng khả năng xử lý của mô hình Wrapper đối với dữ liệu nhiều chiều bị hạn chế bởi việc chọn lựa bộ phân lớp. Tuy nhiên, trong ngữ cảnh của khai phá dữ liệu thì thông thường bộ dữ liệu thường là rất lớn và không thể dùng trực tiếp một bộ phân lớp để phân lớp dữ liệu cho bộ dữ liệu đó. Do đó, chúng ta cần sử dụng một số phương pháp tiền xử lý (pre-processing) đối với bộ dữ liệu đó trước khi áp dụng phân lớp bộ dữ liệu đó. Thông qua mô hình Wrapper có thể đảm bảo độ chính xác của các thuộc tính được chọn lựa. Tuy nhiên, do những hạn chế của mô hình này như: độ phức tạp thời gian lớn, hạn chế trong việc chọn lựa bộ phân lớp và khả năng xử lý với các bộ dữ liệu có kích cỡ lớn là không tốt. Dưới đây, chúng ta sẽ xem xét mô hình chon lựa thuộc tính Filter, mô hình này có thể khắc phục được một số hạn chế của mô hình Wrapper[10].

* Một số thuật toán trích chọn thuộc tính

Tìm kiếm toàn bộ

- Phương pháp Focus

Phương pháp này do Almuallim và Dietterich đưa ra vào năm 1991. Phương pháp này xem xét tất cả các kết hợp có thể của N các thuộc tính, bắt đầu từ một tập con rỗng các thuộc tính: là tập con thứ nhất, là tập con thứ hai,…. Khi Focus tìm ra một tập con thỏa mãn tiêu chí đo lường độ ổn định, giải thuật sẽ dừng lại. Dưới đây là mã giả của phương pháp Focus[10,13].

Hình 2.14. Tìm kiếm theo phương pháp Focus

Phương pháp tìm kiếm này thích hợp với tập dữ liệu có số thuộc tính vừa và không quá lớn. Do đó Focus thường được áp dụng trong các bài toán với các dữ liệu về các đối tượng có số lượng các thuộc tính vừa phải nhằm giảm bớt độ phức tạp cho chi 8 phí xây dựng hệ thống.

- Phương pháp AAB

Được Liu đưa ra năm 1998, ABB là viết tắt của cụm từ Automated Branch and Bound algorithm. Chữ tự động (automated) ở đây có nghĩa là cận (bound) được xác định một cách tự động, điều này không giống như giải thuật nhánh và cận cổ điển, cận phải được xác định trước. Dưới đây thể hiện mã giả của giải thuật ABB.

Hình 2.15. Tìm kiếm theo phương pháp AAB

Giải thuật ABB bắt đầu với một tập tất cả các thuộc tính, ABB thực hiện chiến lược tìm kiếm theo chiều rộng. Tại mỗi bước giải thuật lần lượt loại bỏ một thuộc tính cho đến khi không còn một thuộc tính nào có thể được loại bỏ mà vẫn thỏa mãn tiêu chí độ ổn định. ABB thực hiện việc mở rộng không gian tìm kiếm cũng giống như là việc cắt tỉa một cây. Một nhánh bị “tỉa” khi nó không thể phát

triển thêm được nữa do việc vi phạm tiêu chí ổn định. Khi một nhánh không thể phát triển thêm được nữa thì gốc của nhánh có thể là một trong những “ứng cử viên” cho kết quả của giải thuật. Cuối cùng, một tập với số lượng các thuộc tính nhỏ nhất được chọn lựa nếu nó thỏa mãn tiêu chí đo lường U[10,13].

Tìm kiếm theo kinh nghiệm

Có rất nhiều phương pháp chọn lựa thuộc tính theo kinh nghiệm. Nhìn chung, các phương pháp này đều là sự đánh đổi việc tìm ra một tập con tốt nhất, với việc tìm ra một tập con tốt có thể chấp nhận được ở chừng mực nào đó nhưng có thời gian thực hiện nhanh hơn. Mặc dù, mục đích của các phương pháp tìm kiếm theo kinh nghiệm vẫn là tìm ra một tập con tối ưu.

Phương pháp đơn giản nhất trong các phương pháp tìm kiếm theo kinh nghiệm là “trích” ra một bộ phân lớp và thực hiện việc chọn lựa các thuộc tính bằng cách sử dụng bộ phân lớp được tạo ra trước đó. Dưới đây là mã giả của phương pháp tìm kiếm theo kinh nghiệm Wrap1:

Hình 2.16. Tìm kiếm theo kinh nghiệm Wrap1

Trong phương pháp Wrap1, từ một tập dữ liệu N thuộc tính chúng ta áp dụng một giải thuật học trên bộ dữ liệu đó nhằm tìm ra một bộ phân lớp (các tham số) có kết quả phân lớp tốt nhất. Sau đó, áp dụng bộ phân lớp này đối với tất cả các thuộc tính trong bộ dữ liệu cần phân lớp.

Phương pháp này có thời gian thực hiện nhanh hơn phương pháp tìm kiếm toàn bộ. Do đó đối với các bài toán có tiêu chí đánh giá cụ thể thì nên sử dụng phương pháp tìm kiếm kinh nghiệm[10].

Tìm kiếm xác suất

tìm kiếm toàn bộ trong không gian tìm kiếm. Không giống như hai phương pháp tìm kiếm theo kinh nghiệm và tìm kiếm toàn bộ được trình bày ở trên, các thuộc tính không tuần tự được loại bỏ/thêm vào từ một tập các thuộc tính cho trước. Phương pháp tìm kiếm theo xác suất cho phép tìm kiếm các tập con thuộc tính mà ở đó các tập con này được tạo ra một cách ngẫu nhiên. Phương pháp LVF (Las Vegas algorithm for Filter feature selection)

Phương pháp LVF được Liu và Setiono đưa ra vào năm 1996, phương pháp LVF bao gồm một thủ tục có thể tạo ra tạo ra các tập con thuộc tính một cách ngẫu nhiên và một thủ tục nhằm đánh giá xem mỗi tập con được tạo ra có thỏa mãn tiêu chuẩn chọn lựa hay không. Dưới đây thể hiện mã giả của phương pháp LVF.

Hình 2.17. Tìm kiếm theo phương pháp LVF

Kết quả của hai thủ tục trong giải thuật LVF là một tập con thuộc tính tối ưu. Đo lường được sử dụng để đánh giá trong LVF là tỷ lệ lỗi (inconsistency). Giải thuật LVF này có hai tham số quan trọng đó là: Tỷ lệ lỗi của dữ liệu khi sử dụng tất cả các thuộc tính, Số lượng tối đa các tập con thuộc tính được tạo ra ngẫu nhiên[10].

Một phần của tài liệu (LUẬN văn THẠC sĩ) phát hiện truy nhập bất thường vào máy chủ web (Trang 48 - 55)

Tải bản đầy đủ (PDF)

(82 trang)