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

Ứng dụng phân loại thư rác dùng NavieBayesClassifier

20 701 7

Đ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 20
Dung lượng 0,97 MB

Nội dung

Trong đĩ, phương pháp phân loại Nạve Bayes là một phương pháp được ứng dụng để lọc thư rác dựa theo nội dung thư và đã đạt được hiệu quả rất cao.. Đồn Thanh Nghị trong học phần Máy học,

Trang 1

TIỂU LUẬN MƠN HỌC

MÁY HỌC

TÌM HIỂU NẠVE BAYES CLASSIFIER VÀ ỨNG DỤNG TRONG PHÂN LOẠI

THƯ RÁC

Giảng viên:

TS Đồn Thanh Nghị

Nhĩm thực hiện:

Võ Thị Hằng Nguyễn Thị Bích Tuyền Nguyễn Văn Vũ

An Giang, Năm 2014

Trang 2

Mục lục

I Tìm hiểu thư rác và một số phương pháp lọc thư rác 3

1 Định nghĩa thư rác: 3

2 Phân loại thư rác: 3

3 Các phương pháp lọc thư rác: 3

II Nạve Bayes classifier 5

1 Định lý Bayes 5

2 Nạve Bayes classifier 6

III Ứng dụng trong bài tốn phân loại thư rác 11

1 Biễu diễn bài tốn 11

2 Các bước của thuật tốn trong phân loại thư rác 11

3 Minh họa bằng ví dụ 12

IV Cài đặt đoạn code 15

1 Các hàm chính 15

2 Các bước hực hiện huấn luyện và phân loại bằng đoạn code 16

3 Các file đươc tạo ra bởi đoạn code 16

V Kết luận và hướng phát triển 18

Trang 3

LỜI NĨI ĐẦU

Trong thời kỳ phát triển như hiện nay thì cơng nghệ internet đĩng vai trị hết sức quan trong cho sự thúc đẩy phát triển kinh tế, xã hội của tất cả các nước trên thế giới Cơng nghệ Internet đã mang lại sự tiện dụng trong việc trao đổi thơng tin giữa con người

và con người trên tồn cầu Sự ra đời của thư điện tử (Electronic Mail – Email) tại viện Cơng nghệ Massachusetts vào năm 1965 đánh dấu sự ra đời của một trong những khái niệm quan trọng nhất của tương lai Trải qua 40 năm tồn tại và phát triển, Email đã cĩ nhiều bước thăng trầm, để trở thành cơng cụ giao tiếp phổ biến và rộng rãi nhất thế giới ngày nay Nhưng mặt trái của nĩ chính là mơi trường thư rác (Spam) cũng phát triển mạnh… Nĩ là một gánh nặng cho các server mail, làm giảm tốc độ đường truyền internet, gây phiền tối cho tất cả những người nhận được nĩ, hay các thư mang nội dung với mục đích tấn cơng ăn cắp thơng tin hoặc phá hoại gây thiệt hại cho người dùng, gây thiệt hại rất lớn về mặt kinh tế

Sự hiện diện của Spam làm giảm sự tin tưởng của người dùng vào hệ thống mạng

Do đĩ, chống thư rác hiện nay là mối quan tâm lớn của các nước, các tổ chức trên thế giới nhằm đảm bảo an tồn, an ninh thơng tin Các nhà nghiên cứu đã đưa ra một số phương pháp khác nhau để hổ trợ cho việc ngăn chặn và lọc thư rác Trong đĩ, phương pháp phân loại Nạve Bayes là một phương pháp được ứng dụng để lọc thư rác dựa theo nội dung thư và đã đạt được hiệu quả rất cao

Từ đĩ, dưới sự hướng dẫn tận tình của Thầy TS Đồn Thanh Nghị trong học phần Máy học, sau khi kết thúc học phần, với một lượng kiến thức nhất định, nhĩm chúng tơi chọn chủ đề “Tìm hiểu Nạve Bayes classifier và ứng dụng trong phân loại thư rác” nhằm mục đích tìm hiểu rõ hơn về phương pháp phân loại Nạve Bayes và cách

