1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thuyết trình KHAI PHÁ DỮ LIỆU – DATA MINING Naïve Bayes and Bayesian belief networks

15 1,7K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 877,74 KB

Nội dung

Mô hình phân loại Bayes có thể dự đoán xác suất thành phần của lớp, chẳng hạn như xác suất mà một mẫu nhất định thuộc về một lớp đặc biệt.. Chúng ta giả định H là một tập các giả định nh

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP Hồ Chí Minh

Khoa Khoa Học & Kỹ Thuật Máy Tính

KHAI PHÁ DỮ LIỆU – DATA MINING

Bài tập lớn

Nạve Bayes and Bayesian belief networks

Giảng viên

TS VÕ THỊ NGỌC CHÂU

Group 2

Nguyễn Chí Thanh 7140837

Trang 2

Mục lục

1 Giới thiệu 1

2 Lý thuyết Bayes 1

2.1 Naive Bayes Classifier 2

2.2 Laplacian Correction 3

3 Mạng Bayes 5

3.1 Giới thiệu 5

3.2 Huấn luyện Mạng Bayes 6

4 Ứng dụng Bayes Theorem trong việc phân lớp dữ liệu 8

Tài liệu tham khảo 13

Trang 3

1 Giới thiệu

Phân loại Bayes là phân loại mẫu theo mô hình thống kê Mô hình phân loại Bayes có thể dự đoán xác suất thành phần của lớp, chẳng hạn như xác suất

mà một mẫu nhất định thuộc về một lớp đặc biệt

Phân loại Bayes dựa trên định lý Bayes Phân loại Bayes ngây thơ (Naive Bayesian) giả định rằng tác động của một giá trị thuộc tính trên một lớp nhất định là độc lập với các giá trị của các thuộc tính khác Giả định này được gọi

là lớp có điều kiện độc lập Nó được thực hiện để đơn giản hóa việc tính toán

có liên quan và theo nghĩa này, được coi là "ngây thơ"

2 Lý thuyết Bayes

Giả sử chúng ta có một mẫu X bao gồm một tập n các thuộc tính {x1,x2,x3, ,xn) Trong lý thuyết xác xuất Bayes, X được gọi là một biến cố Chúng ta giả định H là một tập các giả định như là giá trị X sẽ được phân loại vào lớp C Trong bài toán về phân loại dữ liệu bằng cách áp dụng lý thuyết Bayes là chúng ta cần tìm ra giá trị P(H|X) - xác suất có điều kiện của H khi xẩy ra biến cố X Nói một cách khác chúng ta tìm ra xác xuất biến X thuộc tập

C, khi chúng ta đã biết các thuộc tính của X

P(H|X) là xác suất có điều kiện của H khi xẩy ra biến cố X

Ví dụ: giả sử tập dữ liệu mẫu gồm có các thuộc tính tuổi và thu nhập, và một mẫu X có tuổi là 35 tuổi và thu nhập là 40,000$ Gọi H là giả thuyết khách hàng sẽ mua một máy tính Như vậy P(H|X) là xác xuất của mua máy tính của một khách hàng khi đã biết được tuổi và thu nhập

Ngược lại P(H) là xác xuất xẩy ra biến cố H Trong ví dụ này thì P(H) là xác suất khách hàng sẽ mua máy tính mà không phụ thuộc vào các yếu tố khác (như tuổi, thu nhập, hay bất kì thuộc tính nào khác) Trong khi đó xác suất P(H|X) thì phụ thuộc vào nhiều yếu tố khác của khách hàng (tuổi, thu nhập), còn P(H) thì hoàn toàn độc lập với biến cố X

Trang 4

P(X) là xác xuất xẩy ra biến cố X Trong ví dụ của chúng ta thì đó là xác suất một người nào đó trong tập dữ liệu của chúng ta có độ tuổi là 35 tuổi và thu nhập là 40,000$

Theo lý thuyết Bayes thì để tính xác xuất của P(H|X) có thể được tính thông qua P(H), P(X) và P(X|H) theo công thức sau:

𝑃(𝐻|𝑋) = P(X|H) 𝑃(𝐻)

P(X)

và các xác suất này có thể tính dựa vào tập mẫu dữ liệu

2.1 Naive Bayes Classifier

Phân loại Bayes “ngây thơ” được phát biểu như sau:

a Giả sử T là tập dữ liệu mẫu và các phần tử được gán nhãn tương ứng Giả

sử chúng ta có k phân loại (class) là C1, C2, , Ck Mỗi phần tử được biểu diễn bởi 1 vector đặc trưng gồm n chiều, X ={x1,x2, ,xn} để miêu tả tương ứng với

