1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án Thuật toán Bayes và ứng dụng lọc thư rác ( khoa CNTT)

29 1,6K 39
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Điều này có nghĩa làdo đó có thể được thể hiện như: Điều này có nghĩa là dưới sự độc lập giả định ở trên, các điều kiện phân phối trên các lớp học biến C có thể được thể hiện: ở đây Z là

Trang 2

ục lục

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4

1 Phát biểu định lý Bayes 4

2 Các mô hình xác suất bayes 4

3.Xây dựng một classifier từ mô hình xác suất 6

4 Thuật toán phân loại văn bản Naive Bayes classifier 7

CHƯƠNG 2: PHÁT BIỂU VẤN ĐỀ 11

1 Đặt vấn đề 11

2 Bài toán 12

3 Dùng luật Bayes tính xác suất 12

4 Huấn luyện cho bộ 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

Trang 3

MỞ ĐẦU

Thống kê (toán học) là bộ môn học rất quan trọng và có nhiều ứng dụng to lớn trong thực tế, giúp con người rút ra thông tin từ dữ liệu quan sát, nhằm giải quyết các bài toán thực tế trong cuộc sống

Trong đồ án này trình bày về một tiếp cận thống kê trong việc dự đoán sự kiện dựa vào lý thuyết Bayes Lý thuyết này nói về việc tính xác suất của sự kiện dựa vào các kết quả thống kê các sự kiện trong quá khứ Sau việc tính toán mỗi sự kiện được gán xác xuất hay điểm (tùy vào mỗi phương pháp đánh giá) ứng với khả năng

có thể xảy ra với sự kiện đó Và cuối cùng dựa vào ngưỡng để phân loại cho các sựkiện

Sau phần lý thuyết chúng ta sẽ tìm hiểu về bài toán thực tế trong ngành công nghệ thông tin Bài toán về việc lọc thư rác tự động Giải quyết bài này là sự kết hợp từ rất nhiều phương án như DNS Blacklist, kiểm tra người nhận, người gửi, dùng bộ lọc Bayes, chặn địa chỉ IP, Blacklist/Whitelist, Dùng bộ lọc Bayes là phương án thông minh nó gần gũi với người dùng bởi chính người dùng đã huấn luyện nó nhận biết thư rác Đồ án này tập trung vào việc tìm hiểu bộ lọc thư rác Bayesspam – mã nguồn mở, cài đặt cho hệ thống email có tên là SquirrelMail – mãnguồn mở đang được dùng cho hệ thống email của các trường đại học Kết quả chothấy bộ lọc có mức độ hoạt động hiệu quả là khác nhau tùy thuộc việc người dùng huấn luyện cho bộ lọc thông qua các thư điện tử mà họ cho là thư rác nhưng nói chung bộ lọc đã đem lại hiệu quả khá tốt

Trang 4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1 Phát biểu định lý Bayes

Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết

sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất của A nếu có B" Đại lượng này được gọi xác suất có điều kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó

Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếu tố:

Xác suất xảy ra A của riêng nó, không quan tâm đến B Kí hiệu là P(A) và đọc là xác suất của A Đây được gọi là xác suất biên duyênhay xác suất tiên nghiệm, nó là

"tiên nghiệm" theo nghĩa rằng nó không quan tâm đến bất kỳ thông tin nào về B.Xác suất xảy ra B của riêng nó, không quan tâm đến A Kí hiệu là P(B) và đọc là

"xác suất của B" Đại lượng này còn gọi là hằng số chuẩn hóa (normalising

constant), vì nó luôn giống nhau, không phụ thuộc vào sự kiện A đang muốn biết.Xác suất xảy ra B khi biết A xảy ra Kí hiệu là P(B|A) và đọc là "xác suất của B nếu có A" Đại lượng này gọi là khả năng (likelihood) xảy ra B khi biết A đã xảy

ra Chú ý không nhầm lẫn giữa khả năng xảy ra A khi biết B và xác suất xảy ra A khi biết B.Khi biết ba đại lượng này, xác suất của A khi biết B cho bởi công thức:

