Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
306,45 KB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TRẦN VŨ LINH
NGHIÊN CỨUKẾTHỢPCÁCBỘPHÂNLOẠI
CHO CÁC BÀITOÁNNHẬNDẠ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
Người hướng dẫn khoa học: PGS.TS TỪ MINH PHƯƠNG
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2011
2
MỞ ĐẦU
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êncứ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ácdữ 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ứukếthợpcácbộphânloạicho các bàitoánnhận
dạng và dự đoán”
Mục đích của luận văn là nghiêncứu lý thuyết phương pháp kếthợp
các bộphânloạivà áp dụng giải quyết bàitoá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ÂNLOẠ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
3
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ánphânloạ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ânloạicho 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àitoánphânloạ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ạngcác bảng. Bảng này bao
gồm các đối tượng vàcác thuộc tính. Cácphầ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ácdạ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ÀITOÁNPHÂNLOẠI
Một bàitoánphânloạ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ácbộ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àitoánphâ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ânloại được lấy từ trong tập dữ liệu học hay
4
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áncho mẫu thử đó.
1.3. MỘT SỐ BỘPHÂNLOẠ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ácphânbố 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
5
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ánphâ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 chocá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àncá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à
6
1.4. MỘT SỐ VẤN ĐỀ VỚI BÀITOÁNPHÂNLOẠI
Có 2 vấn đề xảy ra với kết quả dựđoán của cácbộphânloạ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áckết quả dựđoánnhã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ânloạ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
7
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ânbố của
các mũi tên. Các mũi tên có phânbố 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ânloạ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ácbộphânloại đơn lẻ, sau đó thực hiện biểu quyết dựa trên
kết quả phânloạ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ânloại
nhất. Có rất nhiều cách để tạo ra cácbộphânloạ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ânloại đơn lẻ đó.
1.5. KẾT LUẬN CHƯƠNG
Chương 1 đã giới thiệu chung về bàitoánphânloại tự động,
và trình bày nội dung của một số thuật toánphânloại phổ biến: thuật
toán cây quyết đinh, mạng Bayes, Support Vector Machine. Cácbộ
phân loại được xây dựng bởi các thuật toán này lại thường chokế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ánphânloại tự động.
8
CHƯƠNG 2 – TRÌNH BÀY PHƯƠNG PHÁP
KẾT HỢPCÁCBỘPHÂNLOẠI
2.1. KẾTHỢPCÁCBỘPHÂNLOẠI
2.1.1. Khái niệm kếthợpcácbộphânloại
Bộ kếthợpcácbộphânloại (Ensemble) là tập hợp của các
bộ phânloại cơ bản, trong đó mỗi bộphânloại cơ bản có thể là một
một bộphânloạ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ânloại cơ bản của bộkếthợ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ácbộphânloại cơ bản
phân loại tốt vàkết quả của cácbộphânloạ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ếthợpcácbộphânloạ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ânloạ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ânloại cơ bản sẽ được
xây dựng độc lập với cácbộphânloạ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ácbộphânloại cơ bản và gán trọng số
cho cáckế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ácbộphânloại cơ bản
khác và trọng số được gán cho chúng.
9
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ácbộ
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ânloại cơ bản.
Các bộphânloại sẽ được kếthợ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ânloạ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 L
b
để sinh
ra M bộphânloại cơ bản h
m
. Khi có một ví dụphânloại mới, kết quả
của bộkếthợ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
10
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
h
1
,h
2
,….,h
M
. 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ânloạ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ếthợ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ânloạikế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ânloạikếthợ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 chocá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àitoánphânloạ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àitoán đó. Thuật toán
[...]... trong giải quyết các bàitoán phân loạivàdựđoán thực tế 19 KIẾN NGHỊ CÁC HƯỚNG NGHIÊNCỨU TIẾP THEO Nâng cao độ chính xác của phương pháp bằng cách thử kếthợpbộphânloại đơn lẻ khác nhau Lựa chọn và tìm ra các đặc trưng cơ bản để chocácbộphânloại tập trung vào các đặc trưng cơ bản đó để phânloại Mở rộng áp dụng phương pháp kếthợpcácbộphânloại vào các ứng dụng khác như: dựđoán lưu lượng... bằng cách phânloạ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ácbộphânloạ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ânloại đơn lẻ J48, Naïve Bayes và 2 bộkếthợpcácbộphânloại Boosting, Random Forest Chúng ta đã chứng minh thực nghiệm rằng so với cácbộphânloại đơn lẻ, thì phương pháp kếthợpcácbộphân loại. .. đạt độ chính xác cao hơn việc sử dụng cácbộphânloại đơn lẻ trong các bàitoánnhậndạ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ợpcácbộphânloại CHƯƠNG 3 – PHÁT HIỆN URL ĐỘC HẠI BẰNG CÁCH PHÂNLOẠI 3.1 BÀITOÁ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ânloại URL độc hại WWW là một mạng thông... HẠI Bàitoánphân biệt URL độc hại sử dụng phương pháp kếthợpcácbộphânloạ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ácdữ liệu đã được phânloạ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ếthợpcácbộphânloại để xây dựng bộphânloạivà đá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... chính xác cao hơn trong phần lớn các trường hợpKẾ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ếthợpcácbộphânloạiVà chứng minh được về mặt lý thuyết rằng phương pháp kếthợpcácbộphânloạ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ếthợpcácbộphânloại có thể trở thành một lựa... một thuật toán đệ quy Tại bước cuối của đệ quy, nó kếthợpcá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ếthợ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ánkếthợp một tập cácbộphânloại được làm đa dạng bằng việc chạy thuật toán học máy với phânbố khác nhau trên tập huấn luyện 2.3.3 Thuật toán AdaBoost Thuật toán AdaBoost... 100 100 18 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ếthợp Boosting cao hơn so với hai bộphânloại đơn lẻ và cả bộphânloạ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 đề chobàitoán “Phát hiệ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ânbố 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 12 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ếthợpcácbộphânloạiVà bằng cơ sở lý thuyết, cũng chứng minh được phương pháp kếthợpcácbộphânloại có khả... luyện và kiểm thử là Weka, một công cụ phổ biến để đánh giá cácbộphânloại 17 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ácbộphânloại sử dụng J48, Naïve Bayes, Boosting, Random Forest - Thứ ba, so sánh độ chính xác của cácbộphânloại mới Bảng 3.2 Bảng kết quả thực nghiệm Độ chính xác (%) Bộdữ liệu 1 Bộ. .. 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ânloạ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ếthợ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ụ . 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ó. 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