Tải bản đầy đủ (.docx) (16 trang)

TÌM HIỂU MẠNG BAYES VÀ THUẬT TOÁN BAYES VÀ ỨNG DỤNG BAYES THEOREM TRONG PHÂN LỚP DỮ LIỆU NAIVE BAYES CLASSIFIER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (293.95 KB, 16 trang )

 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
MỤC LỤC
Lời mở đầu 2
Chương I: Tổng quan 3
1. Thuật toán 3
2. Phương pháp giải quyết vấn đề 4
Chương II: Giới thiệu mạng Bayes và thuật toán Bayes 5
1. Mạng Bayes 5
2. Thuật toán 8
Chương III: Ứng dụng Bayes Theorem trong phân lớp dữ liệu (Naïve Bayes Classifier) 14
1. Mục đích chương trình 14
2. Tóm tắt quá trình hoạt động 14
Kết luận 15
Tài liệu tham khảo 16
CH1301115 – Trịnh Nam Việt  Page 1
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
LỜI MỞ ĐẦU
Ước mơ của con người là tạo ra những máy móc có thông minh như con người, có thể xử lí
những công việc của con người với tỉ lệ thành công cao nhất.
Nhưng cũng có những vấn đề phức tạp với những giới hạn không vượt qua được về thời gian và
cả chi phí nên con người luôn tìm kiếm những thuật toán và phương pháp để giải những vấn đề
trên với thời gian, chi phí và độ chính xác chấp nhận được.
1
CH1301115 – Trịnh Nam Việt  Page 2
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
2 CHƯƠNG I: TỔNG QUAN
1. Thuật toán?
Thuật toán , còn gọi là giải thuật, là một tập hợp hữu hạn của các chỉ thị hay phương cách
được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho
trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự
đoán.


Nói cách khác, thuật toán là một bộ các qui tắc hay qui trình cụ thể nhằm giải quyết một
vấn đề trong một số bước hữu hạn, hoặc nhằm cung cấp một kết quả từ một tập hợp của
các dữ kiện đưa vào.
Ví dụ: thuật toán để giải phương trình bậc nhất P(x): ax + b = c, (a, b, c là các số thực),
trong tập hợp các số thực có thể là một bộ các bước sau đây:
Nếu a = 0
b = c thì P(x) có nghiệm bất kì
b ≠ c thì P(c) vô nghiệm
Nếu a ≠ 0
P(x) có duy nhất một nghiệm x = (c - b)/a
Lưu ý
Khi một thuật toán đã hình thành thì ta không xét đến việc chứng minh thuật toán đó mà
chỉ chú trọng đến việc áp dụng các bước theo sự hướng dẫn sẽ có kết quả đúng. Việc
chứng minh tính đầy đủ và tính đúng của các thuật toán phải được tiến hành xong trước
khi có thuật toán. Nói rõ hơn, thuật toán có thể chỉ là việc áp dụng các công thức hay qui
tắc, qui trình đã được công nhận là đúng hay đã được chứng minh về mặt toán học.
2. Phương pháp giải quyết vấn đề
CH1301115 – Trịnh Nam Việt  Page 3
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Vấn đề ? Một khó khăn cần được giải quyết.
Giải quyết vấn đề: là việc tìm ra một giải pháp cho câu hỏi rắc rối, phức tạp, khó hiểu
Máy tính không thể dùng để giải quyết các vấn đề liên quan đến hành động vật lý hoặc
biểu thị cảm xúc. Máy tính chỉ làm được những gì mà nó được bảo phải làm. Máy tính
không thông minh, nó không thể tự phân tích vấn đề và đưa ra giải pháp.
Lập trình viên là người phân tích vấn đề, tạo ra các chỉ dẫn để giải quyết vấn đề (chương
trình), và máy tính sẽ thực hiện các chỉ dẫn đó.
Phương pháp giải quyết vấn đề thông thường: 4 bước
– Bước 1: Hiểu vấn đề: cái gì chưa biết, cái gì là dữ liệu, cái gì là điều kiện
– Bước 2: Đưa ra một phương án: tìm mối quan hệ giữa dữ liệu và những thứ chưa biết,
có thể tham khảo từ cách giải quyết các vấn đề tương tự

