Đánh giá phân cụm

Một phần của tài liệu Ứng dụng một số thuật toán phân cụm phân tích dữ liệu ngân hàng (Trang 31)

a. Phương pháp phân cụm tốt

Phƣơng pháp phân cụm tốt là một phƣơng pháp phân cụm đạt đƣợc các yêu cầu sau:

- Có đƣợc kết quả tốt với cả phân biệt giữa các cụm khác nhau cũng nhƣ quan hệ giữa các phần tử trong cùm một cụm.

- Chất lƣợng của kết quả phân cụm phụ thuộc vào cả độ tƣơng tự đƣợc sử dụng và cách thức thực hiện.

- Chất lƣợng của phƣơng pháp phân cụm đƣợc đánh giá bởi khả năng khám phá một số hoặc tất cả các thuộc tính ẩn.

b. Yêu cầu của phân cụm trong khai phá dữ liệu

- Có tính mềm dẻo.

- Có thể thực hiện bởi nhiều loại thuộc tính dữ liệu khác nhau.

- Có thể phân cụm với các hình dạng cũng nhƣ cách thức sắp đặt khác nhau. - Yêu cầu tối thiểu đối với phạm vi tri thức đầu vào cũng nhƣ các tham số. - Có thể xử lý nhiễu cũng nhƣ xử lý vùng biên.

- Không phản ứng với thứ tự dữ liệu đầu vào. - Có thể xử lý với dữ liệu đa chiều.

- Có thể hợp nhất các ràng buộc của ngƣời sử dụng. - Dễ hiểu và dễ sử dụng.

CHƢƠNG 3. MỘT SỐ THUẬT TOÁN PHÂN CỤM 3.1 GIỚI THIỆU VỀ CÁC THUẬT TOÁN PHÂN CỤM 3.1.1 Số các phân cụm

Với một thời gian và tài nguyên cho trƣớc, cách tốt nhất để phân cụm là tìm ra tất cả các cách có thể và lựa chọn cách dễ nhận thấy nhất theo tiêu chuẩn phân cụm đã chọn trƣớc.

Ký hiệu S(N,m) là số cách phân cụm N véctơ về m cụm, ta có các tính chất sau [4]: S(N,1) = 1 S(N,N) = 1 S(N,m) = 0 với m > N Ký hiệu k 1 - N

L là danh sách chứa tất cả các cách phân cụm N-1 véctơ về k cụm, với k = m, m-1. Véctơ thứ N hoặc đƣợc thêm vào một trong các cụm của bất kỳ thành viên nào thuộc k

1 - N

