Chia Sẻ

Thuật Toán Phân Loại Naive Bayes Là Gì ? Naive Bayes Là Gì

1. Mô hình phân lớp là gì?

Một mô hình phân lớp là một mô hình Machine Learning dùng để phân loại các vật mẫu dựa trên các đặc tính đã xác định.Bạn đang xem: Naive bayes là gì

2. Mô hình phân lớp Naive Bayes

Naive Bayes là một thuật toán phân lớp được mô hình hoá dựa trên định lý Bayes trong xác suất thống kê:

*

, trong đó:

P(y|X) gọi là posterior probability: xác suất của mục tiêu y với điều kiện có đặc trưng XP(X|y) gọi là likelihood: xác suất của đặc trưng X khi đã biết mục tiêu yP(y) gọi là prior probability của mục tiêu yP(X) gọi là prior probability của đặc trưng X

Ở đây, X là vector các đặc trưng, có thể viết dưới dạng:

*

*

Trong mô hình Naive Bayes, có hai giả thiết được đặt ra:

Các đặc trưng đưa vào mô hình là độc lập với nhau. Tức là sự thay đổi giá trị của một đặc trưng không ảnh hưởng đến các đặc trưng còn lại.Các đặc trưng đưa vào mô hình có ảnh hưởng ngang nhau đối với đầu ra mục tiêu.

Đang xem: Naive bayes là gì

Khi đó, kết quả mục tiêu y để P(y|X) đạt cực đại trở thành:

*

Chính vì hai giả thiết gần như không tồn tại trong thực tế trên, mô hình này mới được gọi là naive (ngây thơ). Tuy nhiên, chính sự đơn giản của nó với việc dự đoán rất nhanh kết quả đầu ra khiến nó được sử dụng rất nhiều trong thực tế trên những bộ dữ liệu lớn, đem lại kết quả khả quan. Một vài ứng dụng của Naive Bayes có thể kể đến như: lọc thư rác, phân loại văn bản, dự đoán sắc thái văn bản, …

XEM THÊM:  Homophobia Là Gì ? Theo Wikipedia, Ghê Sợ Đồng Tính Luyến Ái

3. Một số kiểu mô hình Naive Bayes

3.1. Multinomial Naive Bayes

Mô hình này chủ yếu được sử dụng trong phân loại văn bản. Đặc trưng đầu vào ở đây chính là tần suất xuất hiện của từ trong văn bản đó.

Xem thêm:

3.2. Bernoulli Naive Bayes

3.3. Gaussian Naive Bayes

Khi các đặc trưng nhận giá trị liên tục, ta giả sử các đặc trưng đó có phân phối Gaussian. Khi đó, likelihood sẽ có dạng:

*

4. Ví dụ

Xét một bộ dữ liệu đơn giản về việc đi làm muộn của một bạn nhân viên. Bộ dữ liệu được biểu diễn dạng bảng dưới đây:

Giờ dậy (x1)Sức khoẻ (x2)Thời tiết (x3)Đi muộn (y)
1 Sớm Tốt Nắng Không
2 Sớm Xấu Mưa Không
3 Bình thường Tốt Nắng
4 Muộn Xấu Nắng
5 Sớm Xấu Nhiều mây Không
6 Bình thường Xấu Nhiều mây Không
7 Muộn Tốt Nắng
8 Bình thường Tốt Nắng Không
9 Sớm Xấu Nhiều mây
10 Muộn Tốt Mưa

Bằng việc lập bảng tần suất (frequency table) cho từng đặc trưng theo mục tiêu, có thể tính được likelihood P(X|y).

Giờ dậy (x1)

MuộnKhông muộnP(x1|Muộn)P(x1|Không muộn)
Sớm 1 3 1/5 3/5
Bình thường 1 2 1/5 2/5
Muộn 3 3/5 0/5

Sức khoẻ (x2)

MuộnKhông muộnP(x2|Muộn)P(x2|Không muộn)
Tốt 3 2 3/5 2/5
Xấu 2 3 2/5 3/5

Thời tiết (x3)

MuộnKhông muộnP(x3|Muộn)P(x3|Không muộn)
Nắng 3 2 3/5 2/5
Nhiều mây 1 2 1/5 2/5
Mưa 1 1 1/5 1/5

Giả sử, để dự đoán cho một ngày X=(Muộn, Xấu, Mưa), cần tính:

P(Muộn|X) ∝ P(Muộn|Muộn) * P(Xấu|Muộn) * P(Mưa|Muộn) * P(Muộn) = (3/5) * (2/5) * (1/5) * (5/10) = 0.024

XEM THÊM:  Rpc Là Gì? Các Thức Hoạt Động Của Rpc Là Gì? Các Thức Hoạt Động Của Rpc

P(Không muộn|X) ∝ P(Muộn|Không muộn) * P(Xấu|Không muộn) * P(Mưa|Không muộn) * P(Không muộn) = (0/5) * (3/5) * (1/5) * (5/10) = 0

=> y = argmax{ P(X|y)P(y) } = Muộn.

Xem thêm:

4. Kết luận

Mô hình Naive Bayes là mô hình phân lớp đơn giản dễ cài đặt, có tốc độ xử lý nhanh. Tuy nhiên có nhược điểm lớn là yêu cầu các đặc trưng đầu vào phải độc lập, mà điều này khó xảy ra trong thực tế làm giảm chất lượng của mô hình. Thuật toán này thường được sử dụng trong phân tích sắc thái, lọc thư rác, recommendation systems, …

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button