– Bước 3: Thực hiện phương án
– Bước 4: Kiểm tra lại lời giải thu được
3
4
5
6
7
8
9
10
11 CHƯƠNG II: GIỚI THIỆU MẠNG BAYES VÀ THUẬT TOÁN BAYES
CH1301115 – Trịnh Nam Việt  Page 4
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
1. Mạng Bayes
a. Định nghĩa
Một mạng Bayes là một đồ thị có hướng phi chu trình mà trong đó:
• các nút biểu diễn các biến,
• các cạnh biểu diễn các quan hệ phụ thuộc thống kê giữa các biến và phân phối xác
suất địa phương cho mỗi giá trị nếu cho trước giá trị của các cha của nó.
Nếu có một cạnh từ nút A tới nút B, thì biến B phụ thuộc trực tiếp vào biến A,
và A được gọi là cha của B. Nếu với mỗi biến X
i
, , tập hợp các biến
cha được ký hiệu bởi parents(X
i
), thì phân phối có điều kiện phụ thuộc của các biến là
tích của các phân phối địa phương
Nếu X
i
không có cha, ta nói rằng phân phối xác suất địa phương của nó là không có

điều kiện, ngược lại thì gọi là có điều kiện. Nếu biến được biểu diễn bởi một nút được
quan sát, thì ta nói rằng nút đó là một chứng cứ (evidence node).
Các câu hỏi về sự phụ thuộc không tương đẳng giữa các biến có thể được trả lời bằng
cách nghiên cứu đồ thị. Có thể chứng minh rằng trong đồ thị, tính độc lập có điều
kiện được biểu diễn bởi tính chất đồ thị d-khả ly: cho trước một số nút hiển nhiên cụ
thể, các nút X và Y là d-khả ly trong đồ thị khi và chỉ khi các biến X và Y là độc lập,
với giá trị đã biết các chứng cứ tương ứng. Tập hợp gồm tất cả các nút khác mà X có
thể phụ thuộc trực tiếp được cho bởi bao Markov của X.
Một ưu điểm của mạng Bayes là, về mặt trực quan, ta có thể hiểu các quan hệ phụ
thuộc một cách trực tiếp và các phân phối địa phương dễ dàng hơn là phân phối có
điều kiện phụ thuộc hoàn chỉnh.
b. Mạng Bayes nhân quả
CH1301115 – Trịnh Nam Việt  Page 5
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Mạng Bayes nhân quả là một mạng Bayes mà trong đó các cạnh có hướng của đồ thị
được hiểu là các quan hệ nhân quả trong một miền xác định có thực nào đó. Các cạnh
có hướng, một cách tổng quát, không nhất thiết phải được hiểu là các quan hệ nhân
quả; tuy nhiên, trong thực tiễn, tri thức về các quan hệ nhân quả rất hay được dùng để
hướng dẫn vẽ các đồ thị mạng Bayes, kết quả là có được các mạng Bayes nhân quả.
c. Học cấu trúc
Trong trường hợp đơn giản nhất, một mạng Bayes được xây dựng bởi một chuyên gia
và rồi được dùng để thực hiện việc suy luận. Trong các ứng dụng khác, công việc xây
dựng mạng quá phức tạp đối với con người. Trong trường hợp này, cấu trúc và các
tham số mạng của các phân bố địa phương phải được học từ dữ liệu.
Học cấu trúc của một mạng Bayes (nghĩa là học đồ thị) là một phần rất quan trọng
của ngành nhận thức máy. Giả thiết rằng dữ liệu được sinh từ một mạng Bayes và
rằng tất cả các biến là quan sát được (chứng cứ) trong mọi lần lặp, việc tối ưu hóa dựa
trên phương pháp tìm kiếm có thể được dùng để tìm cấu trúc mạng. Việc này đòi hỏi
một hàm tính điểm (scoring function) và một chiến lược tìm kiếm. Hàm tính điểm
thông dụng là xác suất hậu nghiệm (posterior probability) của cấu trúc khi cho trước

