Thuật tốn NaiveBayes

Một phần của tài liệu Lọc thông minh tin nhắn rác, tin nhắn quảng cáo trên thiết bị di động (Trang 29 - 33)

Giới thiệu phương pháp Nạve Bayes:

Nạve Bayes (NB)[3] là phƣơng pháp phân loại dựa vào xác suất đƣợc sử dụng rộng rãi trong lĩnh vực học máy và đem lại kết quả khả quan cho việc phân lớp dữ liệu. Các đặc trƣng của dữ liệu trong tập học là độc lập với nhau.Ý tƣởng cơ bản của cách tiếp cận Nạve Bayes là sử dụng xác suất cĩ điều kiện giữa đặc trƣng và nhãn để dự đốn xác suất nhãn của một tin nhắn cần phân loại. Điểm quan trọng của phƣơng pháp này chính là ở chỗ giả định rằng sự xuất hiện của tất cả các đặc trƣng trong tin nhắn đều độc lập với nhau. Giả định đĩ làm cho việc tính tốn NB hiệu quả và nhanh chĩng hơn các phƣơng pháp khác vì khơng sử dụng việc kết hợp các đặc trƣng để đƣa ra phán đốn nhãn. Kết quả dự đốn bị ảnh hƣởng bởi kích thƣớc tập tin nhắn, chất lƣợng của khơng gian đặc trƣng…

Thuật tốn Nạve Bayes:

Thuật tốn Nạve Bayes dựa trên định lý Bayes đƣợc phát biểu nhƣ sau:

𝑝 𝑦 𝑥 =𝑝(𝑥, 𝑦) 𝑝 𝑥 =

𝑝 𝑥 𝑦 ∗ 𝑝(𝑦)

𝑝(𝑥) (1.1)

Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khĩa CLC2016 Trang 30

p(y|x): xác suất của sự kiện y khi biết trƣớc sự kiện x p(x): xác suất của sự kiện x

p(x,y): là tích xác suất của sự kiện x và sự kiện y p(y): xác suất của sự kiện y

Áp dụng trong bài tốn phân loại, các dữ kiện gồm cĩ:

X là tin nhắn cần phân lớp, tin nhắn này đƣợc chuyển thành tập các đặc trƣng X(𝑥1, 𝑥2, 𝑥3… . , 𝑥𝑚) với xm là các từ trọng số của mỗi từ của tin nhắn X trong từ điển

C(𝐶1, 𝐶2, 𝐶3, 𝐶4, 𝐶5) : là tập năm nhãn đƣợc định nghĩa trƣớc trong yêu cầu của bài tốn

Theo cơng thức (1.1) cĩ:

𝑃 𝐶𝑖 𝑋 = 𝑃(𝑋|𝐶𝑖)𝑃(𝐶𝑖)

𝑃(𝑋) (1.2)

 𝑃 𝐶𝑖 𝑋 : xác suất tin nhắn X thuộc lớp 𝐶𝑖

 𝑃(𝑋|𝐶𝑖): xác suất của phân lớp 𝐶𝑖 khi biết trƣớc dữ liệu X.

 𝑃(𝐶𝑖) : xác suất là phân lớp 𝐶𝑖trong tập dữ liệu 𝑃(𝐶𝑖) đƣợc tính bằng :

𝑃 𝐶𝑖 = 𝑠ố 𝑙ượ𝑛𝑔𝑡𝑖𝑛𝑛𝑕ắ𝑛𝑡𝑕𝑢ộ𝑐𝐶𝑖𝑡𝑟𝑜𝑛𝑔𝑡ậ𝑝 𝑑ữ 𝑙𝑖ệ𝑢 𝑠ố 𝑙ượ𝑛𝑔𝑡𝑖𝑛𝑛𝑕ắ𝑛𝑐ủ𝑎𝑡ậ𝑝 𝑑ữ 𝑙𝑖ệ𝑢

 𝑃 𝑋 : xác xuất tin nhắn X

