TOM TAT 3

20

Click here to load reader

Transcript of TOM TAT 3

Page 1: TOM TAT 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VN

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

---------------------------------------

TRẦN VŨ LINH

NGHIÊN CỨU KẾT HỢP CÁC BỘ PHÂN LOẠI CHO CÁC BÀI TOÁN NHẬN DẠNG

VÀ DỰ ĐOÁN

CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH MÃ SỐ : 60.48.15 TÓM TẮT LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH

HÀ NỘI - 2011

Page 2: TOM TAT 3

2

Luận văn được hoàn thành tại: Học viện Công nghệ Bưu chính Viễn thông Tập đoàn Bưu chính Viễn thông Việt Nam Người hướng dẫn khoa học: PGS.TS TỪ MINH PHƯƠNG Phản biện 1: …………………………………………………… …………………………………………………… Phản biện 2: …………………………………………………… …………………………………………………… Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ............... Có thể tìm hiểu luận văn tại: - Thư viện Học viện Công nghệ Bưu chính Viễn thông

Page 3: TOM TAT 3

3

Trong những năm gần đây, cùng với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông, khối lượng thông tin của nhân loại đã trở thành một con số khổng lồ, và lượng thông tin đó không ngừng được tăng lên từng ngày. Qua các tài liệu nghiên cứu, trang thông tin điện tử, báo chí, truyền hình,...tất cả thông tin, dữ liệu của con người đều có thể được công bố, truyền bá một cách rộng rãi.

Điều này đặt ra một thách thức đối với lĩnh vực nghiên cứu công nghệ tri thức nói chung và ngành khoa học máy tính nói riêng là tìm cách để khai thác lượng dữ liệu khổng lồ đó một cách hiệu quả. Việc khai thác các dữ liệu này đã và đang ứng dụng thành công vào rất nhiều lĩnh vực đời sống như thương mại, tài chính, y học , thiên văn, môi trường, giáo dục và viễn thông,…

Được sự định hướng và hướng dẫn của Thầy giáo PGS.TS Từ Minh Phương, tôi đã nhận đề tài:

“Nghiên cứu kết hợp các bộ phân loại cho các bài toán nhận dạng và dự đoán”

Mục đích của luận văn là nghiên cứu lý thuyết phương pháp kết hợp các bộ phân loại và áp dụng giải quyết bài toán phát hiện URL độc hại bằng phân loại. Cấu trúc luận văn gồm 3 chương :

CHƯƠNG 1 - TỔNG QUAN 1.1. TỔNG QUAN VỀ PHÂN LOẠI

Phân loại (hay phân lớp) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước. Các mẫu dữ liệu hay các đối tượng được xếp về các lớp dựa vào giá trị của các thuộc tính (attributes) cho một mẫu dữ liệu hay đối tượng. Sau khi đã xếp tất cả các đối tượng đã biết trước

Page 4: TOM TAT 3

4

vào các lớp tương ứng, lúc này mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối tượng chứa trong lớp đó.

Các thuật toán phân loại tiêu biểu bao gồm như mạng neural, cây quyết định, suy luận quy nạp, mạng Beyesian, Support Vector Machine…. Tất cả các cách tiếp cập này xây dựng những mô hình đều có khả năng phân loại cho một mẫu mới chưa biết dựa vào những mẫu tương tự đã được học. Bài toán phân loại có thể xử lý thông tin được thu thập từ mọi lĩnh vực hoạt động của con người và thế giới tự nhiên được biểu diễn dưới dạng các bảng. Bảng này bao gồm các đối tượng và các thuộc tính. Các phần tử trong bảng là các giá trị xác định các thuộc tính (attributes hay features) của các đối tượng. Trong đó số cột chính là số thuộc tính của các đối tượng, mỗi cột là một thuộc tính và số dòng chính là số đối tượng chứa trong dữ liệu này. Mọi dữ liệu được biểu diễn dưới các dạng khác có thể được chuyển thành dạng bảng như trên để thực hiện quá trình phân loại.

1.2. BÀI TOÁN PHÂN LOẠI

