Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN)

Một phần của tài liệu Nghiên cứu mạng nơron và ứng dụng trong khảo sát, đánh giá, thống kê kết quả học tập tại trường đại học công nghiệp quang ninh (Trang 29)

Thuật toán phân cụm dựa trên mật độ đóng vai trò quan trọng trong tìm kiếm cấu trúc phi tuyến tính dựa trên mật độ. Thuật toán phân cụm dựa trên không gian mật độ DBSCAN (Density-Based Spatial Clustering of Applications with Noise) là một giải thuật phân cụm dựa trên mật độ, đƣợc phát triển bởi Ester, Kriegel, Sander và Xu (1996) đƣợc sử dụng rộng rãi dựa trên mật độ. Nó dựa trên hai khái niệm khả năng tiếp cận mật độ và khả năng kết nối mật độ.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

Khả năng tiếp cận mật độ: một điểm p đƣợc gọi là mật độ truy cập từ một điểm q nếu p nằm trong khoảng cách ε từ điểm q và q có đủ số điểm lân cận với khoảng cách trong phạm vi ε.

Khả năng kết nối mật độ: một điểm p và q đƣợc cho là kết nối mật độ nếu có tồn tại một điểm r trong đó có đủ số điểm trong lân cận và cả hai điểm p và q nằm trong khoảng cách ε. Nếu q là lân cận của r, r là lân cận của s, s là lân cận của t, t là lân cận của p có nghĩa là q là lân cận của p.

Hình 2.3. Hình dạng các cụm được khám phá bởi thuật toán DBSCAN

Các bƣớc của thuật toán phân cụm dựa trên mật độ DBSCAN:

Cho tập hợp các điểm dữ liệu X={x1,x2,x3…xn}. DBSCAN yêu cầu hai tham số: ε và số lƣợng tối thiểu các điểm cần thiết để tạo thành một cụm.

Bước 1: Bắt đầu với một điểm tùy ý không đƣợc kiểm tra.

Bước 2: Rút ra các lân cận của điểm này bằng cách sử dụng khoảng cách ε.

Bước 3: Nếu có đầy đủ các điểm lân cận xung quanh điểm này thì bắt đầu quá trình phân cụm và điểm đƣợc đánh dấu truy cập khác thời điểm này đƣợc dán nhãn nhƣ là nhiễu.

Bước 4: Nếu một điểm đƣợc tìm thấy là một phần của cụm thì lân cận ε của nó cũng là một phần của cụm và thủ tục trên từ bƣớc 2 đƣợc lặp đi lặp lại cho tất cả các điểm lân cận ε. Điều này đƣợc lặp đi lặp lại cho đến khi tất cả các điểm trong cụm đƣợc xác định.

Bước 5: Một điểm mới ghé thăm thƣờng xuyên đƣợc lấy ra và xử lý, dẫn đến việc phát hiện ra một cụm hoặc nhiễu.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

Bước 6: Quá trình này đƣợc thực hiện cho tới khi các điểm viếng thăm đƣợc đánh dấu.

Ngoài thuật toán DBSCAN ra, phân cụm dựa trên mật độ còn bao gồm 2 thuật toán khác nhƣ: Thuật toán OPTICS; Thuật toán DENCLUE.

2.2.4. Thuật toán phân cụm dựa trên lưới (Thuật toán STING)

Thuật toán STING là kỹ thuật phân cụm đa phân giải dựa trên lƣới, trong đó vùng không gian dữ liệu đƣợc phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các ô lƣới đƣợc hình thành từ các ô lƣới con để thực hiện phân cụm. Có nhiều mức của các ô chữ nhật tƣơng ứng với các mức khác nhau của phân giải trong cấu trúc lƣới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao đƣợc phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp. Các điểm dữ liệu đƣợc nạp từ CSDL, giá trị của các tham số thống kê cho các thuộc tính của đối tƣợng dữ liệu trong mỗi ô lƣới đƣợc tính toán từ dữ liệu và lƣu trữ thông qua các tham số thống kê ở các ô mức thấp hơn. Các giá trị của các tham số thống kê gồm: số trung bình - mean, số tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s, ...

Các đối tƣợng dữ liệu lần lƣợt đƣợc chèn vào lƣới và các tham số thống kê ở trên đƣợc tính trực tiếp thông qua các đối tƣợng dữ liệu này. STING có khả năng mở rộng cao, nhƣng do sử dụng phƣơng pháp đa phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất. Cấu trúc dữ liệu lƣới thuận tiện cho quá trình xử lí song song và cập nhật liên tục, khi duyệt toàn bộ CSDL một lần để tính toán các đại lƣợng thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thời gian để tạo các cụm xấp xỉ O(n), trong đó n là tổng số các đối tƣợng. Sau khi xây dựng cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng số ô lƣới ở mức thấp(g << n).