2 Các mô hình xác suất bayes

Tóm lại, các mô hình xác suất cho một classifier là một mô hình có điều kiện đối với một biến lớp phụ thuộc C với một số lượng nhỏ của các kết quả hay các lớp học, phụ thuộc vài biến đặc trưng F1 cho tới F n

Trang 5

Vấn đề là nếu số các đặc trưngn là lớn hay khi một đặc trưng có thể chiếm một số lượng lớn các giá trị, sau đó dựa vào một mô hình trên các bảng xác suất là không thể làm được Do vậy, chúng ta công thức hóa lại các mô hình để dễ xử lý.

Bằng cách sử dụng định lý Bayes, có được:

Trong thực hành, chỉ cần quan tâm tới tử số của phân số, khi mà mẫu số không phụthuộc vào C và các giá trị của các đặc trưng của Fi đã cho, nên mẫu số là hằng thựcsự

Tử số tương đương với mô hình xác suất có thể được viết lại như sau, sử dụng địnhnghĩa của xác suất có điều kiện:

Trang 6

Bây giờ giả định "naive" giả định có điều kiện độc lập đưa vào: giả định rằng mỗi đặc trưng Fi có điều kiện độc lập với tất cả các đặc trưng Fjchoj # i Điều này có nghĩa là

do đó có thể được thể hiện như:

Điều này có nghĩa là dưới sự độc lập giả định ở trên, các điều kiện phân phối trên các lớp học biến C có thể được thể hiện:

ở đây Z là một nhân tố xác định tỷ xích phụ thuộc vào F1, F2, , Fn, chẳng hạn một hằng số nếu các giá trị của các biến đặc trưng đều được biết

Nếu có k lớp học và nếu một mô hình cho p(Fi) có thể được thể hiện trong các thuật ngữ của r tham số, sau đó các mô hình naive Bayes tương ứng có (k- 1) +nrk tham số Trong thực tế, thường k = 2 (phân loại nhị phân) và r = 1 (các biến

Bernoulli như là các đặc trưng) được phổ biến, và như vậy tổng số lượng các tham

số của mô hình naive Bayes là2n + 1,ở đây n là số các đặc trưng nhị phân sử dụng cho các dự đoán

3.Xây dựng một classifier từ mô hình xác suất

Các thảo luận cho đến nay đã bắt nguồn những mô hình đặc trưng độc lập, có

Trang 7

nghĩa là, mô hình xác suất naive Bayes Naive Bayes classifier kết hợp mô hình này

với một luật quyết định Là một luật chung để chọn nhiều nhất các giả thuyết có khả

năng xảy ra, điều này được biết đến như là maximum a posteriori hay luật quyết

định

MAP Classifier tương ứng là chức năng phân lớp được xác định như sau:

Một chú ý rằng giả định độc lập có thể dẫn đến một số kết quả không mong

muốn trong tính toán sau xác suất Trong một số trường họp khi có một phụ thuộc giữa

sự quan sát, xác suất kể trên có thể mâu thuẫn với xác suất tiền đề thứ hai do mọi xác

suất luôn nhỏ hơn hoặc bằng một

Mặc dù rằng sự thật có thể áp dụng rộng rãi, giả định độc lập thường không chính xác, các naive Bayes classifier có vài thuộc tính làm cho nó hữu ích trong thựchành Đặc biệt thực hành, sự tách riêng của lớp có điều kiện phân loại đặc trưng cónghĩa là mỗi phân loại có thể được ước tính độc lập như là một phân phối một chiều

Toàn bộ classifier là mạnh đủ để bỏ qua các thiếu sót nghiêm trọng của nó trongnhững mô hình xác suất naive

Trang 8

4 Thuật tốn phân loại văn bản Naive Bayes classifier

Kĩ thuật phân hoạch của Naive Bayes dựa trên cơ sở định lí Bayes và đặc biệt phù hợp cho các trường hợp phân loại cĩ kích thước đầu vào là lớn Mặc dù Nạve Bayes khá đơn giản nhưng nĩ cĩ khả năng phân loại tốt hơn rất nhiều phương phápphân hoạch phức tạp khác Với mỗi loại văn bản, thuật tốn Naive Bayes tính cho mỗi