dữ liệu huấn luyện (training data). Quá trình tìm kiếm duyệt toàn cục để trả về một
cấu trúc có số điểm tối ưu đòi hỏi thời gian cấp siêu lũy thừa (superexponential) theo
số lượng biến. Ngược lại, các chiến lược tìm kiếm địa phương thực hiện các thay đổi
tăng dần hướng tới việc nâng cao điểm số của cấu trúc. Một thuật toán tìm kiếm toàn
cục như Phương pháp xích Markov Monte Carlo (Markov chain Monte Carlo) có thể
tránh việc bị bẫy trong một cực tiểu địa phương.
d. Học Tham số
Để cụ thể hóa mạng Bayes và biểu diễn đầy đủ các phân bố xác suất phụ thuộc có
điều kiện, đối với mỗi biến X, cần phải chỉ ra phân bố xác suất X theo điều kiện thông
tin từ các cha của X. Phân bố của X theo các cha của nó có thể có hình thức bất kỳ.
Người ta thường dùng các phân bố rời rạc hay phân bố Gauss, do các phân bố này
làm đơn giản việc tính toán. Đôi khi, khi chỉ biết được các ràng buộc của các phân bố;
ta có thể dùng nguyên lý entropy cực đại để xác định một phân bố cụ thể, phân bố
với entropy cực đại thỏa mãn các ràng buộc đó. (Tương tự, trong ngữ cảnh cụ thể của
CH1301115 – Trịnh Nam Việt  Page 6
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
một mạng Bayes động, người ta thường lấy phân bố có điều kiện cho sự phát triển
theo thời gian của trạng thái ẩn để cực đại hóa hệ số entropy (entropy rate) của quá
trình ngẫu nhiên được nói đến.)
Thông thường, các phân bố có điều kiện này bao gồm các tham số chưa biết và phải
được ước lượng từ dữ liệu, đôi khi bằng cách tiếp cận khả năng cực đại (maximum
likelihood). Việc cực đại hóa trực tiếp khả năng (hoặc xác suất hậu nghiệm) thường
phức tạp khi có các biến không quan sát được. Một cách tiếp cận truyền thống đối với
vấn đề này là thuật toán cực đại hóa k vọng (expectation-maximization algorithm),
thuật toán này luân phiên giữa việc tính toán các giá trị kỳ vọng của các biến không
được quan sát theo dữ liệu quan sát được, với việc cực đại hóa khả năng (hay hậu
nghiệm) hoàn chỉnh với giả thuyết rằng các giá trị mong đợi đã tính được là đúng
đắn. Dưới các điều kiện chính quy và vừa phải, quá trình này hội tụ về các giá trị khả
năng cực đại (hay xác suất hậu nghiệm cực đại) của các tham số. Một cách tiếp cận
Bayes đầy đủ hơn đối với việc học tham số là coi các tham số như là các biến không

quan sát được khác và tính một phân bố hậu nghiệm đầy đủ trên toàn bộ các nút theo
dữ liệu quan sát được, sau đó tách các tham số ra. Cách tiếp cận này có thể có chi phí
tính toán cao và dẫn đến các mô hình có số chiều lớn, do đó trong thực tế, các cách
tiếp cận truyền thống thường được sử dụng hơn.
e. Suy luận
Do mạng Bayes là một mô hình hoàn chỉnh cho các biến và các quan hệ giữa chúng,
có thể dùng mạng Bayes để trả lời các truy vấn xác suất về các biến này. Ví dụ, mạng
Bayes có thể được dùng để tìm tri thức mới nhất về trạng thái của một tập con gồm
các biến khi các biến khác (các biến hiển nhiên) được quan sát. Quá trình tính phân
bố hậu nghiệm này của các biến khi cho trước các biến hiển nhiên được gọi là suy
luận xác suất. Quá trình hậu nghiệm cho ra một thống kê đủ phổ quát (universal
sufficient statistic) cho các ứng dụng phát hiện, khi người ta muốn chọn các giá trị
cho một tập con các biến nhằm mục đích cực tiểu hóa một hàm phí tổn nào đó, chẳng
hạn xác suất của lỗi quyết định. Do đó, có thể coi mạng Bayes là một cơ chế cho việc
xây dựng tự động các mở rộng của định lý Bayes cho các bài toán phức tạp hơn.
f. Ứng dụng
CH1301115 – Trịnh Nam Việt  Page 7
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Mạng Bayes được dùng cho việc mô hình hóa tri thức trong các mạng điều hòa
gene (gene regulatory network), trong các hệ thống y học, phân tích văn bản, xử lý
ảnh dung hợp dữ liệu, và các hệ hỗ trợ quyết định (decision support system)
2. Thuật toán Bayes
Trong lĩnh vực Khoa học máy tính Bayes Theorem (hay Bayes’ Rule) là kỹ thuật phân
lớp dựa vào việc tính xác suất có điều kiện. Bayes’ Rule được ứng dụng rất rộng rãi bởi
tính dễ hiểu và dễ triển khai.
Bayes' Rule (CT1):
Trong đó:
D : Data
h : Hypothesis (giả thuyết)
P(h) : Xác suất giả thuyết h (tri thức có được về giả thuyết h trước khi có dữ liệu D) và