n thuộc tính tương ứng A1,A2,…An

b Cho một mẫu X, việc phân loại X vào nhãn nào trong tập C1,C2, ,Cn bằng cách tìm ra giá trị lớn nhất của xác suất có điều kiện của lớp nào khi biết trước sự kiện X Hay X thuộc vào lớp Ci nếu và chỉ nếu

𝑃(𝐶𝑖|𝑋) > 𝑃(𝐶𝑗|𝑋) 𝑣ớ𝑖 1 ≤ 𝑗 ≤ 𝑚, 𝑗 ≠ 𝑖

Vì vậy chúng ta chỉ cần tìm ra Ci mà có giá trị P(Ci|X) là lớn nhất Và lớp

Ci mà có giá trị P(Ci|X) lớn nhất được gọi là xác suất hậu nghiệm tối đa Theo

lý thuyết Bayes thì

𝑃(𝐶𝑖|𝑋) = P(X|Ci) 𝑃(𝐶𝑖)

P(X)

c Trong đó P(X) được tính như nhau cho tất cả các lớp, vì thế chúng ta chỉ cần tính P(X|Ci) P(Ci) lớn nhất Nếu xác xuất của các lớp là xác xuất tiên nghiệm P(Ci) là không biết , thường thì chúng ta sẽ giả định rằng xác xuất của các lớp P(Ci) là như nhau Vì thế P(C1) = P(C2)=…=P(Ck) Vì thế chúng ta chỉ cần tìm tối đa của P(X|Ci) Còn nếu không chúng ta cần phải tính

Trang 5

P(X|Ci)P(Ci) Thơng thường chúng ta tính P(Ci) dựa vào tần suất xuất hiện của

Ci trong tập mẫu T, P(Ci) = freq(Ci,T)/|T|

d Với một tập dữ liệu gồm nhiều thuộc tính, chúng ta thường tốn rất nhiều thời gian để tính tốn xác suất P(X|Ci) Chính vì thế trong mơ hình Nạve Bayes chúng ta sẽ giả định rằng các thuộc tính này sẽ độc lập với nhau Như vậy thì xác xuất của P(X|Ci) sẽ được tính như sau:

trong đĩ xác suất của P(x1|Ci), P(x2|Ci),…, P(xn|Ci) cĩ thể dễ dàng tính được dựa vào tập huấn luyện Vì xk là giá trị của thuộc tính Ak của X

+ Nếu Ak là giá trị rời rạc, P(xk|Ci) là số lượng phần tử của lớp Ci cĩ thuộc tính Ak cĩ giá trị là xk chia cho số lượng phần tử của Ci, freq(Ci,T)

+ Nếu Ak là giá trị liên tục, thơng thường chúng ta sẽ giả định rằng giá trị này sẽ tuân theo phân bố Gaussian với giá trị trung bình µ và độ lệch chuẩn là

σ được tính như sau

Vì vậy giá trị của P(xk|Ci) được tính:

Chúng ta cần tính giá trị giá trị trung bình và độ lệch chuẩn của tập giá trị thuộc tính Ak của tập mẫu Ci

e Để cĩ thể tìm và gán nhãn cho một mẫu X, chúng ta cần tính P(X|Ci)P(Ci) cho từng lớp Ci Quá trình phân lớp cho mẫu X vào lớp Ci nếu và chỉ nếu lớp

đĩ cĩ giá trị P(X|Ci)P(Ci) là lớn nhất

2.2 Laplacian Correction

Theo cơng thức tính xác suất của P(X|Ci):

Trang 6

dựa theo giả định rằng các thuộc tính là độc lập Từ công thức tính này chúng

ta thấy rằng nếu trong một lớp Ci nào đó mà X có thuộc tính xk mà không có một mẫu nào trong lớp Ci có giá trị đó Trường hợp này thì P(xk|Ci) = 0 điều này sẽ dẫn đến P(X|Ci) = 0 mặc cho giá trị của P(xt|Ci) của các thuộc tính còn lại có thể là rất lớn Vì thế Laplacion Correction là một cách thức để giải quyết vấn đề xác suất bằng 0 này

Laplace correction giả định rằng tập dữ liệu mẫu của chúng ta đủ lớn để có thể thêm 1 vào cho mỗi giá trị đếm như thế chúng ta có thể tạo ra một xác suất khác 0 cho các thuộc tính Nếu chúng ta có q lần đếm thì chúng ta cần phải cộng q vào mẫu số trong lúc tính xác suất của P(xk|Ci)

Một cách tổng quát hơn chúng ta có thể dung phương pháp z-estimation theo công thức

Trang 7