Thuật toán STING gồm các bƣớc sau:

Bước 1: Xác định tầng để bắt đầu.

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 1 2 : ; ; 1 1 2 2 : , 6( ) E a h b h a b M a b b c d

khoảng) của xác suất mà ô này liên quan tới truy vấn.

Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan

hoặc không liên quan.

Bước 4: Nếu lớp này là lớp dƣới cùng, chuyển sang bƣớc 6, nếu khác thì chuyển sang Bƣớc 5.

Bước 5: Duyệt xuống dƣới của cấu trúc cây phân cấp một mức. Chuyển sang bƣớc 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn.

Bước 6: Nếu đặc tả đƣợc câu truy vấn, chuyển sang bƣớc 8, nếu không thì chuyển sang bƣớc 7.

Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lí. Trả lại kết quả phù hợp yêu cầu của truy vấn. Chuyển sang bƣớc 9.

Bước 8: Tìm thấy các miền có các ô liên quan. Trả lại miền mà phù hợp với yêu cầu của truy vấn . Chuyển sang bƣớc 9.

Bước 9: Dừng.

Ngoài thuật toán STING ra, phân cụm dựa trên lƣới còn có thêm một thuật

toán khác là: Thuật toán CLIQUE.

2.2.5. Các thuật toán phân cụm dựa trên mô hình (Thuật toán EM)

Thuật toán EM gán các đối tƣợng cho các cụm đã cho theo xác suất phân phối thành phần của đối tƣợng đó. Phân phối xác suất thƣờng đƣợc sử dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tƣợng dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tƣợng dữ liệu. EM có thể khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá cao. Thuật toán đƣợc chia thành hai bƣớc và quá trình đó đƣợc lặp lại cho đến khi vấn đề đƣợc giải quyết: các bƣớc thực hiện của thuật toán EM

Các bƣớc thực hiện của thuật toán EM

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 2 ( ) 2 ( ) | , , | , , | , , | , , t t k i i i k j t j t j k t t t k t k k j j j P x P P x P P x P x P x P ( 1) ( 1) | , | , | , i k t k t k i i k t k i k t t k i P x x P x P x P R (0) (0) (0) (0) (0) (0) 0 1 , 2 ,..., k ,p1 ,p2 ,...,pk Bước 2: Bước 3:

Lặp lại bƣớc 2 và 3 cho đến khi đạt đƣợc kết quả

Ngoài thuật toán EM ra, phân cụm dựa trên mô hình còn có thêm một

thuật toán khác là: Thuật toán COBWEB.

2.3. Thuật toán phân cụm bằng mạng Kohonen

2.3.1. Mạng Kohonen là gì?

Mạng Kohonen (hay còn được gọi là Self Organizing Maps viết tắt là SOMs)

là một kỹ thuật trực quan dữ liệu đƣợc phát minh bởi giáo sƣ Teuvo Kohonen, nó giúp giảm số chiều (kích thƣớc) của dữ liệu, qua đó giúp cho chúng ta hiểu đƣợc dữ liệu với kích thƣớc lớn đó.

Điểm nổi bật của thuật toán SOM là nó sẽ chuyển các dạng quan hệ phức tạp, thống kê rời rạc giữa các đối tƣợng dữ liệu đa chiều (n chiều) về các quan hệ hình học trực quan đơn giản với số chiều đƣợc rút gọn đi nhiều lần - thƣờng là một hoặc hai chiều. Về bản chất giải thuật đƣợc biết đến nhƣ là kỹ thuật nén dữ liệu dựa trên véc tơ trọng số.

2.3.2. Cấu trúc mô hình mạng Kohonen

Mạng Kohonen hai chiều gồm có 2 lớp đó là lớp vào và lớp ra Kohonen. Lớp vào (Input layer): dùng để đƣa dữ liệu huấn luyện vào mạng Kohonen. Kích thƣớc của lớp vào tƣơng ứng với kích thƣớc của mỗi mẫu học. Trong mạng Kohonen hai chiều, các nơron của lớp ra đƣợc sắp xếp trên một mảng 2 chiều, mảng này đƣợc gọi là lớp ra Kohonen. Tất cả các nơron của lớp vào đều đƣợc nối với các nơron trên lớp ra Kohonen. Mỗi liên kết giữa đầu vào và đầu ra của mạng Kohonen tƣơng

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

