CHƯƠNG 2: KOHONEN-SOM VÀ PHÂN CỤM DỮ LIỆU
2.2. Mạng Kohonen là gì?
2.2.2. Thuật toán phân cụm bằng mạng Kohonen
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:
27 Hình 2.2. Phần tử nơron chiến thắng BMU
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 0
is ( W )
n
i i
i
D t V
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.3. Các vùng lân cận
28 - Đặ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:
0exp t ( 1, 2, 3...)
t t
σ: 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)
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 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:
( 1) W( ) ( ) ( )( ( ) W( )) W t t a t L t V t t
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 2
( ) exp is ( 1, 2, 3...)
2 ( )
a t d t t
t
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).
29 - 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:
( ) exp t ( 1, 2, 3...)
L t t
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 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 [8].
Thuật toán SOM với những ưu điểm của nó, đã trở thành công cụ có ích trong phân cụm và rút gọn kích thước dữ liệu. Đó là tạo ra hàm phân bố xác suất cho tập dữ liệu bao lớp, dễ giải thích và quan trọng nhất là trực quan mạng tốt. Tùy theo vấn đề cần giải quyết, các chuyên gia phân cụm dữ liệu có thể chọn phương pháp khác nhau để phân tích dữ liệu đưa ra.
Trong phân cụm dữ liệu, có rất nhiều phương pháp ứng dụng nó. Độ đo khoảng cách có thể căn cứ vào liên kết đơn hoặc liên kết đầy đủ. Hạn chế trong liên kết đó là các cụm dễ trở thành chuỗi dài do đó không điển hình cho dữ liệu. Mặt khác, liên kết đầy đủ đôi khi vượt quá giới hạn cho phép. Việc kết hợp liên kết giữa liên kết đơn và liên kết đầy đủ được thực hiện bằng cách gắn độ đo các điểm trong cụm với trọng số phù hợp. Như vậy, độ đo vừa gắn được giá trị cho tất cả các điểm giống nhau như khoảng cách vừa giữ được hình thái của cụm dữ liệu. Phương pháp SOM có thể hoàn toàn được dùng như một phép đo.
SOM là phương pháp phân cụm theo cách tiếp cận mạng nơron. Véc tơ trọng số
30 của ma trận SOM chính là trọng tâm cụm, việc phân cụm có thể cho ra kết quả tốt hơn bằng cách kết hợp các đơn vị trong ma trận để tạo thành các cụm lớn hơn [7].
Dùng SOM như một bước trung gian để phân cụm, đó là cách tiếp cận gồm hai mức: lớp đầu tiên phân cụm dữ liệu và sau đó phân cụm SOM. Với mỗi véctơ dữ liệu của tập dữ liệu bao lớp thuộc cùng một cụm có mẫu gần nó nhất. Một ưu điểm của cách tiếp cận này là giảm thời gian tính toán, điều này dễ dàng phân biệt được với các thuật toán phân cụm khác mà điển hình là cây phân cấp thậm chí với một lượng nhỏ các ví dụ bao lớp cũng trở lên nặng nề. Chính vì vậy cách tiếp cận này là hoàn toàn phù hợp cho việc phân cụm một tập các mẫu hơn là làm trực tiếp trên tập dữ liệu.