3 Mạng Bayes

3.1 Giới thiệu

Bayesian Belief Networks (BBNs) còn gọi là Bayesian Networks (BNs) hay Belief Networks (BNs) được phát triển đầu tiên vào cuối những năm 1970s

ở Đại học Stanford [1] BBN là mô hình đồ thị (graphical model) thể hiện mối quan hệ nhân – quả (cause – effect) giữa các biến BBNs chủ yếu dựa trên lý thuyết xác suất có điều kiện hay còn gọi là lý thuyết Bayes (Bayesian theory, hay Bayes’ theory) Chính vì thế, kỹ thuật này có tên gọi là Bayesian Belief Networks (BBNs) BBNs còn là một dạng của biểu đồ ảnh hưởng (influence diagram), kết hợp hài hòa giữa lý thuyết xác suất và lý thuyết đồ thị để giải quyết hai vấn đề quan trọng: tính không chắc chắn và tính phức tạp, được ứng dụng rộng rãi trong toán học và kỹ thuật

Trained Bayesian belief networks được sử dụng trong phân lớp dữ liệu Một Belief Networks được xác định bởi hai thành phần: Đồ thị có hướng, không tuần hoàn và một bảng tập hợp các xác suất có điều kiện (CPT) Mỗi nút trong đồ thị đại diện cho một biến ngẫu nhiên Các biến có thể là giá trị rời rạc hoặc giá trị liên tục BBNs là mô hình trực tiếp mà mỗi biến được đại diện bởi một nút (node), mối quan hệ nhân quả giữa hai biến đó được biểu thị bằng mũi tên được gọi “edge” Mũi tên hướng từ nút nguyên nhân “parent node” đến nút kết quả “child node”

Hình 3.1: Ví dụ về Mạng Bayes

Trang 8

3.2 Huấn luyện Mạng Bayes

Trong việc huấn luyện mạng Bayes, một số kịch bản có thể xảy ra Các cấu trúc liên kết có thể được cho biết trước hoặc suy ra từ dữ liệu Các biến có thể quan sát được hoặc ẩn trong tất cả hoặc một số các bộ dữ liệu huấn luyện Trường hợp dữ liệu ẩn cũng được gọi là giá trị còn thiếu hoặc không đầy đủ dữ liệu

Nếu biết trước cấu trúc liên kết mạng và quan sát được các biến, thì khi đó việc huấn luyện mạng sẽ đơn giản hơn

Chúng tôi sẽ trình bày phương pháp :

Cho D là một tập huấn luyện của các tập dữ liệu: 𝑋1, 𝑋2, , 𝑋|𝐷| Huấn luyện mạng Bayes có nghĩa là chúng ta phải tìm hiểu các giá trị của các conditional probability table (CPT) Giả sử 𝑤𝑖𝑗𝑘 là một CPT cho biến 𝑌𝑖 = 𝑦𝑖𝑗

có “parent” là 𝑈𝑖 = 𝑈𝑖𝑘 , ta có 𝑤𝑖𝑗𝑘 ≡ P ( 𝑌𝑖 = 𝑦𝑖𝑗| 𝑈𝑖 = 𝑈𝑖𝑘 ) Ví dụ, nếu 𝑤𝑖𝑗𝑘 là CPT trên hình 1.1 (b), ta có 𝑌𝑖 là LungCancer; 𝑦𝑖𝑗 là giá trị của nó, "Yes";

𝑈𝑖 liệt kê các nút cha của 𝑌𝑖, cụ thể là, {FamilyHistory, Smoker}; và 𝑈𝑖𝑘 liệt kê các giá trị của các nút “parents”, cụ thể là, {"yes", "yes"} Các 𝑤𝑖𝑗𝑘 được xem như trọng số Tập các trọng số được gọi chung là W

Một chiến lược “descent gradient” được sử dụng để tìm kiếm các giá trị

𝑤𝑖𝑗𝑘 , dựa trên giả định rằng mỗi thiết lập có thể có của 𝑤𝑖𝑗𝑘 là đều có khả năng,

và được lặp lại nhiều lần Chúng tôi muốn tìm tập các của trọng số, W Để bắt đầu, các trọng số được khởi tạo giá trị xác suất ngẫu nhiên

Các phương pháp Gradient descent thực hiện “greedy hill-climbing” trong

nó Các trọng số được cập nhật tại mỗi lần lặp Cuối cùng, chúng hội tụ về một giải pháp tối ưu

Chúng tôi tối đa hóa 𝑃𝑤(D) = ∏|𝐷|𝑑=1𝑃𝑤(𝑋𝑑) Điều này có thể được thực hiện bằng cách làm theo các gradient của ln𝑃𝑤(S), sẽ làm cho các vấn đề đơn giản