Một bài toán phân loại bao gồm 2 bước sau: Bước 1: Huấn luyện Mục đích của bước này là xây dựng một mô hình xác định một tập các lớp dữ liệu. Mô hình này được xây dựng bằng cách phân tích các bộ dữ liệu của một cơ sở dữ liệu, mỗi bộ dữ liệu được xác định bởi giá trị của các thuộc tính. Giả sử mỗi bộ dữ liệu đã thuộc về một trong các lớp đã đựơc định nghĩa trước, điều này được xác định bởi một trong các thuộc tính, gọi là thuộc tính phân loại. Trong ngữ cảnh của bài toán phân loại, mỗi bộ dữ liệu được xem như là một mẫu, một ví dụ, hay một đối tượng. Những bộ dữ liệu được phân tích để xây dựng mô hình phân loại được lấy từ trong tập dữ liệu học hay

Page 5: TOM TAT 3

5

dữ liệu huấn luyện (training data set). Những bộ dữ liệu riêng lẻ tạo thành tập dữ liệu huấn luyện còn gọi là những mẫu huấn luyện (training samples) và được chọn ngẫu nhiên từ một kho các mẫu.

Bước 2: Kiểm tra và đánh giá, bước này sử dụng mô hình phân lớp đã được xây dựng ở bước 1 vào việc phân lớp.

Đầu tiên, đánh giá độ chính xác của mô hình hay bộ phân lớp này, bằng cách sử dụng một tập các mẫu đã được phân lớp để thử (test) gọi là bộ thử (test set). Những mẫu này được chọn ngẫu nhiên và độc lập với các mẫu đã được học ở bước 1 gọi là mẫu thử (test sample). Độ chính xác của một mô hình phân lớp dựa trên bộ thử là tỷ lệ những mẫu thử được phân lớp đúng bằng mô hình phân lớp đó. Nghĩa là với mỗi mẫu thử, so sánh lớp đúng mà mẫu thử đó thuộc về với lớp mà mô hình phân lớp này dự đoán cho mẫu thử đó.

1.3. MỘT SỐ BỘ PHÂN LOẠI PHỔ BIẾN

1.3.1. Cây quyết định

Một cây quyết định là một cấu trúc cây, trong đó mỗi node trong biểu thị cho một phép phân nhánh tương ứng cho một thuộc tính, mỗi nhánh biểu thị cho một kết quả của một phép thử, các node lá biểu thị cho lớp hoặc các phân bố lớp. Node trên cùng trong một cây được gọi là gốc. Minh họa cho cây quyết định, hình 2-1 lấy lại ví dụ phân lớp tế bào ung thư với node trong được biểu diễn bằng hình chữ nhật, node lá được biểu diễn bằng hình ellipse .

Để phân lớp một mẫu chưa biết, những giá trị thuộc tính của mẫu đó được thử ngược lại trên cây quyết định. Một đường dẫn từ gốc đến một node lá là cơ sở cho việc

Page 6: TOM TAT 3

6

dự đoán lớp của một mẫu. Cây quyết định có thể dễ dàng chuyển đổi sang một tập các luật phân lớp. Cơ sở toán học của cây quyết định là thuật toán tham lam, thuật toán này đã xây dựng cây quyết định đệ quy từ trên xuống dưới, theo phương pháp chia để trị.

1.3.2.Mạng Bayes

Bayesian là phương pháp phân lớp dựa vào thống kê. Ta có thể dự đoán xác suất của các lớp trong tập dữ liệu, dựa vào xác suất này có thể xếp các mẫu vào các lớp riêng biệt. Thuật toán phân lớp Bayesian giả thiết rằng giá trị các thuộc tính của một lớp độc lập với giá trị của các thuộc tính khác, giả thiết này còn được gọi là lớp độc lập có điều kiện, nó làm đơn giản các tính toán sau này. Mạng Bayesian là một đồ thị, trên đồ thị cho phép biểu diễn mối quan hệ giữa các thuộc tính.

1.3.3. Support Vector Machine

