Các kiểu dữ liệu và các thuộc tính trong phân cụm

Một phần của tài liệu Ứng dụng mạng Kohonen cho khảo sát, đánh giá, thống kê tình hình của Trường Cao đẳng nghề (Trang 26 - 79)

Cho một CSDL D chứa n đối tượng trong không gian k chiều; x, y, z là các đối tượng thuộc D: x = (x1,x2,…,xk); y = (y1,y2,…,yk); z = (z1,z2,…,zk).

Trong đó xi, yi, zi với i = 1….k là các đặc trưng hoặc các đặc tính tương ứng của các đối tượng x, y, z như vậy sẽ có các kiểu dữ liệu như sau:

* Dữ liệu dựa trên kích thƣớc miền:

không đếm được có nghĩa là giữa hai giá trị tồn tại vô số giá trị khác nhau (ví dụ: các thuộc tính màu, nhiêt độ hoặc cường độ âm thanh….)

Thuộc tính rời rạc (Discrette Attribute): Nếu miền giá trị của nó là tập hữu hạn, đếm được (ví dụ: các thuộc tính số…) trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính thập phân mà miền giá trị chỉ có hai giá trị (ví dụ Yes/No, Nam/Nữ, True/False, On/Off…).

* Dữ liệu dựa trên hệ đo

Thuộc tính định danh (Nominal Scale): Là dạng thuộc tính khái quát hóa của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử, nghĩa là nếu x và y là đối tượng thuộc tính thì chỉ có thể xác định là x ≠ y hoặc x = y.

Thuộc tính có thứ tự (Ordinal Scale): Là thuộc tính định danh có thêm thứ tự, nhưng chúng không được định lượng. Nếu x và y là hai thuộc tính thứ tự thì có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x < y.

Thuộc tính khoảng cách (Interval Scale): Để đo các giá trị theo xấp xỉ tuyến tính. Với thuộc tính khoảng cách, chúng ta có thể xác định một thuộc tính là đứng trước hoặc sau thuộc tính khác với một khoảng bao nhiêu. Nếu xi > yi thì ta nói x cách y một khoảng xi - yi tương ứng với thuộc tính thứ i. Sau khi chuẩn hóa, độ đo phi tương tự của hai đối tượng dữ liệu x, y được xác định bằng các metric khoảng cách như sau:

Khoảng cách Minskowski: trong đó q là số tự nhiên dương

Khoảng cách Euclide: đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q = 2.

Khoảng cách Manhattan: đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q = 1.

Khoảng cách cực đại: đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q .

Thuộc tính tỷ lệ (Ratio Scale): Là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc, ví dụ như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc. Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỷ lệ. Có thể sử dụng công thức tính logarit cho mỗi thuộc tính xi.

1.3. Các hƣớng tiếp cận của bài toán phân cụm

Có nhiều hướng tiếp cận và các ứng dụng trong thực tế nhưng tất cả đề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ác thuật toán. Các kỹ thuật đó có thể phân loại theo các cách tiếp cận chính sau :

1.3.1. Phương pháp phân cụm phân cấp

Cấu trúc phân cụm phân cấp xây dựng trên một hệ thống phân cấp cụm. Các cụm chứa các nút cụm con. Các cụm ngang hàng được phân chia thành các điểm cùng cụm cha. Cách tiếp cận này cho phép tìm hiểu chi tiết dữ liệu ở các cấp độ khác nhau. Phương pháp phân cụm được chia làm hai loại là phân cụm phân cấp hội tụ Bottom - Up và phân cụm phân cấp chia nhóm Top-Down

Hình 1.9. Các cách phân cụm phân cấp

Phân cụm phân cấp hội tụ khởi đầu với một điểm cụm và kết hợp đệ quy với hai hoặc nhiều cụm thích hợp nhất. Phân cụm phân cấp chia nhóm đầu tiên là một cụm chia tách bắt đầu với một cụm của tất cả các điểm dữ liệu và đệ quy chia tách các cụm thích hợp nhất. Quá trình này tiếp tục cho đến khi đạt được một tiêu chí

dừng lại được. Phân cụm phân cấp dựa trên kết quả thống kê kết quả liên kết trong cụm.

1.3.2. Phương pháp phân cụm phân hoạch

