Trong bài này, tôi sẽ cùng những bạn tìm hiểu và khám phá về thuật toán cơ bản của giải pháp Supervised Learning ( Học có giám sát ) là thuật toán phân loại Naive Bayes. Bài viết được chia làm hai phần : phần đầu ta sẽ cùng tìm hiểu và khám phá phương pháp hoạt động giải trí của thuật toán Naive Bayes và phần tiếp theo ta sẽ sử dụng thư viện sklearn trên python để viết code thuật toán này và xem xét độ đúng mực cho thuật toán .
Nào cũng mở màn nhé !
Đầu tiên, ta hãy xét một ví dụ sau. Hãy tưởng tượng tất cả chúng ta có hai người bạn là Alice và Bob. Và ta có những thông tin sau. Alice là người tiếp tục sử dụng những từ như : ” love, great, wonderful ” và Bob là người liên tục sử dụng những từ gồm : “ dog, ball wonderful ” .

Vào một ngày đẹp trời nào đó, bạn đột nhiên nhận được một email ẩn danh với nội dung: “I love beach sand. Additionally the sunset at beach offers wonderful view”. Khả năng là một trong hai người là Alice và Bob gửi email. Bạn có thể đoán được là ai với thông tin trên không?

Chính xác là Alice. Ta dựa theo những từ như “ Love ”, ” wonderful ” được sử dụng .
Một trường hợp khác, ta nhận được mail với nội dung là : ” Wonderful Love. “. Bạn sẽ đoán là ai ?
Đó chính là Bob. Nhưng nếu bạn không đoán ra được là ai, thì đừng quá lo ngại, trong trường hợp này, ta sẽ sử dụng Định lý Bayes .
Xác suất sử dụng từ ngữ của Alice và Bob

Định lý Bases

Công thức chỉ ra xác suất của A xảy ra nếu B cũng xảy ra, ta viết là P(A|B). Và nếu ta biết xác suất của B xảy ra khi biết A, ta viết là P(B|A) cũng như xác suất độc lập của A và B.

  • P(A|B) là “xác suất của A khi biết B”
  • P(A) là xác suất xảy ra của A
  • P(B|A) là “xác suất của B khi biết A”
  • P(B) là xác suất xảy ra của B

Ví dụ, P. ( lửa ) là Phần Trăm có lửa, P. ( khói ) là Xác Suất ta nhìn thấy khói. Ta sẽ có những trường hợp sau :
P. ( Lửa | Khói ) có nghĩa là tần suất có lửa khi tất cả chúng ta nhìn thấy khói. P ( Khói | Lửa ) có nghĩa là tất cả chúng ta thường thấy khói khi có lửa .
Công thức sẽ cho tất cả chúng ta biết được điều gì xảy ra tiếp theo nếu ta đã biết một điều .
Ví dụ : Một đám cháy nguy hại là có Phần Trăm là 1 % nhưng khói lại khá thông dụng là 10 % ( từ những nhà máy sản xuất ) và 90 % đám cháy nguy hại tạo ra khói. Vậy ta có :

P (Lửa | Khói) = P (Lửa) P (Khói | Lửa) = 1% x 90% = 9% P (Khói) 10%

Trong trường hợp này, 9% khả năng thấy khói có nghĩa là có một đám cháy nguy hiểm.

Tương tự, bạn cũng hoàn toàn có thể vận dụng với trường hợp của Bob và Alice chứ ?

Phân loại Naive Bayes

Naive Bayes là một thuật toán phân loại cho những yếu tố phân loại nhị phân ( hai lớp ) và đa lớp. Kỹ thuật này dễ hiểu nhất khi được miêu tả bằng những giá trị nguồn vào nhị phân hoặc phân loại .
Thuật toán Naive Bayes tính Tỷ Lệ cho những yếu tố, sau đó chọn tác dụng với Xác Suất cao nhất .

Tuy nhiên, ta cần lưu ý giả định của thuật toán Naive Bayes là các yếu tố đầu vào được cho là độc lập với nhau.

Thuật toán này là một thuật toán can đảm và mạnh mẽ trong những bài toán :

  • Dự đoán với thời gian thực
  • Phân loại Text/ Lọc thư rác
  • Hệ thông Recommendation

Về mặt toán học, ta hoàn toàn có thể viết như sau :
Nếu ta có một Class E và những điểm tài liệu x1, x2, x3, etc .
Đầu tiên ta sẽ phải tính Xác Suất P. ( x1 | E ), P. ( x2 | E ) … ( Tỷ Lệ của x1 thuộc class E xảy ra ) và sau đó ta sẽ chọn class có Tỷ Lệ xảy ra x1 cao nhất .

Trên đây là hàng loạt triết lý về Phân loại Naive Bayes. Trong phần tiếp theo, tôi sẽ ra mắt những bạn cách sử dụng thư viện sklearn trong Python và tiến hành phân loại Naive Bayes để gắn nhãn email thành Spam hoặc không Spam .
Hi vọng bài viết giúp ích cho bạn .
Hãy theo dõi http://139.180.218.5/ để có thêm nhiều bài viết mới nhé .

—–
” Phần 1 : Phân loại Naive Bayes ( Lý thuyết ), ” Trí tuệ tự tạo, Ngày xuất bản : 27/06/2019, URL : http://139.180.218.5/kien-thuc/phan-1-phan-loai-naive-bayes-ly-thuyet/, Ngày truy vấn : 14/05/2022 .
Bạn muốn trích dẫn bài này : —–

  • Details: *

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *