[1] Thuật toán phân lớp Bayes là một trong những thuật toán phân lớp điển hình nhất trong học máy và khai phá dữ liệu. Đây cũng là một trong những thuật toán được sử dụng rộng rãi nhất trong phân lớp văn bản. Trong học máy Bayes thường được coi như thuật toán học máy chuNn (baseline) để so sánh với các thuật toán khác. Phân lớp Naïve Bayes thừa nhận một giả thiết mạnh là các đặc trưng độc lập lẫn nhau. Thêm vào đó, bộ phân lớp xác suất lựa chọn một vài dạng giả định cho phân phối của mỗi đặc trưng trong một lớp.
Ý tưởng chính của thuật toán là tính xác suất hậu nghiệm của sự kiện c xuất hiện khi sự kiện x đã có trong không gian ngữ cảnh τ thông qua tổng hợp các xác suất tiên nghiệm của sự kiện c xuất hiện khi sự kiện x đã có trong tất cả các điều kiện riêng T thuộc không gian τ:
|, = ∑ τ|, | (2.2.2.1)
Trong trường hợp phân lớp văn bản, xét biểu diễn văn bản thông qua tập các từ khóa có trong văn bản đó. Gọi V là tập tất cả các từ vựng. Giả sử có N lớp tài liệu là c1, c2,…, cn. Mỗi lớp ci có xác suất p(ci) và ngưỡng CtgTshi; Gọi p(c|Doc) là xác suất để tài liệu Doc thuộc lớp c hay “xác suất để sự kiện c xuất hiện khi đã có sự kiện Doc”.
Cho một lớp c và một tài liệu Doc, nếu xác suất p(c|Doc) tính được lớn hơn hoặc bằng giá trị ngưỡng CtgTshc của lớp c thì kết luận tài liệu Doc thuộc vào lớp c. Tài liệu Doc được biểu diễn như một vector có kích thước là số từ khóa trong tài liệu. Mỗi thành phần chứa một từ trong tài liệu. Thuật toán được thực hiện trên từng tâp từ vựng V, vector biểu diễn tài liệu Doc và các tài liệu có sẵn trong lớp, tính toán p(c|Doc) và quyết đinh tài liệu Doc sẽ thuộc lớp nào. Xác suất p(c|Doc) được tính theo công thức sau: p(c|Doc) = ∗ ∏ ∈%| ) ( |!"#) ∑(&)*(&) ∗ ∏ ' ∈ %('|) '|!"# (2.2.2.2) Với: p(+,|) = -., |/|. ∑(&)*+ | (2.2.2.3) Trong đó:
• |V| : số lượng các từ khóa có trong từ vựng V.
• Fj : từ khóa thứ j trong từ vựng V.
• TF(Fj | Doc) : tần suất của từ Fj trong tài liệu Doc (bao gồm cả từđồng nghĩa).
• TF(Fj | C) : tần suất của từ Fj trong lớp c (số lần Fj xuất hiện trong tất cả các tài liệu thuộc lớp c).
• p(Fj | c) : xác suất có điều kiện để từ Fj xuất hiện trong tài liệu của lớp c.
Công thức TF(Fi | c) được tính theo ước lượng xác suất Laplace. Sở dĩ có số 1 trên tử số của công thức này để tránh trường hợp tần suất từ Fi trong lớp c bằng 0 khi Fi không xuất hiện trong lớp c.
Để giảm sự phức tạp và thời gian tính toán, để ý rằng, không phải tài liệu Doc đã cho đều chứa tất cả các từ trong tập từ vựng V. Do đó, TF(Fi|Doc) = 0 khi từ Fi thuộc
V nhưng không thuộc tài liệu Doc, nên ta có 0+,|1|2 = 1 . Vậy công thức (2.2.2.2) được viết lại như sau:
p(c|Doc) = () ∗ ∏ ∈!"#0 | 1 0 ,!"#1
∑(&)*(&) ∗ ∏ ' ∈!"#(' | ) ',!"# (2.2.2.4)
Như vậy, trong quá trình phân lớp không dựa vào toàn bộ tập từ vựng mà chỉ dựa vào các từ khóa xuất hiện trong tài liệu Doc.
Xét với bài toán hiện tại khóa luận đang giải quyết là bài toán phân lớp nhị phân, ta chỉ xem xét với hai lớp:
• Positive: Những quan điểm đồng tình với sự kiện, hiện tượng được đưa ra
• Negative: Những quan điểm không đồng tình với sự kiện, hiện tượng được đưa ra
Học máy phân lớp Naïve Bayes được hoạt động theo các bước chính như sau: 1. Mỗi mẫu dữ liệu được biểu diễn bằng một vector đặc trưng n chiều:
Doc = {x1, x2,…, xm} tương ứng với m giá trị của m thuộc tính f1, f2, … fm thuộc tập V.
2. Đưa vào bộ dữ liệu học đã được phân lớp Doctrain (positive và negative) vào học máy. Học máy Bayes sẽ dựa vào tần suất xuất hiện của các đặc trưng trong từng dữ liệu, từđó đưa ra xác suất được phân vào lớp nào ứng với từng đặc trưng. 3. Bài toán phân lớp nhị phân với hai lớp C1 (positive) và C2 (negative). Với một mẫu dữ liệu Doc chưa biết thuộc lớp nào, thuật toán phân lớp sẽ dự đoán Doc thuộc về lớp có xác suất hậu nghiệm cao nhất với điều kiện biết trước Doc. Khi đó, Doc sẽ được phân vào lớp Ci nếu: 4(5|67) > 4(5,|67), trong đó P(c|Doc) được tính toán theo công thức (2.2.2.4)