2 ỨNG DỤNG HỌC MÁY TRONG HỆ GỢI Ý
2.2 Thuật toán Naive Bayes
Naive Bayes [6] là một trong những thuật toán được ứng dụng thành công nhất trong bài toán phân lớp. Ý tưởng cơ bản của cách tiếp cận Naive Bayes là sử dụng xác suất có điều kiện giữa thuộc tính và nhãn lớp để dự đoán xác suất nhãn lớp của một đối tượng cần phân loại. Điểm quan trọng của phương pháp này chính là giả định rằng sự xuất hiện của tất cả các thuộc tính trong đối tượng đều độc lập với nhau.
Phân loại Naive Bayes sử dụng trong trường hợp mỗi đối tượng được cho bằng tập các thuộc tính < x1, x2, ..., xn > và cần xác định nhãn phân loại y, y có thể nhận giá trị từ một tập hữu hạnC.Trong giai đoạn huấn luyện, dữ liệu huấn luyện được cung cấp dưới dạng các mẫu < xi, yi >. Sau khi huấn luyện xong, bộ phân loại cần dự đoán nhãn cho mẫu mới x.
Theo lý thuyết Bayes, nhãn phân loại được xác định bằng cách tính xác suất điều kiện của nhãn khi quan sát thấy tổ hợp giá trị thuộc tính < x1, x2, ..., xn>. Nhãn lớp được chọn, ký hiệuCM AP là nhãn có xác suất điều kiện cao nhất (M AP
là viết tắt của maximum a posterior), tức là:
y=CM AP =argmaxcj∈CP(cj|x1, x2, . . . , xn) (2.1)
Sử dụng quy tắc Bayes, biểu thức (1) được viết lại như sau:
CM AP =argmaxcj∈CP (x1, x2, . . . , xn|cj)P(cj)
Hai thành phần trong biểu thức trên được tính từ dữ liệu huấn luyện. Giá trị
Pcj được tính bằng tần suất quan sát thấy nhãn cj trên tập huấn luyện, tức là bằng số mẫu có nhãn là cj chia cho tổng số mẫu. Việc tínhP(x1, x2, ..., xn|cj)khó khăn hơn nhiều.
Để giải quyết vấn đề trên ta giả sử các thuộc tính là độc lập về xác suất với nhau khi biết nhãn phân loại cj. Trên thực tế các thuộc tính thường không độc lập với nhau. Chính vì dựa trên giả thiết độc lập xác suất đơn giản như vậy nên phương pháp có tên gọi là “Bayes đơn giản – Na¨ıve Bayes”.
Với giả thiết về tính độc lập xác suất có điều kiện có thể viết:
P(x1, x2, . . . , xn|cj) = P(x1|cj)P (x2|cj). . . P(xn|cj) (2.3)
Tức là xác suất đồng thời quan sát thấy các thuộc tính bằng tích xác suất điều kiện của từng thuộc tính riêng lẻ. Thay vào biểu thức (2), ta được bộ phân loại Naive Bayes (có đầu ra ký hiệu là CN aiveBayes như sau):
CN aiveBayes =argmaxcj∈CP (cj)Y
i(xi|cj) (2.4) Trong đóP(xi|cj)được tính từ dữ liệu huấn luyện bằng số lầnxi xuất hiện cùng với cj chia cho số lần xi xuất hiện. Việc tính xác suất này đòi hỏi ít dữ liệu hơn nhiều so với tính P(x1, x2, ..., xn|cj). Quá trình học Bayes đơn giản là quá trình tính các xác suấtP(cj)và các xác suất điều kiện P(xi|cj)bằng cách đếm trên tập dữ liệu.