mà bộ phân loại Nạve Bayes học và thực hiện phân loại thư rác như thế nào, kết hợp cài đặt một đoạn code để mơ tả cách học và phân loại đĩ

Trang 4

I Tìm hiểu thư rác và một số phương pháp lọc thư rác

1 Định nghĩa thư rác:

Thư rác (spam) là thư điện tử, tin nhắn được gửi đến người nhận mà người nhận

đó không mong muốn hoặc không có trách nhiệm phải tiếp nhận theo quy định của pháp luật Thư rác bao gồm thư điện tử rác và tin nhắn rác

2 Phân loại thư rác:

Có nhiều cách phân loại thư rác:

 Dựa trên kiểu phát tán thư rác: Tính tới thời điểm hiện tại, thư rác có thể bị gửi thông qua thư điện tử, nhóm thảo luận (newsgroups), điện thoại di động (Short Message Serveice – SMS) và các dịch vụ gửi tin nhắn trên mạng (như Yahoo Messenger, Windows Messenger…)

 Dựa vào quan hệ với người gửi thư rác: bao gồm người lạ mặt, bạn bè, người quen và các dịch vụ quyên góp giúp đỡ…

 Dựa vào nội dung của thư rác: các kiểu nội dung phổ biến như thư về thương mại, thư về chính trị, thư về công nghệ, chuỗi thư (chain email) và các loại khác (như thư phát tán virus…)

 Dựa trên động lực của người gửi: Thông thường, thư rác được gửi đi cho những mục đích quảng bá thông tin Ngoài ra còn có một số loại thư rác được gửi tới một người nhận xác định nào đó nhằm mục đích phá vỡ và gây cản trở công việc của người nhận hay mạng của nhà cung cấp dịch vụ thư điện tử (ESP) được gọi là “bom thư” Thư rác còn được cố ý gửi đi nhằm thông báo tin sai lệch, làm xáo trộn công việc

và cuộc sống của người nhận

Sự phân loại thư rác rất quan trọng không chỉ trong lĩnh vực tạo những bộ lọc thư rác có hiệu quả cao mà còn giúp cho việc ban hành các bộ luật chống thư rác phù hợp

3 Các phương pháp lọc thư rác:

 Lọc thư rác thông qua việc đưa ra luật lệ nhằm hạn chế, ngăn chặn việc gửi thư rác: Ban hành một số chỉ lệnh, đưa ra các quy phạm và chỉ dẫn đối với các vấn đề thương mại điện tử, thông tin điện tử, bảo hộ dữ liệu

 Lọc thư dựa trên địa chỉ IP: Dựa vào địa chỉ IP của người gửi để xác định thư

đó bị ngăn chặn hoặc cho qua Có hai cách để thực hiện việc lọc thư: một là duy trì một

Trang 5

danh sách các địa chỉ IP bị chặn; thứ hai là sử dụng một danh sách các địa chỉ IP cho phép qua

 Lọc thư dựa trên chuỗi hỏi/đáp (Challenge/Response filters): Đặc trưng của phương pháp này là khả năng tự động gửi thư hồi đáp cho người gửi để yêu cầu một số hành động chắc chắn về việc gửi thư của họ

 Phương pháp lọc dựa trên mạng xã hội: Các nghiên cứu gần đây đã bắt đầu khai thác thơng tin từ mạng xã hội cho việc xác định thư rác bằng cách xây dựng một

đồ thị (các đỉnh là địa chỉ email, cung được thêm vào giữa 2 node A và B nếu giữa A

và B cĩ sự trao đổi thư qua lại) Người ta đã sử dụng một số tính chất đặc trưng của mạng xã hội để xây dựng một cơng cụ lọc thư rác

 Phương pháp lọc nội dung: Phương pháp này dựa vào nội dung và chủ đề bức thư để phân biệt thư rác và thư hợp lệ Phương pháp này cĩ ưu điểm đĩ là chúng ta cĩ thể dễ dàng thay đổi bộ lọc để nĩ cĩ thể lọc các loại thư rác cho phù hợp Nhược điểm của phương pháp này là: do biết được cách thức lọc nội dung nên các spammer luơn luơn thay đổi hình thức nội dung của thư rác để cĩ thể qua mặt các bộ lọc