Theo giả thiết độc lập xác suất cĩ điều kiện trên tập đặc trƣng:

𝑃 𝑋 𝐶𝑖 = 𝑃 𝑥𝑘 𝐶𝑖 𝑚

𝑘=1

Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khĩa CLC2016 Trang 31

Trong đĩ:

 𝑃 𝑥𝑘 𝐶𝑖 xác suất đặc trƣng xk khi đã biết X thuộc phân lớp 𝐶𝑖, 𝑃(𝑥𝑘|𝐶𝑖) đƣợc tính bởi cơng thức:

𝑃 𝑥𝑘 𝐶𝑖 =𝑁(𝑥𝑘, 𝐶𝑖) 𝑁(𝐶𝑖)

𝑁 𝑥𝑘, 𝐶𝑖 : là trọng số của xk trong lớp Ci

𝑁(𝐶𝑖): là tổng trọng số của tất cả các thuộc tính trong Ci

Với giả thiết Bayes sẽ cĩ trƣờng hợp đặc trƣng xk khơng cĩ trong tập học Ci.Khi đĩ

𝑃(𝑥𝑘|𝐶𝑖)=0 và

𝑃 𝐶𝑖 𝑋 = 0 làm cho xác suất cũng bằng khơng làm sai kết quả bài tốn. Để giải quyết

vấn đề này cần sử dụng cơng thức làm trơn Laplace để tính 𝑃 𝑥𝑘 𝐶𝑖 . Cơng thức làm

trơn laplace đƣợc trình bày bên dƣới

𝑃 𝑥𝑘 𝐶𝑖 =𝑁 𝑥𝑘, 𝐶𝑖 + 1 𝑁 𝐶𝑖 + 𝑉 (1.4) 𝑃 𝐶𝑖 𝑋 = 𝑃(𝐶𝑖) 𝑁 𝑥𝑘,𝐶𝑖 +1 𝑁 𝐶𝑖 +𝑉 𝑚 𝑘=1 𝑃(𝑋) (1.5)

Trong đĩ V là tổng số đặc trƣng trong tất cả các lớp (ở đây là số từ vựng).

Vì P(X) là nhƣ nhau nên ta cĩ một tin nhắn thuộc lớp nào chính là giá trị lớn nhất của xác suất tính bởi cơng thức (1.4)

max 𝐶𝑖∈𝐶 𝑃(𝐶𝑖) 𝑁 𝑥𝑘, 𝐶𝑖 + 1 𝑁 𝐶𝑖 + 𝑉 𝑚 𝑘=1 (1.6)

Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khĩa CLC2016 Trang 32 Ví Dụ 2 :

No. Dữ liệu Nhãn

X1 Viettel KhachHang Viettel Nhà Mạng

X2 Viettel Viettel QC Nhà Mạng

X3 Viettel KM Nhà Mạng

X4 Toi Toi Viettel Tin thường

X5 Viettel Viettel Viettel Toi Ban ?

P(Nhà mạng)=3/4 P(Tin thường)=1/4

Xác suất của từng từ trog tin nhắn test

P(Viettel |Nhà mạng)=(5+1)/(8+6)=3/7

P(Toi|V)=(0+1)/(8+6)=1/14

P(Ban|V)=(0+1)/(8+6)=1/14

P(Viettel |Tin thường)=(1+1)/(3+6)=2/9

P(Toi| Tin thường)=(1+1)/(3+6)=2/9

P(Ban| Tin thường)=(1+1)/(3+6)=2/9

Kết quả :

P(Nhà mạng|X5)=3/4*(3/7)3*(1/14)*(1/14)=0.0003

P(Tin thường|X5)=1/4*(2/9)3*(2/9)*(2/9)=0.0001

Học viên thực hiện: Nguyễn Minh Đức – CAC16010 Khĩa CLC2016 Trang 33

Một phần của tài liệu Lọc thông minh tin nhắn rác, tin nhắn quảng cáo trên thiết bị di động (Trang 29 - 33)