Nguồn dữ liệu kết quả
Rời rạc hĩa, xử lí dữ liệu khơng xác định,…
Các cơng thức xây dựng giả thiết, các ràng buộc
dữ liệu Ontology Ontology Ontology Bản ghi đã xử lí
2.4 Kết luận
Chương này đã trình bày các vấn đề sau:
Một số định nghĩa và các yêu cầu cần xây dựng ontology cho mục đích tích hợp thơng tin trên các nguồn dữ liệu khơng thuần nhất và phân tán.
Các định nghĩa hình thức về ontology, lược đồ, các nguồn dữ liệu mở rộng ontology và các phép tốn thao tác trên các nguồn dữ liệu mở rộng.
Tích hợp thơng tin thống kê dựa trên ontology, mơ hình tích hợp thơng tin cho các nguồn dữ liệu khơng thuần nhất về ngữ nghĩa.
Các giải thuật phân lớp dựa trên mơ hình thống kê được nghiên cứu và áp dụng trong nhiều lĩnh vực như trong ngân hàng, trong sinh học. Các giải thuật NB và NB tăng cường là những giải thuật được phát triển dựa trên cơng thức thống kê Bayes. Trong chương 3, tác giả sẽ trình bày cụ thể hơn về giải thuật NB và NB tăng cường.
Chương 3
PHÂN LỚP DỮ LIỆU TẬP TRUNG VÀ PHÂN TÁN
Trong chương này, tác giả sẽ trình bày một số thuật tốn phân lớp dữ liệu trong mơi trường tập trung và các thuật tốn đã được cải tiến để áp dụng cho những nguồn dữ liệu phân tán.
3.1 Một số giải thuật phân lớp dữ liệu tập trung
Như đã trình bày trong chương 1, cĩ nhiều kĩ thuật được sử dụng cho việc xây dựng các phân lớp như SVM, NB, NB tăng cường, cây quyết định, K lân cận gần nhất. Trong phần này, tác giả trình bày giải thuật thường được sử dụng trong các ứng dụng là NB, TANB. Những giải thuật được chấp nhận khơng chỉ bởi tính đơn giản trong quá trình cài đặt mà cịn là hiệu quả đạt được khi áp dụng vào những bài tốn thực tế (xem [20],[23],[49],[62]).
3.1.1 Phân lớp Nạve Bayes
Phân lớp NB là phân lớp thống kê được xây dựng dựa trên định lý Bayes với giả thiết các biến độc lập với nhau. Trong giải thuật NB, mỗi mẫu x được biểu diễn bởi một tập các giá trị thuộc tính, cĩ nghĩa là x = a ,a ,...,a1 2 n , giá trị lớp của mẫu
x là một giá trị trong tập hữu hạn C = c ,c ,...,c1 2 m . Ta giả sử rằng, các giá trị thuộc tính hồn tồn độc lập với giá trị của các lớp cho trước.
Tập dữ liệu huấn luyện D = (x ,y ),(x ,y ),...,(x ,y ) 1 1 2 2 n n là tập dữ liệu đã được gán nhãn, trong đĩ xi là các mẫu dữ liệu huấn luyện, yi là giá trị lớp của mẫu dữ liệu tương ứng. Trong suốt quá trình học, một giả thiết sẽ được đưa ra dựa trên nguồn dữ liệu mẫu. Quá trình đánh giá là việc tiên đốn giá trị lớp cho mẫu x được đưa ra. Với x = a ,a ,...,a1 2 n , giá trị lớp c của mẫu x cần thỏa mãn:
j
MAP j 1 2 n
c C
Áp dụng định lý Bayes đối với đẳng thức (*) ta cĩ: j j 1 2 n j j MAP 1 2 n j j c C c C 1 2 n P(a ,a ,...,a |c )P(c )
c (x)= arg max = arg maxP(a ,a ,...,a |c )P(c )
P(a ,a ,...,a )
Với giả định các thuộc tính giá trị là độc lập với nhau, khi đĩ xác suất của các thuộc tính a ,a ,...,a1 2 n đối với giá trị lớp cj được tính bằng tích các xác suất thành phần của các thuộc tính, 1 2 n j n i j
i=1
P(a ,a ,...,a |c )= p(a |c ). Trong đĩ, các xác suất
j
P(c ) và P(a |c )i j được tính dựa trên tần suất xuất hiện của các giá trị trong nguồn
dữ liệu huấn luyện. Ví dụ, đối với lớp c, c c
t P =
t , tclà số lượng mẫu trong lớp c, cịn t là tổng số lượng mẫu cĩ trong dữ liệu huấn luyện. Cách tính xác suất này nhìn chung là hồn tồn đúng đắn, tuy nhiên độ chính xác sẽ giảm trong trường hợp tc
khơng đủ lớn. Khi đĩ, cách tiếp cận dựa trên Bayes [41] sẽ sử dụng ước lượng dựa trên k (hay cịn gọi là ước lượng Laplace), được định nghĩa là t +kc p
t +k . Trong đĩ, p là ước lượng ban đầu của xác suất mà chúng ta cần tính (ví dụ, p = 1
m nếu cĩ m
lớp), k là hằng số hay cịn được gọi là kích thước mẫu tương ứng.
Phân loại Naive Bayes Giai đoạn học:
Với mỗi lớp cj và mỗi giá trị thuộc tính ai, tính xác suất P(c )j
và P(a |c )i j dựa vào tần số của chúng trong dữ liệu huấn luyện.
Giai đoạn phân loại:
Với một trường hợp mới x = <a1, a2, ...,an> sẽ được phân loại như sau: j n NB j i j c C i=1
Ví dụ 3.1:
Cho nguồn dữ liệu về chơi thể thao dưới dạng bảng sau:
Outlook Temperature Humidity Windy Class
Sunny Hot High False N
Sunny Hot High True N
Overcast Hot High False Y
Rain Mild High False Y
Rain Cool Normal False Y
Rain Cool Normal True N
Overcast Cool Normal True Y
Sunny Mild High False N
Sunny Cool Normal False Y
Rain Mild Normal False Y
Sunny Mild Normal True Y
Overcast Mild High True Y
Overcast Hot Normal False Y
Overcast Mild High True N
Y : Play N: Do not Play
Bảng 3.1 Nguồn dữ liệu PlaySport cho phân lớp Naive Bayes
Áp dụng định lý Bayes ta cĩ: p(C|X) với X = <x1,x2,…,xn> là xác suất để bộ X thuộc vào lớp C. Ta cĩ P(C=N|Outlook=Sunny,Temperature=Hot, Humidity=High,Windy=False) là xác suất để bộ <Sunny,Hot,High, False> thuộc lớp N. Ý tưởng cho việc này chính là gán lớp C cho mẫu X với xác suất p(C|X) là lớn nhất. Trong đĩ C là một trong các lớp đã được xác định sẵn, ở đây, C {N,Y}.
Thực hiện phân lớp cho ví dụ trên.
o Ta xác định các P(xi|C). với xi là các giá trị thuộc tính. C{N,Y}. o Ta tính xác suất cho từng giá trị của các thuộc tính Outlook,
Temperature, Humidity, Windy. o P(Y) = 9/14; P(N) = 5/14
Outlook P(Sunny|Y) = 2/9 P(Sunny|N) = 3/5 P(Overcast|Y) = 4/9 P(Overcast|N) = 0/5 P(Rain|Y) = 3/9 P(Rain | N) = 2/5 Temperature P(Hot|Y) = 2/9 P(Hot|N) = 2/5 P(Mild|Y) = 4/9 P(Mild| N) = 2/5 P(Cool|Y) = 3/9 P(Cool|N) = 1/5 Humidity P(High|Y) = 3/9 P(High|N) = 4/5 P(Normal|Y) = 6/9 P(Normal|N) = 1/5 Windy P(True|Y) = 3/9 P(True|N) = 3/5 P(False|Y) = 6/9 P(False|N) = 2/5
Với một mẫu x = <Rain,Hot,High,False>, ta cần xác định xem mẫu này thuộc lớp N hay lớp Y?
o P(X|Y) P(Y) = P(Rain|Y) P(Hot|Y) P(High|Y) P(False|Y) P(Y) = 3 2 3 6 9 0.010582
9 9 9 9 14
o P(X|N) P(N) = P(Rain|N) P(Hot|N) P(High|N)
P(False|N) P(N) = 2 2 4 2 5 0.018286
5 5 5 5 14
Như vậy, ta cĩ thể phân X vào lớp N, nghĩa là khơng chơi thể thao.
3.1.2 TANB
Phân lớp TANB là phân lớp được phát triển dựa trên phân lớp NB. Nếu như phân lớp NB được xây dựng với giả định rằng các thuộc tính là độc lập với nhau thì
phân lớp TANB lại quan tâm đến sự ảnh hưởng lẫn nhau của các thuộc tính (xem [12],[23],[33])
Trong cấu trúc NB, chỉ tồn tại các cung đi từ thuộc tính class đến các thuộc tính khác, nghĩa là các thuộc tính độc lập với nhau trong việc đánh giá thuộc tính class. Các thuộc tính chỉ phụ thuộc vào thuộc tính class. Cịn trong cấu trúc tăng cường (augmented) tồn tại các cung đi thuộc tính này đến thuộc tính kia.
Một cung đi từ thuộc tính Ai đến thuộc tính Aj chỉ ra rằng: ảnh hưởng của thuộc tính Aj lên việc đánh giá thuộc tính class cũng phụ thuộc vào giá trị của thuộc tính Ai. Trong hình 3.3, ta thấy rằng: ở thuộc tính A3, ngồi cung đi từ thuộc tính C đến cịn tồn tại một cung đi thuộc tính A1 sang, điều đĩ cĩ nghĩa là việc đánh giá thuộc tính C của thuộc tính A3 cịn phụ thuộc vào giá trị của thuộc tính A1.
Như vậy, để cĩ thể xây dựng được phân lớp TANB, ta cần xây dựng được một cấu trúc tăng cường. Chow & Liu (1968) đã mơ tả một thủ tục cho việc xây dựng một cây Bayes dựa trên dữ liệu. Thủ tục này sử dụng cây bao trùm cực đại (maximal weighted spanning tree) để giảm đi độ phức tạp của việc tính độ tương thích cực đại (maximum likelihood).
Hình 3.2. Ví dụ về mạng Nạve Bayes
Thủ tục xây dựng cây Bayesian
1. Tính
D
P i j
I (X ;X ) giữa các cặp các thuộc tính, với i j. Trong
đĩ, P x,y P(x,y) I (X;Y)= P(x,y)log P(x)P(y)
Là hàm thơng tin bổ trợ (mutual information), hàm chỉ ra mức độ ảnh hưởng của Y đối với X.
2. Xây dựng một đồ thị vơ hướng đầy đủ, trong đĩ các đỉnh là các thuộc tính cĩ trong X. Biểu diễn trọng số của cung nối từ Xi
đến Xj bằng
D
P i j I (X ;X ) .
3. Xây dựng một cây bao trùm cực đại.
4. Chuyển đổi cây bao trùm vơ hướng thành cây cĩ hướng bằng cách chọn một nút gốc rồi thiết lập các hướng của các cung theo hướng đi ra từ nút gốc đĩ.
Dựa trên thủ tục xây dựng cây của Chow & Liu (1968), N. Friedman et al. ([23]) đưa ra một thủ tục xây dựng TANB cĩ sử dụng các thơng tin bổ trợ giữa các thuộc tính và xác suất điều kiện nhằm đánh giá thuộc tính class. Khi đĩ, hàm thơng tin bổ trợ được định nghĩa như sau:
P x,y,z P(x,y|z) I (X;Y|Z)= P(x,y,z)log P(x|z)P(y|z)
Trong đĩ, P(x,y,z)là xác suất của các giá trị thuộc tính của X, Y, Z tương ứng và được tính dựa trên sự xuất hiện đồng thời của các giá trị thuộc tính x, y, z trong dữ liệu mẫu. P(x,y,z) là xác suất điều kiện, được tính dựa trên sự xuất hiện của các giá trị thuộc tính x, y và giá trị z đã được xác định.
Thủ tục xây dựng TANB
1. Tính
D
P i j
I (A ,A |C) giữa các cặp thuộc tính, với i j.
2. Xây dựng một đồ thị vơ hướng đầy đủ, trong đĩ các đỉnh là các thuộc tính A ,A ,...,A1 2 n . Biểu diễn trọng số của các cung từ Ai đến Aj bằng giá trị
D
P i j I (A ,A |C). 3. Xây dựng cây bao trùm cực đại.
4. Chuyển cây vơ hướng thành cây cĩ hướng bằng việc chọn ra một thuộc tính gốc và thiết lập các hướng của tất cả các cung theo hướng đi ra từ gốc.
5. Xây dựng TANB bằng việc thêm vào một đỉnh cĩ tên là C và thêm các cung đi từ C đến các Ai.
Cũng dựa trên thủ tục xây dựng cây của Chow & Liu, cĩ nhiều dạng phát triển cho TANB như ETAN [37] với việc cho phép giá trị liên tục trong việc xây dựng các cung, SAB [59] với cải tiến trong việc xây dựng các cung trong cây Bayes. Nghiên cứu gần đây nhất cho việc cải tiến NB là AODE (averaged one- dependence estimator) [60]. Trong AODE, một tập hợp các phân lớp 1-phụ thuộc (mỗi thuộc tính chỉ phụ thuộc vào một thuộc tính khác) được học và việc phân lớp được thực hiện bằng việc kết hợp những tiên đốn của các phân lớp đã học. Điều này tương tự như việc mỗi thuộc tính trong TANB phụ thuộc vào nhiều hơn một thuộc tính khác.
Phân loại TANB Giai đoạn học:
o Xây dựng mơ hình TANB
o Dựa trên mơ hình TANB cùng với nguồn dữ liệu huấn luyện, với mỗi lớp cj, mỗi cặp giá trị thuộc tính a , ai l(trong đĩ, al là thuộc tính hỗ trợ thơng tin cho thuộc ai, được xác định dựa trên mơ hình TANB), tính xác suất P(c )j và P(a |a ,c )i l j dựa vào tần số của chúng trong dữ liệu huấn luyện.
Giai đoạn phân loại:
Với một trường hợp mới x = a , a , ..., a1 2 n sẽ được phân loại như sau: C j n TANB c j i l j i=1
C = arg maxP(c ) P(a |a ,c )
với al là thuộc tính hỗ trợ thơng tin cho thuộc tính a i
3.2 Một số giải thuật phân lớp phân tán
Các giải thuật phân lớp thường được chia thành giai đoạn học và giai đoạn phân lớp. Chính vì thế, khi chuyển sang mơi trường phân tán, việc chuyển đổi các giải thuật là hồn tồn khả thi và giai đoạn phân lớp cĩ thể được thực hiện tại các mơi trường, vị trí khác nhau. Trong phần tiếp theo, luận văn sẽ trình bày cách các giải thuật phân lớp tập trung như NB và NB tăng cường được chuyển sang mơi trường phân tán.
3.2.1 Phân lớp Naive Bayes cho dữ liệu phân tán
Trong mơi trường tập trung, thơng tin thống kê cho phân lớp Naive Bayes được tính trong giai đoạn học. Chúng được tính dựa trên nguồn dữ liệu huấn luyện mỗi khi cĩ yêu cầu. Điều này cho phép chúng ta áp dụng phân lớp này cho mơi trường phân tán, khi mà thơng tin thống kê cĩ thể được tính tốn ở những vị trí khác nhau trước khi được kết hợp lại để cho ra kết quả cuối cùng.
Giải thuật phân lớp dựa trên Naive Bayes cĩ thể được áp dụng cho cả hai dạng phân tán là phân tán phân mảnh ngang và phân tán phân mảnh dọc của dữ liệu.
3.2.1.1 Phân tán phân mảnh ngang
Khi dữ liệu được phân mảnh ngang, mỗi nguồn dữ liệu chứa một tập con các bản ghi. Như vậy, mỗi nguồn dữ liệu đều chứa tồn bộ tập thuộc tính của dữ liệu và
1 2 K
D = D D ... D (K là số trạm cĩ chứa tập dữ liệu con của dữ liệu của nguồn D) và D = D + D +...+ D1 2 K . Để cĩ thể xác định được tần số của các bản ghi trên tồn bộ nguồn dữ liệu, ta cần tính k k k k D j D j t = count (x),t = count (c ), k k ij D i j
t = count (a |c ) tại mỗi vị trí lưu trữ dữ liệu k và gửi chúng đến một vị trí trung tâm. Thơng tin thống kê trên tồn bộ dữ liệu sẽ được tính tại vị trí trung tâm theo hình thức sau: K k K k K k
j j ij ij
k=1 k=1 k=1
Giải thuật phân lớp NB phân tán phân mảnh ngang được miêu tả trong hình 3.6.
Phân lớp Naive Bayes cho dữ liệu phân tán phân mảnh ngang Giai đoạn học
For (mỗi nguồn dữ liệu D ){ k Tính giá trị
k
k
D
t = count (x)và chuyển đến vị trí trung tâm
For (mỗi giá trị lớp cj){ Tính giá trị
k
k
j D j
t = count (c )và chuyển đến vị trí trung tâm
For (mỗi giá trị a ){ i Tính giá trị
k
k
ij D i j
t = count (a |c ),chuyển đến vị trí trung tâm }
} }
Tại ví trí trung tâm
K k K k j ij k=1 k=1 j K k i j K k j k=1 k=1 t t P(c )= ,P(a |c )= t t
Giai đoạn phân lớp
Với một trường hợp mới x = a ,a ,...,a1 2 n sẽ được phân loại như sau: j n NB j i j c C i=1
C (x)= arg maxP(c ) P(a |c )
Hình 3.6. Giải thuật phân lớp Naive Bayes cho dữ liệu phân tán phân mảnh ngang
Giải thuật NB Outlook Humidity Wind PlaySport Phân rã truy vấn Kết hợp kết quả Count(Hum|Playsport)
Thơng tin thống kê
D1
D2
DK
Thơng tin thống kê Count(Humidity|Playsport)
Hình 3.5. Ví dụ PlaySport đối với giải thuật Naive Bayes cho dữ liệu phân tán phân mảnh ngang
3.2.1.2 Phân tán phân mảnh dọc
Khi dữ liệu được phân mảnh dọc, mỗi trạm sẽ chứa một tập các bộ dữ liệu con. Khi đĩ tồn bộ dữ liệu tương ứng với mỗi thuộc tính sẽ được lưu trữ tại cùng một vị trí. Giả sử tại vị trí k, tập các thuộc tính được lưu trữ là Ak thì A = Uk=1K Ak và
K
k k=1
A = A . Trong trường hợp này, ta cĩ thể tính các giá trị tần số
k k D t = t = count (x) và k k j j D j
t = t = count (c ) tại bất cứ vị trí nào trong K trạm, sau đĩ tính
k
k
ij ij D i j
t = t = count (a |c ) tại trạm mà thuộc tính ai được tìm thấy.
Giải thuật phân lớp NB phân tán phân mảnh dọc được mơ tả trong hình 3.7.
Phân lớp phân tán cho dữ liệu phân mảnh dọc Giai đoạn học
Cho k là một trong số K trạm Tính
k
X
t = count (x) và chuyển t đến vị trí trung tâm.
For (mỗi lớp cj){ Tính
k
j D j
t = count (c )và chuyển t đến vị trí trung tâm j }
For (mỗi nguồn dữ liệu D ){ k
For (mỗi lớp c và mỗi thuộc tính j a tại nguồn dữ liệu i D ){ k Tính
k
ij D i j
t = count (a |c ) dựa trên dữ liệu huấn luyện D k Chuyển các giá trị tij đến vị trí trung tâm
} }
Tại vị trí trung tâm
j ij j i j j t t P(c )= , P(a |c )= t t
Giai đoạn phân lớp
Với một trường hợp mới x = a ,a ,...,a1 2 n sẽ được phân loại như sau: j n NB j i j c C i=1
3.2.2 Phân lớp TANB cho dữ liệu phân tán
D. Caragea [10] trình bày các thuật tốn phân lớp dựa trên thống kê như NB,