Phương pháp lọc nội dung để phân loại thư rác là phương pháp đã và đang được quan tâm, nghiên cứu và ứng dụng nhiều nhất Trong đĩ, Nạve Bayes classifier là một trong những phương pháp phân loại được áp dụng nhiều và mang lại hiệu quả đáng kể

Trang 6

II Nạve Bayes classifier

1 Đị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ên hay 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 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:

) (

) ( )

| ( )

| (

B P

A P A B P B A

hay

) ( )

| ( ) ( )

| (A B P B P B A P A

Định lý Bayes cũng thường được viết dưới dạng:

) ( )

| ( ) ( )

| ( ) , ( ) , ( ) (B P A B P A C B P B A P A P B A C P A C

hay

) ( )

| ( ) ( )

| (

) ( )

| ( )

|

A P A B P A P A B P

A P A B P B

A P

Trong đĩ C

A là biến cố bù của biến cố A (thường được gọi là “khơng A”) Tổng quát hơn với {Ai} tạo thành một phân hoạch các biến cố, với mọi Ai trong phân hoạch,

ta cĩ:

j

j j

i i i

A P A B P

A P A B P B A P

) ( )

| (

) ( )

| ( )

| (

Cơng thức này cịn được biết dưới tên là cơng thức xác suất đầy đủ

Trang 7

2 Nạve Bayes classifier

Phân loại là một vấn đề cơ bản trong lĩnh vực máy học và khai khống dữ liệu Mục đích của một thuật tốn phân loại là xây dựng một bộ phân lớp từ một tập các ví

dụ huấn luyện đã được gán nhãn lớp Thơng thường, một mẫu ví dụ E được thể hiện bởi một bộ các giá trị thuộc tính (x1, x2, …, xn), với xi là giá trị của thuộc tính Ai và cho C

là một tập các nhãn lớp {c1, c2, …, cm}

Nạve Bayes classifier là một trong những bộ phân loại trong thống kê Bayes dựa trên Định lý Bayes Nĩ cĩ thể dự đốn được xác suất của các lớp bộ phận chẳng hạn như

nĩ cĩ thể dự đốn được xác suất mà một ví dụ đã cho thuộc vào một lớp nào đĩ Điểm đặc biệt của Nạve Bayes là giả định rằng sự ảnh hưởng của một thuộc tính là độc lập với giá trị của các thuộc tính khác trong một phân lớp đã cho Giả thiết này được gọi là độc lập về điều kiện, điều này đã làm cho việc tính tốn trở nên dễ dàng hơn Và cũng chính vì vậy mà nĩ được xem là “Nạve” (ngây thơ)

Chúng ta cĩ thể hình dung Nạve Bayes classifier hoạt động như sau:

(1) Cho T là tập các mẫu ví dụ huấn luyện đã được gán nhãn lớp và m lớp C1, C2,

…, Cm Mỗi mẫu ví dụ được biểu diễn bởi một vectơ n chiều X = (x1, x2, …, xn) miểu

tả n giá trị được đo của n thuộc tính tương ứng X1, X2, …, Xn

(2) Cho một mẫu ví dụ X, bộ phân loại sẽ dự đốn X thuộc vào lớp mà cĩ xác suất hậu nghiệm cao nhất với điều kiện X Tức là X được xác định thuộc vào lớp Ci khi

và chỉ khi:

P C XP C X với 1 ≤ i, j ≤ m và i ≠ j Vậy chúng ta cần phải xác định với lớp Ci sao cho P(Ci|X) đạt giá trị cao nhất và khi đĩ lớp Ci này được gọi là giả thiết hậu nghiệm cao nhất Theo định lý Bayes, ta cĩ:

) (

) ( )

| ( )