L hoặc hình thành nên cụm mớ1. Vì vậy ta có thể viết: 1) - m 1, - S(N m) 1, - S(N * m m) S(N,   (3.1)

Nghiệm của phƣơng trình trên là số Stirling đƣợc cho bởi công thức:            m i N i m i i m m 0 ) 1 ( ! 1 m) S(N, (3.2) Đặc biệt, khi m = 2 ta có : S(N,m) = 2N-1 - 1 (3.3) Ví dụ: - Với N = 15, m = 3 S(15,3) = 2.375.101 - Với N= 100, m = 5 S(100,5) = 1068

Với ví dụ này, có thể nói việc tìm tất cả các cách phân cụm là điều không thể khi N đủ lớn.

3.1.2 Phân loại các thuật toán phân cụm

Các thuật toán phân cụm có thể đƣợc xem nhƣ các sơ đồ cung cấp cho ta các cụm “dễ nhận thấy” bởi việc chỉ xem xét một phần nhỏ của tập chứa tất cả các cách phân cụm của X. Kết quả phụ thuộc vào thuật toán và tiêu chuẩn phân cụm cụ thể đƣợc dùng. Nhƣ vậy, một thuật toán phân cụm là một chức năng học cố gằng tìm ra các đặc trƣng riêng biệt của các cụm ẩn giấu dƣới tập dữ liệu. Ta có thể phân loại nhƣ sau [3]:

3.1.2.1 Các thuật toán tuần tự (Sequential Algorithms)

Các thuật toán này sinh ra một cách phân cụm duy nhất, chúng là các phƣơng pháp trực tiếp và nhanh. Trong hầu hết các thuật toán thuộc loại này, tất cả các vectơ đặc trƣng tham gia trong thuật toán một hoặc vài lần (không hơn 6 lần). Kết quả cuối cùng thƣờng phụ thuộc vào thứ tự các véctơ tham gia thuật toán. Những sơ đồ loại này có khuynh hƣớng sinh ra các cụm có hình dạng chặt và siêu cầu hoặc siêu elipxoit tuỳ theo độ đo đƣợc sử dụng.

3.1.2.2 Các thuật toán phân cụm phân cấp (Hierachical Aalgorithms)

- Các thuật toán tích tụ (Agglomerative)

Chúng sinh ra một dãy các cách phân cụm mà số cụm m giảm dần ở mỗi bƣớc. Cách phân cụm ở mỗi bƣớc là kết quả của cách phân cụm ở bƣớc trƣớc đó bằng việc trộn 2 cụm làm một. Các đại diện chính của loại này là thuật toán liên kết đơn (phù hợp với cụm dài và mỏng) và thuật toán liên kết đầy đủ

(phù hợp với các cụm chặt).

- Các thuật toán chia rẽ (Deviside)

Sinh ra một dãy các phân cụm mà số cụm m tăng dần ở mỗi bƣớc. Cách phân cụm ở mỗi bƣớc là kết quả cách phân cụm ở bƣớc trƣớc đó bằng việc chia đôi một cụm đơn.

3.1.2.3 Các thuật toán phân cụm dựa trên việc tối ƣu hoá hàm chi phí

Hàm chi phí J đo độ dễ nhận thấy của các cách phân cụm. Thƣờng thì số các cụm m là cố định. Thuật toán sẽ dùng các khái niệm về phép tính vi phân và (adsbygoogle = window.adsbygoogle || []).push({});

sinh ra các cách phân cụm liên tiếp trong khi cố gắng tối ƣu hoá J. Thuật toán sẽ dừng khi một tối ƣu địa phƣơng đƣợc xác định. Các thuật toán này cũng đƣợc gọi là các sơ đồ tối ƣu hoá hàm lặp. Chúng đƣợc phân loại tiếp nhƣ sau: - Các thuật toán phân cụm chặt hay rõ

Véctơ thuộc hoàn toàn vào một cụm cụ thể, việc đƣa một véctơ về các cụm cụ thể đƣợc thực hiện một cách tối ƣu theo tiêu chuẩn phân cụm tối ƣu.

- Các thuật toán phân cụm theo hàm xác suất

Dựa vào lý thuyết phân lớp Bayes và mỗi véctơ đƣợc phân về cụm thứ i nếu P(Ci | x) là lớn nhất (xác suất để x được phân đúng vào cụm Ci).

- Các thuật toán phân cụm mờ

Các véctơ thuộc về một cụm nào đó với một độ chắc chắn nào đó.

- Các thuật toán phân cụm theo khả năng

Trong trƣờng hợp này ta đo khả năng một véctơ đặc trƣng thuộc về một cụm nào đó.

- Các thuật toán phát hiện biên phân tách

Các thuật toán này cố gắng đặt các biên phân tách một cách tối ƣu giữa các cụm.

Sau đây chúng ta sẽ đi vào một số thuật toán phân cụm cụ thể, đó là Thuật toán phân cụm tuần tự (Sequential), thuật toán phân cụm K-trung bình (K- means), K-trung bình mờ (Fuzzy K-means), K-láng giềng gần (K-Nearest Neighbor), Phân cụm phân cấp (Hierachical).

3.2 THUẬT TOÁN PHÂN CỤM TUẦN TỰ 3.2.1 Thuật toán phân cụm tuần tự 3.2.1 Thuật toán phân cụm tuần tự

Giả sử tất cả các véctơ chỉ đƣợc tham gia một lần trong thuật toán và số lƣợng cụm là không biết trƣớc.

Gọi d(x,C) là khoảng cách từ một véctơ đặc trƣng x tới một cụm C. Điều này có thể đƣợc định nghĩa bằng cách đƣa vào tính toán tất cả các véctơ thuộc C hoặc một Véctơ đại diện cho nó.

Các tham số cần thiết do ngƣời dùng định nghĩa cho thuật toán này đó là ngƣỡng không tƣơng tự  và số lƣợng tối đa các cụm cho phép là q.

Ý tƣởng cơ bản của thuật toán nhƣ sau:

Đối với mỗi Vectơ mới, nó sẽ đƣợc gắn vào các cụm có sẵn hoặc tạo một cụm mới tuỳ thuộc vào khoảng cách của nó tới các cụm có sẵn.

Gọi m là số cụm mà thuật toán đã tạo lập cho đến thời điểm hiện tại, khi đó thuật toán đƣợc khởi tạo nhƣ sau:

m = 1 Cm = {x1} For i = 2 to N Find Ck: d(xi, Ck) = min 1  j  m d(xi,Cj) If (d(xi,Ck) > ) And (m<q) then m = m + 1 Cm = {xi} Else Ck = Ck {xi}

** Nếu cần thiết sẽ cập nhật đại diện

End {If}

End {For}

Những sự lựa chọn khác nhau của d(x,C) dẫn tới những thuật toán khác nhau. Khi C đƣợc đại diện bởi một Vectơ, d(x,C) trở thành:

d(x,C) = d(x,mC) (3.4)

Với mC là đại diện của C. Trong trƣờng hợp Vectơ trung bình đƣợc sử dụng nhƣ là đại diện, việc cập nhật có thể xảy ra theo kiểu lặp lại nhƣ sau:

new Ck old Ck new k new n x m nc    ( 1) mCk (3.5)

Trong đó nCknew là nhân tố chủ yếu của C sau khi gán thêm x vào cho nó và

new

Ck

m (moldCk ) là đại diện của Ck sau (trước) khi cập nhật x vào. (adsbygoogle = window.adsbygoogle || []).push({});

Các thuật toán mà mỗi cụm đƣợc đại diện bởi một Véctơ đƣợc gọi là dựa trên tiêu chuẩn phân cụm toàn cục còn thuật toán mà tất cả các Véctơ đều đƣợc sử dụng sẽ đƣợc gọi là tiêu chuẩn phân cụm địa phƣơng.

Không khó để nhận ra rằng thứ tự mà các Véctơ đƣợc bố trí trong thuật toán BSAS đóng vai trò quan trọng đối với kết quả phân cụm. Những thứ tự sắp xếp khác nhau có thể dẫn tới những kết quả phân cụm hoàn toàn khác nhau, trong giới hạn số lƣợng các phân cụm tốt nhƣ chính bản thân những phân cụm.

Một yếu tố quan trọng nữa ảnh hƣởng tới kết quả của thuật toán phân cụm đó là cách chọn ngƣỡng . Giá trị này ảnh hƣởng trực tiếp tới số lƣợng các cụm đƣợc thiết lập bởi BSAS. Nếu  quá bé, những cụm không cần thiết sẽ đƣợc tạo lập. Mặt khác, nếu  quá lớn thì số lƣợng cụm tạo lập sẽ nhỏ hơn số cụm cần thiết. Trong cả hai trƣờng hợp, số lƣợng các cụm phù hợp nhất đối với tập dữ liệu sẽ bị bỏ qua.

Nếu số q của lƣợng tối đa cho phép các cụm không bị ràng buộc, chúng ta để tuỳ cho thuật toán lựa chọn số lƣợng cụm phù hợp nhất.

Xét ví dụ tại hình 1, nơi ba khối và các cụm tách biệt đƣợc tạo thành từ điểm X. Nếu số lƣợng tối đa các cụm đƣợc thiết đặt là 2, khi đó BSAS sẽ không thể phân thành ba cụm. Khả năng là thuật toán sẽ nhóm hai nhóm phía bên phải thành một cụm.

Hình 3.1: ba cụm đƣợc tạo thành từ các Véctơ đặc trƣng. Khi q bị ràng buộc bởi giá trị nhỏ hơn 3, thuật toán BSAS sẽ không phát hiện đƣợc chúng.

Mặt khác, nếu q không bị ràng buộc bởi thuật toán BSAS thì khi đó sẽ tạo thành ba cụm (với một sự lựa chọn phù hợp), ít nhất đối với trƣờng hợp Véctơ trung bình đƣợc sử dụng nhƣ một đại diện. Tuy nhiên, ràng buộc q trở nên cần thiết khi xử lý với sự thi hành nơi mà nguồn lực tính toán sẵn có là hạn chế.

Trong phần tiếp theo, một kỹ thuật đơn giản đƣợc đề xuất để xác định số lƣợng các phân cụm.

Ghi chú:

Lược đồ BSAS có thể được sử dụng với sự tương tự thay vì đánh giá không tương tự với sự sửa đổi phù hợp, đó là thay thế toán tử min bởi max.

Với thuật toán BSAS, với việc chỉ ra cụm đại diện, phù hợp với các cụm liên kết chặt. Vì vậy, đó là điều không được gợi ý nếu các loại cụm khác được biểu diễn rõ ràng.

3.2.2 Ƣớc lƣợng số lƣợng các phân cụm

Trong phần này, một phƣơng pháp đơn giản đƣợc mô tả để xác định số lƣợng các phân cụm. Phƣơng pháp này phù hợp với BSAS nhƣ các thuật toán khác, đối với nó, số lƣợng cụm không cần đƣa nhƣ một tham số đầu vào.

Trong phần tiếp theo, BSAS() có nghĩa là thuật toán BSAS với ngƣỡng không tƣơng tự đƣợc xác định là .

For  = a to b step c

Thực hiện s lần thuật toán BSAS(), mỗi lần cho dữ liệu vào với các thứ tự khác nhau.

Ước lượng số cụm, mnhư là số thường xuyên là kết quả từ s lần thực hiện BSAS().

Giá trị a và b là các mức khác biệt nhỏ nhất và lớn nhất trong số tất cả các cặp Vectơ trong X, đó là, a = mini,j=1…N d(xi,xj) và b = maxi,j=1…N d(xi,xj).

Lựa chọn của c trực tiếp và bị tác động của d(x,C). Nhƣ những giá trị s liên quan, một giá trị s lớn hơn, một tập ví dụ thống kê lớn hơn và vì thế, sẽ cho một kết quả đúng đắn hơn.

Phần tiếp theo, chúng ta sẽ phác họa số lƣợng cụm m đối với . Phác hoạ này gồm một số miền phẳng. Điều đó cho hy vọng rằng ít nhất trong trƣờng hợp mà các véctơ đƣợc phân thành các cụm riêng rẽ tốt thì đó chính là số lƣợng cụm mong muốn. Chúng ta sẽ giải thích điều này một cách trực giác.

Giả sử rằng dữ liệu tạo thành hai tập và tách biệt tốt là C1 và C2. Khoảng cách bé nhất giữa hai Véctơ trong C1(C2) là r1 (r2) và giả sử rằng r1 < r2. Ta cũng cho rằng r (>r2) là giá trị nhỏ nhất trong số tất cả các khoảng cách d(xi,xj), trong đó xi  C1 và xj  C2. Điều rõ ràng là đối với   [r2, r - r2], số lƣợng các cụm tạo bởi BSAS là 2. Thêm vào đó, nếu r >> r2, với đầu vào trong phạm vi lớn và vì vậy, nó phù hợp với một miền phẳng lớn trong phác hoạ của mT đối với . Ví dụ 2 sẽ minh hoạ rõ thêm ý này.

Ví dụ 2: xem xét hai phân bố Gauxơ hai chiều với giá trị nằm trong [0,0]T

và [20,20]T một cách độc lập. Ma trận hiệp phƣơng sai là  = 0.5I cho cả hai phân bổ với I là ma trận nhận dạng 2 x 2. Tạo 50 điểm cho mỗi phân bố, số lƣợng cụm cơ sở là 2. Biểu đồ kết quả từ ứng dụng mô tả phía trên đƣợc biểu thị ở hình 3.2b với a = mini,j=1…N d(xi,xj), b = maxi,j=1…N d(xi,xj) và c  0,3. Nó có thể đƣợc nhìn thấy miền phẳng lớn nhất phù hợp với số 2, đó là số lƣợng cụm cơ sở.

Trong thủ tục đã đề cập, chúng ta ngầm giả định rằng các Vectơ đặc trƣng lập nên các cụm. Nếu không xảy ra trƣờng hợp này, phƣơng pháp sẽ vô ích.

Thêm vào đó, nếu các Vectơ tạo thành các cụm liên kết chặt chẽ mà không phân chia rõ ràng, thủ tục có thể cho kết quả không đáng tin cậy, từ đó sẽ

không chắc chắn cho đồ thị của m đối với  để chứa đựng những vùng phẳng rộng.

Hình 3.2: (a) tập dữ liệu; (b) phác hoạ của số lƣợng các cụm đối với . Nó có thể nhìn thấy đối với một vùng rộng của các giá trị của , số lƣợng các cụm, m = 2.

Trong một số trƣờng hợp, nó có thể thích hợp để xem xét tất cả các số lƣợng cụm, m mà phù hợp với mọi miền phẳng của kích cỡ lớn trong mô tả m đối với . Nếu, chẳng hạn chúng ta có 3 cụm và hai cụm đầu tiên nằm gần nhau và cách xa cụm thứ 3, miền phẳng nhất có thể xuất hiện đối với m = 2 và miền phẳng thứ hai đối với m = 3. Nếu chúng ta loại bỏ miền phẳng nhất thứ 2, chúng ta có thể bị mất giải pháp phân thành 3 cụm.

3.2.3. Một thuật toán BSAS cải tiến

Nhƣ đã phát biểu trƣớc, ý tƣởng chính sau thuật toán BSAS đó là mỗi Véctơ đầu vào x đƣợc gán vào một cụm đã tạo lập từ trƣớc hoặc một cụm mới đƣợc tạo lập. Tuy nhiên, một quyết định đối với Vectơ x đƣợc với lấy trƣớc khi cụm cuối cùng đƣợc tạo lập, nó đƣợc xác định sau khi tất cả các Vectơ đã đƣợc biểu thị. Quá trình tinh chế của thuật toán BSAS sau đây đƣợc gọi là MBSAS, khắc phục những trở ngại đó. Cái giá để thực hiện thuật toán này đó là mỗi véctơ thuộc X đều đƣợc biểu thị hai lần trong thuật toán. Lƣợc đồ thuật toán bao gồm hai giai đoạn: giai đoạn thứ nhất liên quan đến việc xác định (adsbygoogle = window.adsbygoogle || []).push({});

25 15 5 -5 -5 5 15 25 40 30 20 10 0 0 10 20 30

các cụm thông qua việc gán một số véctơ thuộc X cho các cụm; Trong giai đoạn thứ 2, các véctơ chƣa gán cho các cụm đƣợc biểu thị lần thứ 2 trong thuật toán và gán cho cụm phù hợp. Thuật toán MBSAS đƣợc viết nhƣ sau: Thuật toán BSAS cải tiến:

Xác định các cụm m = 1 Cm = {x1} For i = 2 to N Find Ck: d(xi,Ck) = min1<=j<=md(xi,Cj) If (d(xi,Ck) >  ) AND (m<q) Then m = m + 1 Cm = {xi} End {If} End {For} Phân loại For I = 1 to N

If (xi chƣa đƣợc gán cho cụm nào) Then Find Ck: d(xi,Ck) = min1<=j<=md(xi,Cj) Ck = Ck {xi}

** Nếu cần thiết, sẽ cập nhật véctơ đại diện

End {If} End {For}

Số lƣợng các cụm đƣợc xác định qua giai đoạn thứ nhất và nó ổn định, vì vậy quyết định đƣợc thực hiện ở giai đoạn 2 đối với mỗi Véctơ là tính toán với tất cả các cụm.

Khi Véctơ trung bình của cụm đƣợc sử dụng nhƣ đại diện của nó, cụm đại diện thích hợp sẽ đƣợc điều chỉnh bằng cách sử dụng công thức (3.5), sau khi gán mỗi Véctơ vào một cụm.

Cũng nhƣ BSAS, thuật toán MBAS cũng nhạy cảm với vấn đề thứ tự của các véctơ thực hiện.

Cuối cùng, điều đƣợc tuyên bố đó là, sau khi chỉnh sửa lỗi, MSAS có thể

Một phần của tài liệu Ứng dụng một số thuật toán phân cụm phân tích dữ liệu ngân hàng (Trang 31)