Naive bayes classifier 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:

Khi đó, đẳng thức Bayes trở thành:

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.

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, ...

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 đó.

3.2. Bernoulli Naive Bayes

Mô hình này được sử dụng khi các đặc trưng đầu vào chỉ nhận giá trị nhị phân 0 hoặc 1 [phân bố Bernoulli].

Xem thêm: Tiểu Sử Nghệ Sĩ Tài Linh Bao Nhiêu Tuổi, Vũ Linh [Nghệ Sĩ Cải Lương]

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]
1SớmTốtNắngKhông
2SớmXấuMưaKhông
3Bình thườngTốtNắng
4MuộnXấuNắng
5SớmXấuNhiều mâyKhông
6Bình thườngXấuNhiều mâyKhông
7MuộnTốtNắng
8Bình thườngTốtNắngKhông
9SớmXấuNhiều mây
10MuộnTốtMư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ớm131/53/5
Bình thường121/52/5
Muộn303/50/5

Sức khoẻ [x2]

MuộnKhông muộnP[x2|Muộn]P[x2|Không muộn]
Tốt323/52/5
Xấu232/53/5

Thời tiết [x3]

MuộnKhông muộnP[x3|Muộn]P[x3|Không muộn]
Nắng323/52/5
Nhiều mây121/52/5
Mưa111/51/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

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.

Vì vậy, nếu anh chàng nhân viên thấy báo thức reo rồi mà còn cố ngủ thêm 15 phút, lúc dậy thân thể uể oải, nhìn ra ngoài trời thấy đang mưa, thì khả năng rất cao là hôm nay sẽ bị trừ lương.

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, ...

Tài liệu tham khảo

Thuật toán phân loại Naive Bayes và ứng dụng

Naive Bayes Classification [NBC] – thuật toán phân loại Naive Bayes - là một thuật toán dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các phán đoán cũng như phân loại dữ liệu dựa trên các dữ liệu được quan sát và thống kê, được ứng dụng rất nhiều trong các lĩnh vực Machine learning dùng để đưa các dự đoán có độ chính xác cao, dựa trên một tập dữ liệu đã được thu thập. NBC thuộc vào nhóm học máy có giám sát.

Định lý Bayes
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sự kiện liên quan B đã xảy ra. Xác suất này được ký hiệu là P[A|B], và đọc là “xác suất của A nếu có B”. Đại lượng này được gọi xác suất có điều kiện hay xác suất hậu nghiệm vì nó được rút ra từ giá trị được cho của B hoặc phụ thuộc vào giá trị đó.


Hình 1. Định lý Bayes

Theo định lí Bayes, P[A|B] sẽ phụ thuộc vào 3 yếu tố: - Xác suất xảy ra A của riêng nó, không quan tâm đến B. Kí hiệu là P[A]. - Xác suất xảy ra B của riêng nó, không quan tâm đến A. Kí hiệu là P[B]. - Xác suất xảy ra B khi biết A xảy ra. Kí hiệu là P[B|A]. Đại lượng này gọi là khả năng [likelihood] xảy ra B khi biết A đã xảy ra. Ở trên ta có thể thấy xác suất xảy ra của sự kiện A phụ thuộc và xác suất của sự kiện B, nhưng trong thực tế xác suất A có thể phụ thuộc vào xác suất của nhiều các giác thuyết khác có thể là B1, B2, B3 … Bn. Vậy định luật Bayes có thể được mở rộng bằng công thức sau:



Hình 2. Định lý Bayes mở rộng

Trên thực tế thì ít khi tìm được dữ liệu mà các thành phần là hoàn toàn độc lập với nhau. Tuy nhiên giả thiết này giúp cách tính toán trở nên đơn giản, training data nhanh, đem lại hiệu quả bất ngờ với các lớp bài toán nhất định.
Ứng dụng của thuật toán Naïve Bayes
Thuật toán Naive Bayes Classification được áp dụng vào các loại ứng dụng sau
- Real time Prediction: NBC chạy khá nhanh nên nó thích hợp áp dụng ứng dụng nhiều vào các ứng dụng chạy thời gian thực, như hệ thống cảnh báo phát hiện sự cố...
- Multi class Prediction: Nhờ vào định lý Bayes mở rộng ta có thể ứng dụng vào các loại ứng dụng đa dự đoán, tức là ứng dụng có thể dự đoán nhiều giả thuyết mục tiêu.
- Text classification/ Spam Filtering/ Sentiment Analysis: NBC cũng rất thích hợp cho các hệ thống phân loại văn bản hay ngôn ngữ tự nhiên vì tính chính xác của nó lớn hơn các thuật toán khác. Ngoài ra các hệ thống chống thư rác cũng rất ưu chuộng thuật toán này. Và các hệ thống phân tích tâm lý thị trường cũng áp dụng NBC để tiến hành phân tích tâm lý người dùng ưu chuộng hay không ưu chuộng các loại sản phẩm nào từ việc phân tích các thói quen và hành động của khách hàng.
- Recommendation System: Naive Bayes Classifier được sử dụng rất nhiều để xây dựng hệ thống gợi ý.

Chỉnh sửa lần cuối: 25/06/2020

Cái này áp dụng vào đổ xí ngầu đc ko ta

Video liên quan

Chủ Đề