lớp văn bản một xác suất mà tài liệu cần phân hoạch cĩ thể thuộc loại đĩ Tài liệu đĩ

sẽ được gán cho lớp văn bản nào cĩ xác suất cao nhất

Xác suất P (ck| di) gọi là xác suất mà tài liệu di cĩ khả năng thuộc vào lớp văn

bản Ck được tính tốn như sau:

tài liệu di sẽ được gán cho loại văn bản nào cĩ xác suất hậu nghiệm cao nhất

nên được biểu diễn bằng cơng thức:

trong đĩ N là tổng số tài liệu

Tĩm lại phân loại văn bản sử dụng thuật tốn Naive Bayes cĩ thể diễn đạt một cách ngắn gọn như sau:

Với mỗi văn bản D (document), người ta sẽ tính cho mỗi loại một xác

suất mà tài liệu D cĩ thể thuộc vào lớp tài liệu đĩ bằng việc sử dụng luật Bayes:

Trang 9

Trong đó: D là tài liệu cần phân loại, Ci là một tài liệu bất kì Theo giả định

của Naive Bayes xác suất của mỗi từ trong tài liệu D là độc lập với ngữ cảnh xuất hiện

các từ đồng thời cũng độc lập với vị trí của các từ trong tài liệu Xác suất P(D |Cj)được tính toán từ tần suất xuất hiện của các từ đơn wi (word) trong tài liệu D

1 là tổng số từ w trong tài liệu D:

Như vậy biểu thức (1) có thể được viết lại như sau:

Giá trị lớn nhất của xác suất P(Cj | D ) được đưa ra bởi nguời làm công tác phân loại Giá trị này được gọi là ngưỡng hay ranh rới giữa các lớp văn bản mà chúng cóthể chứa tài liệu D

Ví dụ: Phân loại thư điện tử bằng Naive Bayes classifier

Đây là một ví dụ về làm việc naive Bayesian để phân loại các tài liệu phân loạivấn đề Xem xét các vấn đề của phân loại các tài liệu theo nội dung của họ, ví dụ vào

thư rác và không phải là thư rác trong các thư điện tô Hãy tưởng tượng rằng các tài

Trang 10

liệu được lấy ra tò một số lớp học của các tài liệu có thể làm mô hình như là bộ cáctừ

mà ở đây xác suất từ thứ i của một tài liệu xảy ra trong một tài liệu từ lớp c có thể

được viết như:

Xử lý như vậy đã đơn giản các ý tưởng, hơn nữa bằng cách giả sử rằng xác suấtcủa một tò trong một tài liệu là độc lập với chiều dài của một tài liệu hoặc tất cả các tài

liệu cùng một chiều dài

Sau đó, xác suất của một tài liệu D, cho một lớp học c, là

Câu hỏi mà mong muốn có câu trả lời là: "xác suất nào để một tài liệu D thuộc

về một lớp học C?" Nói cách khác, P ( C | D ) ?

Bây giờ, theo định nghĩa:

Nên có:

Trang 11

Giả định rằng thời điểm chỉ có hai lớp học, s và s (ví dụ như thư rác và

không phải là thư rác)

Bằng cách sử dụng các kết quả Bayesian trên, có thể viết:

Do đó:

Vì vậy có thể viết:

Và như vậy

Trang 12

Cuối cùng, các tài liệu có thể được phân loại như sau:

khoảng cách về địa lý nữa thì sẽ có rất nhiều người phải chịu sự bực tức, cảnh nhàm

chán gây ức chế tâm lý và cực kỳ mất thời gian vào nó

- Phần lớn các thư không mời mà đến, các thư chào hàng quảng cáo bị cho là thư rác theo nhận xét của số đông người dùng thư điện tử Đây là vấn đề nan giải mà các hệ thống, hòm mail, các nhà quản trị mạng đang phải đối mặt trong thời điểm hiện nay khi mà xã hội thông tin ngày càng phát triển với tốc độ chóng mặt Đe lọc