| (

X P

C P C X P X C

i

(3) Do P(X) là như nhau đối với tất cả các lớp nên ta chỉ cần P(X|Ci)P(Ci) đạt giá trị cao nhất Xác suất trước P(Ci) của một lớp cĩ thể được tính bằng cơng thức:

Nếu khơng thể xác định được xác suất trước P(Ci), khi đĩ ta cĩ thể giả sử chúng

là như nhau P(C1) = P(C2) = … = P(Cm) và vì thế ta chỉ cần tìm P(X|Ci) đạt cao nhất

(4) Với tập dữ liệu cĩ nhiều thuộc tính, chi phí cho việc tính xác suất P(X|Ci) là rất cao Lúc này giả định ”Nạve” là rất cần thiết Để giảm bớt tính tốn trong việc đánh

|

| / ) , ( )

P ii

Trang 8

giá P(X|Ci)P(Ci), Nạve Bayes giả định là với một mẫu ví dụ đã được gán nhãn thì giá trị của các thuộc tính là độc lập điều kiện với nhau Khi đĩ ta cĩ thể tính:

1

n

k

Các xác suất P(x1|Ci), P(x2|Ci), …, P(xn|Ci) cĩ thể dễ dàng tính được từ tập huấn luyện với xk là giá trị của thuộc tính Ak trong mẫu ví dụ X

(a) Nếu Ak là các giá trị rõ ràng, khi đĩ P(xk|Ci) là số lượng mẫu ví dụ thuộc lớp Ci trong tập huấn luyện T cĩ xk là giá trị của thuộc tính Xk chia cho số mẫu freq(C i ,T)

của Ci trong tập T

(b) Nếu Ak là các giá trị liên tục, khi đĩ ta thường giả sử những giá trị của nĩ

cĩ một phân phối Guassian với một giá trị trung bình µ và độ lệch chuẩn σ được định nghĩa bởi:

2 2

( ) 2

1

2

x

g x

 



 

Nên

i i

k i k C C

P x Cg x  

Chúng ta cần tính

i

C

 và

i

C

 , chúng là giá trị trung bình và độ lệch chuẩn của các giá trị của thuộc tính Ak đối với các mẫu ví dụ huấn luyện của lớp Ci

(5) Để dự đốn nhãn lớp của X, ta cần đánh giá P(X|Ci)P(Ci) cho mỗi lớp Ci Bộ phân lớp sẽ dự đốn nhãn lớp của X là Ci nếu và chỉ nếu nĩ là lớp mà cĩ giá trị P(X|Ci)P(Ci) là cao nhất

Các bước thực hiện thuật tốn Nạve Bayes:

Bước 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu)

 Tính xác suất P(Ci)

 Tính xác suất P(xk|Ci)

Bước 2: Xnew được gán vào lớp cĩ giá trị lớn nhất theo cơng thức:

1

i

n

k

Để minh họa thuật tốn Bayes một cách đơn giản, ta sử dụng bài tốn phân chia ngày thành phù hợp hay khơng phù hợp với việc chơi tennis theo điều kiện thời tiết được đưa ra trong bảng dưới đây:

Trang 9

Ngày Trời Nhiệt độ Độ ẩm Gió Chơi

Tennis

D7 Nhiều mây Lạnh Bình thường Mạnh Có

D13 Nhiều mây Nóng Bình thường Yếu Có

Trong đó: có 9 mẫu tích cực (có chơiTennis) và 5 mẫu tiêu cực (Không chơi Tennis):

- Độ ẩm = Cao có 3 tích cực và 4 tiêu cực

- Độ ẩm = Bình thường có 6 tích cực và 1 tiêu cực

- Gió = Yếu có 6 tích cực và 2 tiêu cực

- Gió = Mạnh có 3 tích cực và 3 tiêu cực

Trang 10

- Nhiệt độ = Nóng có 2 tích cực và 2 tiêu cực

- Nhiệt độ = Trung bình có 1 tích cực và 0 tiêu cực

- Nhiệt độ = Ấm áp có 4 tích cực và 2 tiêu cực

- Nhiệt độ = Lạnh có 2 tích cực và 1 tiêu cực

- Trời = Nắng có 2 tích cực 3 tiêu cực

