Giới thiệu thuật toán Bayes
HỆ TRỢ GIÚP QUYẾT ĐỊNH NHĨM GVHD: ĐỒN THỊ THANH HẰNG LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Mục lục MỤC LỤC…………………………… …………………………………….2 PHẦN MỞ ĐẦU ……………………………………………………………3 CHƯƠNG I: CƠ SỞ LÝ THUYẾT… …………………………………….4 I.1 HỆ TRỢ GIÚP QUYẾT ĐỊNH………………………… …………….4 I.2 ĐỊNH LÝ BAYES…… ……………………………………………… I.2.1 CỰC TIỂU HÓA RỦI RO TRONG BÀI TOÁN PHÂN LỚP BAYES……………………………………………………………………… I.2.2 PHÂN LỚP BAYES CHUẨN TẮC………………………… … 12 I.2.3 MIỀN QUYẾT ĐỊNH……………………………………………… 18 II THUẬT TOÁN BAYES…………………….………………………… 21 II.1 ĐỊNH NGHĨA…………………………………………………………21 II.2 THUẬT TOÁN NAVIE BAYES HOẠT ĐỘNG NHƯ THẾ NÀO 21 II.3 THUẬT TỐN NẠVE BAYES ĐƯỢC SỬ DỤNG ĐỂ LÀM GÌ 23 II.4 ƯU, NHƯỢC ĐIỂM THUẬT TOÁN……………………………… 24 II.5 CÁCH XÂY DỰNG MƠ HÌNH CƠ BẢN BẰNG THUẬT TỐN NAICE BAYES…………………………………………………………… 24 III ỨNG DỤNG THUẬT TOÁN BAYES……………………………… 26 III.1 ĐẶT VẤN ĐỀ.………………………………………………….…….26 III.2 BÀI TOÁN……………………………………………………………27 III.3 TIỀN XỬ LÝ MỖI LÁ THƯ ĐIỆN TỬ……………………………27 III.4 DÙNG LUẬT BAYES TÍNH XÁC SUẤT…………………………28 III.5 HUẤN LUYỆN BỘ LỌC BAYES………………………………… 29 III.6 LỌC THƯ…………………………………………………………….30 KẾT LUẬN…………………………………………………………………32 THAM KHẢO…………………………………………………………… 33 NHÓM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Phần mở đầu Lý chọn đề tài Công nghệ thông tin ngày quan trọng đời sống người, với phát triển tính logic khoa học máy tính, liệu hệ thống thông tin tạo thành hệ trợ giúp định giúp người việc định cách cách xác Cùng với thuật tốn góp phần xây dựng nên hệ trợ giúp định có thuật tốn Bayes Mục đích chọn đề tài Tìm hiểu thuật tốn Bayes ứng dụng CHƯƠNG I NHĨM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG CƠ SỞ LÝ THUYẾT 1.Hệ trợ giúp định * Định nghĩa Hệ trợ giúp đinh hệ thống thông tin hỗ trợ máy tính (CBIS) thích nghi, linh hoạt tương tác lẫn nhau, đặc biệt phát triển để hỗ trợ giải vấn đề quản lý cấu trúc nhằm cải tiến việc định Nó tập hợp liệu, cung cấp cho người sử dụng giao diện thân thiện cho phép tự định cách sáng suốt Nó hỗ trợ cho tất giai đoạn việc định, bao gồm sở tri thức * Lợi ích: - Khả hỗ trợ định vấn đề phức tạp - Trả lời nhanh cho tình khơng định trước - Có khả thử chiến lược khác - Người sử dụng có thêm hiểu biết - Liên lạc thuận tiện - Hệ TGQĐ tăng khả điều hành, giảm định sai lầm - Cải tiến việc quản lý, Năng suất phân tích cải thiện Đị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ên hay 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), ln giống nhau, khơng phụ thuộc vào kiện A muốn biết NHÓM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH - GVHD: ĐOÀN THỊ THANH HẰNG 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: Từ dẫn tới 2.1 Cực tiểu hóa rủi ro tốn phân lớp Bayes Bây xem xét toán nút chai, hình dung nhà máy sản xuất loại là: w1 = Super w2 = Average Giả sử thêm nhà máy có hồ sơ kho chứa sản phẩm để lưu giữ, tóm lược lại sau: - Số nút chai lớp w1: n1 = 901 420 - Số nút chai lớp w2: n2 = 352 130 - Tổng số nút chai: n = 253 550 Theo ta dễ dàng tính xác suất để nút chai thuộc lớp lớp, gọi xác suất tiên nghiệm prevalences: P(w1) = n1/n = 0.4 P(w2) = n2/n = 0.6 (1-1) Để ý xác suất tiên nghiệm khơng phải hồn tồn phụ thuộc vào nhà máy sản xuất mà chủ yếu vào chất lượng nguyên liệu Tương tự bác sĩ chun khoa tim khơng thể kiểm sốt xác suất bệnh nhồi máu tim nhóm dân cư Prevalences làm điều liên quan đến trạng thái tự nhiên Giả sử toán yêu cầu thực định không rõ ràng, chẳng hạn chọn lớp cho nút chai mà khơng biết nút chai Nếu có thơng tin xác suất tiên nghiệm ta chọn lớp w2 Với cách mong sai 40% số lần NHĨM 5 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Giả sử đo vecto đặc trưng nút chai, p(wi |x) xác suất có điều kiện mơ tả xác suất để đối tượng x thuộc lớp wi Nếu xác định xác suất p(w1|x) p(w2|x) dễ thấy rằng: - Nếu P(w1| x) > P(w2|x) ta phân x vào w1; - Nếu P(w1| x) < P(w2|x) ta phân x vào w2; - Nếu P(w1| x) = P(w2| x) chọn tùy ý Tóm lại: if P(w1|x) > P(w2|x) then x ∈ w1 else x ∈ w2 (1-2a) Xác suất hậu nghiệm P(wi |x) tính biết pdfs (các hàm mật độ xác suất) phân phối vec tơ đặc trưng lớp Sau ta tính xác suất p(x|wi) , xác suất để đối tượng thuộc lớp wi có đặc trưng x gọi likelihood of x tạm dịch khả xảy x hợp lý x Thực tế ta dùng công thức Bayes: (1-3) Với Lưu ý P(wi) P(wi |x) xác suất rời rạc, trái lại p(x|wi) p(x) giá trị hàm mật độ xác suất Để ý so sánh (1-2a) ta có giá trị chung p(x) ta viết lại: if p(x|w1) P(w1) > p(x|w2)P(w2) then x ∈ w1 else x ∈ w2 (1-4) Hay là: then x ∈ w1 else x ∈ w2 (1-4a) NHÓM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Trong cơng thức (1-4a) v(x) gọi tỷ số hợp lý (likelihood ratio) Giả sử nút chai có đặc trưng N, tức vec tơ đặc trưng x = [N], giả sử có nút chai có x = [65] Từ đồ thị ta tính xác suất likelihood: p(x|w1) = 20/24 = 0.833 → P(w1) p(x|w1) = 0.333 (1-5a) p(x|w2) = 16/23 = 0.696 → P(w2) p(x|w1) = 0.418 (1-5b) Ta phân x = [65] vào lớp w2 hợp lý(likelihood) w1 lớn w2 Hình minh họa ảnh hưởng việc điều chỉnh ngưỡng xác suất tiên nghiệm đến hàm mật độ xác suất - Xác suất tiên nghiệm đồng (equal prevalences) Với hàm mật độ xác suất đồng nhất, ngưỡng quy định nửa khoảng cách đến phần tử trung bình Số lượng trường hợp phân lớp sai tương ứng với vùng tô đậm Đây vùng mà khoảng cách phân lớp nhỏ - Xác suất tiên nghiệm w1 lớn w2 Ngưỡng định thay lớp có xác suất tiên nghiệm nhỏ Vì giảm số trường hợp lớp có xác suất tiên nghiệm cao dường thuận tiện NHÓM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Chúng ta thấy thật độ lệch ngưỡng định dẫn đến lớp w2 tốt lớp w1 Điều nghe hợp lý kể từ mà lớp w2 xuất thường xuyên Khi độ sai toàn phần tăng lên điều kỳ lạ ảnh hưởng xác suất tiên nghiệm có lợi Câu trả lời cho câu hỏi liên quan đến chủ đề phân lớp mạo hiểm, mà trình bày Chúng ta giả định giá nút chai (cork stopper) thuộc lớp w1 0.025£, lớp w2 0.015£ Giả sử nút chai lớp w1 dùng cho chai đặc biệt, nút chai lớp w2 dùng cho chai bình thường Nếu ta phân lớp sai nút chai lớp w1 bị 0.025-0.015=0.01£ Nếu phân lớp sai nút chai lớp w2 dẫn đến bị loại bỏ bị 0.015£ Ta ký hiệu: - SB - Hành động việc sử dụng nút chai(cork stopper) để phân cho loại chai đặc biệt - NB - Hành động việc sử dụng nút chai(cork stopper) để phân cho loại chai bình thường - w1 = S (siêu lớp); w2 = A (lớp trung bình) NHĨM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Định nghĩa: λij = λ(αi | wj ) độ mát với hành động αi mà lớp wj , với αi∈{SB, NB} λ11 = λ(α1 | w1 ) = λ(SB | S) = 0, λ12 = λ(α1 | w2 ) = λ(SB | A) = 0.015, λ21 = λ(α2 | w1 ) = λ(NB | S) = 0.01, λ22 = λ(α2 | w2 ) = λ(NB | A) = Chúng ta xếp λij thành ma trận hao phí Λ (1-6) Vì độ mát với hành động sử dụng nút chai (mô tả vectơ đặc trưng x) phân vào cho chai đặc biệt biểu thị sau: R(α1 | x) = R(SB | x) = λ(SB | S)P(S | x) + λ(SB | A)P(A | x) (1-6a) R(α1 | x) = 0.015 P(A | x) Tương tự cho trường hợp phân cho chai thông thường: R(α2 | x) = R(NB | x) = λ(NB | S)P(S | x) + λ(NB | A)P(A | x) (1-6b) R(α2 | x) = 0.01P(S | x) NHÓM LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Chúng ta giả định đánh giá rủi ro chịu ảnh hưởng từ định sai Do định xác khơng gây thiệt hại λii=0, (1-6) Nếu thay lớp có c lớp mát ứng với hành động αi là: (1-6c) Chúng ta quan tâm đến việc giảm thiểu mức rủi ro trung bình tính cho lượng lớn nút chai Công thức Bayes cho rủi ro nhỏ làm điều cách cực tiểu hóa rủi ro có điều kiện R(αi | x) Giả sử ban đầu định sai lầm có mát, chúng có tỉ lệ với đơn vị mát: (1-7a) Trong trường hợp từ tất xác suất hậu nghiệm tăng lên một, cần phải cực tiểu hóa: Điều tương đương với việc cực đại P(wi | x), luật định Bayes cho rủi ro cực tiểu tương ứng với việc tổng quát hóa vấn đề: (1-7c) Tóm lại: luật định Bayes cho rủi ro cực tiểu, phân lớp khơng bị mát phân lớp sai có mát, ta cần phải chọn lớp có xác suất hậu nghiệm cức đại Hàm định cho lớp wi là: gi(x) = P(wi | x) (4-18d) Bây xem xét tình khác thiệt hại xảy cho định sai lầm, đơn giản giả sử c = Dựa vào biểu thức (1-6a) (1-6b) thật dễ nhận thấy nút chai thuộc lớp w1 nếu: NHÓM 10 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG 0.8, "possible" xác suất bé 0.8 Theo cách với nút chai có case 55 (xem hình 11) phân lớp "possible" cork lớp "super", case 54 "probable" cork lớp "average" Thay gắn mơ tả định tính vào lớp nhận được, phương pháp khác sử dụng số trường hợp định quy định cho tồn lớp đặc biệt gọi lớp từ chối miền định (reject region) Ký hiêu: ω*: lớp phân; ωi: lớp với xác suất hậu nghiệm cực đại, chẳng hạn P(ωi|x) = max P(wj|x) với lớp ωij # ωi Luật Bayes viết sau ω*= ωi Bây ta quy định xác suất hậu nghiệm nút chai phải cao nhiều so với ngưỡng từ chối (reject threshold) định λr, khơng phân vào reject class wr Công thức Bayes viết lại sau: Khi tính tốn tỉ số hợp lý (likelihood ratio) với tỷ số xác suất tiên nghiệm (prevalence ratio), ta phải nhân tỉ số với (1-λr)/λr Một lớp c khơng có rejection λr < (c-1)/c, λr Є [(c-1)/c, 1] Chúng ta minh họa khái niệm reject class sử dụng liệu cork stoppers Giả sử reject threshold λr = 0.7 ngưỡng quy định Tính biên định cho reject class đủ để xác định hàm phân lớp với xác suất tiên nghiệm P(ω1) = 1-λr = 0.3, P(ω2) = 1-λr = 0.7 Các đường thẳng định đường nghiêng giao với trục tung PRT10=15.5 PRT10=20.1 Chú ý hai đường có xu hướng đối xứng qua đường thẳng định xác định Hình 12 biểu đồ phân tán với đường định vùng hai đường thẳng reject region NHÓM 19 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Chúng ta xem ma trận phân lớp hiển thị Hình 13 Nhớ lại chút ta thấy có mẫu lớp mẫu lớp bị phân lớp sai, nằm reject region chiếm 9% số mẫu Số lượng phân lớp sai cho lớp 1mẫu cho lớp mẫu, tổng số lỗi 6% CHƯƠNG II THUẬT TỐN BAYES NHĨM 20 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Định nghĩa Thuật toán Naive Bayes kỹ thuật giúp xây dựng phân loại Trình phân loại mơ hình phân loại trường hợp vấn đề cung cấp cho chúng nhãn lớp biểu diễn dạng vectơ yếu tố dự đốn giá trị tính Nó dựa Định lý Bayes Nó gọi Nạve Bayes giả định giá trị tính độc lập với tính khác, tức thay đổi giá trị tính khơng ảnh hưởng đến giá trị tính Nó gọi Idiot Bayes lý tương tự Thuật toán hoạt động hiệu cho tập liệu lớn, phù hợp cho dự đốn thời gian thực Nó giúp tính tốn xác suất sau P (c | x) xác suất trước lớp P (c), xác suất trước yếu tố dự đoán P (x) xác suất người dự đoán đưa ra, gọi khả P (x | c ) Công thức phương trình để tính xác suất sau là: P (c | x) = (P (x | c) * P (c)) / P (x) Thuật tốn Nạve Bayes làm việc nào? Để hiểu cách làm việc thuật toán Nạve Bayes sử dụng ví dụ Chúng ta giả định tập liệu thời tiết biến mục tiêu 'Đi mua sắm' Bây phân loại xem cô gái mua sắm dựa điều kiện thời tiết NHÓM Thời tiết Đi mua sắm Nắng Khơng Mưa Có Âm u Có Nắng Có Âm u Có Mưa Khơng Nắng Có Nắng Có Mưa Khơng Mưa Có 21 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Âm u Có Mưa Khơng Âm u Có Nắng Không Các bước sau thực hiện: Bước 1: Tạo bảng tần số cách sử dụng liệu Thời tiết Có Khơng Nắng Âm u Mưa Tất Bước 2: Lập bảng khả cách tính xác suất điều kiện thời tiết mua sắm Thời tiết Có Khơng Xác suất Nắng 5/14 = 0,36 Âm u 4/14 = 0,29 Mưa 5/14 = 0,36 Tất Xác suất 9/14 = 0,64 5/14 = 0,36 Bước 3: Bây cần tính xác suất sau cách sử dụng phương trình Naive Bayes cho lớp Ví dụ vấn đề: Một gái mua sắm thời tiết âm u Là tuyên bố đúng? Giải pháp: P (Có | âm u) = (P (âm u | Có) * P (Có)) / P (âm u) NHÓM 22 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG P (âm u | Có) = 4/9 = 0,44 P (Có) = 9/14 = 0,64 P (âm u) = 4/14 = 0,39 Bây đặt tất giá trị tính tốn cơng thức P (Có | âm u) = (0,44 * 0,64) / 0,29 P (Có | âm u) = 0,971 Lớp có xác suất cao kết dự đoán Sử dụng xác suất tiếp cận lớp khác dự đốn Thuật tốn Nạve Bayes sử dụng để làm gì? Dự đốn thời gian thực: Thuật tốn Naive Bayes nhanh ln sẵn sàng để tìm hiểu phù hợp cho dự đốn thời gian thực Dự đoán nhiều lớp: Xác suất nhiều lớp biến mục tiêu dự đốn thuật tốn Naive Bayes Hệ thống khuyến nghị: Trình phân loại Naive Bayes với trợ giúp Lọc cộng tác xây dựng Hệ thống khuyến nghị Hệ thống sử dụng kỹ thuật khai thác liệu học máy để lọc thơng tin khơng thấy trước sau dự đốn liệu người dùng có đánh giá cao tài nguyên định hay không Phân loại văn / Phân tích ý kiến / Lọc thư rác: Do hiệu suất tốt với vấn đề đa lớp quy tắc độc lập, thuật toán Naive Bayes hoạt động tốt có tỷ lệ thành cơng cao phân loại văn bản, đó, sử dụng Phân tích ý kiến Lọc thư rác Ưu, nhược điểm thuật toán * Ưu điểm - Dễ để thực - Nhanh - Nếu giả định độc lập giữ hoạt động hiệu thuật tốn khác - Đòi hỏi liệu đào tạo - Khả mở rộng cao - Đưa dự đoán xác suất - Xử lý liệu liên tục rời rạc NHÓM 23 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG - Không nhạy cảm tính khơng liên quan - Làm việc dễ dàng với giá trị bị thiếu - Dễ dàng cập nhật có liệu - Phù hợp cho vấn đề phân loại văn * Nhược điểm - Giả định mạnh mẽ tính độc lập, điều không ứng dụng thực tế - Dữ liệu khan - Cơ hội độ xác - Khơng có tần số tức không thấy danh mục biến phân loại tập liệu huấn luyện mơ hình gán xác suất khơng cho danh mục sau đưa dự đốn Cách xây dựng mơ hình thuật tốn Nạve Bayes * Gaussian Thuật tốn Gaussian Naive Bayes giả định giá trị liên tục tương ứng với tính phân phối theo phân phối Gaussian gọi phân phối chuẩn Khả xác suất trước yếu tố dự đoán lớp cho coi Gaussian, đó, xác suất có điều kiện tính sau: * Đa thức: Tần số xuất số kiện định biểu thị vectơ đặc trưng tạo phân phối đa thức Mơ hình sử dụng rộng rãi để phân loại tài liệu * Bernoulli: Trong mơ hình này, đầu vào mơ tả tính biến nhị phân Booleans độc lập Điều sử dụng rộng rãi phân loại tài liệu Multveomial Naive Bayes NHÓM 24 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Chương III ỨNG DỤNG THUẬT TOÁN BAYES Đặt vấn đề Thư rác bắt đầu gọi "spam" sau chương trình truyền hình có tên "Monty Python’s Flying Circus" Trong show truyền hình này, nhóm cướp biển Vikings vào ăn nhà hàng chuyên phục vụ đồ hộp (spam), hát toáng lên ca khúc lặp lặp lại chữ "quảng cáo" Ý nghĩa ban đầu thư rác rõ ràng: Một thứ lặp lặp lại gây bực tức, khó chịu cho người xung quanh Đó phạm vi hẹp mơi trường internet khơng khoảng cách địa lý có nhiều người phải chịu bực tức, cảnh nhàm chán gây ức chế tâm lý thời gian vào NHĨM 25 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Phần lớn thư không mời mà đến, thư chào hàng quảng cáo bị cho thư rác theo nhận xét số đông người dùng thư điện tử Đây vấn đề nan giải mà hệ thống, hòm mail, nhà quản trị mạng phải đối mặt thời điểm mà xã hội thông tin ngày phát triển với tốc độ chóng mặt Để lọc phát thư rác, cần có giải pháp lâu dài biện pháp kĩ thuật, quy ước xã hội dùng đến pháp luật Nhưng giải pháp thi hành khoảng thời gian ngắn chúng bị phá vỡ spammer, nguyên nhân họ ln nghĩ bẫy đánh lừa người dùng hay lách luật mà tổ chức chống thư rác quy ước Như giải pháp ngăn chặn thư rác hiệu dùng lâu dài? Một phương pháp tốt để người dùng thư điện tử ngăn chặn thư rác, họ hiểu vấn đề cách tường minh Chúng ta dùng cảm nhận thư rác người để huấn luyện cho lọc thư rác họ Mỗi lọc xử lý thư rác tùy theo phong cách người dùng thư điện tử Và mơ hình thống kê Bayes áp dụng để thực thi ý tưởng Từ đặc điểm trên, ta thấy việc xây dựng lọc thư rác thơng minh loại bỏ cách xác nhiệm vụ nhiều thách thức Bài tốn Thư điện tử phương tiện để giao tiếp đáng tin cậy không tốn chi phí sử dụng Phạm vi sử dụng rộng khắp tồn giới dễ dàng truy cập hầu hết phương tiện truyền thông biến thành nạn nhân kẻ spam Hậu đơn giản làm tốn băng thông mạng nghiêm trọng làm thời gian 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ó đến 60% thư điện tử thư rác ngày người dung thư điện tử phải nhận cú spam Chúng ta khơng thể đổi địa hòm thư lần bị spam điều không hạn chế thư rác mà có làm cho gia tăng Vậy cần phải tìm giải pháp chống thư rác sử dụng lọc gắn thuật toán phân loại với tính hiệu kĩ thuật đơn giản dễ cài đặt Và NHÓM 26 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG u cầu khơng thể thiếu có với thuật tốn kẻ spam hiểu việc chúng cố tình spam vơ dụng Tiền xử lý thư điện tử Bộ lọc cá nhân tích hợp vào địa hòm thư người dùng Nó ln ln trạng thái chờ thư đến để xử lý Một thư gửi đến địa người dùng thư phải phân loại có thư rác hay khơng Nếu thư rác bị ném vào thư mục ‘sọt rác’ ngược lại cho vào thư mục ‘thư đến’ chờ người dùng duyệt Để có kết quả q trình kiểm duyệt nghiêm ngặt kết hợp nhiều công đoạn đánh giá địa người gửi, thư gửi đến từ IP, DNS có nằm blacklist tổ chức chống thư rác quốc tế hay không, hay đơn giản xem thư có sai với định dạng thư thơng thường hay khơng (ví dụ tiêu đề thư nhiều dấu than, dấu hỏi, hay viết hoa tồn bộ, màu sắc nhòe nhoẹt,… Qua bước sàng lọc bắt đầu tiền xử lý cho lọc Bayes Với thư quét toàn văn bao gồm header mã nhúng HTML kể javascript thông điệp Hiện đánh giá kí tự gồm chữ số, nét gạch, dấu than dấu $ vào thẻ, lại cho vào thẻ riêng biệt Bỏ qua thẻ mà chứa chữ số bỏ qua đoạn comment HTML, tách thẻ khơng cần đánh giá Như sau bước thư ứng với tập hợp chứa thẻ riêng biệt Dùng luật Bayes tính xác suất Tính xác suất cho 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ừ thường xuyên gặp thư điện tử mời chào dịch vụ maketing Cơng thức tính theo luật Bayes: Trong đó: NHĨM 27 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG - Pr(S|W) xác suất mà thư mà chứa từ ‘promotion’ thư rác - Pr(S) xác suất mà thư thư rác - P(W|S) xác suất mà từ "promotion" xuất thư rác - Pr(H) xác suất mà tin khơng thư rác - P(W|H) xác suất mà từ "promotion" xuất thư rác Như nói trên, thống kê gần cho thấy 80% thư điện tử thư rác nên ta có: Tuy nhiên đơn giản qua thực tế nên người ta chọn xác suất trước giống có giá trị 0.5 Tức là: Bộ lọc mà dùng giả thiết gọi "khơng đối xứng", có nghĩa chúng khơng có đối xử phân biệt thư đến Giả thiết cho phép rút gọn công thức thành: Bộ lọc thư rác Bayesspam vận dụng xác cơng thức để tính xác suất cho từ đơn Sau tính xác suất thư chứa từ đơn thư rác ta cần kết hợp xác suất đơn lại thành xác suất cuối Xác suất dùng để đánh giá thư mà chứa tất từ đơn có xác suất thư rác Cơng thức tính xác suất kết hợp là: Trong đó: - p xác suất thư xét thư rác - p1là xác suất p(S|W1), ứng với từ (ví dụ từ "promotion") - p2 xác suất p(S|W2) , ứng với từ thứ hai (ví dụ từ "offer") - pN xác suất p(S|WN) , ứng với từ thứ N (ví dụ từ "home") 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 Nếu p lớn giá NHĨM 28 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG trị 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 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ư Đếm 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 đây: Trong đó: - Ngood ứng với số thư thư rác - Nbad ứ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 thư rác, tăng độ xác việc phân loại Tiếp theo NHĨM 29 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG thẻ ta lấy từ bảng bad, bảng băm thẻ tập thư rác Như 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 thư rác Nếu 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 Lọc thư Khi thư đến, phải trải qua vài công đoạn xử lý phân loại trước vào hộp thư người dùng Tại lại thế? Nó cần phải đánh giá có thư rác hay không Lọt qua bước tiền xử lý lọc thơ, người ta lọc đến nội dung có phải thư rác khơng cách nội dung text quét vào thẻ, thường mười lăm thẻ quan tâm nhất, thẻ quan tâm thẻ mà xác suất chúng đạt mức trung bình 0.5, dùng để tính tốn xác suất mà thư có spam hay không Cách vài năm phần cứng máy tính nhiều hạn chế, để tiết kiệm tài ngun tốc độ xử lý thông tin người ta đặt số thẻ tối đa mười lăm để tính xác suất thư thư rác Ngày vấn đề phần cứng dư sức đáp ứng cho ứng dụng lọc thư nên số thẻ khơng bị giới hạn Khi mà số thẻ khơng bị hạn chế tức ta phải tính xác suất kết hợp tất chúng Sẽ có trường hợp thẻ chưa xuất bảng băm xác suất Như phải gán giá trị xác suất cho thẻ đó? Kinh nghiệm cho thấy gán giá trị 0.4 hợp lý Nói khác xác suất ngây thơ Ta tính xác suất kết hợp giá trị xác suất đơn theo cơng thức sau đây: NHĨM 30 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐỒN THỊ THANH HẰNG Đoạn mã vận dụng xác theo cơng thức tính xác suất kết hợp xác suất trình bày mục trên: Kết p sau so sánh với ngưỡng để phân loại xác thư rác nói Như lần có thư đến ta xác định thêm thư thuộc loại để bổ xung vào tập huấn luyện lọc Người ta xếp time để chạy lại trình huấn luyện để cập nhật lại hay nói khác nâng cao tri thức, khả phân loại cho lọc Vì mà lọc qua thời gian sử dụng phân loại xác khiến người dùng phải bất ngờ khả phân loại gần giống với việc người dùng tự phân loại KẾT LUẬN Hệ trợ giúp định đem lại hiệu lớn lao việc chuẩn đoán từ xây dựng lên hệ tự động hóa hoạt động xác Thuật tốn Bayes đem lại hiệu cao mà ứng dụng phổ biến nhiều lĩnh vực NHÓM 31 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG THAM KHẢO [1] Nguyễn Quốc Đại, Lý Thuyết Bayes, mạng Bayes (2009) [2] Nguyễn Thanh Sơn, Lê Khánh Luận; Lý thuyết xác suất thống kê toán; Nxb Thống kê (2008) [3] Wikipedia ; Bayesian Spam Filtering: http://en.wikipedia.org/wiki/Bayesian_spam_filtering [4] Wikipedia ; Sequential Bayesian Filtering: http://en.wikipedia.org/wiki/Sequential_bayesian_filtering [5] https://www.educba.com/naive-bayes-algorithm/ NHÓM 32 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH NHĨM GVHD: ĐỒN THỊ THANH HẰNG 33 LỚP 68DCHT22 ... ĐỊNH……………………………………………… 18 II THUẬT TOÁN BAYES ………………….………………………… 21 II.1 ĐỊNH NGHĨA…………………………………………………………21 II.2 THUẬT TOÁN NAVIE BAYES HOẠT ĐỘNG NHƯ THẾ NÀO 21 II.3 THUẬT TỐN NẠVE BAYES ĐƯỢC SỬ DỤNG ĐỂ... LÀM GÌ 23 II.4 ƯU, NHƯỢC ĐIỂM THUẬT TỐN……………………………… 24 II.5 CÁCH XÂY DỰNG MƠ HÌNH CƠ BẢN BẰNG THUẬT TOÁN NAICE BAYES ………………………………………………………… 24 III ỨNG DỤNG THUẬT TOÁN BAYES …………………………… 26 III.1... lớp mẫu, tổng số lỗi 6% CHƯƠNG II THUẬT TOÁN BAYES NHÓM 20 LỚP 68DCHT22 HỆ TRỢ GIÚP QUYẾT ĐỊNH GVHD: ĐOÀN THỊ THANH HẰNG Định nghĩa Thuật toán Naive Bayes kỹ thuật giúp xây dựng phân loại Trình