Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
678,84 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC - ĐỒ ÁN MÔN HỌC ĐỀ TÀI THUẬT TOÁN BAYES VÀ ỨNG DỤNG LỌC THƯ RÁC Sinh viên thực hiện: Bảo Quý Huy Lớp: 15SPT Giảng viên hướng dẫn: Trần Uyên Trang Đà Nẵng – 2018 Đồ án thuật toán Mục lục CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Phát biểu định lý Bayes Các mơ hình xác suất bayes 3.Xây dựng classifier từ mơ hình xác suất Thuật toán phân loại văn Naive Bayes classifier .7 CHƯƠNG 2: PHÁT BIỂU VẤN ĐỀ 11 Đặt vấn đề 11 Bài toán 12 Dùng luật Bayes tính xác suất 12 Huấn luyện cho lọc Bayes 14 CHƯƠNG 3: KẾT QUẢ VÀ ỨNG DỤNG 15 TÀI LIỆU THAM KHẢO 18 PHỤ LỤC 19 I DỮ LIỆU BAN ĐẦU 19 II CHẠY TẬP HUẤN LUYỆN 20 III TIẾN HÀNH KIỂM TRA MAIL SPAM 22 IV KẾT QUẢ 26 Đồ án thuật toán MỞ ĐẦU Thống kê (toán học) mơn học quan trọng có nhiều ứng dụng to lớn thực tế, giúp người rút thông tin từ liệu quan sát, nhằm giải toán thực tế sống Trong đồ án trình bày tiếp cận thống kê việc dự đoán kiện dựa vào lý thuyết Bayes Lý thuyết nói việc tính xác suất kiện dựa vào kết thống kê kiện q khứ Sau việc tính tốn kiện gán xác xuất hay điểm (tùy vào phương pháp đánh giá) ứng với khả xảy với kiện Và cuối dựa vào ngưỡng để phân loại cho kiện Sau phần lý thuyết tìm hiểu tốn thực tế ngành cơng nghệ thơng tin Bài toán việc lọc thư rác tự động Giải kết hợp từ nhiều phương án DNS Blacklist, kiểm tra người nhận, người gửi, dùng lọc Bayes, chặn địa IP, Blacklist/Whitelist, Dùng lọc Bayes phương án thông minh gần gũi với người dùng người dùng huấn luyện nhận biết thư rác Đồ án tập trung vào việc tìm hiểu lọc thư rác Bayesspam – mã nguồn mở, cài đặt cho hệ thống email có tên SquirrelMail – mã nguồn mở dùng cho hệ thống email trường đại học Kết cho thấy lọc có mức độ hoạt động hiệu khác tùy thuộc việc người dùng huấn luyện cho lọc thông qua thư điện tử mà họ cho thư rác nói chung lọc đem lại hiệu tốt Đồ án thuật toán CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Phát biểu định lý Bayes Định lý Bayes cho phép tính xác suất xảy kiện ngẫu nhiên A biết kiện liên quan B xảy Xác suất ký hiệu P(A|B), đọc "xác suất A có B" Đại lượng gọi xác suất có điều kiện hay xác suất hậu nghiệm rút từ giá trị cho B phụ thuộc vào giá trị Theo định lí Bayes, xác suất xảy A biết B phụ thuộc vào yếu tố: Xác suất xảy A riêng nó, khơng quan tâm đến B Kí hiệu P(A) đọc xác suất A Đây gọi xác suất biên duyênhay xác suất tiên nghiệm, "tiên nghiệm" theo nghĩa khơng quan tâm đến thơng tin B Xác suất xảy B riêng nó, khơng quan tâm đến A Kí hiệu P(B) đọc "xác suất B" Đại lượng gọi số chuẩn hóa (normalising constant), giống nhau, không phụ thuộc vào kiện A muốn biết Xác suất xảy B biết A xảy Kí hiệu P(B|A) đọc "xác suất B có A" Đại lượng gọi khả (likelihood) xảy B biết A xảy Chú ý không nhầm lẫn khả xảy A biết B xác suất xảy A biết B.Khi biết ba đại lượng này, xác suất A biết B cho cơng thức: Các mơ hình xác suất bayes Tóm lại, mơ hình xác suất cho classifier mơ hình có điều kiện biến lớp phụ thuộc C với số lượng nhỏ kết hay lớp học, phụ thuộc vài biến đặc trưng F1 F n Đồ án thuật toán Vấn đề số đặc trưngn lớn hay đặc trưng chiếm số lượng lớn giá trị, sau dựa vào mơ hình bảng xác suất làm Do vậy, cơng thức hóa lại mơ hình để dễ xử lý Bằng cách sử dụng định lý Bayes, có được: Trong thực hành, cần quan tâm tới tử số phân số, mà mẫu số không phụ thuộc vào C giá trị đặc trưng Fi cho, nên mẫu số thực Tử số tương đương với mơ hình xác suất viết lại sau, sử dụng định nghĩa xác suất có điều kiện: Đồ án thuật tốn Bây giả định "naive" giả định có điều kiện độc lập đưa vào: giả định đặc trưng Fi có điều kiện độc lập với tất đặc trưng Fjchoj # i Điều có nghĩa thể như: Điều có nghĩa độc lập giả định trên, điều kiện phân phối lớp học biến C thể hiện: Z nhân tố xác định tỷ xích phụ thuộc vào F1, F2, , Fn, chẳng hạn số giá trị biến đặc trưng biết Nếu có k lớp học mơ hình cho p(Fi) thể thuật ngữ r tham số, sau mơ hình naive Bayes tương ứng có (k- 1) +nrk tham số Trong thực tế, thường k = (phân loại nhị phân) r = (các biến Bernoulli đặc trưng) phổ biến, tổng số lượng tham số mơ hình naive Bayes là2n + 1,ở n số đặc trưng nhị phân sử dụng cho dự đốn 3.Xây dựng classifier từ mơ hình xác suất Các thảo luận bắt nguồn mơ hình đặc trưng độc lập, có Đồ án thuật tốn nghĩa là, mơ hình xác suất naive Bayes Naive Bayes classifier kết hợp mơ hình với luật định Là luật chung để chọn nhiều giả thuyết có khả xảy ra, điều biết đến maximum a posteriori hay luật định MAP Classifier tương ứng chức phân lớp xác định sau: Một ý giả định độc lập dẫn đến số kết khơng mong muốn tính tốn sau xác suất Trong số trường họp có phụ thuộc quan sát, xác suất kể mâu thuẫn với xác suất tiền đề thứ hai xác suất nhỏ Mặc thật áp dụng rộng rãi, giả định độc lập thường khơng xác, naive Bayes classifier có vài thuộc tính làm cho hữu ích thực hành Đặc biệt thực hành, tách riêng lớp có điều kiện phân loại đặc trưng có nghĩa phân loại ước tính độc lập phân phối chiều Toàn classifier mạnh đủ để bỏ qua thiếu sót nghiêm trọng mơ hình xác suất naive Đồ án thuật toán Thuật toán phân loại văn Naive Bayes classifier Kĩ thuật phân hoạch Naive Bayes dựa sở định lí Bayes đặc biệt phù hợp cho trường hợp phân loại có kích thước đầu vào lớn Mặc dù Naïve Bayes đơn giản có khả phân loại tốt nhiều phương pháp phân hoạch phức tạp khác Với loại văn bản, thuật tốn Naive Bayes tính cho lớp văn xác suất mà tài liệu cần phân hoạch thuộc loại Tài liệu gán cho lớp văn có xác suất cao Xác suất P (ck| di) gọi xác suất mà tài liệu di có khả thuộc vào lớp văn Ck tính tốn sau: tài liệu di gán cho loại văn có xác suất hậu nghiệm cao nên biểu diễn cơng thức: N tổng số tài liệu Tóm lại phân loại văn sử dụng thuật tốn Naive Bayes diễn đạt cách ngắn gọn sau: Với văn D (document), người ta tính cho loại xác suất mà tài liệu D thuộc vào lớp tài liệu việc sử dụng luật Bayes: Đồ án thuật tốn Trong đó: D tài liệu cần phân loại, Ci tài liệu Theo giả định Naive Bayes xác suất từ tài liệu D độc lập với ngữ cảnh xuất từ đồng thời độc lập với vị trí từ tài liệu Xác suất P(D |Cj) tính tốn từ tần suất xuất từ đơn wi (word) tài liệu D tổng số từ w tài liệu D: Như biểu thức (1) viết lại sau: Giá trị lớn xác suất P(Cj | D ) đưa nguời làm công tác phân loại Giá trị gọi ngưỡng hay ranh rới lớp văn mà chúng chứa tài liệu D Ví dụ: Phân loại thư điện tử Naive Bayes classifier Đây ví dụ làm việc naive Bayesian để phân loại tài liệu phân loại vấn đề Xem xét vấn đề phân loại tài liệu theo nội dung họ, ví dụ vào thư rác thư rác thư điện tô Hãy tưởng tượng tài Đồ án thuật tốn liệu lấy tò số lớp học tài liệu làm mơ từ mà xác suất từ thứ i tài liệu xảy tài liệu từ lớp c viết như: Xử lý đơn giản ý tưởng, cách giả sử xác suất tò tài liệu độc lập với chiều dài tài liệu tất tài liệu chiều dài Sau đó, xác suất tài liệu D, cho lớp học c, Câu hỏi mà mong muốn có câu trả lời là: "xác suất để tài liệu D thuộc lớp học C?" Nói cách khác, P ( C | D ) ? Bây giờ, theo định nghĩa: Nên có: 10 Đồ án thuật tốn ngưỡng, thư bị đánh dấu thư rác, ngược lại không bị đánh dấu thư rác Huấn luyện cho lọc Bayes Sử dụng hai tập thư điện tà huấn luyện, tập thư rác tập lại khơng phải thư rác Mỗi tập chứa khoảng 4000 thư Đem số lần xuất thẻ tập thư điện tử Mỗi lần đếm kết thúc với hai bảng băm Mỗi bảng băm tương ứng với tập thư điện tử, bảng ánh xạ thẻ đến số lần xuất thẻ Tiếp theo tạo bảng băm thứ 3, bảng băm ánh xạ thẻ tới xác suất mà email chứa email spam Ta tính theo cơng thức sau Trong đó: N good ứng với số thư thư rác N bad ứng với số thư thư rác Công thức diễn tả theo biểu thức ngôn ngữ Arc Mỗi biểu thức cặp dấu ngoặc đơn Trong ngoặc danh sách với biểu thức đứng vị trí theo sau tham số Thực biểu thức từ trái qua phải Ví dụ: (< (+ g b) 5) tương đương với (g + b) < Công thức tính xác suất cho từ hay thẻ (word) sau: Thẻ lấy từ bảng good, bảng băm thẻ tập thư thư rác nhân đôi lên Nhân đôi lên để giảm độ chênh lệch xác suất thư rác khơng phải thư rác, tăng độ xác việc phân loại Tiếp theo thẻ ta lấy từ bảng bad, bảng băm thẻ tập thư rác Như yậy ta có số g ứng với lần suất thẻ tập thư thư rác b ứng với số lần xuất thẻ trong tập 15 Đồ án thuật toán thư rác Neu tổng g b nhỏ thẻ bị loại bỏ Xác suất tính nằm khoảng giá trị từ 01 đến 99 Xét cho việc tính tốn tương ứng với cơng thức tính xác suất dạng luật Bayes đơn giản sau: Như kết trình huấn luyện bảng băm hay nói khác sở liệu rút từ tập thư huấn luyện Bảng băm ánh xạ thẻ đến giá trị xác xuất chúng Bảng băm sở định cho việc tính tốn xác suất thư điện tử thư rác CHƯƠNG 3: KẾT QUẢ VÀ ỨNG DỤNG - Như nói từ đầu tốn học thống kê đóng vai trò quan trọng trọng lĩnh vực Thống kê giúp cho việc nắm bắt đánh giá tình hình trở lên trực quan dễ hiểu Xử lý ứng dụng liệu thống kê đem lại hiệu lớn lao việc tiên đốn từ xây dựng lên hệ tự động hóa hoạt động xác Hướng tiếp cận thống kê theo lý thuyết Bayes đơn giản đem lại hiệu cao mà ứng dụng phổ biến hầu hết lĩnh vực - So với phương pháp khác, phương pháp thống kê Bayes lập luận theo kinh nghiệm tích lũy áp dụng vào mơ hình phân loại đối tượng linh hoạt hơn, phù hợp với đặc trưng toán Các chế ước lượng gần gũi với cách suy luận thơng thường mà kết phân loại tương đối giống với cách phân loại thông thường - Các kết đạt là: - Đồ án tập trung nghiên cứu lý thuyết Bayes, từ bước sở tìm hiểu tiếp ứng dụng liên quan trực tiếp đến ngành cơng nghệ thơng tin ứng dụng lọc thư rác Quá trình tìm hiểu nguyên lý cách thức hoạt động củabộ lọc rút kết luận ưu nhược điểm tiếp cận thống kê Bayes việc phân loại thư rác Đối với vấn đề ứng dụng thực tế, khoá luận sử dụng plugin BayesSpam đối tượng để tìm hiểu nghiên cứu Đối với vấn đềáp dụng lý thuyết Bayes, khố luận nghiên cứu xây dựng cơng thức tính xác suất cho việc xử lý thơng tin trở lên nhanh gọn có độ xác cao - Từ việc tìm hiểuứng dụng BayesSpam, khố luận rút số nhận định 16 Đồ án thuật toán ưu điểm nhược điểm lọc trình hoạt động Kết phân loại thư rác nhìn chung gần giống với kết đánh giá thư người dùng - Tuy nhiên, thời gian có hạn kiến thức chuyên môn hệ thống thư điện tử nên kết luận rút trình nghiên cứu nhiều hạn chế Dưới ưu nhược điểm lọc thư rác Bayes - Những ưu điểm chính: Ưu điểm lọc thư rác Bayes huấn luyện người dùng sở Đây thể nói ưu điểm lớn nhất, tạo nét đặc trưng cách nhìn nhận thư rác người dùng Các thư rác mà người dùng nhận thường liên quan tới hoạt động trực tuyến người dùng Ví dụ, người sử dụng đăng ký vào tin trực tuyến mà người sử dụng xem xét thư rác Đang xem thơng tin chứa từ ngữ phổ biến cho tất tin, chẳng hạn tên tin nguồn gốc địa email Bộ lọc thư rác Bayesian định xác suất cao dựa cách nhìn nhận người sử dụng Thư điện thử hợp pháp nhận nhìn nhận theo xu hướng khác người Ví dụ, mơi trường cơng ty, tên cơng ty bạn tên khách hàng đề cập thường xuyên Các lọc định thư rác xác suất thấp cho email có chứa tên Xác suất từ người dùng lớn dần theo thời gian huấn luyện, với hiệu chỉnh việc huấn luyện có thư lọc sai Kết là, lọc thư rác Bayesian tăng độ xác đào tạo thường xuyên theo quy tắc xác định trước - Những nhược điểm chính: Một kỹ thuật sử dụng Spammer nhằm cố gắng để giảm tính hiệu lọc thư rác dựa vào nguyên tắc hoạt động Kĩ thuật chèn từ mà khơng phải bình thường liên kết với nội dung spamvới số lượng lớn văn bảnhợp pháp(thu thập từ nguồn tin tức hợp pháp hay văn chương).Do giảm giá trị xác suất kết hợp thư điện tử thư rác, làm cho có nhiều khả vượt qua lọc thư rác Bayes Một kỹ thuật khác sử dụng để che mắt lọc thư rác Bayes thay văn hình ảnh, trực tiếp đặt liên kết chứa nội dung spam đến hình ảnh Toàn nội dung tin nhắn, số phần nó, thay hình ảnh có nội dung trình bày lơi 17 Đồ án thuật toán người xem Bộ lọc thư rác thường khơng thể phân tích hình ảnh này, mà chứa từ nhạy cảm "khiêu dâm" Tuy nhiên, nhiều hệ thống thư điên tử vơ hiệu hố hình hiển thị liên kết hình ảnh lý bảo mật, spammer lại gửi liên kết đến hình ảnh xa tiếp cận với mục tiêu spam Ngồi ra, hình ảnh có kích thước lớn kích thước tương đương văn Do đó, spammer cần nhiều nhu cầu băng thông để gửi tin nhắn trực tiếp bao gồm hình ảnh - Do vậy, sau bước tìm hiểu lý thuyết ứng dụng hướng nghiên cứu tiếp đề tài nhằm tăng hiệu lọc là: Tìm nhìn chung thư rác người dùng thư hệ thống thư điện tử Bằng cách rút email có xác suất thư rác cao để bổ xung vào tập huấn luyện chung cho tất ngườinhằm gia tăng kinh nghiệm cho lọc Ngăn chặn việc Spam hình ảnh việc đưa thơng báo thư rác có nội dung chủ yếu đồ họa Đơn giản khơng cho hiển thị hình ảnh người dùng duyệt thư trừ họ có nhu cầu xem hình ảnh tự họ bật hiển thị Tích hợp phân tích hình ảnh để lấy văn hình nhằm giảm việc lọc sai loại bỏ tất thư có nội dung chủ yếu đồ họa Việc đòi hỏi hệ thống phải mạnh thuật tốn phân tích hình ảnh thơng minh Bổ xung thêm vào tập từ trung tính tiếng Việt cho lọc nhằm tăng tốc tiết kiệm tài nguyên cho sở liệu Ví dụ từ trung tính tiếng việt ứng với từ trung tính tiếng Anh như: thì, là, ở, cái, con, và, hoặc, 18 Đồ án thuật toán TÀI LIỆU THAM KHẢO Nguyễn Quốc Đại, Lý thuyết Bayes, mạng Bayes Nguyễn Thanh Sơn, Lê Khánh Thuận; Lý thuyết xác suất thống kê toán; NXB Thống kê Azam N, Dar H A, Marwat S; Comparative study on Feature Space Reduction for Spam Detection Wikipedia ;Bayesian Spam Filtering Xem địa http://en.wikipedia.org/wiki/Bayesian_spam_filtering Wikipedia ;Sequential Bayesian Filtering Xem địa http://en.wikipedia.org/wiki/Sequential_bayesian_filtering Nguyễn Văn Huy Xem địa http://luanvan.co/luan-van/luan-van-thuattoan-bayes-va-ung-dung-39446/ 19 Đồ án thuật toán PHỤ LỤC I DỮ LIỆU BAN ĐẦU - Ban đầu chuẩn bị tập huấn luyện gồm 10 file text đánh dấu spam 10 file text đánh dấu khơng spam (nếu bạn có nhiều file tốt) Tỉ lệ 50:50 tức nhận email tới khả spam 50% - Sau lần kiểm tra có phải email spam khơng ta lại thêm vào tập huấn luyện tỉ lệ khác dần Ví dụ nhận 10 email spam tỉ lệ spam/non-spam khoảng 30:70 email có khả spam 30% 20 Đồ án thuật toán 21 Đồ án thuật tốn II CHẠY TẬP HUẤN LUYỆN - Mình duyệt file spam tách thành túi từ (mỗi túi từ Set từ phân biệt nhau) Sau duyệt xong 10 file ta List gồm 10 túi từ spam Tương tự duyệt tác file non-spam ta list gồm 10 túi từ nonspam - Sau tách List túi từ ta ghi vào file result_training.dat để lúc thực kiểm tra mail spam việc đọc từ file không cần chạy huấn luyên 22 Đồ án thuật toán 23 Đồ án thuật toán 24 Đồ án thuật toán III TIẾN HÀNH KIỂM TRA MAIL SPAM - Mình tách mail cần kiểm tra thành túi từ - Áp dụng phương pháp phân loại bayes đơn giản, ta tính tỉ lệ từ túi từ có List túi từ spam non-spam sau lấy tích chúng nhân với tỉ lệ spam:non-spam so sánh kết Ví dụ: mail cần kiểm tra có 100 từ, tỉ lệ từ List túi từ spam nhân với A; tỉ lệ từ túi từ non-spam B Tỉ lệ spam:non-spam X:Y (ban đầu 50:50 số thay đổi sau lần thêm mail kiểm tra vào tập huấn luyện) - Để biết mail có phải spam hay khơng ta so sánh A.X với B.Y Nếu A.X > B.Y mail spam ta thêm túi từ vào List túi từ spam ngược lại mail non-spam, ta thêm túi từ vào List túi từ non-spam lưu lại 25 Đồ án thuật toán 26 Đồ án thuật toán 27 Đồ án thuật toán 28 Đồ án thuật toán IV KẾT QUẢ 29 ... luật Bayes: Trong đó: Pr(S W) xác suất mà thư mà chứa từ ‘promotion ’là thư rác Pr(S) xác suất mà thư thư rác 13 Đồ án thuật toán P(W S) xác suất mà từ "promotion" xuất thư rác Pr(H)... Kết p thư ng dùng so sánh với ngưỡng để định thư xét có xác suất p có thư rác hay khơng Neu p lớn giá trị 14 Đồ án thuật toán ngưỡng, thư bị đánh dấu thư rác, ngược lại không bị đánh dấu thư rác. .. huấn luyên 22 Đồ án thuật toán 23 Đồ án thuật toán 24 Đồ án thuật toán III TIẾN HÀNH KIỂM TRA MAIL SPAM - Mình tách mail cần kiểm tra thành túi từ - Áp dụng phương pháp phân loại bayes đơn giản,