SVM là một phương pháp mới để phân lớp dữ liệu. Nó dễ sử dụng hơn mạng neural, tuy nhiên nếu không sử dụng nó chính xác thì dễ bị bỏ qua một số bước đơn giản nhưng cần thiết, dẫn đến kết quả không được thỏa mãn. Mục đích của phương pháp SVM là phát sinh ra một mô hình từ tập mẫu học, mô hình này có khả năng dự đoán lớp cho các mẫu thử. SVM tìm ra một hàm quyết định phi tưyến trong tập mẫu học bằng cách ánh xạ hoàn toàn các mẫu học vào một không gian đặc trưng kích thước lớn có thể phân lớp tuyến tính và phân lớp dữ liệu trong không gian này bằng cách cực đại khoảng cách lề (geometric margin) và cực tiểu lỗi học cùng một lúc. Vấn đề tối ưu chủ yếu là

Page 7: TOM TAT 3

7

1.4. MỘT SỐ VẤN ĐỀ VỚI BÀI TOÁN PHÂN LOẠI

Có 2 vấn đề xảy ra với kết quả dự đoán của các bộ phân loại đó là kết quả dự đoán bị lệch (bias), tức là kết quả có thiên hướng sai giống nhau và kết quả dự đoán quá khác biệt nhau (variance). Tưởng tượng rằng chúng ta có các tập dữ liệu huấn luyện khác nhau, và tốt như nhau. Một thuật toán được coi là dự đoán lệch (bias) với một dữ liệu đầu vào x nếu khi huấn luyện thuật toán đó với mỗi tập dữ liệu huấn luyện, kết quả của nó sẽ sai một cách có hệ thống khi dự đoán nhãn đầu ra của x. Một thuật toán được coi là variance với dữ liệu đầu vào x nếu các kết quả dự đoán nhãn đầu ra của nó khác nhau khi được huấn luyện với các tập dữ liệu đầu vào khác nhau. Lỗi dự đoán của một bộ phân loại chính là tổng lỗi bias và variance của thuật toán học máy mà nó sử dụng.

(a) Bias cao, variance thấp (b) Bias thấp, variance

(c) Bias cao, variance cao (d) Bias thấp, variance thấp

Hình 1.6. Biểu diễn trực quan bias và variance

Page 8: TOM TAT 3

8

Hình 1.6 biểu diễn bias, variance bằng các mũi tên trên bảng tiêu. Bias được biểu diễn bằng những mũi tên chệch đích một cách hệ thống về một phía. Các mũi tên càng có xu hướng chệch về một phía thì bias càng cao. Variance được biểu diễn bằng sự phân bố của các mũi tên. Các mũi tên có phân bố càng xa nhau thì variance càng cao. Vậy mục đích của việc xây dựng một bộ phân loại tốt là tìm ra một phương pháp để cả bias và variance của nó thấp nhất.

Có một phương pháp phổ biến để giảm variance là xây dựng một tập các bộ phân loại đơn lẻ, sau đó thực hiện biểu quyết dựa trên kết quả phân loại của chúng với dữ liệu đầu vào. Nghĩa là với một thuật toán, ta sẽ xây dựng nhiều hơn 2 bộ phân loại, và kết quả phân loại cuối cùng sẽ là kết quả được tìm thấy của nhiều bộ phân loại nhất. Có rất nhiều cách để tạo ra các bộ phân loại đơn lẻ, và cũng có nhiều mô hình để biểu quyết giữa chúng. Một ý tưởng được đề xuất là lựa chọn một thuật toán học máy có bias thấp, sau đó sử dụng phương pháp biểu quyết để làm giảm variance của nó. Chương sau sẽ mô tả chi tiết hơn về cách thức để tạo ra và biểu quyết kết quả của các bộ phân loại đơn lẻ đó.

1.5. KẾT LUẬN CHƯƠNG

Chương 1 đã giới thiệu chung về bài toán phân loại tự động, và trình bày nội dung của một số thuật toán phân loại phổ biến: thuật toán cây quyết đinh, mạng Bayes, Support Vector Machine. Các bộ phân loại được xây dựng bởi các thuật toán này lại thường cho kết quả chính xác không cao với những bộ dữ liệu lớn, hoặc quá phức tạp. Dẫn đến việc cần thiết tìm ra phương pháp mới để giải quyết các bài toán phân loại tự động.

Page 9: TOM TAT 3

9

CHƯƠNG 2 – TRÌNH BÀY PHƯƠNG PHÁP KẾT HỢP CÁC BỘ PHÂN LOẠI

2.1. KẾT HỢP CÁC BỘ PHÂN LOẠI

