một phương pháp gom cụm nhưng khác với các phương pháp gom cụm khác ở chỗ nó là hình thức gom cụm theo kiểu mô hình tham số. Theo đó, các điểm dữ liệu sẽ được phân vào các nhóm với các cấu trúc phân bố Gaussian tương ứng chỉ khác biệt nhau về giá trị các tham số.
Hình 2.21 Mixture of Gaussian Distribution
Quy trình ước lượng tham số : Người ta sẽ xem các mẫu dữ liệu như các điểm được sinh ngẫu nhiên bởi mô hình hỗn hợp và ước lượng các tham số sao cho xác suất các điểm dữ liệu được sinh ra bởi mô hình hỗn hợp là cao nhất. Nói đơn giản là ta cực đại hoá xác suất hậu nghiệm :
Trong đó µ1,µ2,...,µk là các giá trị trung bình nhóm đối với các cấu trúc phân bố Gaussian tương ứng. Nếu xem như các điểm dữ liệu là độc lập xác suất với nhau ta cần phải cực đại biểu thức sau :
Với data là tập các điểm dữ liệu x, P(ϖi) là xác suất để cấu trúc phân bố thứ i được chọn để sinh ra một điểm dữ liệu bất kỳ, P(x |ϖi, {µi}) =
2 2/ ) ( 2 1 µ σ π σ x i
e − là xác suất để điểm dữ liệu x được sinh ra ngẫu nhiên bởi cấu trúc phân bố thứ i. Vấn đề ở đây là ta phải ước lượng {µi} sao cho xác suất hậu nghiệm
đạt giá trị lớn nhất (giả sử rằng các cấu trúc phân bố có cùng phương sai).
Ta có thể xem L = P(data | {µi}) là một hàm nhiều biến, khi đó việc cực đại
hoá P(data | {µi}) tương đương với việc giải các phương trình đạo hàm riêng phần
để xác định {µi} tương ứng : =0 ∂ ∂ i L µ
Tuy nhiên, việc giải những phương trình như vậy rất khó và thường là không giải quyết 1 cách trực tiếp được do ta thường không có đầy đủ thông tin về một mẫu dữ liệu x, ví dụ như ta không biết chính xác x thuộc về nhóm nào mà ta chỉ biết đại khái là x thuộc về 1 trong số m nhóm nào đó. Chính vì vậy, người ta đã đề xuất một cách tiếp cận “mềm dẻo” hơn, đó chính là thuật giải EM (Expectation – Maximization).
tham số này thông qua một chu trình gồm 2 bước được lặp đi lặp lại đến khi nào thoả một điều kiện dừng nào đó. Hai bước đó gồm có Expectation và Maximization. Ở bước Expectation, thuật giải sẽ ước lượng những thông tin chưa biết dựa vào những thông tin đã biết (bộ tham số ở thời điểm hiện tại + P(ϖi) đã biết trước) bằng cách xác định giá trị trung bình kỳ vọng của chúng theo lý thuyết xác suất. Ở bước Maximization, thuật giải sẽ dựa vào những thông tin đã ước lượng ở bước Expectation để tính lại bộ tham số hiện có.
Hình 2.22 Mã giả của thuật toán EM
Để hiểu bản chất của thuật giải EM chúng ta sẽ theo dõi ví dụ sau đây : Giả sử xk là điểm của học sinh trong một lớp học với xác suất phân bố :
x1 = 30 , P(x1) = ½ x2 = 18 , P(x2) = µ
x3 = 0 , P(x3) = 2µ
Trường hợp 1 : Qua khảo sát chúng ta biết được :
• x1 : a học sinh
• x2 : b học sinh
• x3 : c học sinh
• x4 : d học sinh
Như vậy, ta cần ước lượngµ để mô hình xác suất trên “khớp” với dữ liệu thu được
qua khảo sát :
Đặt L = P(a, b, c, d| µ), nhận xét rằng việc cực đại hoá L tương đương với cựa đại
hoá ln(L) do đó đặt P = ln(L) ta cần giải phương trình đạo hàm theo µ :
0 = ∂ ∂ µ P (b/µ) + (c/µ) – 3d/(1/2-3µ) = 0 µ = (b + c)/6*(b+c+d)
Ở trường hợp này, do thông tin có đủ nên việc giải trực tiếp tỏ ra khá thuận lợi. Trường hợp 2 : Qua khảo sát ta biết :
• Có h học sinh đạt x1 hay x2 điểm.
• Có c học sinh đạt x3 điểm.
• Có d học sinh đạt x4 điểm.
2.5.3.6 Hierachical Clustering
Ý tưởng chính của thuật giải này là xây dựng một mô hình gom nhóm phân cấp trong đó từ tập dữ liệu ban đầu, một cây gom nhóm sẽ được xây dựng. Ban đầu, mỗi mẫu dữ liệu sẽ thuộc về một nhóm – nếu ta có N mẫu dữ liệu thì ta sẽ có N nhóm. Tại mỗi thời điểm, nếu số nhóm còn lớn hơn 1 thì ta chọn ra hai nhóm gần nhau nhất (theo một tiêu chuẩn đánh giá nào đó) và trộn chúng lại với nhau bằng cách tạo một link nối chúng với nhau đồng thời ghi nhận lại độ dài của link bằng độ đo khoảng cách giữa 2 nhóm đó. Như vậy, ta thấy sau mỗi bước số nhóm sẽ giảm đi 1 và sau N – 1 bước thì ta sẽ có được một cây gom nhóm phân cấp.
Ví dụ : Ta có 6 mẫu dữ liệu và bảng độ đo khoảng cách giữa chúng nhu sau :
Hình 2.24 Bảng độ đo khoảng cách giữa các mẫu dữ liệu
Ban đầu, mỗi nhóm chỉ có một mẫu dữ liệu nên khoảng cách giữa 2 nhóm bất kỳ chính là khoảng cách của 2 mẫu dữ liệu tương ứng. Sau một số bước, nếu các nhóm có hơn một mẫu dữ liệu thì khi tính độ đo khoảng cách giữa chúng, ta sẽ lấy giá trị trung bình độ đo khoảng cách giữa các mẫu dữ liệu thuộc 2 nhóm tương ứng làm độ đo khoảng cách giữa chúng. Với nguyên tắc tính khoảng cách như vậy, áp dụng thuật toán nói trên ta thu được cây phân cấp sau :
Hình 2.25 Lược đồ thể hiện cây gom nhóm (clustering tree)
Khi đã xây dựng được cậy phân cấp thì ta có thể gom dữ liệu vào K nhóm với K bất kỳ từ 1 N. Đó chính là điểm mạnh của thuật giải này, qua mô hình cây phân cấp, nó sẽ chỉ ra rõ sự nhất quán, không tương đồng của các mẫu dữ liệu với nhau, từ đó giùp chúng ta đưa ra quyết định phân dữ liệu vào bao nhiêu nhóm (trong trường hợp chúng ta không biết K). Để phân dữ liệu vào K nhóm thì thuật giải chi đơn giản chọn ra K – 1 link dài nhất để cắt đi. Ở ví dụ trên, nếu ta muốn phân các mẫu dữ liệu vào 2 nhóm thì ta chỉ việc cắt đi link dài nhất :
Hình 2.26 Phân nhóm bằng cách loại bỏ link” dài” nhất
mặt khác nó cũng có nhược điểm là không thể hiệu chỉnh cập nhật những gì đã làm như những thuật giải gom nhóm khác. K-Means có thể hiệu chỉnh lại các giá trị trung tâm nhóm, Gaussian Mixture Model có thể hiệu chỉnh các tham số của các cấu trúc phân bố thông qua giải thuật EM, Fuzzy C-Means có thể hiệu chỉnh các giá trị bậc thành viên còn giải thuật gom nhóm phân cấp lại không thể undo những gì nó đã làm ở các bước trước – ví dụ, một link đã được tạo ta ở các bước trước thì không thể hiệu chỉnh hay hủy bỏ ở các bước sau. Điều này làm cho thuật giải gom nhóm phân cấp trở nên “cứng” và không linh hoạt dẫn đến ảnh hưởng độ chính xác gom nhóm.
Phần 2.6. Tổng kết
Tiền xử lý dữ liệu là một công đoạn cực kỳ quan trọng đối với việc lưu trữ cũng như khai thác dữ liệu bởi vì dữ liệu trong thực tế thường không hoàn chỉnh, nhiễu và đôi khi không tương thích. Tiền xử lý dữ liệu bao gồm các công đoạn chính sau :
• Làm sạch dữ liệu.
• Tích hợp dữ liệu.
• Chuyển đổi dữ liệu.
• Thu gọn dữ liệu.
Quá trình làm sạch dữ liệu sẽ cố gắng thêm vào những giá trị bị thiếu, làm trơn dữ liệu bằng cách khử nhiễu, xác định các mẫu dữ liệu cá biệt (outlier) và hiệu chỉnh, loại bỏ những thành phần không tương thích.
Quá trình tích hợp dữ liệu kết hợp dữ liệu từ nhiều nguồn khác nhau, tổng hợp thành một nguồn dữ liệu kết dính chặt chẽ. Dữ liệu quản lý, phân tích quan hệ. kiểm định không tương thích là các kỹ thuật thường dùng để làm trơn (smooth) dữ liệu tích hợp.
Quá trình chuyển đổi dữ liệu sẽ biến đổi dữ liệu về những dạng chuẩn thuận lợi cho việc khai phá trí thức. Lấy ví dụ, là các giá trị thuộc tính có thể sẽ được chuẩn hoá sao cho nằm trong khoảng 0..1.
Quá trình thu gọn dữ liệu có thể được tiến hành thông qua nhiều kỹ thuật : lựa chọn tập thuộc tính, giảm chiều dữ liệu, giảm kích thước dữ liệu nhằm biểu diễn dữ liệu dưới dạng thu gọn, tối thiểu hoá sự mất mát thông tin khi rút gọn.
Phần 2.7. Giải một số bài tập
Bài 1
Sử dụng hai phương pháp a) và b) (mô tả bên dưới) để chuẩn hoá bảng dữ liệu sau :
Dữ liệu đầu 200 300 400 600 1000 a. Chuẩn hóa minmax, min=0 và max = 1 b. Chuẩn hóa z-score
Bài làm:
Trung bình = 500
Độ lệch chuẩn = 316.2278
Kết quả chuẩn hóa
Dữ liệu đầu Minmax Z-score
200 0 -0.948683196 300 0.125 -0.632455464 400 0.25 -0.316227732 600 0.5 0.316227732 1000 1 1.58113866 Bài 2
Giả thiết một bệnh viện thống kê dữ liệu về tuổi và lượng mỡ đối với 18 người lớn được chọn lựa ngẫu nhiên và cho ra bảng kết quả sau :
(Các kết quả và đồ thị được tính và vẽ bằng Excel) Dữ liệu thống kê
Tuổi %Mỡ 23 9.5 23 26.5 27 7.8 27 17.8 39 31.4 41 25.9 47 27.4 49 27.2 50 31.2 52 34.6 54 42.5 54 28.8 56 33.4 57 30.2 58 34.1 58 32.9 60 41.2 61 35.7 a. Tính trung bình trung vị và độ lệch chuẩn. b. Chuẩn hoá dữ liệu theo tiêu chuẩn z-score. c. Vẽ đồ thị scatter plot
d. Tính hệ số tương quan Pearson.
Giải bài 2
a. Tính trung bình, trung vị và độ lệch chuẩn:
Tuổi %Mỡ
Trung bình 46.4444444 28.78333333 Trung vị 51 30.7 Độ lệch chuẩn 13.2186242 9.254394822 b. Dữ liệu đã chuẩn hóa z-score:
Dữ liệu ban đầu Dữ liệu đã chuẩn hóa z-score Tuổi %Mỡ Tuổi (z-score) %Mỡ (z-score)
23 9.5 -1.773258893 -2.083747569 23 26.5 -1.773258893 -0.246704128 27 7.8 -1.470654986 -2.267451913 27 17.8 -1.470654986 -1.186838124 39 31.4 -0.562843266 0.282796628 41 25.9 -0.411541313 -0.311540955 47 27.4 0.042364547 -0.149448887 49 27.2 0.1936665 -0.171061163 50 31.2 0.269317477 0.261184353
52 34.6 0.42061943 0.628593041 54 42.5 0.571921384 1.482277934 54 28.8 0.571921384 0.001837043 56 33.4 0.723223337 0.498919386 57 30.2 0.798874313 0.153122974 58 34.1 0.87452529 0.574562351 58 32.9 0.87452529 0.444888697 60 41.2 1.025827243 1.341798141 61 35.7 1.10147822 0.747460558 c. Đồ thị scatter plot: 0 5 10 15 20 25 30 35 40 45 0 10 20 30 40 50 60 70 Tuổi % M ỡ Series1
Hình 2.27 Đồ thị biểu diễn tương quan giữa 2 biến Tuổi – %Mỡ
d. Hệ số tương quan (Pearsons) = 0.817619. Vậy 2 biến “tuổi” và “%mỡ” (trong cơ thể) là có tương quan với nhau tương đối mạnh (gần bằng 1).
Bài 3
Chất lượng dữ liệu có thể được biểu diễn theo độ chính xác, sự hoàn thiện và sự tương thích. Chỉ ra hai tiêu chuẩn khác để đánh giá chất lượng dữ liệu.
Hình 2.28 Boxplot biểu diễn dữ liệu
Bài 8
Sử dụng dữ liệu được cho trong bài tập 2.4 a. Phân chia thành các bin với tần số 3.
Bin 1: 13, 15, 16 Bin 2: 16, 19, 20 Bin 3: 20, 21, 22 Bin 4: 22, 25, 25 Bin 5: 25, 25, 30 Bin 6: 33, 33, 35 Bin 7: 35, 35, 35 Bin 8: 36, 40, 45 Bin 9: 46, 52, 70
Làm mịn dữ liệu bằng bin means: Bin 1: 15, 15, 15
Bin 2: 18, 18, 18 Bin 3: 21, 21, 21
Bin 4: 24, 24, 24 Bin 5: 27, 27, 27 Bin 6: 34, 34, 34 Bin 7: 35, 35, 35 Bin 8: 40, 40, 40 Bin 9: 56, 56, 56
b. Dựa vào các giá trị Q1, Q3 đã tính trong bài tập 2.4, tính IQR = Q3 – Q1, một phần tử là cá biệt nếu giá trị của nó lớn hơn Q3 + 1.5xIQR hay nhỏ hơn Q1 – 1.5xIQR.
Ngoài ra có thể phát hiện các phần tử cá biệt bằng phương pháp regression (phân tích hồi qui) hay clustering (gom cụm).
c. Một số phương pháp khác làm mịn dữ liệu là regression (phân tích hồi qui) hay clustering (gom cụm).
Bài 9
Các vấn đề xem xét trong quá trình tích hợp dữ liệu
- Vấn đề xác định tính tương đương giữa các thực thể gọi là “Entity identification problem”. Chúng ta có thể dựa vào các metadata của mỗi thuộc tính (gồm tên, ý nghĩa, kiểu dữ liệu, khoảng giá trị, các giá trị null…) để giải quyết phần nào vấn đề này.
- Một vấn đề quan trọng khác là sự dư thừa dữ liệu. Một thuộc tính (như tổng doanh thu hàng năm) có thể xem như dư thừa vì nó có thể được suy ra từ các thuộc tính khác. Các thuộc tính dư thừa có thể được phát hiện bằng cách sử dụng phân tích tương quan (correlation analysis).
- Một vấn đề quan trong nữa trong tích hợp dữ liệu là phát hiện và xử lý xung đột giá trị dữ liệu. Với cùng 1 thực thể, giá trị các thuộc tính trong các nguồn dữ liệu khác nhau có thể khác nhau. Điều này có thể xảy ra do sự thể hiện dữ liệu khác nhau.
- Phải chú ý đặc biệt đến cấu trúc của dữ liệu. Điều này nhằm đảm bảo rằng mọi phụ thuộc hàm của thuộc tính và các ràng buộc khóa ngoại trong hệ thống nguồn phải được đảm bảo ở trong hệ thống đích.
Bài 10
Cho 12 giá trị của thuộc tính giá được sắp xếp như sau: 5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215
Phân chia chúng vào 3 bin bằng các phương pháp sau: a. Phân chia với tần số bằng nhau:
Bin 1: 5, 10, 11, 13 Bin 2: 15, 35, 50, 55 Bin 3: 72, 92, 204, 215
b. Phân chia với độ rộng bằng nhau
Độ rộng của mỗi khoảng : (215 – 5) / 3 = 70 Bin 1 = 5, 10, 11, 13, 15, 35, 50, 55
Bin 2 = 72, 92 Bin 3 = 204, 215