Phân cụm phân hoạch phân chia dữ liệu thành các tập số. Kiểm tra tất cả các hệ thống tập hợp con có thể là tính toán không khả thi. Di chuyển lặp đi lặp lại các điểm trong cụm. Sau khi các cụm được xây dựng phương pháp phân cụm phân hoạch sẽ xem xét lại các cụm để cải thiện các cụm tốt hơn. Với dữ liệu thích hợp sẽ đem lại hiệu quả cao trong phân cụm.

1.3.3. Phương pháp phân cụm dựa trên mật độ

Một tập mở trong không gian Euclide có thể được chia thành một tập hợp các thành phần kết nối. Việc thực hiện ý tưởng này cho phân vùng của một tập hợp hữu hạn các điểm đòi hỏi phải có khái niệm về kết nối, mật độ, ranh giới. Chúng liên quan đến điểm lân cận gần nhất. Một cụm quy định như là một thành phần kết nối dày đặc, phát triển ở bất kỳ hướng nào mà mật độ cao nhất. Dựa trên các thuật toán mật độ có khả năng phát hiện các cụm với hình dạng bất kỳ điều này giúp loại bỏ các giá trị ngoại lai hoặc nhiễu.

1.3.4. Phân cụm dữ liệu dựa trên lưới

Phương pháp phân cụm dựa trên lưới đã được sử dụng trong một số nhiệm vụ khai thác dữ liệu của cơ sở dữ liệu lớn. Trong phân cụm dữ liệu dựa trên lưới, không gian đặc trưng được chia thành một số hữu hạn các ô hình chữ nhật hình thành lên lưới. Trên cấu trúc của lưới quá trình phân cụm được thực hiện. Quá trình đa phân tích thay đổi kích thước của ô hình chữ nhật có thể hình thành lên lưới. Trong không gian đa chiều d, lưới có dạng một hình lập phương với kích thước d tương ứng với các ô. Trong cấu trúc lưới phân cấp kích thước ô có thể được giảm để đạt được một cấu trúc ô chính xác hơn. Cấu trúc phân cấp có thể được chia thành nhiều cấp độ giải quyết. Mỗi ô ở mức độ cao hơn k sẽ được phân chia thành các ô có cấp độ thấp hơn k+1. Các ô ở mức độ thấp k+1 sẽ được hình thành bởi việc chia tách các ô k vào các ô nhỏ hơn.

Hình 1.10. Cấu trúc phân cụm dựa trên lƣới điểm

1.3.5. Phân cụm dữ liệu dựa trên sự ràng buộc

Trong phân cụm dữ liệu để có những hiểu biết về những trường hợp nên hay không nên gom cụm lại với nhau người ta có thể áp dụng phương pháp phân cụm dựa trên những ràng buộc. Phân cụm ràng buộc dựa trên sự thay đổi của thuật toán K-mean dựa vào tính toán những liên kết bắt buộc giữa hai điểm trong cùng một cụm và hạn chế những liên kết không thể thực hiện được giữa hai điểm trong một cụm. Những yêu cầu đó là bắt buộc trong khi phân cụm dữ liệu. Khi các ràng buộc không được đáp ứng các liên kết ràng buộc được gán bằng 0. Phân cụm ràng buộc dựa trên các liên kết liên quan nhưng sự khác biệt đến từ phân cụm bán giám sát khi có một số nhãn được biết trước.

Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển [5] và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp đó như: Phân cụm thống kê, phân cụm khái niệm, phân cụm mờ.

Phân cụm thống kê : Dựa trên các khái niệm phân tích hệ thống, nhánh nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, chúng chỉ áp dụng cho các dữ liệu có thuộc tính số.

Phân cụm khái niệm : Kỹ thuật này được phát triển áp dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng sử lý.

Phân cụm mờ : Sử dụng kỹ thuật mờ để PCDL. Các thuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời số hàng ngày, chúng chỉ sử lý các dữ liệu không chắc chắn.

Phân cụm sử dụng mạng Kohonen SOM (Self-Organizing Maps): Loại phân cụm này dựa trên khái niệm của các mạng nơron. Mạng SOM có tầng nơron vào và các tầng nơron ra. Mỗi nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra. Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng.

CHƢƠNG 2

MỘT SỐ VẤN ĐỀ VỀ PHÂN CỤM DỮ LIỆU BẰNG MẠNG KOHONEN 2.1. Thuật toán phân cụm dữ liệu