2.1.1. Khái niệm kết hợp các bộ phân loại

Bộ kết hợp các bộ phân loại (Ensemble) là tập hợp của các bộ phân loại cơ bản, trong đó mỗi bộ phân loại cơ bản có thể là một một bộ phân loại cổ điển như: cây quyết định, naives bayes, mạng nơ-ron,... Khi một ví dụ mới được phân loại, nó được xử lý bởi các bộ phân loại cơ bản của bộ kết hợp mà kết quả của chúng được kết hợp theo một cách nào đó để đưa ra dự đoán cuối cùng của bộ kết hợp đối với ví dụ đó. Chúng ta muốn có các bộ phân loại cơ bản phân loại tốt và kết quả của các bộ phân loại cơ bản không có độ tương quan cao với nhau.

2.1.2. Các cách tiếp cận phương pháp kết hợp các bộ phân loại

Có hai cách tiếp cận bộ kết hợp: - Thứ nhất là xây dựng mỗi bộ phân loại một cách độc lập với

nhau, sau đó sử dụng phương pháp biểu quyết để chọn ra kết quả cuối cùng của bộ kết hợp. Tức là mỗi bộ phân loại cơ bản sẽ được xây dựng độc lập với các bộ phân loại khác bằng cách thay đổi tập dữ liệu huấn luyện đầu vào, thay đổi các đặc trưng trong tập huấn luyện.

- Thứ hai là xây dựng các bộ phân loại cơ bản và gán trọng số cho các kết quả của mỗi bộ phân loại. Việc lựa chọn một bộ phân loại cơ bản ảnh hưởng tới việc lựa chọn của các bộ phân loại cơ bản khác và trọng số được gán cho chúng.

Page 10: TOM TAT 3

10

2.2. PHƯƠNG PHÁP BAGGING

2.2.1. Mô hình hoạt động của Bagging Bagging sử dụng cách tiếp cận thứ nhất. Bagging tạo ra các bộ

phân loại từ các tập mẫu con có lặp từ tập mẫu ban đầu và một thuật toán học máy, mỗi tập mẫu sẽ tạo ra một bộ phân loại cơ bản.

Các bộ phân loại sẽ được kết hợp bằng phương pháp biểu quyết theo số đông. Tức là khi có một ví dụ cần được phân loại, mỗi bộ phân loại sẽ cho ra một kết quả. Và kết quả nào xuất hiện nhiều nhất sẽ được lấy làm kết quả của bộ kết hợp. 2.2.2. Thuật toán Bagging

Bagging tạo ra N tập huấn luyện được chọn có lặp từ tập dữ liệu huấn luyện ban đầu. Trong đó các ví dụ huấn luyện có thể được chọn hơn một lần hoặc không được chọn lần nào. Từ mỗi tập huấn luyện mới, Bagging cho chạy với một thuật toán học máy Lb để sinh ra M bộ phân loại cơ bản hm. Khi có một ví dụ phân loại mới, kết quả của bộ kết hợp sẽ là kết quả nhận được nhiều nhất khi chạy M bộ phân loại cơ bản.

Hình 2.3: Mô hình hoạt động của Bagging

Page 11: TOM TAT 3

11

Trong hình 2.3, bộ 3 mũi tên bên trái mô tả việc lấy mẫu 3 lần

có lặp. Bộ 3 mũi tên tiếp theo mô tả việc gọi thuật toán học mô hình trên 3 ví dụ để tạo ra 3 mô hình cơ bản.

Bagging trả lại hàm h(x) được biểu quyết lớn nhất trong các h1,h2,….,hM. phân lớp các ví dụ mới bằng việc trả lại lớp y trong tập các lớp có thể Y. Trong hình 2.3, có 3 bộ phân loại cơ bản để biểu quyết ra đáp án cuối cùng. Trong bagging, các tập huấn luyện M được tạo ra khác nhau. Nếu sự khác nhau này đủ để dẫn đến sự khác nhau của M mô hình cơ bản trong khi hiệu năng của các mô hình đủ tốt thì thì bộ kết hợp có hiệu năng tốt hơn các mô hình cơ bản.

2.3. PHƯƠNG PHÁP BOOSTING