và phát hiện thư rác, cần có giải pháp lâu dài như các biện pháp kĩ thuật, quy ước

xã hội và có thể dùng đến pháp luật Nhưng khi các giải pháp này được thi hành thìchỉ trong một khoảng thời gian ngắn chúng đã bị phá vỡ bởi các spammer, nguyên nhân chính là họ luôn nghĩ ra những cái bẫy đánh lừa người dùng hay lách luật mà các tổ chức chống thư rác quy ước

- Như vậy giải pháp ngăn chặn thư rác nào hiệu quả và dùng được lâu dài? Mộtphương pháp tốt nhất đó là để chính người dùng thư điện tô ngăn chặn thư rác, bởi họ

Trang 13

hiểu vấn đề một cách tường minh nhất Chúng ta sẽ dùng cảm nhận về thư rác của mỗi người để huấn luyện cho các bộ lọc thư rác của chính họ Mỗi bộ lọc sẽ xử lý thư rác tùy theo phong cách của từng người dùng thư điện tử Và mô hình thống kêBayes được áp dụng để thực thi ý tưởng này Từ những đặc điểm trên, ta thấy rằng việc xây dựng được một bộ lọc thư rác thông minh có thể loại bỏ một cách chính xác hiện nay là một nhiệm vụ còn nhiều thách thức.

2 Bài toán

- Thư điện tử là một trong những phương tiện để giao tiếp đáng tin cậy và hầunhư không tốn kém chi phí sử dụng Phạm vi sử dụng của nó rộng khắp trên toàn thế

giới và có thể dễ dàng truy cập bằng hầu hết các phương tiện truyền thông đã biến nó

thành nạn nhân của những kẻ spam Hậu quả đơn giản nhất là làm tốn băng thôngmạng và nghiêm trọng hơn là làm mất thời gian của người dùng thư điện tử, làm lan

truyền vi rút máy tính Có thời điểm người ta thống kê được rằng có đến 60% thư điện tà là thư rác và mỗi ngày một người dung thư điện tử phải nhận ít nhất là 6 cú spam

- Chúng ta không thể đổi địa chỉ hòm thư mỗi lần bị spam bởi điều này không những không hạn chế được thư rác mà có khi còn làm cho nó gia tăng Vậy cần phải tìm ra một giải pháp chống thư rác sử dụng bộ lọc được gắn thuật toán phân loại với tính năng hiệu quả và kĩ thuật đơn giản dễ cài đặt Và một yêu cầu không thể thiếu là

có làm sao với thuật toán đó những kẻ spam hiểu rằng việc chúng cố tình spam là vô

dụng

3 Dùng luật Bayes tính xác suất

Tính xác suất cho mỗi thẻ ta dùng luật Bayes để tính Giả sử ta cần tính xác

suất cho thẻ chứa tò ‘promotion ’.Từ này chúng ta thường xuyên gặp trong thư điện

tử mời chào dịch vụ maketing Công thức tính theo luật Bayes:

Trong đó:

Trang 14

P(W \S) là xác suất mà từ "promotion" xuất hiện trong thư rác

Pr(H) là xác suất mà một bản tin bất ki không là thư rác

P(W \H) là xác suất mà từ "promotion" xuất hiện trong thư rác

Như đã nói ở trên, những thống kê gần đây cho thấy 80% thư điện tử là thư rácnên ta sẽ có:

Tuy nhiên để cho đơn giản và đã qua thực tế nên người ta chọn các xác suất

trước là giống nhau và đều có giá trị bằng 0.5 Tức là:

Bộ lọc mà dùng giả thiết này được gọi là "không đổi xứng", có nghĩa rằng chúng

không có sự đối xử phân biệt các thư đến Giả thiết này cho phép rút gọn côngthức ở trên thành:

Bộ lọc thư rác Bayesspam vận dụng chính xác công thức trên để tính xác suấtcho mỗi từ đơn

Sau khi đã tính được xác suất thư chứa từ đơn là thư rác ta cần kết hợp các xác suấtđơn đó lại thành một xác suất cuối cùng Xác suất này dùng để đánh giá thư mà chứa tất cả các từ đơn đó có xác suất là thư rác là bao nhiêu Công thức tính xác suất

