CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về khai phá dữ liệu:
2.1.1 Giới thiệu khai phá dữ liệu
Nếu cho rằng, điện tử và truyền thơng chính là bản chất của khoa học điện tử, thì dữ
liệu, thơng tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên
cứu và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu. Khám phá tri thức
hay phát hiện tri thức trong CSDL là một quy trình nhận biết các mẫu hoặc các mơ
hình trong dữ liệu với các tính năng: phân tích, tổng hợp, hợp thức, khả ích và có
thể hiểu được. Khai phá dữ liệu là mợt bước trong q trình khám phá tri thức, gồm
các thuật toán khai thác dữ liệu chuyên dùng dưới mợt số qui định về hiệu quả tính
tốn chấp nhận được để tìm ra các mẫu hoặc các mơ hình trong dữ liệu. Nói cách
khác, mục tiêu của Khai phá dữ liệu là tìm kiếm các mẫu hoặc mơ hình tồn tại trong
CSDL nhưng ẩn trong khối lượng lớn dữ liệu.
2.1.2 Quá trình khám phá tri thức
Hình 2.1 Quá trình khám phá tri thức
Bước 1: Trích chọn dữ liệu: là bước chọn ra những tập dữ liệu phù hợp, cần
được khai phá từ các tập dữ liệu lớn.
12
Bước 2: Tiền xử lý dữ liệu: là bước làm sạch dữ liệu như xử lý dữ liệu không
đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, v.v.
Bước 3: Chuyển đổi dữ liệu: là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ
liệu về dạng phù hợp, thuận lợi nhất cho quá trình khai phá dữ liệu.
Bước 4: Khai phá dữ liệu: là bước quan trọng và tốn nhiều thời gian nhất của
quá trình khám phá tri thức, sử dụng các giải thuật để đưa ra những mơ hình dữ
liệu.
Bước 5: Mơ hình biểu diễn tri thức và đánh giá: dùng các kỹ thuật hiển thị dữ
liệu để trình bày các mẫu thơng tin (tri thức) và mối liên hệ đặc biệt trong dữ
liệu đã được khai thác biểu diễn theo dạng gần gũi với người sử dụng như đồ
thị, cây, bảng biểu, luật, v.v. Đồng thời bước này cũng đánh giá những tri thức
khám phá được theo những tiêu chí nhất định, xác định xem liệu mơ hình dữ
liệu mà mình vừa tìm được có chứa thơng tin hữu ích hay khơng, tri thức trong
đó có đúng hay khơng?
2.1.3 Các giai đoạn của q trình khai phá dữ liệu
Các giải thuật khai phá dữ liệu thường được miêu tả như những chương trình hoạt
đợng trực tiếp trên tập dữ liệu. Quá trình khai phá dữ liệu được thể hiện như hình
2.2 sau:
Hình 2.2 Quá trình khai phá dữ liệu
Xác định nhiệm vụ: Xác định chính xác vấn đề cần giải quyết.
13
Xác định dữ liệu liên quan: xác định các dữ liệu liên quan dùng để xây dựng
giải pháp.
Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý
chúng sao cho thuật toán KPDL có thể hiểu được. Đây là mợt q trình rất khó
khăn, có thể gặp phải rất nhiều các vướng mắc như: dữ liệu phải được sao ra
nhiều bản (nếu được chiết xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi
lặp lại nhiều lần tồn bợ q trình (nếu mơ hình dữ liệu thay đổi), v.v.
Giải thuật khai phá dữ liệu: chọn thuật tốn KPDL thích hợp và thực hiện việc
KPDL nhằm tìm được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới
dạng luật kết hợp, cây quyết định… tương ứng với ý nghĩa của nó.
2.1.4 Các phương pháp khai phá dữ liệu
Với hai mục đích KPDL là mơ tả và dự đốn, người ta thường sử dụng các phương
pháp cho khai phá dữ liệu như luật kết hợp (association rules), phân lớp
(Classfication), hồi qui (Regression), trực quan hóa (Visualiztion), phân cụm
(Clustering), tổng hợp (Summarization), mơ hình ràng ḅc (Dependency
modeling), biểu diễn mơ hình (Model Evaluation), phân tích sự phát triển và đợ lệch
(Evolution and deviation analyst), phương pháp tìm kiếm (Search Method).
2.1.5 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng
Vấn đề KPDL có thể được phân chia theo lớp các hướng tiến cận chính sau:
- Phân lớp và dự đoán (classification &prediction)
- Phân cụm (clustering/segmentation)
- Luật kết hợp (association rules)
- Phân tích chuỗi theo thời gian (sequential/temporal patterns).
- Mơ tả khái niệm (concept desccription & summarization)
14
2.1.6 Các thách thức khó khăn trong KPTT và KPDL
KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy các
thách thức và khó khăn ngày càng nhiều, càng lớn hơn. Sau đây là một số các thách
thức và khó khăn cần được quan tâm:
Các cơ sở dữ liệu lớn, các tập dữ liệu cần xử lý có kích thước cực lớn. Trong
thực tế, kích thước của các tập dữ liệu thường ở mức Tera-byte (hàng nghìn
Giga-byte).
Mức đợ nhiễu cao hoặc dữ liệu bị thiếu.
Số chiều lớn.
Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện khơng cịn phù hợp.
Quan hệ giữa các trường phức tạp.
2.1.7 Kết luận
KPDL là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút
được sự quan tâm của nhiều chuyên gia về CNTT trên thế giới. Trong những năm
gần đây, rất nhiều phương pháp và thuật tốn mới liên tục được cơng bố. Điều này
chứng tỏ những ưu thế, lợi ích và khả năng ứng dụng thực tế to lớn của KPDL.
2.2 Tổng quan về phân cụm dữ liệu
2.2.1 Các khái niệm
Phân cụm dữ liệu là q trình nhóm mợt tập các đối tượng tương tự nhau trong tập
dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng cịn
các đối tượng tḥc các cụm khác nhau sẽ khơng tương đồng. Phân cụm dữ liệu là
mợt ví dụ của phương pháp học khơng có giám sát. Khơng giống như phân lớp dữ
liệu, phân cụm dữ liệu khơng địi hỏi phải định nghĩa trước các mẫu dữ liệu huấn
luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi
phân lớp dữ liệu là học bằng ví dụ… Ngồi ra, phân cụm dữ liệu cịn có thể được sử
15
dụng như mợt bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân
loại và mơ tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm. [7]
Hình 2.3 Mơ tả tập dữ liệu được phân thành 3 cụm
Phân cụm dữ liệu là mợt kỹ thuật trong khai phá dữ liệu nhằm tìm kiếm, phát hiện
các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ
đó cung cấp thơng tin, tri thức cho việc ra quyết định.
Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm
đều có chứa dữ liệu nhiễu do q trình thu thập thiếu chính xác hoặc thiếu đầy đủ,
vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục
hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu. Nhiễu ở
đây được hiểu là các đối tượng dữ liệu khơng chính xác, không tường minh hoặc là
các đối tượng dữ liệu khuyết thiếu thơng tin về mợt số tḥc tính... Mợt trong các
kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các tḥc tính của đối tượng
nhiễu bằng giá trị tḥc tính tương ứng. Ngồi ra, dị tìm phần tử ngoại lai cũng là
mợt trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó
là xác định mợt nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu
trong CSDL, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mơ hình
dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm.
2.2.2 Các ứng dụng của phân cụm
Một số ứng dụng của phân cụm dữ liệu cụ thể như thương mại (phân loại nhóm
khách hàng, dữ liệu khách hàng), y học (chuẩn đoán các triệu chứng bệnh, các
phương pháp trong điều trị), thư viện (phân loại các cụm sách có nội dung và ý
16
nghĩa tương đồng nhau để cung cấp cho độc giả), tài chính và thị trường chứng
khốn (bài tốn phân tích tình hình tài chính, phân tích đầu tư, cổ phiếu), www
(khai thác dữ liệu trên website giúp cho việc marketing trở nên dễ dàng hơn),…
2.2.3 Những kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và dựa trên các thuật tốn ứng
dụng, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá
được và tốc đợ thực hiện của thuật tốn. Từ khi được đề xuất, và phát triển cho đến
nay, phân cụm đã có những phương pháp chính như sau:
- Phương pháp phân cụm quy hoạch
- Phương pháp phân cụm dựa trên mật độ
- Phương pháp phân cụm phân cấp
- Phương pháp phân cụm dựa trên lưới
- Phương pháp phân cụm dựa trên mơ hình
- Phương pháp phân cụm có dữ liệu ràng buộc.
2.3 Kỹ thuật phân cụm dữ liệu mờ
2.3.1 Giới thiệu về phân cụm mờ
Trong cuộc sống, chúng ta đã gặp rất nhiều ứng dụng của bài toán phân cụm. Chẳng
hạn như trong ngành bưu điện, hàng ngày bưu điện phải phân loại thư theo mã
nước, trong mã nước lại phân loại theo mã tỉnh/thành phố, sau đó khi thư về đến
bưu điện tỉnh thì bưu điện tỉnh lại phải phân loại thư theo quận/huyện để gửi đi, đến
bưu điện quận/huyện lại phân loại thư theo xã/phường/ấp để gửi thư. Đó chính là
mợt ứng dụng của bài tốn phân cụm rõ.
Vậy bài tốn phân cụm rõ là gì?
Ta có thể định nghĩa bài toán phân cụm rõ như sau: Cho tập dữ liệu mẫu X, ta kiểm
tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất thì ta gán điểm
17
dữ liệu đó vào trong nhóm đó. Nhưng trong thực tế khơng phải lúc nào bài tốn
phân cụm rõ cũng áp dụng được. Chẳng hạn, ta có phép phân loại sau: Những người
đi xe máy xịn thì tḥc nhóm người giàu, những người đi xe máy thường tḥc
nhóm người bình dân. Vậy người nghèo mà đi xe máy xịn thì chúng ta xếp người đó
vào nhóm nào? Vì vậy, chúng ta cần đưa vào khái niệm bài toán phân cụm mờ.
Trong các phương pháp phân cụm đã giới thiệu trong chương trước, mỗi phương
pháp phân cụm phân hoạch một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự
nhiên và mỗi đối tượng dữ liệu chỉ tḥc về một cụm dữ liệu, phương pháp này chỉ
phù hợp với việc khám phá ra các cụm có mật đợ cao và rời nhau, với đường biên
giữa các cụm được xác định tốt. Tuy nhiên, trong thực tế, đường biên giữa các cụm
có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu
tḥc về nhiều cụm khác nhau, do đó mơ hình này khơng mơ tả được dữ liệu thực.
Vì vậy người ta đã áp dụng lý thuyết về tập mờ trong PCDL để giải quyết cho
trường hợp này. Cách thức kết hợp này được gọi là Phân cụm mờ.
Phân cụm mờ là phương pháp phân cụm dữ liệu mà cho phép mỗi điểm dữ liệu
thuộc về hai hoặc nhiều cụm thông qua bậc thành viên. Ý tưởng của thuật toán là
xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu.
Bezdek [2] (1981) cải tiến và tổng quát hóa hàm mục tiêu mờ bằng cách đưa ra
trọng số mũ để xây dựng thuật toán phân cụm mờ và được chứng minh độ hội tụ
của các thuật tốn là cực tiểu cục bợ.
Ưu điểm của phân cụm mờ so với phân cụm rõ được thể hiện trong thực tế khi mà
không thể chỉ ra ranh giới rõ ràng giữa các cụm. Phân cụm rõ bắt buộc các điểm chỉ
được phép tḥc vào duy nhất mợt cụm. Cịn phân cụm mờ cho phép các điểm dữ
liệu linh hoạt hơn, mợt điểm dữ liệu có thể tḥc vào nhiều cụm và ta đưa ra khái
niệm độ thuộc để chỉ mức độ liên quan của điểm dữ liệu vào cụm mà nó tḥc. Giá
trị đợ tḥc nằm trong khoảng (0,1), trường hợp điểm dữ liệu không thuộc một cụm
nào hay chỉ thuộc vào duy nhất một cụm là rất hiếm.
18
2.3.2 Lý thuyết gom cụm (Clustering):
Gom cụm dữ liệu là phương pháp phân hoạch tập hợp dữ liệu thành nhiều tập con C
sao cho mỗi tập con 𝑐 ⊂ 𝐶 chứa các phần tử có những tính chất giống nhau theo
tiêu chuẩn nào đó, mỗi tập con c được gọi là mợt cụm. [7]
Hình 2.4 Minh hoạ khái niệm gọm cụm
Như vậy q trình gom cụm là mợt q trình phân các phần tử 𝑞 ∈ 𝑄 vào trong các
cụm 𝑐 ⊂ 𝐶. Nguyên tắc thường được dùng để gom cụm dữ liệu là nguyên tắc cực
tiểu khoảng cách (thường là khoảng cách Euclide) [8]
Tiếp theo, tác giả tìm hiểu ba thuật toán K-mean, Fuzzy C-means, ε- Insensitive
Fuzzy C-means
2.3.3 Thuật toán K-Means:
Thuật toán K-Means được phát triển bởi J. Macqueen (1967) sau đó được cải tiến
bởi J. A. Hartigan và M. A. Wong (1975). Đây là thuật tốn tḥc nhóm phương
pháp phân cụm quy hoạch, được dùng để phân nhóm các đối tượng dựa trên các
tḥc tính của đối tượng vào các nhóm đối tượng khác nhau.
Ưu điểm của thuật toán K-means: đây là phương pháp đơn giản, hiệu quả, tự tổ
chức, được sử dụng trong tiến trình khởi tạo trong nhiều thuật toán khác, hiệu suất
tương đối, thường kết thúc ở tối ưu cục bợ, có thể tìm được tối ưu tồn cục.
Nhược điểm của thuật tốn K-means: số cụm k phải được xác định trước, chỉ áp
dụng được khi xác định được trị trung bình, khơng thể xử lý nhiễu, outliers, khơng
thích hợp khám phá các dạng khơng lồi hay các cụm có kích thước khác nhau, đây
là thuật tốn đợc lập tuyến tính.
19
Ý tưởng của thuật toán K-means: là áp dụng nguyên lý người láng giềng gần nhất
hoặc khoảng cách ngắn nhất theo định luật III Newton, nghĩa là phần tử nào gần
tâm điểm của cụm ci hơn so với các cụm cj sẽ được gom về cụm ci. Đầu vào của
thuật tốn K-means là số các cụm k, và CSDL có n số điểm (đối tượng) trong không
gian dữ liệu.
Các bước cơ bản của thuật toán K-means
Thuật toán K-means
Input: Số cụm k và các trọng tâm cụm m j j 1 ;
k
Output: Các cụm Ci i 1, k và hàm tiêu chuẩn E đạt giá trị tối thiểu;
Begin
Bước 1: Khởi tạo
Chọn k trọng tâm m j j 1 ban đầu trong không gian Rd (d là số chiều của
k
dữ liệu), việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm.
Bước 2: Tính tốn khoảng cách
Đối với mỗi điểm X i 1 i n , tính tốn khoảng cách của nó tới mỗi trọng
tâm mj j=1,k. Và sau đó tìm trọng tâm gần nhất đối với mỗi điểm.
Bước 3: Cập nhật tâm cụm
Đối với mỗi j=1,k, cập nhật trọng tâm cụm mj bằng các xác định trung bình
cợng của các vector đối tượng dữ liệu.
Bước 4: Điều kiện dừng
Lặp lại bước 2, bước 3 cho đến khi nào các trọng tâm của cụm không thay
đổi.
End
20
2.3.4 Thuật toán FCM (Fuzzy C-Means):
Từ những năm 1920, Lukasiewicz đã nghiên cứu cách diễn đạt toán học khái niệm
mờ. Năm 1965, Lofti Zadeh đã phát triển lý thuyết khả năng và đề xuất hệ thống
logic mờ (fuzzy logic). Kỹ thuật này gom cụm một tập n vector đối tượng dữ liệu
X x1 , x2 ,..., xn R S thành c các nhóm mờ dựa trên tính tốn tối thiểu hố hàm
mục tiêu để đo chất lượng của gom cụm và tìm trung tâm cụm trong mỗi nhóm, sao
cho chi phí hàm đợ đo đợ phi tương tự là nhỏ nhất
Ưu điểm thuật toán Fuzzy C-means: đây là phương pháp dễ thực hiện, có khả năng
tìm được tối ưu toàn cục, hiệu năng tốt tương đương K-means. Thường được dùng
với các vấn đề nhận dạng trong khơng gian đa chiều.
Nhược điểm thuật tốn Fuzzy C-means: có cơng thức tính tốn phức tạp, tốc đợ hợi
tụ tuỳ thuộc vào trạng thái ban đầu của ma trận thành viên U và tham số mờ hoá m.
Ý tưởng thuật toán Fuzzy C-means: là mỗi phần tử q V ban đầu được gán cho một
tập trọng số Wqk, trong đó Wqk cho biết khả năng q tḥc về cụm k,
k 1, k W
qk
1. Có nhiều cách tính trọng số Wqk khác nhau, trong đó Wqk=1/Dqk
thường được sử dụng nhất (Dqk là khoảng cách từ q đến trọng tâm của cụm k).
Trong quá trình gom cụm trọng số này có thể được cập nhật ở mỗi bước lặp khi
trong tâm của cụm bị thay đổi. Sau khi kết thúc q trình gom cụm, mợt cụm khơng
có mẫu nào sẽ bị loại, do đó số cụm tìm được thường không biết trước.
21
Các bước thực hiện của thuật toán FCM như sau:
Thuật toán FCM
Input: Số cụm c và tham số mũ m cho hàm mục tiêu J
Output: c cụm dữ liệu sao cho hàm mục tiêu đạt giá trị cực tiểu
Begin
Bước 1: Nhập tham số cụm c 1 c N , m (1, ) và khởi tạo ma trận
V vij ,V (0) Rpc , j 0
Bước 2: Lặp
j++;
Tính
ma
uij 1 / k 1 DijA / DkjA
c
trận
2/( m 1)
phân
hoạch
mờ
Uj
theo
công
thức
;1 i c,1 j n
(𝑗)
(𝑗)
(𝑗)
Cập nhật các trung tâm cụm 𝑉 (𝑗) = [𝑣1 , 𝑣2 , … , 𝑣𝑐 ] dựa vào
công thức v j k 1 uik xk / k 1 uik và U j
n
n
m
Cho đến khi U ( j 1) U j
F
m
Bước 3: Trả về các cụm kết quả
End
Hiện tại chưa có quy tắc nào nhằm lựa chọn tham số m đảm bảo cho việc phân cụm
hiệu quả, nhưng thơng thường chọn m=2. [12]
2.3.5 Thuật tốn 𝜺FCM (𝜺 −Insensitive Fuzzy C-Means)
Thuận tốn FCM tồn tại mợt nhược điểm là dễ bị ảnh hưởng bởi nhiễu và các phần
tử ngoại lai do nó sử dụng hàm bậc hai để do độ phi tương tự giữa dữ liệu và các
trung tâm cụm. Năm 1998, Vapnik đã đưa ra một độ đo cải tiến:
t
0
t
t
t
là tham số phi nhạy cảm với nhiễu
22
Các bước thực hiện của thuật toán 𝜀FCM như sau:
Thuật toán 𝜺FCM
Input: Số cụm c và tham số mũ m, 𝜀 cho hàm mục tiêu J
Output: c cụm dữ liệu sao cho hàm mục tiêu đạt giá trị cực tiểu
Begin
Bước 1: Nhập tham số cụm c 1 c N , m (1, ), 0 và khởi tạo ma
trận V vij ,V (0) Rpc , j 0
Bước 2: Lặp
j++;
Tính
ma
uij 1 / k 1 DijA / DkjA
c
2/( m 1)
phân
trận
hoạch
mờ
Uj
theo
công
thức
;1 i c,1 j n
(𝑗)
(𝑗)
(𝑗)
Cập nhật các trung tâm cụm 𝑉 (𝑗) = [𝑣1 , 𝑣2 , … , 𝑣𝑐 ] dựa vào
công thức v j k 1 uik xk / k 1 uik và U j
n
n
m
Cho đến khi U ( j 1) U j
F
m
Bước 3: Trả về các cụm kết quả
End
Thuật toán 𝜀FCM là thuật toán mở rợng từ thuật tốn FCM nhằm khắc phục những
nhược điểm để thích nghi với nhiễu và phần tử ngoại lai. Tuy nhiên, hiệu quả của
thuật toán đối với tập dữ liệu lớn, tập dữ liệu nhiều chiều cũng như cách xác định
tham số 𝜀 [12] là những vấn đề tiếp tục cần phải nghiên cứu và hoàn thiện.
23