- Trời = Nhiều mây có 4 tích cực và 0 tiêu cực

- Trời = Mưa có 3 tích cực và 2 tiêu cực

Vậy từ các dữ liệu trên bạn hãy xác định xem với các điều kiện <Trời = nắng, Nhiệt độ = Lạnh, Độ ẩm = cao, Gió = mạnh> thì người chơi có chơi Tennis không?

Trả lời:

Bước 1: Tính các giá trị xác suất

 Tính xác suất trước cho mỗi phân lớp:

- P(Chơi Tennis = Có) = 9

14

- P(Chơi Tennis = Không) = 5

14

 Tính xác suất của mỗi giá trị thuộc tính đối với các phân lớp:

- P (Trời | Chơi Tennis)

- P (Nhiệt độ | Chơi Tennis)

Chơi Tennis Nóng Trung bình Ấm áp Lạnh

- P (Độ ẩm | Chơi Tennis)

Trang 11

- P (Gió | Chơi Tennis)

Bước 2: Xác định lớp có thể nhất

- PCó = P(Có) x P(Trời = Nắng | Có ) x P(Nhiệt độ = Lạnh | Có) x P(Độ ẩm = Cao | Có) x P(Gió = Mạnh | Có) = 9/14 x 2/9 x 2/9 x 3/9 x 3/9 = 0.004

- PKhông = P(Không) x P(Trời = Nắng | Không ) x P(Nhiệt độ = Lạnh | Không)

x P(Độ ẩm = Cao | Không) x P(Gió = Mạnh | Không) = 5/14 x 3/5 x 1/5 x 4/5 x 3/5 = 0.021

 Vì PKhông > PCó nên kết luận lại là người chơi KHÔNG chơi Tennis khi có điều kiện thời tiết như trên

Trang 12

III Ứng dụng trong bài tốn phân loại thư rác

1 Biễu diễn bài tốn

Với phương pháp phân loại Nạve Bayes, từ tập huấn luyện D (nội dung của từng thư một) ta xác định một tập đặc trưng với n đặc trưng, mỗi đặc trưng cĩ thể là một từ hoặc một cụm từ và các từ hoặc cụm từ này phải là từng đơi một khác nhau

Mỗi thư (phần nội dung) được biểu diễn bởi một vector n chiều x = (x1, x2, …,

xn), với xi là giá trị thể hiện sự xuất hiện của đặc trưng thứ i trong nội dung thư Ta cĩ thể gán giá trị xi là 1 nếu trong nội dung thư cĩ chứa đặc trưng thứ i hoặc ngược lại là 0 nếu trong nội dung thư khơng chứa đặc trưng thứ i Mỗi thư được gán một nhãn phân loại C cĩ thể nhận một trong hai giá trị: C = 1 cho trường hợp thư rác và C = 0 cho trường hợp thư bình thường

Bài tốn phân loại thư rác là một trường hợp đặc biệt của bài tốn phân loại văn bản với hai loại văn bản là thư rác và khơng phải thư rác Và bài tốn phân loại văn bản

là một bài tốn điển hình áp dụng phương pháp phân loại Nạve Bayes và đạt được hiệu quả rất cao

2 Các bước của thuật tốn trong phân loại thư rác

Bước 1:

 Tính xác suất P(Ci):

P(Ci) được xác định bởi số lượng thư là thư rác hoặc khơng là thư rác chia cho tổng số thư trong tập huấn luyện:

i

C i

D

P C

D

với

i

C

D là tập các thư là thư rác hoặc các thư bình thường

 Tính xác suất P(Ci |X)

Theo giả định Nạve, ta giả định rằng sự xuất hiện của một từ trong thư đều độc lập với nhau nên P(Ci |X) được tính bởi cơng thức:

1

n

k

Trong đĩ, P(xk|Ci) là xác suất mà đăc trưng xk xuất hiện đối với lớp Ci, P(xk|Ci) được tính bởi cơng thức:

(x , ) (x | )

i

k i

k i

C

n C

P C

D

Ngày đăng: 11/08/2015, 18:07

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

TÀI LIỆU LIÊN QUAN

w