PCDL là kỹ thuật sử dụng quan sát đối tượng, mục đích để tổ chức một tập các đối tượng cụ thể hoặc trừu tượng vào các nhóm, cụm phân biệt. Bài toán phân cụm thường được thực hiện khi chúng ta không biết được nội dung thông tin của các thành phần thuộc cụm để định nghĩa trước các lớp. Vì lý do này mà công việc phân cụm thường được nhìn dưới con mắt của học máy không giám sát, phương pháp học mà khi ta cho trước một mẫu chỉ gồm các đối tượng cần tìm một cấu trúc đáng quan tâm của dữ liệu và nhóm lại các dữ liệu giống nhau.

Thuật toán phân cụm phát triển có thể cho kết quả tốt nhất với một loại tập hợp dữ liệu, nhưng có thể thất bại hoặc cho kết quả kém với các dữ liệu của các loại khác. Mặc dù đã có nhiều nỗ lực để tiêu chuẩn hóa các thuật toán có thể thực hiện tốt trong tất cả các trường hợp tình huống tuy nhiên vẫn chưa đạt được kết quả như mong muốn. Nhiều thuật toán phân nhóm đã được đề xuất. Mỗi thuật toán có giá trị riêng và điểm yếu riêng và không thể làm việc cho tất cả các tình huống thực tế. Phân cụm là quá trình phân vùng dữ liệu được thiết lập thành các nhóm dựa trên những đặc điểm tương tự nhau. Đây là vấn đề quan trọng trong học không giám sát. Nó thực hiện công việc với cấu trúc tìm kiếm trong một bộ dữ liệu không được dán nhãn. Để thực hiện tốt các thuật toán phân cụm thì cần phải có những điều kiện[6]:

- Khả năng mở rộng - dữ liệu phải được mở rộng nếu không sẽ đưa ra kết quả sai

- Thuật toán phân cụm phải có khả năng giải quyết với các loại thuộc tính khác nhau.

- Thuật toán phân cụm phải tìm ra các cụm dữ liệu với những hình dạng khác nhau.

- Kết quả thu được có thể giải thích được và có thể sử dụng để hiểu biết tối đa các thông số đầu vào.

- Thuật toán phân cụm phải có khả năng giải quyết tập dữ liệu đa chiều.

2.2. Một số thuật toán cơ bản trong phân cụm dữ liệu

2.2.1. Thuật toán phân cụm phân cấp

Thuật toán phân cụm phân cấp gồm có 2 loại: Thuật toán phân cụm theo thứ bậc trên xuống (Agglomerative Hierarchical). Thuật toán phân cụm theo thứ bậc từ dưới lên (Divisive Hierarchical). Hai thuật toán này trình tự làm việc ngược nhau. Thuật toán phân cụm phân cấp. Thuật toán này hoạt động bằng cách nhóm dữ liệu từng cặp một trên cơ sở các biện pháp khoảng cách gần nhất của khoảng cách giữa các điểm dữ liệu tất cả các cặp. Một lần nữa khoảng cách giữa các điểm dữ liệu được tính toán lại. Khi các nhóm đã được hình thành cần xem xét lại khoảng cách giữa các điểm dữ liệu. Một số phương pháp xem xét khoảng cách giữa các điểm dữ liệu:

- Khoảng cách gần nhất hoặc liên kết đơn nhất. - Khoảng cách xa nhất hoặc liên kết đầy đủ.

- Khoảng cách trung bình hoặc liên kết trung bình. - Tổng bình phương Euclide là nhỏ nhất

Thuật toán phân cụm phân cấp:

Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu.

Bước 1: Bắt đầu với phân chia các nhóm có mức L(0) = 0 và dãy số m = 0.

Bước 2: Tìm khoảng cách tối thiểu của cụm trong cụm hiện tại biểu diễn bằng cặp (r), (s) theo công thức d[(r),(s)]=min d[i,j] là nhỏ nhất so với các cụm hiện tại.

Bước 3: Tăng số thứ tự m=m+1. Hợp nhất các cụm (r) và (s) vào một cụm duy nhất hình thành m cụm tiếp theo. Thiết lập mức của nhóm này là L (m)=d[(r),(s)]

Bước 4: Cập nhật ma trận khoảng cách D bằng cách xóa các hàng và cột tương ứng với cụm (r) và (s) và thêm một hàng và cột tương ứng với cụm mới được thành lập. Khoảng cách giữa cụm mới ký hiệu là (r,s) và cụm cũ (k) được định nghĩa d[(k),(r,s)] = min(d[(k),(r)],d[(k),(s)])

