Thuật giải huấn luyện SOM có thể được mô tả theo các bước cơ bản như sau: Khởi tạo:
48 Các vector trọng số cho từng nút trong mạng được khởi tạọ Các giá trị khởi tạo này thường được chọn một cách ngẩu nhiên và thỏa tiêu chuẩn đủ nhỏ.
Chọn phần tử đại diện:
Một vector sẽ được chọn ngẫu nhiên từ tập huấn luyện và trở thành phần tử đại diện của nhóm.
Tìm mẫu khớp tốt nhất (MBU) - phần tử neuron chiến thắng:
Mỗi nút trên mạng sẽ được kiểm tra để tính xem nút nào có trọng số gần với vector nhập nhất. Phần tử chiến thắng được xem là phần tử so khớp tốt nhất (BMU: Best Matching Unit).
Thuật giải tìm mẫu khớp tốt nhất được thực hiện như sau:
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:
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ẽ đựoc chọn là MBU Xây dựng các phần tử lân cận:
Bán kính lân cận của MBU sẽ được tính lạị Bán kính được xác định lớn nhất thường sẽ là bán kính của mạng, nhưng sau đó giá trị này sẽ giảm dần sau những bước thực hiện. Tất cả những phần tử nằm trong bán kính trên sẽ được xem là phần tử lân cận của BMỤ
Trong mỗi vòng lặp, sau khi MBU được xác định bước tiếp theo là thực hiện lại việc tính toán trên các nút để xây dựng lại tập các phần tử lân cận mới của MBỤ Các vector trọng số của các phần tử lân cận này sẽ được cập nhật lại ở bước tiếp theọ
Các phần tử lân cận của MBU
Tập các phần tử lân cận của MBU sẽ được cập nhật lại bằng cách duyệt qua các phần tử nằm trong bán kính lân cận hay vector khoảng cách của MBỤ
Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của MBU đượ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:
Biểu thức (5): hàm mũ nội suy của phép co
σ: chiều rộng của tập dữ liệu nhập tại thời điểm t σ0: chiều rộng của tập dữ liệu nhập tại thời điểm t0 λ: hằng số thời gian
t: là bước lặp hiện tại
σ0 được tính bằng công thức sau:
48 Width: chiều rộng của mạng Kohonen
Height: chiều cao của mạng Kohonen
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
λ 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.
Một ví dụ về sự co lại của bán kính lân cận thực hiện theo công thức trên.
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 MBU 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.
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 d) 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 MBU, thì trọng số của nó sẽ càng đễ 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:
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 cũ W của nó cộng thêm phần giá trị khác biệt giữa trọng 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:
Biểu thức (7): hàm mũ nội suy của tốc độ học
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 - biểu thức (5)
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.
Dạng cải tiến của hàm hiệu chỉnh vector trọng số:
Ta nhận thấy không chỉ tốc độ học phải nội suy theo thời gian học mà tính hiệu quả của phép học SOM còn phải tương ứng thay đổi theo khoảng cách của nút hiện tại đến neuron chiến thắng.
Đặc điểm này cho thấy trong quá trình học các neuron trong vùng lận cận càng ở xa neuron chiến thắng sẽ học càng ít hơn.
Về mặt lý tưởng , số lần học phải giảm dần theo khoảng cách thỏa mãn hàm nội suy Gaussian được cho bởi đồ thị sau:
48
Lúc này hàm hiệu chỉnh vector trọng số được biểu diễn lại như sau:
θ: Hàm nội suy theo thời gian học. Nó 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:
dist: là khoảng cách từ một neuron đến neuron chiến thắng.
σ: chiều rộng của tập huấn luyện tại thời điểm (được tính theo công thức (5)). Vòng lặp:
Lặp lại bước b 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
Phân tích: Có 3 điểm cần lưu ý trong thuật toán học:
Độ đo để xác định nơ-ron chiến thắng: dùng độ đo Euclide
Cập nhật trọng số: các nơ-ron ở càng xa nơ-ron chiến thắng thì càng ít bị ảnh hưởng bới nơ-ron chiến thắng. Có thể sử dụng công thức sau, với Sigma là một hàm khoảng cách hình học, càng xa thì càng nhỏ. Winew = Wiold + Sigma*(Wwinner - V).
Điều kiện dừng: có thể là dựa trên số lần lặp hay số mẫu học hay độ đo cân bằng của mạng sau một số lần lặp
Lưu ý là một mẫu học có thể được đưa vào học nhiều lần. Hàm số Sigma có thể phụ thuộc vào thời điểm lặp, nghĩa là càng về cuối thì mức ảnh hưởng của nó càng cao/thấp.
4. Ưu và nhược điểm của SOM ạ Ưu điểm
Giải thuật SOM được cài đặt tương đối đơn giản và dễ hiểụ SOM được sử dụng trong việc gom cụm các loại dữ liệu và trực quan hóa chúng trên bản đồ nhằm đơn giản hóa quá trình khai thác và thu thâp dữ liệu
b. Nhược điểm
Bên cạnh những ưu điểm của mình, SOM còn có một số nhược điểm: Mất mát thông tin
Chi phí cho việc tính toán khá cao khi số chiều của dữ liệu tăng lên
Tổng kết
Khai khá dữ liệu là vấn đề rất cần thiết trong cuộc sống của chúng tạ Từ khai phá dữ liệu chúng ta có thể phát hiện ra tri thức. Đó là vấn đề cốt lõi của chúng tạ Có rất nhiều cách để con người khai phá được dữ liệu và một trong những cách đó là phân cụm dữ liệụ Có rất nhiều thuật toán phân cụm dữ liệu và trong đề tài này đã trình bày được một số thuật toán trong phân cụm dữ liệụ Đề tài tập trung vào ứng dụng của mạng nơ-ron để phân cụm trong thuật toán SOM. Do giới hạn về thời gian nên trong đề tài chưa được hoàn thiện. Trong thời gian tới đây tôi sẽ tiếp tục nghiên cứu để hoàn thiện đề tài và ứng dụng vào thực tế.
Xin chân thành cảm ơn thầy giáo Nguyễn Tân Ân đã tận tình giúp đỡ em trong quá trình làm đề tài nàỵ