gọi là prior probability của giả thuyết h.
P(D| h): Xác suất có điều kiện D khi biết giả thuyết h (gọi là likelihood probability).
P(D): xác suất của dữ liệu quan sát D không quan tâm đến bất kỳ giả thuyết h nào.(gọi
làprior probability của dữ liệu D)
Tỷ số : Chỉ số liên quan (irrelevance index) dùng để đo lường sự liên quan giữa
2 biến A và B. Nếu irrelevance index =1, có nghĩa A và B không liên quan nhau.
P(h|D) :Xác suất có điều kiện h khi biết D (gọi là posterior probability của giả thuyết h)
CH1301115 – Trịnh Nam Việt  Page 8
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Trong rất nhiều ứng dụng, các giả thuyết h
i
có thể loại trừ nhau và vì dữ liệu quan sát D
là tập con của tập giả thuyết cho nên chúng ta có thể phân rã P(D) như sau (CT2):
Vì nên (CT1) có thể viết lại như sau (CT3)
Thay P(D) trong (CT2) vào (CT1) ta được (CT4)
(CT4) gọi là Bayes’s Theorem
CHƯƠNG III. ỨNG DỤNG BAYES THEOREM TRONG PHÂN LỚP DỮ LIỆU (NAÏVE
BAYES CLASSIFIER)
1. Mục đích chương trình:
CH1301115 – Trịnh Nam Việt  Page 9
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Ở mục đích thực hiện bài tiểu lận cho môn học nên mục đích chính của chương trình là
chạy thử để kiểm tra việc thực hiện thuật toán có chính xác hay không, là tiền đề cho các
chương trình sau này.
Chương trình sau đây minh họa việc sử dụng Bayes Theorem trong việc phân lớp dữ
liệu. Bộ phân lớp dữ liệu dựa trên Bayes theorem còn gọi là Naïve Bayes Classifier.
2. Tóm tắt quá trình hoạt động:
Có training data về việc là tỉ phú như sau:
CH1301115 – Trịnh Nam Việt  Page 10
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn

Sử dụng Naïve Bayes Classifier để xác định khả năng là tỉ phú với các yếu tố của người
được dự đoán như sau:

Từ Training data ta có dữ liệu như sau:
CH1301115 – Trịnh Nam Việt  Page 11
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Vì thuộc tính phân lớp Tỉ phú chỉ có 2 giá trị là “check” (nghĩa là tỉ phú) và “uncheck” (không
là tỉ phú) nên ta phải tính Pr(check|E) và Pr(uncheck|E) như sau. Trong đó E là dữ liệu cần phân
lớp (dự đoán)


Tỉ lệ dự đoán là tỉ phú
Tỉ lệ dự đoán không là tỉ phú
Khả năng của 2 lớp là:
CH1301115 – Trịnh Nam Việt  Page 12
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
Check = 5/15 * 6/15 * 5/15 * 9/15 = 0.0267
Uncheck = 1/15 * 1/15 * 6/15 * 6/15 = 0.0007
Chuyển đổi thành xác suất bằng cách chuẩn hóa
P(“check”) = 0.0267 / ( 0.0267 + 0.0007) = 0.974
P(“uncheck”) = 0.0007 / / ( 0.0267 + 0.0007) = 0.026
Vì P(“check”) > P(“uncheck”) nên kết quả dự đoán Tỉ phú =“check” ( TRUE )
CH1301115 – Trịnh Nam Việt  Page 13
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
KẾT LUẬN
1. Kết quả đạt được:
Đã tìm hiểu và có thể implement thuật toán Naïve Bayes.
2. Hạn chế
Do hạn chế về thời gian và kiến thức nên bài thu hoạch chỉ mới trình bày sơ
lược về Thuật toán và phương pháp giải quyết vấn đề và thuật toán Bayes.

Ngoài ra do không có các mẫu huấn luyện lớn có ( lấy được từ các CSDL
CH1301115 – Trịnh Nam Việt  Page 14
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
lớn ) nên phần mềm ứng dụng cũng chỉ có 1 vài mẫu huấn luyện nhỏ để kiểm
tra thuật toán
TÀI LIỆU THAM KHẢO
[1] PGS. TS. Đỗ Văn Nhơn , Bài giảng môn học “Thuật toán và phương pháp giải quyết vấn
đề”, Đại học CNTT, 2013.
[2] Dino Isa, V. P. Kallimani , R. Rajkumar , Lam Hong, Lee - Text Document Pre-Processing
Using the Bayes Formula for Classification Based on the Vector Space Model 2008
[3] Tom M. Mitchell. Machine Learning. McGraw-Hill Science/Engineering/Math. 1997.
[4] Georgios Paliouras; Vangelis Karkaletsis; Constantine D. Spyropoulos. Machine Learning
and its application. Advanced Lectures. Springer, 2001.
[5] Một số website thông tin và một số nguồn tài liệu khác trên internet.
CH1301115 – Trịnh Nam Việt  Page 15
 Thuật toán & PP Giải quyết vấn đề PGS.TS Đỗ Văn Nhơn
CH1301115 – Trịnh Nam Việt  Page 16

×