Bước 5: Nếu tất cả các điểm dữ liệu trong một cụm thì dừng lại nếu không lặp lại từ bước 2

Ưu điểm của thuật toán phân cụm phân cấp

- Không có thông tin về các cụm được yêu cầu.

- Dễ dàng thực hiện và cho kết quả tốt nhất trong một số trường hợp

Nhược điểm của thuật toán phân cụm phân cấp

Thuật toán không thể quay lại những gì đã thực hiện trước đó. Độ phức tạp của thuật toán O(n2log n) với n là số điểm dữ liệu. Không có hàm mục tiêu được giảm thiểu ngay lập tức. Khó xác định số lượng các cụm chính xác bởi sơ đồ nhánh.

Phân cụm phân cấp bao gồm một số thuật toán như: Thuật toán CURE; Thuật toán BIRCH; Thuật toán AGNES; Thuật toán DIANA; Thuật toán ROCK; Thuật toán CHANMELEON.

2.2.2. Thuật toán phân cụm phân hoạch (Thuật toán K-means)

Thuật toán K-mean là một trong các thuật toán học không giám sát để thực hiện phân cụm dữ liệu. Thủ tục đơn giản và dễ dàng để phân loại dữ liệu được thiết lập thông qua số lượng nhất định các cụm (giả sử k cụm).

Hình 2.1. Các thiết lập để xác định ranh giới các cụm ban đầu

Xác định trung tâm của mỗi cụm. Trung tâm của mỗi cụm phải được đặt ở những vị trí chính xác vì đặt ở những vị trí khác nhau sẽ đưa ra kết quả khác nhau. Vị trí đặt các trung tâm ở những vị trí càng xa nhau càng tốt. Bước tiếp theo là lấy mỗi điểm thuộc một tập hợp dữ liệu đưa ra và liên kết đến trung tâm gần nhất. Khi không có điểm chờ xử lý bước đầu tiên được hoàn thành và một nhóm đầu tiên được thực hiện. Tại thời điểm này chúng ta cần phải tính toán lại trọng tâm k mới

như là trọng tâm của các cụm kết quả từ bước trước. Sau khi có những trọng tâm k một ràng buộc mới có thể được thực hiện giữa tập hợp điểm dữ liệu và trung tâm mới gần nhất. Tạo ra một vòng lặp kết quả của vòng lặp này có thể nhận thấy rằng các trung tâm k thay đổi vị trí của chúng cho đến khi các trung tâm không có bất kì di chuyển nào. Thuật toán này nhằm mục đích giảm thiểu hàm mục tiêu như là hàm bình phương sai số: i 2 C C i j i 1 j 1 f (v) ( x v ) (2.1) Trong đó: i j x v : là khoảng cách Euclide Ci: Số điểm dữ liệu trong cụm thứ i C: Số lượng các trung tâm cụm

Hình 2.2. Tính toán trọng tâm của các cụm mới

Các bước thực hiện thuật toán K-mean

Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu, V={v1,v2,v3…vn} là tập các trung tâm.

Bước 1: Chọn ngẫu nhiên trung tâm cụm c.

Bước 2: Tính khoảng cách giữa các điểm với trung tâm cụm.

Bước 3: Gán các điểm dữ liệu đến trung tâm cụm có khoảng cách tối thiểu của tất cả các trung tâm cụm.

Bước 4: Tính toán lại các trung tâm cụm mới bằng công thức:

i C i i j 1 i 1 v x c (2.2)

Trong đó: ci đại diện cho số lượng các điểm dữ liệu trong cụm thứ i.

Bước 5: Tính toán lại khoảng cách giữa mỗi điểm dữ liệu và các trung tâm cụm mới thu được.

Bước 6: Nếu không có điểm dữ liệu được gán lại khi dừng thì lặp lại bước 3

Ưu điểm của thuật toán K-mean:

- Thuật toán thực hiện cho ra kết quả nhanh chóng, mạnh mẽ và dễ hiểu

- Độ phức tạp của thuật toán O(tknd) trong đó n là các đối tượng, k là các cụm, d kích thước của từng đối tượng t là số lần lặp thông thường k,d,t<<n.

Một phần của tài liệu Ứng dụng mạng Kohonen cho khảo sát, đánh giá, thống kê tình hình của Trường Cao đẳng nghề (Trang 26 - 79)