Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
1,21 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ HỒNG HẬU
TÌM HIỂUPHƯƠNGPHÁPHỌCTÍCHCỰCVÀ
ỨNG DỤNGCHOBÀITOÁNLỌCTHƯ RÁC
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ HỒNG HẬU
TÌM HIỂUPHƯƠNGPHÁPHỌCTÍCHCỰCVÀ
ỨNG DỤNGCHOBÀITOÁNLỌCTHƯ RÁC
Ngành: Công nghệ thông tin
Chuyên ngành: H
ệ thống thông tin
Mã s
ố: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚ
NG DẪN KHOA HỌC: TS. NGUYỄN TRÍ THÀNH
Hà N
ội - 2011
1
MỤC LỤC
DANH SÁCH HÌNH VẼ 3
DANH SÁCH CÁC BẢNG BIỂU 4
CHƯƠNG I: GIỚI THIỆU 5
1.1 Giới thiệu đề tài 5
1.1.1 Lý do chọn đề tài 5
1.1.2 Mục tiêu của đề tài 6
1.1.3 Các giai đoạn thực hiện đề tài 7
1.2 Cấu trúc của luận văn 8
CHƯƠNG II - TỔNG QUAN VỀ HỌCTÍCHCỰC 10
2.1 Giới thiệu họctíchcực 10
2.2 Phươngpháphọctíchcực 13
2.3 Kịch bản họctíchcực 15
2.3.1 Stream_based Sampling 15
2.3.2 Pool-based Sampling 15
2.4 Các chiến lược truy vấn trong họctíchcực 15
2.4.1 Lấy mẫu không chắc chắn 16
2.4.2 Truy vấn dựa vào hội đồng 17
2.5 So sánh họctíchcựchọcthụ động 17
2.6 Miền ứngdụng của họctíchcực 18
2.7 Kết luận 19
CHƯƠNG III - MỘT SỐ THUẬT TOÁNHỌCTÍCHCỰC 20
3.1 Họctíchcực dựa trên perceptron 20
3.1.1 Giới thiệu 20
3.1.2 Thuật toán perceptron 20
3.1.3 Cải tiến bước cập nhật perceptron 23
3.1.4 Perceptron chỉnh sửa tíchcực 25
3.2 Họctíchcực với SVM 27
2
3.2.1 Giới thiệu 27
3.2.2 Máy hỗ trợ vector 27
3.2.3 Version space 30
3.2.4 Họctíchcực với SVM 33
3.3 Kết luận 39
CHƯƠNG 4. ỨNGDỤNGHỌCTÍCHCỰCCHOBÀITOÁNLỌC
THƯ RÁC 40
4.1 Giới thiệu 40
4.2 Họctíchcực trong bàitoánlọcthưrác 41
4.3 Thử nghiệm và kết quả 43
4.3.1. Cài đặt chương trình thử nghiệm 43
4.3.2. Thu thập và biểu diễn dữ liệu 45
4.3.3. Xây dựng chương trình biểu diễn và tiền xừ lý dữ liệu 48
4.3.4. Kết quả thử nghiệm 51
4.4 Kết luận 57
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 60
3
DANH SÁCH HÌNH VẼ
Hình 2.1 Lược đồ chung cho bộ họcthụ động
Hình 2.2 Lược đồ chung cho bộ họctíchcực
Hình 2.3 Lược đồ tổng thể của họctíchcực
Hình 3.1 Thuật toán perceptron chuẩn
Hình 3.2 Thuật toán cải tiến percepron chuẩn
Hình 3.3 Quy tắc họctíchcực là truy vấn các nhãn cho các điểm x trong L
Hình 3.4. Phiên bản tíchcực của Perceptron đã chỉnh sửa.
Hình 3.5 (a) Máy hỗ trợ vector tuyến tính đơn giản.
(b) Máy hỗ trợ vector và máy hỗ trợ vector transaction
Hình 3.6 Máy hỗ trợ vector sử dụng hàm nhân đa thức bậc 5
Hình 3.7 (a) Tính đối ngẫu trong version space
(b) Một bộ phân lớp SVM trên một version space
Hình 3.8 (a) Lề đơn giản truy vấn b (b) Lề đơn giản truy vấn a
Hình 3.9 (a) Lề MaxMin truy vấn b (b) Lề MaxRatio truy vấn e.
Hình 4.1 Bộ lọcthưrác áp dụngphươngpháphọctíchcực
Hình 4.2 Bộ lọcthưráctíchcực dựa trên Perceptron/SVM active
Hình 4.3 Giao diện chính của chương trình
Hình 4.4 Giao diện lựa chọn thư mục chứ dữ liệu
Hình 4.5 Thông báo quá trình làm sạch dữ liệu thành công
Hình 4.6 Giao diện thông báo kết quả xử lý
Hình 4.7 Kết quả thuật toán perceptron
Hình 4.8 Cấu trúc file cấu hình của chương trình ActiveExperiment
Hình 4.9 Kết quả chạy thuật toán SIMPLE
Hình 4.10 Kết quả chạy thuật toán SELF_CONF
Hình 4.11 Kết quả chạy thuật toán KFF
Hình 4.12. Kết quả chạy thuật toán BALANCE_EE
4
DANH SÁCH CÁC BẢNG BIỂU
Bảng 4.1 Ví dụ nội dung của bốn thư
Bảng 4.2 Từ điển và chỉ số cho dữ liệu trong bảng 4.1
Bảng 4.3 Biểu diễn vector cho dữ liệu trong bảng 4.1
Bảng 4.4 Kết quả chạy qua 20 lần truy vấn của các thuật toán
5
CHƯƠNG I: GIỚI THIỆU
1.1 Giới thiệu đề tài
1.1.1 Lý do chọn đề tài
Ngày nay thư điện tử (email) đã trở thành một công cụ đắc lực phục vụ
cho nhu cầu trao đổi thông tin của các cơ quan tổ chức, doanh nghiệp cũng
như mỗi cá nhân. Email giúp con người có thể kết nối mọi nơi, mọi lúc với
công việc và cuộc sống cá nhân. Tuy nhiện thư điển tử cũng đang bị lợi dụng
để phát tán thưrác (spam) lây lan virus máy tính và lừa đảo trực tuyến, gây
thiệt hại lớn cho người sử dụng.
Thư rác là thư điện tử được gửi hàng loạt với nội dung mà người nhận
không mong đợi, không muốn xem, hay chứa những nội dung không liên
quan đến người nhận và thường được sử dụng để gửi thông tin quảng cáo. Do
có giá thành tương đối thấp so với các phươngpháp quảng cáo khác, thưrác
hiện chiếm một tỷ lệ lớn và ngày càng tăng trong tổng số thư điện tử được gửi
qua Internet. Sự xuất hiện và gia tăng thưrác không những gây khó chịu và
làm mất thời gian của người nhận mà còn ảnh hưởng tới đường truyền
Internet và làm chậm tốc độ xử lý của máy chủ thư điện tử, gây thiệt hại lớn
về kinh tế.
Thư rác là một trong những thách thức lớn nhất hiện nay mà khách
hàng và các nhà cung cấp dịch vụ phải đối phó. Spam đã trở thành một hình
thức quảng cáo chuyên nghiệp, phát tán virus, ăn cắp thông tin với nhiều thủ
đoạn và mánh khóe cực kỳ tinh vi. Người dùng sẽ phải mất khá nhiều thời
gian để xóa những thư điện tử “không mời mà đến”, nếu vô ý còn có thể bị
nhiễm virus, trojan, spyware và nặng nề hơn là mất thông tin như thẻ tín
dụng, tài khoản ngân hàng qua các email dạng thư lừa người dùng tưởng đó là
thư hợp lệ (phishing).
Để loại bỏ hoặc giảm thiểu ảnh hưởng của thư rác, nhiều cách tiếp cận
khác nhau đã được nghiên cứu và sử dụng. Giải pháp đấu tranh với thưrác rất
đa dạng, bao gồm từ các cố gắng về pháp lý trong việc xây dựng luật ngăn
chặn phát tán thưráccho tới những giải pháp kỹ thuật nhằm phát hiện và
6
ngăn chặn thưrác trong những giai đoạn khác nhau của quá trình tạo và phát
tán thư.
Tất nhiên, những kẻ gửi thưrác sẽ liên tục cải thiện chiến thuật/cách
thức của chúng, do đó, điều quan trọng là biện pháp ngăn chặn thưrác phải
“học” cách thức thay đổi của thưrác theo thời gian để giúp việc ngăn chặn có
hiệu quả. Và việc ngăn chặn thưrác phải được thực hiện nhanh nhất có thể để
không làm ảnh hưởng đến hệ thống, công việc khác.
Từ những đặc điểm của hệ thống thư điện tử như có sự tương tác với
người sử dụngvà sự biến đổi của thư rác, luận văn nghiên cứu về họctíchcực
và xác định được sự phù hợp chobàitoánlọcthư rác. Đề tài “Tìm hiểu
phương pháphọctíchcựcvàứngdụngchobàitoánlọcthư rác” được tiến
hành nhằm đưa ra được phươngpháp xây dựng bộ lọcthưrác có thể “học”
được cách thức thay đổi của thưrácvà tận dụng được sự tương tác với người
dùng để đưa ra các truy vấn phân loại chothư điện tử giúp cho việc phân loại
thư rác đạt hiệu quả và chính xác cao.
Trong phạm vi đề tài, luận văn tiến hành nghiên cứu một số giải pháp
học thưrác dựa vào các phươngpháphọctíchcực (bộ lọctích cực). Nội dung
nghiên cứu bao gồm cả thử nghiệm trên dữ liệu thực làm rõ khả năng lọcthư
của các bộ lọctích cực, so sánh hiệu quả của các phươngpháp được áp dụng
trong bộ lọc.
1.1.2 Mục tiêu của đề tài
Để loại bỏ thư rác, các nhà cung cấp dịch vụ thư điện tử đã tích hợp
nhiều chương trình lọcthưrác vào dịch vụ thư điện tử. Các chương trình lọc
thư rác chủ yếu dựa vào các phươngpháphọc máy thông qua một bộ học.
Tuy nhiên dựa vào thực tế: thư điện tử là một dịch vụ online, các thư điện tử
được cập nhật thay đổi theo thời gian và có sự tương tác của người sử dụng
hòm thư với hệ thống vì vậy đề tài đã tập trung vào nghiên cứu bộ họctích
cực và áp dụngchobàitoánlọcthư rác.
7
Trên cơ sở xác định loại hình nghiên cứu của đề tài là nghiên cứu lý
thuyết vàứngdụng thực nghiệm, mục tiêu của đề tài là tìmhiểu về phương
pháp họctíchcựcvàtìm giải giải phápchobàitoánlọcthư rác, chọn mô hình
thích hợp để áp dụng vào bàitoánlọcthưrác với các tiêu chí:
- Lọcthưrác nhanh, phát hiện chính xác thưrác (spam mail).
- Tận dụng được khả năng tương tác với người sử dụng dịch vụ
mail, sự phân loại mail của người dùng để tăng thêm lượng mail đã gán nhãn
cũng như chất lượng của dữ liệu gán nhãn.
- Có khả năng thích nghi với các biến thể của thư rác, chủ động lọc
loại ra các thưrác ngày một hoạt động tinh vi hơn.
Giống như trong lĩnh vực phòng chống virus máy tính, hacker luôn tìm
cách để chống lại các chương trình diệt virus, thì trong chương trình lọcthư
rác, những người gửi thưrác luôn tìm cách để tránh được bộ lọcthưrác một
cách hữu hiệu. Vì vậy mà thưrác luôn luôn được biến đổi, cải tiến hơn do
những người gửi thư rác. Sử dụngphươngpháphọctíchcựcchobàitoánlọc
thư rác làm phong phú thêm tập lời giải chobàitoán nhận dạng các đối tượng
biến đổi.
Bộ lọcthưráctíchcực giảm chi phí và thời gian thu thập dữ liệu, bởi vì
nó được xây dựng dựa trên sự tương tác giữa bộ họcvà người dùng là nhận
dạng thưrác hay thư thường.
Với mục tiêu đã nêu ở trên luận văn chủ yếu tập trung nghiên cứu vào
phương pháphọctích cực, áp dụng được các bộ học để tìm ra lời giải chobài
toán lọcthư rác. Để kiểm tra và đánh giá kết quả, luận văn sử dụng các
chương trình thực nghiệm đã cài đặt sẵn các bộ học mà luận văn nghiên cứu,
thu thập dữ liệu thực tế, xây dựng chương trình xử lý dữ liệu thành các tri
thức để huấn luyện các bộ học thực nghiệm nhằm phát hiện ra các thưrác một
cách chính xác và đạt hiệu quả cao.
1.1.3 Các giai đoạn thực hiện đề tài
Quá trình nghiên cứu của luận văn được thực hiện qua các giai đoạn
sau:
8
Giai đoạn 1 – Nghiên cứu lý thuyết: Thu thập tài liệu, các bài viết liên
quan đến họctíchcựcvàphươngpháplọc mail. Nghiên cứu tài liệu, tìmhiểu
phương pháphọchọc máy nói chung vàphươngpháphọctíchcực nói riêng.
Tìm hiểu cụ thể vào pương pháphọctíchcực dựa vào perceptron vàhọctích
cực với SVM. Tìmhiểu một số phươngpháplọc mail, tham khảo một số mô
hình lọc mail đã được xây dựng. Trên cơ sở khoa họcvà lý thuyết đã tìmhiểu
lựa chọn phươngphápvà áp dụng trong thực tế.
Giai đoạn 2 – Xây dựng chương trình tiền xử lý dữ liệu để làm dữ liệu
cho bàitoánlọc mail. Tìmhiểuvà cài đặt các công cụ có ứngdụngchobài
toán lọc mail. Thu thập dữ liệu từ thực tế, sử dụng chương trình có sẵn, xử lý
dữ liệu và chạy thực nghiệm dữ liệu trên các công cụ đã cài đặt được. Phân
tích đánh giá và nhận xét kết quả thực nghiệm
Giai đoạn 3 – Tổng kết: Khái quát hóa và rút ra kết luận chung cho đề
tài. Viết báo cáo, công bố kết quả nghiên cứu trong đề tài.
1.2 Cấu trúc của luận văn
Luận văn gồm bốn chương: Chương 1 dẫn nhập và giới thiệu chung về
luận văn, lý do chọn đề tài, mục tiêu của đề tài và ý nghĩa của đề tài. Chương
này cũng trình bày các giai đoạn thực hiện luận văn và cấu trúc của luận văn.
Chương 2: trình bày các cơ sở lý thuyết phục vụ chobàitoánlọc mai.
Cụ thể chương 2 sẽ giới thiệu về phươngpháphọctích cực. Đưa ra mô hình
học tích cực, so sánh giữa hai mô hình họcthụ động vàhọctích cực. Từ đó
nêu ra được ưu điểm của họctíchcựcvà các miền ứng dụng.
Chương 3: sẽ trình bày về các mô hình họctích cực. Đầu tiên, Chương
3 trình bày cơ sở lý thuyết của phươngpháphọctíchcực dựa vào perceptron
sử dụng cải tiến bước cập nhật. Cuối Chương 3 trình bày về họctíchcực với
SVM, giới thiệu ba phươngpháp truy vấn trong bộ học SVM: Simple Margin,
MaxMin Margin và Ratio Margin.
Chương 4: Giới thiệu bàitoánlọcthư rác, phươngpháphọctíchcực
trong bàitoánlọcthư rác. Chương 4 sử dụngphươngpháphọctíchcực dựa
vào Perceptron và SVM active vào xây dựng mô hình chobàitoánlọcthư rác.
[...]... 2.6 Miền ứngdụng của học tíchcựcHọctíchcực được áp dụng trong rất nhiều ứngdụng khác nhau, nhưng đặc biệt gần đây người ta lại chú ý đến phương pháphọctíchcực trong lĩnh vực xử lý ngôn ngữ tự nhiên Ngoài ra họctíchcực cũng được sử dụng trong nhiều ứngdụng như: • Nhận dạng giọng nói (Hakkani-Tür et al., 2002), hiểu ngôn ngữ nói (Tur et al., 2003; 2005) • Phân tích cú pháp (Thompson và cộng... luận Trong chương này đã trình bày cơ sở lý thuyết của họctíchcực Giới thiệu họctíchcực là gì, phương pháphọctích cực, các kịch bản và các phươngpháp truy vấn Tóm lại, phương pháphọctíchcực được tóm tắt lại như sau: Đầu tiên chúng ta chọn một mô hình và độ tổn thất mô hình thích hợp với bàitoánhọc Sau đó chúng ta cũng chọn một phươngphápcho việc tính độ tổn thất mô hình tiềm năng đưa ra câu... đó sẽ cho phép bộ họctíchcực thực hiện tốt hơn bộ họcthụ động • Thành phần truy vấn Điểm khác chủ yếu giữa bộ họctíchcựcvà bộ họcthụ động là khả năng đặt câu hỏi vào câu hỏi và câu trả lời trước Khái niệm về câu hỏi và câu trả lời chính xác là gì sẽ phụ thuộc vào các bàitoán cụ thể tiếp theo Khả năng sử dụngphươngpháphọctíchcực sẽ được lựa chọn tùy vào từng trường hợp, từng bàitoán cụ... họctíchcực Có một vài kịch bản học trong một số bàitoán khác nhau, trong đó bộ học có thể đưa ra câu truy vấn Tuy nhiên có hai kịch bản chính, khá phổ biến trong các nghiên cứu vàthư ng xuyên được sử dụng trong các bàitoán áp dụngphươngpháphọctíchcực Hai kịch bản học đó là stream-based sampling và pool-based sampling 2.3.1 Stream-based sampling Trong kịch bản ‘stream-based sampling’, bộ học. .. chọn cho mỗi bộ phân lớp, các mẫu mà có độ bất đồng lớn nhất giữa các bộ phân lớp sẽ được lựa chọn và đưa ra cho người sử dụng gán nhãn 2.5 So sánh họctíchcựchọcthụ động • Bộ học Một bộ họctíchcựcthu thập thông tin bằng cách đưa ra các câu truy vấn và nhận lại các câu trả lời Sau đó nó đưa ra bộ phân lớp hoặc mô hình có thể sử dụng được chobàitoán của mình Bộ họctíchcực khác với bộ học thụ... chung cho bộ họcthụ động Dữ liệu đã gán nhãn/chưa gán nhãn Truy vấn Thế giới Phản hồi Bộ họctíchcực Dữ liệu ra Mô hình /Bộ phân lớp Hình 2.2: Lược đồ chung cho bộ học tíchcựcHọctíchcực (đôi khi còn được gọi là học truy vấn hay thiết kế thực nghiệm tối ưu trong các bàitoán thống kê) là một lĩnh vực nhỏ của học máy nói riêng và trong trí tuệ nhân tạo nói chung Giả thiết chính là nếu thuật toán học. .. và từ dữ liệu đã xếp hạng này có được lựa chọn để được gán nhãn 2.4 Các chiến lược truy vấn trong họctíchcực Các mẫu được chọn phải có rất nhiều thông tin có hiệu quả chobài 16 toán Để làm được việc lựa chọn mẫu, có một số phươngpháp truy vấn độc lập với kịch bản họctíchcực đã giới thiệu giới thiệu ở trên Trong số các phươngpháp truy vấn được sử dụng trong các ứngdụng khác nhau của phương pháp. .. nhãn vàbàitoán đặt ra là tạo ra một bộ phân lớp thực hiện tốt trên tập dữ liệu kiểm tra chưa biết Thêm vào trong phươngpháp qui nạp thông thư ng, SVMs có thể sử dụngchobàitoán transduction Đầu tiên là cho tập dữ liệu đã gán nhãn và chưa gán nhãn Bàitoánhọc là phải khai báo các nhãn tới các dữ liệu chưa gán nhãn càng chính xác càng tốt SVMs có thể thực hiện phươngpháp transduction bằng cách tìm. .. nhãn cho chúng, và cuối cùng dữ liệu vừa được gán nhãn sẽ được thêm vào tập huấn luyện ban đầu và bộ học sẽ lại được huấn luyện lại Quá trình này được lặp đi lặp lại cho đến khi chấm dứt 2.2 Phươngpháphọctíchcực Bước chính trong phươngpháphọctíchcực là định nghĩa khái niệm mô hình M và chất lượng mô hình (mô hình tổn thất, Loss(M)) Định nghĩa mô hình và chất lượng mô hình tương ứng sẽ được thay... thất tiềm năng và chúng ta lựa chọn để đưa ra câu truy vấn, câu truy vấn này sẽ đưa ra được độ tổn thất mô hình tiềm năng thấp nhất 20 CHƯƠNG III - MỘT SỐ THUẬT TOÁNHỌCTÍCHCỰC Chương này sẽ giới thiệu một số thuật toánhọctíchcực Cụ thể sẽ đi vào giới thiệu hai thuật toán phổ biến là perceptron và Active SVM 3.1 Họctíchcực dựa trên perceptron 3.1.1 Giới thiệu Một trong những phươngpháp tiếp cận . cho bài toán lọc thư rác. Đề tài Tìm hiểu
phương pháp học tích cực và ứng dụng cho bài toán lọc thư rác được tiến
hành nhằm đưa ra được phương pháp xây. toán lọc thư rác, phương pháp học tích cực
trong bài toán lọc thư rác. Chương 4 sử dụng phương pháp học tích cực dựa
vào Perceptron và SVM active vào