2.3.1. Mô hình hoạt động của Boosting Khác với phương pháp Bagging, xây dựng bộ phân loại kết

hợp với các ví dụ huấn luyện có trọng số bằng nhau, phương pháp Boosting xây dựng bộ phân loại kết hợp với các ví dụ huấn luyện có trọng số khác nhau. Sau mỗi bước lặp, các ví dụ huấn luyện được dự đoán sai sẽ được đánh trọng số tăng lên, các ví dụ huấn luyện được dự đoán đúng sẽ được đánh trọng số nhỏ hơn. Điều này giúp cho Boosting tập trung vào cải thiện độ chính xác cho các ví dụ được dự đoán sai sau mỗi bước lặp. 2.3.2. Thuật toán Boosting

Một thuật toán boosting ban đầu được định nghĩa là một thuật toán dùng để chuyển một thuật toán học máy yếu thành một thuật toán học máy mạnh. Có nghĩa là nó chuyển một thuật toán học máy giải quyết một bài toán phân loại 2 lớp tốt hơn cách giải chọn ngẫu nhiên thành một thuật toán giải quyết rất tốt bài toán đó. Thuật toán

Page 12: TOM TAT 3

12

boosting ban đầu của Schapire là một thuật toán đệ quy. Tại bước cuối của đệ quy, nó kết hợp các giả thuyết được tạo bởi thuật toán học máy yếu. Xác suất lỗi của bộ kết hợp này được chứng minh là nhỏ hơn xác suất lỗi của các giả thuyết yếu.

Adaboost là một thuật toán kết hợp một tập các bộ phân loại được làm đa dạng bằng việc chạy thuật toán học máy với phân bố khác nhau trên tập huấn luyện. 2.3.3. Thuật toán AdaBoost Thuật toán AdaBoost là thuật toán boosting chúng ta dùng để tạo 1 chuỗi các mô hình cơ bản phân bố trọng số khác nhau trên tập dữ liệu huấn luyện. Thuật toán Adaboost được mô tả trong hình 2.4.

Hình 2.4: Thuật toán AdaBoost

Page 13: TOM TAT 3

13

2.4. KẾT LUẬN CHƯƠNG

Chương 2 đã trình bày các khái niệm cơ bản về phương pháp kết hợp các bộ phân loại. Và bằng cơ sở lý thuyết, cũng chứng minh được phương pháp kết hợp các bộ phân loại có khả năng đạt độ chính xác cao hơn việc sử dụng các bộ phân loại đơn lẻ trong các bài toán nhận dạng và dự đoán. Bagging và Boosting là hai phương pháp tiêu biểu của họ các phương pháp kết hợp các bộ phân loại.

CHƯƠNG 3 – PHÁT HIỆN URL ĐỘC HẠI

BẰNG CÁCH PHÂN LOẠI 3.1. BÀI TOÁN PHÁT HIỆN URL ĐỘC HẠI

Trước tiên, ta tìm hiểu một số khái niệm về URL và các vấn đề liên quan đến phân loại URL độc hại. WWW là một mạng thông tin toàn cầu mà người dùng có thể truy cập qua Internet, và mạng bao gồm một tập các Web sites. Mỗi web site lại là một tập hợp các trang văn bản, hình ảnh liên quan đến nhau đặt trên máy chủ của web site đó. Thông thường, người dùng truy cập các web site thông qua trình duyệt - phần mềm khách lấy về và biểu diễn các dữ liệu văn bản, hình ảnh và các nội dung khác liên quan tới site (các trình duyệt thông dụng là Internet Explorer, Firefox, Chrome, Safari). Tuy nhiên, các trình duyệt phải xác định vị trí các site mong muốn trước khi lấy nó về, Uniform Resource Locators(URLs) là cách đặt tên vị trí chuẩn trên Web. Trong phạm vi đề tài, thuật ngữ URL được hiểu tương đương với trang web mà nó trỏ tới.

Page 14: TOM TAT 3

14

Bởi vì URL có thể được xử lý bởi trình duyệt nên nó phải tuân theo định dạng chuẩn sau:

<giao thức>://<tên máy chủ><đường dẫn> Trong đó <Giao thức> là giao thức mạng được dùng để lấy tài nguyên yêu cầu. <đường dẫn> của một URL giống với đường dẫn của một tệp trên ổ cứng máy tính.ví dụ: /customer/home.htm. Đường dẫn được phân cách bởi các dấu chấm, gạch nhằm mục đích mô tả tổ chức của site. Tuy nhiên đôi khi kẻ gian làm mờ đi sự phân cách của đường dẫn để tránh sự giám sát, hoặc có thể xây dựng các phân cách bắt chước site thật. <tên máy chủ> để xác định máy chủ của web site trên Internet. Đôi khi nó là địa chỉ IP, nhưng thường nó là tên miền mà con người có thể đọc được.

Bản thân URL không gây hại đối với người dùng, mà URL chỉ là đường dẫn để dẫn người dùng đến trang độc hại.

3.2. PHƯƠNG PHÁP PHÂN LOẠI URL ĐỘC HẠI

Một phương pháp cơ bản nhất để phân loại các URL độc hại là xây dựng một danh sách các URL dẫn tới các trang độc hại. Dựa vào kinh nghiệm cá nhân của rất nhiều người dùng để xây dựng danh sách các URL độc hại, khi một người dùng truy cập một URL vào một trang web và phát hiện ra đó là một trang web độc hại, người dùng sẽ đánh dấu URL đó là độc hại. Khi gom được rất nhiều URL như vậy ta sẽ có một danh sách các URL độc hại – gọi là danh sách đen.

Nhưng có một vấn đề là tốc độ phát triển của các URL độc hại quá nhanh, khiến cho danh sách đen không kịp cập nhật đầy đủ. Phương pháp trích chọn các đặc trưng trong URL để phân loại chúng

Page 15: TOM TAT 3

15

là có độc hại hay không là một cách tiếp cận tiềm năng có thể giải quyết được vấn đề trên.

3.3. ÁP DỤNG PHƯƠNG PHÁP KẾT HỢP CÁC BỘ PHÂN

LOẠI ĐỂ NHẬN BIẾT URL ĐỘC HẠI

Bài toán phân biệt URL độc hại sử dụng phương pháp kết hợp các bộ phân loại gồm 3 bước:

- Bước 1: Biểu diễn các URL bằng các đặc trưng.

- Bước 2: Sử dụng một bộ các dữ liệu đã được phân loại độc

hại, hay không độc hại để làm dữ liệu huấn luyện.

- Bước 3: Áp dụng phương pháp Kết hợp các bộ phân loại để

xây dựng bộ phân loại và đánh giá kết quả.

3.3.1. Biểu diễn các URL bằng các đặc trưng

Các đặc trưng của URL được chia làm hai loại là đặc trưng ngữ nghĩa và đặc trưng về host. Bảng 3.1 biểu diễn các đặc trưng kiểu ngữ nghĩa và đặc trưng về host cùng với số lượng các đặc trưng sưu tập được của mỗi loại. Trong đó các đặc trưng kiểu ngữ nghĩa chỉ chiếm 38%, còn lại 62% là các đặc trưng về host. Bây giờ chúng ta sẽ mô tả chi tiết hơn về các kiểu đặc trưng và mục đích của việc đưa các kiểu đặc trưng này vào bộ phân loại.

3.3.1.1. Đặc trưng kiểu ngữ nghĩa Các đặc trưng này cho phép chúng ta bắt các thuộc tính để

phân biệt giữa URL độc hại và URL không độc hại. Để dễ hình dung, chúng ta cùng xem xét một ví dụ sau: vị trí của cụm từ ‘.com’ trong URL www.ebay.com là hoàn toàn bình thường. Tuy nhiên khi nhìn vào vị trí của chính cụm từ ‘.com’ đó trong hai URL ‘www.ebay.com.phishy.biz’ và

Page 16: TOM TAT 3

16

‘phish.biz/www.ebay.com/index.php’ ta có thể nhận thấy có một nỗ lực giả mạo về tên miền của nhà cung cấp trang web hợp pháp. Tương tự như vậy, chúng ta có thể bắt các từ khóa có mặt trong các URL độc hại để phân biệt được URL độc hại hay không. Ví dụ khi mà từ khóa ‘ebayisapi’ xuất hiện thường xuyên trong đường dẫn của một URL, thì có nhiều khả năng URL này đang cố gắng giả mạo trang eBay, vì vậy có thể phân loại được đó là URL độc hại.