Trang 9

hơn Với cấu trúc liên kết mạng và khởi tạo 𝑤𝑖𝑗𝑘 , thuật toán được thực hiện như sau:

Tính toán gradient: Đối với mỗi i, j, k, tính toán

𝜕ln𝑃𝑤(D)

𝜕𝑤𝑖𝑗𝑘 = ∑ P ( 𝑌𝑖 = 𝑦𝑖𝑗, 𝑈𝑖 = 𝑈𝑖𝑘 |𝑋𝑑)

𝑤𝑖𝑗𝑘

|𝐷|

Xác suất ở phía bên phải của phương trình được tính cho mỗi tuple huấn luyện, 𝑋𝑑, trong D Để ngắn gọn, chúng ta gọi xác suất này là P Khi các biến đại diện bởi 𝑌𝑖 và 𝑈𝑖 được ẩn đối với một số 𝑋𝑑, khi đó xác suất tương ứng p

có thể được tính toán từ các biến quan sát của tuple bằng cách sử dụng các thuật toán chuẩn cho việc suy luận mạng Bayes, chẳng hạn như phần mềm thương mại Hugin

Take a small step in the direction of the gradient: Các trọng số được cập nhập bởi

𝑤𝑖𝑗𝑘 ← 𝑤𝑖𝑗𝑘 + (𝑙) 𝜕ln𝑃𝑤 (D)

𝜕𝑤𝑖𝑗𝑘 (1.2)

nơi 𝑙 là learning rate biểu diễn các step size và 𝜕ln𝑃𝑤 (D)

𝜕𝑤𝑖𝑗𝑘 được tính từ phương trình (1.1)

Renormalize the weights: Bởi vì các trọng 𝑤𝑖𝑗𝑘 là những giá trị xác suất, giá trị của chúng phải nằm giữa 0.0 và 1.0, và Σ𝑗𝑤𝑖𝑗𝑘 phải bằng 1 với mọi i, k Các tiêu chí này đạt được bằng cách chuẩn hóa lại trọng số sau khi họ đã được cập nhật bởi phương trình (1.2)

Trang 10

4 Ứng dụng Bayes Theorem trong việc phân lớp dữ liệu

Để phân lớp một đối tượng cĩ nhiều phương pháp như bộ phân lớp dựa trên định lý Bayes, mạng neural, phương pháp k láng giềng gần nhất, cây quyết định, thuật tốn di truyền…

Bộ phân lớp dữ liệu dựa trên định lý Bayes (Bayes theorem) cịn gọi là Nạve Bayes Classifier

Mục đích: để dự đốn những nhãn phân lớp cho các bộ dữ liệu /mẫu mới Đặc điểm:

- Học theo xác suất: tính các xác suất rõ ràng cho các giả thiết, là một trong những hướng thiết thực cho một số vấn đề thuộc loại học;

- Cĩ tăng trưởng: mỗi mẫu huấn luyện cĩ thể tăng/giảm dần khả năng đúng của một giả thiết, tri thức ưu tiên cĩ thể kết hợp với dữ liệu quan sát;

- Dự đốn theo xác suất: dự đốn nhiều giả thiết, trọng số cho bởi khả năng xảy ra của chúng;

- Chuẩn: phương pháp Bayes cung cấp một chuẩn để tạo quyết định tối ưu

so với những phương pháp khác

Đầu vào: một tập các mẫu dữ liệu huấn luyện, với một nhãn phân lớp cho mỗi mẫu dữ liệu

Đầu ra: mơ hình (bộ phân lớp) dựa trên tập huấn luyện và những nhãn phân lớp

Một số ứng dụng phân lớp tiêu biểu: trong tín dụng, tiếp thị, chẩn đốn y khoa, phân tích hiệu quả điều trị…

2 bước của tiến trình phân lớp:

Bước 1: xây dựng mơ hình từ tập huấn luyện

- Mỗi bộ / mẫu dữ liệu được phân vào một lớp được xác định trước

- Lớp của một bộ / mẫu dữ liệu được xác định bởi thuộc tính gán nhãn lớp

Trang 11

- Tập các bộ / mẫu dữ liệu huấn luyện – tập huấn luyện – được dùng để xây dựng mô hình

- Mô hình được biểu diễn bởi các luật phân lớp, cây quyết định hoặc các công thức toán học

Bước 2: Sử dụng mô hình – kiểm tra tính đúng đắn của mô hình và dùng

nó để phân lớp dữ liệu mới

- Phân lớp cho những đối tượng mới hoặc chưa được phân lớp