ứng với một trọng số. Kích thƣớc của mỗi véctơ trọng số bằng kích thƣớc của lớp vào. Ta có thể hình dung cấu trúc mạng Kohonen theo hình sau:

Hình 2.4. Một dạng mạng nơron Kohonen 2.3.3. Thuật toán phân cụm bằng mạng Kohonen

Xét một tập dữ liệu là các véc tơ trong không gian n chiều V = [V1, V2,...,Vn]

Khởi tạo tham số thời gian t: t = 0.

Bước 1: Khởi tạo vector trọng số Wij cho mỗi nơron i trong mạng Kohonen.

Bước 2: Lấy một mẫu huấn luyện x từ tập huấn luyện.

Bước 3: Tìm mẫu khớp tốt nhất (BMU) - phần tử nơron chiến thắng:

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn 2 0 is ( W ) n i i i D t V 0exp t ( 1, 2,3...) t t

Duyệt tất cả các nút và tính khoảng cách Euclide giữa vector trọng số của mỗi nút và vector nhập hiện hành. Công thức để tính khoảng cách Euclide đƣợc cho

nhƣ sau: (2.3)

V: vector nhập hiện hành; W: vector trọng số của phần tử đƣợc chọn. Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ đƣợc chọn là BMU.

Bước 4: Xây dựng các phần tử lân cận

Các nơron lân cận tùy thuộc vào bán kính, đƣợc sắp xếp trong lƣới theo hình chữ nhật hoặc hình lục giác. Số các lân cận xác định trọng tâm của ma trận kết quả, có ảnh hƣởng đến độ chính xác và khả năng sinh ma trận của SOM.

Hình 2.6. Các vùng lân cận

- Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của BMU đƣợc xây dựng trên vector khoảng cách sẽ đƣợc co lại sau một số lần lặp nhất định. Điều này đƣợc thực hiện bằng cách co lại bán kính của vùng lân cận theo số lần lặp.

- Phép co sẽ đƣợc thực hiện theo hàm mũ nội suy sau:

(2.4)

σ: bán kính lân cận của BMU tại thời điểm t. σ0: bán kính lân cận của BMU tại thời điểm t0. λ: hằng số thời gian . t: là bƣớc lặp hiện tại .

- Giá trị của hằng số λ phụ thuộc vào σ và số lần lặp để chạy giải thuật. Nó đƣợc tính theo công thức sau:

λ = N/log(σ0) (2.5)

N: số lần lặp để chạy giải thuật (số lần học của mạng).

λ và σ sẽ đƣợc dùng để tính bán kính lân cận trong mỗi lần lặp của giải thuật. - Khi bán kính lân cận đã đƣợc xác định, việc xác định các phần tử lân cận

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn ( 1) W( ) ( ) ( )( ( ) W( )) W t t a t L t V t t 2 2 is ( ) exp ( 1, 2,3...) 2 ( ) d t a t t t ( ) exp t ( 1, 2,3...) L t t

của BMU sẽ đƣợc thực hiện đơn giản bằng cách duyệt tất cả các phần tử trong mạng để xem nó có nằm trong bán kính lân cận hay không.

Bước 5: Hiệu chỉnh trọng số của các phần tử lân cận - quá trình học của giải thuật SOM. Trọng số của các phần tử lân cận đƣợc xác định ở bƣớc trên bao gồm cả BMU sẽ đƣợc điều chỉnh để chúng có giá trị gần giống với giá trị của vector nhập hơn. Phần tử càng gần với BMU, thì trọng số của nó sẽ càng dễ bị thay đổi nhiều hơn. Các vector trọng số sẽ đƣợc hiệu chỉnh theo công thức sau:

(2.6) Hàm nội suy theo thời gian học thể hiện sự tác động của khoảng cách đối với quá trình học và đƣợc tính theo công thức sau:

(2.7) dist : là khoảng cách từ một nơron đến nơron chiến thắng.

t : bƣớc lặp hiện tại.;

L: tốc độ học (sẽ giảm dần theo số lần lặp).

- Biểu thức trên cho thấy trọng số của một nút sau khi hiệu chỉnh chính là giá trị trọng số cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng số W và vector nhập V theo hệ số tốc độ học.

- Hàm nội suy tốc độ học L(t) cho mỗi bƣớc lặp đựơc tính theo công thức sau: (2.8)

L0: Giá trị khởi tạo ban đầu của tốc độ học; λ: hằng số thời gian .