3.3.1.2. Đặc trưng về host Các đặc trưng này mô tả các thuộc tính của trang web được

xác định ở phần tên miền của URL. Chúng cho chúng ta dự đoán gần đúng máy chủ mà các trang độc hại được đặt, ai sở hữu chúng, và cách chúng được quản lý. Chúng ta phân tích các tập thuộc tính sau để xây dựng các đặc trưng về host.

- Thông tin WHOIS: đây chính là thông tin được đăng ký với nhà cung cấp tên miền. Nó bao gồm ngày đăng ký tên miền, người đăng ký và nhà cung cấp tên miền. Vì vậy nếu một có một nhiều tên miền độc hại được đăng ký bởi một cá nhân hoặc tổ chức nào đó thì cá nhân sở hữu hoặc tổ chức đó sẽ được coi là một đặc trưng cho URL độc hại.

- Vị trí địa lý: Đề cập tới vị trí địa lý của máy chủ, phần đầu của địa chỉ IP và số AS(autonomous). Vì vậy nếu các URL độc hại có xu hướng được đặt trong phần đầu của địa chỉ IP của một nhà cung cấp dịch vụ Internet ISP nào đó thì chúng ta có thể đề cập đến nhà cung cấp đó khi phân loại URL.

- Tốc độ kết nối: như đề cập ở phần trước, kẻ gian có xu hướng làm lây nhiễm các máy cá nhân của người dùng và sử dụng ngay máy tính bị lây nhiễm đó làm nơi cư trú của trang độc hại của họ. Nhưng các máy cá nhân này thường kết nối với mạng Internet

Page 17: TOM TAT 3

17

thông qua cáp DSL và có tốc độ kết nối chậm hơn rất nhiều so với các trang được đặt tại các các nhà cung cấp chính thức. Vì vậy dựa vào tốc độ kết nối của máy tính tới một trang thông qua URL chúng ta có thể dự đoán được trang mà URL đó trỏ tới có phải độc hại không.

- Danh sách đen: đây là một phương pháp truyền thống, lưu các URL được nhận biết là độc hại, mỗi URL độc hại trong danh sác đen có thể được dùng làm một đặc trưng để phân loại. 3.3.2. Dữ liệu huấn luyện thực nghiệm

Bộ dữ liệu URL sử dụng trong Luận văn là bộ dữ liệu URL được trình bày trong Hội thảo quốc tế về học máy 2009 của nhóm tác giả Justin Ma, Lawrence Saul, Stefan Savage, Geoff Voelker. Bộ dữ liệu bao gồm 2 triệu URL được thu thập trong 100 ngày. Trong đó các URL độc hại được cung cấp bởi một Nhà cung cấp dịch vụ thư điện tử lớn, họ cung cấp 6000 – 7500 ví dụ về URL rác và URL giả mạo. Các URL độc hại này được phân tích từ những thư điện tử mà người dùng đánh dấu là spam, sau đó Nhà cung cấp sử dụng một bộ lọc để xác định lại URL đó thực sự là độc hại. Các URL không độc hại được cung cấp bởi kho lưu trữ của Yahoo. 3.3.3. Tiến hành thực nghiệm

Đề tài sử dụng bộ dữ liệu huấn luyện trên để huấn luyện và kiểm thử phương pháp Boosting và Random Forest. Sau đó so sánh kết quả phân loại của phương pháp Boosting và Random Forest (là phương pháp dựa trên ý tưởng của Bagging kết hợp với việc chọn ngẫu nhiên các đặc trưng để tạo ra một tập các cây quyết định có độ đa dạng được kiểm soát) với các 2 thuật toán học máy J48 và Naïve Bayes. Công cụ được sử dụng để huấn luyện và kiểm thử là Weka, một công cụ phổ biến để đánh giá các bộ phân loại.

Page 18: TOM TAT 3

18

Các bước tiến hành thực nghiệm như sau: - Thứ nhất, chuyển bộ dữ liệu huấn luyện về định dạng của

công cụ Weka. - Thứ hai, huấn luyện các bộ phân loại sử dụng J48, Naïve