kết hợp là:

Trong đó:

p là xác suất thư đang xét là thư rác

pl là xác suấtp(S\ W1), ứng với từ đầu tiên (ví dụ từ "promotion")

p2 là xác suấtp(S\ W2) , ứng với từ thứ hai (ví dụ tò "offer")

pN là xác suất p(S|W N), ứng với từ thứ N (ví dụ tò "home")

Kết quả p thường được dùng so sánh với một ngưỡng nào đó để quyết định

thư đang xét có xác suất p đó có là thư rác hay không Neu p lớn hơn giá trị

Trang 15

thư đó sẽ bị đánh dấu là thư rác, ngược lại sẽ không bị đánh dấu là thư rác

4 Huấn luyện cho bộ lọc Bayes

Sử dụng hai tập thư điện tà huấn luyện, một tập là thư rác và tập còn lại khôngphải là thư rác Mỗi tập chứa khoảng 4000 thư Đem số lần xuất hiện của mỗi thẻ

trong mỗi 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 mỗi tập thư điện tử, bảng này là ánh xạ các thẻ đến số lần xuất hiện của thẻ đó

Tiếp theo chúng ta tạo ra bảng băm thứ 3, bảng băm này ánh xạ mỗi thẻ tới

xác suất mà một email chứa nó là email spam Ta tính theo công thức sau đây

Trong đó:

N good ứng với số thư không phải là thư rác.

N bad ứng với số thư là thư rác.

Công thức trên được diễn tả theo các biểu thức của ngôn ngữ Arc Mỗi biểu

thức là một cặp dấu ngoặc đơn Trong ngoặc là một danh sách với biểu thức đứng ở

vị trí đầu tiên theo sau là các tham số Thực hiện biểu thức từ trái qua phải

Ví dụ:

(< (+ g b) 5) tương đương với (g + b) < 5

Công thức này sẽ tính xác suất cho một từ hay thẻ (word) như sau: Thẻ được

lấy từ trong bảng good, là bảng băm các thẻ của tập thư không phải là thư rác và

Trang 16

thư rác Neu như tổng g và b nhỏ hơn 5 thì thẻ sẽ bị loại bỏ Xác suất tính được sẽ

nằm trong khoảng giá trị từ 01 đến 99 Xét cho cùng thì việc tính toán ở trên tương

ứng với công thức tính xác suất ở dạng luật Bayes đơn giản như sau:

Như vậy kết quả của quá trình huấn luyện là một bảng băm hay nói khác hơn làmột cơ sở dữ liệu rút ra từ tập thư huấn luyện Bảng băm này là ánh xạ của các thẻ đến các giá trị xác xuất của chúng Bảng băm này là cơ sở quyết định cho việc tính toán xác suất của một lá thư điện tử là thư rác

- So với các phương pháp khác, phương pháp thống kê Bayes lập luận theo kinh nghiệm được 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 của bài toán hơn Các cơ chế ước lượng cũng gần gũi với cách suy luận thông thường chính vì vậy mà các kết quả 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 quả đã đạt được là:

- Đồ án đã tập trung nghiên cứu về lý thuyết Bayes, từ bước cơ sở đó tìm hiểu tiếp

về một ứng dụng của nó liên quan trực tiếp đến ngành công nghệ thông tin đó là ứng dụng lọc thư rác Quá trình tìm hiểu về nguyên lý và cách thức hoạt động củabộ lọc đã rút ra được những kết luận về ưu nhược điểm của tiếp cận thống kê Bayes trong 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 như một đối tượng chính để tìm hiểu và nghiên cứu Đối với vấn đềáp dụng lý thuyết Bayes, khoá luận nghiên cứu xây dựng các công thức tính xác suất sao cho việc xử lý thông tin trở lên nhanh gọn và có độ chính xác cao

- Từ việc tìm hiểuứng dụng BayesSpam, khoá luận đã rút ra được một số nhận định

Ngày đăng: 30/06/2018, 09:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w