- Càng tiến dần về điểm giữa thì tốc độ học sẽ càng giống với hàm mũ nội suy của phép co. Tốc độ học sẽ đƣợc nội suy dần theo tốc độ học và giá trị của hàm sẽ tiến dần về không khi số lần lặp đạt đến những bƣớc cuối cùng.

Bước 6: Vòng lặp: Tăng t, lấy mẫu học tiếp theo. Lặp lại bƣớc 2 cho đến khi giải thuật tối ƣu hoặc đạt đến số lần lặp xác định N cho trƣớc.

Chú ý: Số lƣợng vector của tập huấn luyện là có giới hạn. Để cho việc huấn luyện mang lại kết quả tốt nhất đòi hỏi số bƣớc huấn luyện phải lớn và nếu kích thƣớc của tập huấn luyện là nhỏ thì những mẫu huấn luyện có thể đƣợc sử dụng lặp

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

lại, những mẫu có thể đƣợc áp dụng đều đặn theo chu kỳ hoặc theo một trật tự hoán vị ngẫu nhiên.

2.4. Một số vấn đề phân cụm bằng mạng Kohonen

2.4.1. Khởi tạo mạng Kohonen (SOM)

Trong thuật toán SOM cơ sở mối quan hệ giữa các topo và số nơron đƣợc bố trí ngay từ đầu. Số lƣợng các nơron thƣờng đƣợc lựa chọn là lớn nhất với kích thƣớc lân cận điều chỉnh độ mịn và tính khái quát của bản đồ. Bản đồ không bị ảnh hƣởng nhiều khi số lƣợng nơron vƣợt quá số lƣợng vector đầu vào nếu kích thƣớc lân cận đƣợc lựa chọn thích hợp. Khi kích thƣớc của bản đồ tăng số lƣợng nơron các giai đoạn huấn luyện trở nên nặng nề và khó khăn. Trƣớc khi huấn luyện phải khởi tạo giá trị ban đầu cho vector trọng số. Có ba phƣơng pháp khởi tạo đƣợc sử dụng [10]: khởi tạo ngẫu nhiên, khởi tạo sử dụng hàm mẫu ban đầu, khởi tạo tuyến tính.

- Khởi tạo ngẫu nhiên: các giá trị ngẫu nhiên đƣợc gán cho vector bảng mã đây là trƣờng hợp đƣợc sử dụng khi dữ liệu đầu vào tại thời gian khởi tạo không có gì hoặc ít đƣợc biết đến.

- Khởi tạo sử dụng mẫu ban đầu: sử dụng các mẫu ban đầu đƣợc thực hiện bởi các mẫu ban đầu của bộ dữ liệu đầu vào và có thể đƣợc sử dụng cho khởi tạo vector bảng mã. Điều này có lợi thế mà các điểm tự động đặt trong cùng một phần tử không gian đầu vào với dữ liệu.

- Khởi tạo tuyến tính: phƣơng pháp khởi tạo sử dụng phân tích các thành phần chính của dữ liệu đầu vào. Vector bảng mã đƣợc khởi tạo nằm trong cùng một không gian đầu vào đƣợc kéo dài bởi 2 vector đặc trƣng tƣơng ứng với những giá trị riêng lớn nhất của dữ liệu đầu vào. Điều này có tác dụng kéo SOM cùng hƣớng dữ liệu có năng lƣợng quan trọng nhất. Phƣơng pháp khởi tạo tuyến tính đƣợc sử dụng thành công. Tuyến tính là phƣơng pháp tốt cho khởi tạo bản đồ đa chiều.

2.4.2. Huấn luyện mạng Kohonen

Bƣớc 1: Lựa chọn ngẫu nhiên vector mẫu x từ tập dữ liệu đầu vào và sử dụng các biện pháp đo khoảng cách giữa vector mẫu và các vector trọng số của bản đồ. Thông thƣờng sử dụng biện pháp đo khoảng cách Euclide. Chọn phần tử trùng khớp

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

c i i

x m min x m

nhất BMU kí hiệu c là đơn vị của vector trọng số có sự tƣơng đồng lớn nhất với mẫu đầu vào x. BMU đƣợc xác định bằng công thức:

(2.9)

trong đó là khoảng cách.

Một phần của tài liệu Nghiên cứu mạng nơron và ứng dụng trong khảo sát, đánh giá, thống kê kết quả học tập tại trường đại học công nghiệp quang ninh (Trang 29)

Tải bản đầy đủ (PDF)

(77 trang)