Bayes, Boosting, Random Forest. - Thứ ba, so sánh độ chính xác của các bộ phân loại mới.

Bảng 3.2. Bảng kết quả thực nghiệm Độ chính xác (%)

J48 Naïve Bayes Boosting Random Forest

Bộ dữ liệu 1 77.8 94.44 83.33 88.9

Bộ dữ liệu 2 79 68.4 89.5 84.2

Bộ dữ liệu 3 89 89 100 94.44

Bộ dữ liệu 4 89 89 94.44 88.9

Bộ dữ liệu 5 94 82.3 100 76.47

Bộ dữ liệu 6 58.3 91.67 100 83.33

Bộ dữ liệu 7 58.3 91.67 100 83.33

Bộ dữ liệu 8 58.3 91.67 100 83.33

Bộ dữ liệu 9 58.3 91.67 100 83.33

Bộ dữ liệu 10 58.3 91.67 100 83.33

Bộ dữ liệu 11 50 83.33 50 50

Bộ dữ liệu 12 100 66.67 100 83.33

Bộ dữ liệu 13 66.67 66.67 100 83.33

Bộ dữ liệu 14 100 66.67 100 50

Bộ dữ liệu 15 100 100 100 100

Page 19: TOM TAT 3

19

Nhìn vào bảng kết quả thực nghiệm có thể thấy được trong đa số các trường hợp thì độ chính xác của bộ kết hợp Boosting cao hơn so với hai bộ phân loại đơn lẻ và cả bộ phân loại của Random Forest. Độ chính xác của Radom Forest lớn hơn của J48 trong hầu hết các trường hợp, nhưng hầu như lại thấp hơn độc chính xác của Naïve Bayes.

3.4. KẾT LUẬN CHƯƠNG

Chương 3 đã đặt vấn đề cho bài toán “Phát hiện URL độc hại bằng cách phân loại”. Sau đó trình bày phương thức biểu diễn các URL bằng các đặc trưng, xây dựng các bộ phân loại dựa vào bộ dữ liệu huấn luyện và đưa ra kết quả của quá trình thực nghiệm với 2 bộ phân loại đơn lẻ J48, Naïve Bayes và 2 bộ kết hợp các bộ phân loại Boosting, Random Forest. Chúng ta đã chứng minh thực nghiệm rằng so với các bộ phân loại đơn lẻ, thì phương pháp kết hợp các bộ phân loại có độ chính xác cao hơn trong phần lớn các trường hợp.

KẾT LUẬN Luận văn đã giới thiệu được mô hình, cách tiếp cận của

phương pháp kết hợp các bộ phân loại. Và chứng minh được về mặt lý thuyết rằng phương pháp kết hợp các bộ phân loại giúp cải tiến được độ chính xác và tăng khả năng tìm được kết quả tốt. Bằng kết quả thực nghiệm, Luận văn cũng cho thấy phương pháp kết hợp các bộ phân loại có thể trở thành một lựa chọn tốt trong giải quyết các bài toán phân loại và dự đoán thực tế.

Page 20: TOM TAT 3

20

KIẾN NGHỊ CÁC HƯỚNG NGHIÊN CỨU

TIẾP THEO Nâng cao độ chính xác của phương pháp bằng cách thử kết

hợp bộ phân loại đơn lẻ khác nhau. Lựa chọn và tìm ra các đặc trưng cơ bản để cho các bộ phân

loại tập trung vào các đặc trưng cơ bản đó để phân loại. Mở rộng áp dụng phương pháp kết hợp các bộ phân loại vào

các ứng dụng khác như: dự đoán lưu lượng người truy cập mạng, phân loại mục đích truy cập của người dùng dựa trên các hoạt động của họ trên trang web,..

TÀI LIỆU THAM KHẢO [1] Prof. Haibo He (Fall 2009), Applied Machine Learning –

Ensemble Learning, Department of Electrical and Computer Engineering Stevens Institute of Technology, Hoboken NJ 07086.

[2] Jeke S.H.Chan and Nik Kasabov(2005), Fast Neural Network Ensemble Learning via Negative-Correlation Data Correction, IEEE Transactions on Neural Networks Vol 16.

[3] Martin Sewell (2008), Ensemble Learning, Department of Computer Science University Collage London.