- Đánh giá độ chính xác của mô hình:

+ Lớp biết trước của một mẫu/ bộ dữ liệu đem kiểm tra được so sánh với kết quả thu được từ mô hình

+ Tỉ lệ chính xác = % các mẫu/ bộ dữ liệu được phân lớp đúng bởi mô hình trong số các lần kiểm tra

Trang 12

Phân lớp dữ liệu Nạve Bayesian cĩ những giả định, đặc điểm sau:

- Các thuộc tính là độc lập: làm cho cĩ thể tính tốn; cho ra bộ phân lớp tối

ưu khi thỏa yêu cầu; thực tế thì các biến (thuộc tính) thường cĩ liên quan với nhau nên yêu cầu ít khi được thỏa

- Nếu thuộc tính thứ i là rời rạc: P(xi|C) được ước lượng bởi tần số liên quan của các mẫu cĩ giá trị xi cho thuộc tính thứ i trong lớp C

- Nếu thuộc tính thứ i là liên tục: P(xi|C) được ước lượng thơng qua hàm mật độ Gaussian

Bộ phân lớp dữ liệu Nạve Bayes Classifier dựa trên ý tưởng gán cho mẫu

X nhãn phân lớp là C sao cho P(C | X) là lớn nhất hay khả năng xảy ra là cao nhất dựa trên xác suất

Ví dụ sau minh họa cho việc phân lớp dữ liệu bằng phương pháp Nạve Bayes Classifier: Cho tập dữ liệu chơi tennis như sau (Tập huấn luyện trích từ Quinlan’s ID3)

Trang 13

Thời

tiết

Nhiệt

độ

Độ

Ước lượng P(xi|C)

P(nắng | p) =

2/9

P(nắng | n) = 3/5

P(cao | p) = 3/9

P(cao | n) = 4/5

P(u ám | p) =

4/9

P(u ám | n) = 0 P(vừa | p) =

6/9

P(vừa | n) = 1/5

P(mưa | p) =

3/9

P(mưa | n) = 2/5

P(nóng | p) =

2/9

P(nóng | n) = 2/5

P(có | p) = 3/9 P(có | n) = 3/5

P(ấm áp | p) =

4/9

P(ấm áp | n) = 2/5

P(không | p) = 6/9

P(không | n) = 2/5

P(mát | p) =

3/9

P(mát | n) = 1/5

Cho mẫu X = <mưa, nóng, cao, không> X thuộc lớp nào?

Ta có:

P(X|p).P(p) =

P(mưa|p) P(nóng|p) P(cao|p) P(không|p).P(p) = 3

9.2

9.3

9.6

9 9

14 = 0.010582 P(X|n).P(n) =

P(mưa|n) P(nóng|n) P(cao|n) P(không|n).P(n) = 2

5.2

5.4

5.2

5 5

14 = 0.018286 P(p) = 9/14

P(n) = 5/14

Trang 14

Ta chọn xác suất cao nhất để phân lớp mẫu X Do đĩ Mẫu X được phân vào lớp n (khơng chơi tennis)

Chuẩn hĩa Bayes: Trong trường hợp cĩ một thuộc tính cĩ xác suất p = 0 thì

ta phải chuẩn hĩa bằng cách thêm 1 vào tất cả các thuộc tính của lớp để thực hiện tính tốn Ví dụ lớp N cĩ thuộc tính “thời tiết” với giá trị “u ám” cĩ p = 0

Ta chỉnh lại như sau:

Khi đĩ ta cĩ P(u ám | n) = 1/8

Kết luận: Phân lớp dữ liệu Nạve Bayesian cho kết quả tốt trong thực tế

mặc dù chịu những giả thiết về tính độc lập thống kê của các thuộc tính; phân lớp khơng yêu cầu phải ước lượng một cách chính xác xác suất; dễ cài đặt, học nhanh, kết quả dễ hiểu; sử dụng trong phân loại text, spam… tuy nhiên khi dữ liệu cĩ nhiều thuộc tính dư thừa thì Nạve Bayesian khơng cịn hiệu quả; dữ liệu liên tục cĩ thể khơng tuân theo phân phối chuẩn

nắng = 4

U ám = 1 Mưa = 3

Trang 15

Tài liệu tham khảo

[1] Jiawei Han, Micheline Kamber, Jian Pei, ―Data Mining: Concepts and Techniques‖, Third Edition, Morgan Kaufmann Publishers, 2012

[2] Wikipedia: Bayes Theorem

[3] David L Olson, Dursun Delen, ―Advanced Data Mining Techniques‖, Springer-Verlag, 2008

Ngày đăng: 09/02/2016, 13:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w