Cấu trúc mô hình mạng nơron Kohonen

Một phần của tài liệu Mạng nơ ron ứng dụng cho phân tích, đánh giá kết quả học tập của học sinh, sinh viên trường cao đẳng nghề (Trang 40)

1. Lý do chọn đề tài

2.3.1.Cấu trúc mô hình mạng nơron Kohonen

SOM được tạo thành từ các nơron được đặt trên một lưới một chiều hoặc hai chiềụ Trọng số n chiều hoặc vector tham chiếu đại diện cho nơron thứ i trong SOM Mi mi1,mi2...min trong đó n bằng kích thức của các vector đầu vàọ Cấu trúc liên kết của SOM có thể là hình chữ nhật hoặc hình lục giác.

Hình 2.1

Hình 2.1 Cấu trúc của mạng SOM

Các nơron trong bản đồ được kết nối với các nơron lân cận thông qua các lệnh mối quan hệ liền kề trong cấu trúc của bản đồ. Các nơron liền kề thuộc lân cận thứ nhất ni1 của nơron thứ ị Trong không gian hai chiều các nơron có thể được bố trí trong hình chữ nhật hoặc hình lục giác. Các kích cỡ khác nhau của lân cận được minh họa như hình. Số lượng các nơron xác định kết quả chi tiết của bản đồ và nó ảnh hưởng đến tính chính xác và khả năng khái quát của SOM.

2.3.1.1 Khởi tạo 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ừ đầụ 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:

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ệụ

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àọ 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àọ Đ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ềụ

2.3.1.2 Huấn luyện SOM

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 Euclidẹ Chọn phần tử trùng khớp 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:

Bước 2: Sau khi tìm được BMU, vector trọng số của SOM được cập nhật. Vector trọng số và topo lân cận được di chuyển gần hơn tới vector đầu vào trong không gian đầu vàọ Thủ tục thích nghi kéo dài BMU và các topo lân cận của nó hướng về vector mẫụ

Hình 2.2 Cập nhật BMU và lân cận của nó với mẫu đầu vào x

Thông thường quá trình huấn luyện được thực hiện qua hai giai đoạn. Giai đoạn 1: So sánh giá trị ban đầu và bán kính vùng lân cận.

Giai đoạn 2: Giá trị ban đầu và bán kính vùng lân cận phải nhỏ hơn giai đoạn 1. Giai đoạn này điều chỉnh khoảng cách lần đầu tiên của dữ liệu đầu vào với vector trọng số sau đó tinh chỉnh lại bản đồ.

2.3.1.3 Tỉ lệ học

Tỉ lệ học α luôn luôn nhỏ hơn 1 thông thường là 0.4 hoặc thấp hơn. Tỉ lệ học lớn sẽ làm cho quá trình học nhanh hơn. Tuy nhiên tỉ lệ học quá cao thì hội tụ sẽ không bao giờ xảy rạ

Một số thuộc tính của hàm - 1> α(t) >0

- Giảm dần đều theo thời gian - Khi α(t) =0 dừng học.

- α(t) có thể thay đổi theo nhiều cách: + Sụt giảm hằng số

+ Hàm của huấn luyện lặp

+ Đệ quy αi(t+1)= αi(t)/(1+hciαi(t))

Tỉ lệ học là hàm giảm chức năng theo thời gian. Có 2 dạng hàm thường sử dụng là hàm tuyến tính theo thời gian và hàm tỉ lệ nghịch với thời gian. Minh họa ở hình 2.3 hàm α(t) tuyến tính a giảm dần tới 0 trong quá trình học từ giá trị ban đầu trong khi hàm ngược α giảm nhanh chóng từ giá trị ban đầụ Giá trị ban đầu của α(t) phải được xác định. Thường khi sử dụng hàm α(t) tỉ lệ giảm nhanh chóng, giá trị ban đầu có thể lớn hơn giá trị tuyến tính được chọn.

Tỉ lệ học α có thể chấp nhận một số hàm khác nhau:

α(t)=1- α0(t/T) Với kết quả phân cụm tốt nhưng hội tụ chậm hơn. α(t)=a0ta Hội tụ nhanh hơn và kết quả tốt hơn α(t)=a0l-at Hội tụ nhanh nhất nhưng kết quả không đúng

Hàm thứ 2 là chấp nhận được với α(t) trong khoảng [0.05-0.9] và luôn chọn giá trị nhỏ hơn gần đến 1.

Hình 2.3 Hàm tỉ lệ học theo thời gian

2.3.1.4 Hàm lân cận

Hàm lận cận bao gồm hàm tỉ lệ học α(t) là hàm giảm theo thời gian và là hàm mẫu ra lệnh cho các hàm lần cận, các dạng hàm sau cùng cũng xác (adsbygoogle = window.adsbygoogle || []).push({});

định tỉ lệ thay đổi xung quanh các đơn vị chiến thắng. Một nút chiến thắng trọng số được cập nhật bằng cách sử dụng tỉ lệ học hiện tại cũng như các nút lân cận các trọng số sẽ được cập nhật nơi tỉ lệ học cho lân cận là ít hơn so với nút chiến thắng và trọng số có sự thay đổị

Thông thường hàm lân cận được sử dụng để cập nhật cho các nút liền kề. Một loạt các hàm lân cận có thể được sử dụng. Chúng ta có thể hạn chế các hàm chức năng để không gia tăng xung quanh đơn vị chiến thắng mc. Các hàm lân cận có thể cố định xung quanh đơn vị chiến thắng. Một lựa chọn cho hàm lân cận là sử dụng hạt nhân Gaussian xung quanh nơron chiến thắng. Điều này đòi hỏi tính toán theo cấp số nhân nhưng cũng có thể lấy xấp xỉ bởi hàm lân cận bubblẹ Hàm lân cận Gaussian

(2.12) d2

ci: Khoảng cách trung gian của nơron bị kích i và nơron chiến thắng c. dci: Trong mạng tinh thể một chiều |i-1| dci: Trong mạng tinh thể 2 chiều ||ri-rc|| khi ri là vị trí của nơron i trong mạng.

δ: Phương pháp đo mức độ bị kích thích của nơron lân cận của nơron chiến thắng hợp tác trong quá trình học.

Trong các thuật toán học δ được cập nhật mỗi lần lặp trong giai đoạn ra lệnh bằng cách sử dụng các quy tắc cập nhật phân rã theo hàm mũ với các tham số.

Tính năng khác của SOM là kích thước của một lân cận thu nhỏ với thời gian

δ(t)= δ0exp(-t/τ1) (2.13) Trong đó: t: rời rạc theo thời gian t=0,1,2,3…

τ: Độ nghiêng của đồ thị δ(t) đối với t tạo lênτ(1) lớn hơn chiều rộng δ(t) giảm chậm hơn

Một dạng khác của hàm lân cận là hàm lân cận bubblẹ Hàm lân cận bubble là một hằng số được xác định lân cận của nơron chiến thắng, mọi nơron ở khu vực lân cận sẽ được cập nhật đối xứng với tỉ lệ khác biệt giữa các nơron và vector mẫụ Hàm lân cận bubble là một hàm trung gian giữa tổn thất tính toán và xấp xỉ Gaussian. Một tính toán cho hàm này cũng tốn nhiều thời gian. Công thức tính cho hàm bubble

Một hình thức đơn giản của hàm lân cận biểu thị một tập hợp các nút xung quanh các nút phù hợp nhất. Bằng cách chọn tỉ lệ học ban đầu phù hợp và hình thức học với hàm lân cận ảnh hưởng đáng kể đến kết quả.

Hình 2.4 Giá trị của hàm lân cận Gausian(a) và hàm bubble(b)

2.3.1.5 Cập nhật trọng số

Sau khi tìm kiếm các đơn vị phù hợp nhất. Các đơn vị trong SOM sẽ được cập nhật. Trong suốt quá trình cập nhật, đơn vị phù hợp nhất sẽ được cập nhật để được gần hơn các vector mẫu trong không gian đầu vàọ Topo lân cận của đơn vị phù hợp nhất cũng được cập nhật. Việc cập nhật sẽ được trải

dài BMU và topo lân cận đối với vector mẫụ Có hai phương thức cập nhật trọng số khi huấn luyện SOM. Phương thức thứ nhất là phương pháp cộng: Một phần nhỏ cuả vector đầu vào sẽ được thêm vào vector trọng số sau đó tổng hợp lại đơn vị chiều dàị X là vector huấn luyện mạng, w(t) là vector trọng số của nơron chiến thắng tại thời điểm t, cập nhật vector trọng số w(t+1) có thể tính toán với công thức:

Với :

- w(t): Vector trọng số

- w(t+1): Cập nhật vector trọng số x: vector đầu vào α(t): Tỉ lệ học Ngoài phương pháp cộng người ta có thể sử dụng phương pháp trừ được mô tả bằng công thức:

Với :

- w(t): Vector trọng số

- w(t+1): Cập nhật vector trọng số x: vector đầu vào α(t): Tỉ lệ học

2.3.1.6 Xác định nơron chiến thắng

SOM gồm có một lớp nơron tự tổ chức, mảng hai chiều hoặc đa chiềụ Nơron có nhiều kết nối đầu vào do bởi có một số thuộc tính được sử dụng trong phân loạị Thủ tục huấn luyện gồm có: Tìm ra nơron với trọng số gần nhất từ vector dữ liệu đầu vào và khai báo nơron như là nơron chiến thắng. Khi trọng số của tất cả các nơron ở lân cận nơron chiến thắng được điều chỉnh bởi số lượng tỉ lệ với khoảng cách. Phạm vi được công nhận bị giảm như là số lần lặp được tăng lên. Quá trình huấn luyện được hoàn thành nếu một số quy định lặp đạt được.

Khoảng cách Euclide được sử dụng SOM xác định nơron chiến thắng. Mỗi đầu vào được gán cho một trọng số bởi một nơron tương ứng với vector

trọng số và kết quả được tổng hợp. Điều này đại diện cho đầu vào thực của nơron đặc biệt. K đại diện cho nơron thứ k và n thuộc tính được sử dụng đại diện cho đầu vào cuối cùng.

Kết quả của vector vô hướng sẽ cho dự báo của một vector khác. Nếu vector đơn vị được mặc định trong xi và wi ta thu được cosin của 1 góc giữa vector x,w. Vector vô hướng, đầu ra lớn nhất được lựa chọn là chiến thắng.

Khi sử dụng khoảng cách Euclide trong thuật toán SOM, phạm vi của các biến riêng biệt đóng vai trò quyết định trong việc xác định bản đồ tương tự cuối cùng. Nếu phạm vi các giá trị của một biến là lớn hơn nhiều so với các biến khác, khi đó các biến có thể chiếm ưu thế trong tổ chức của SOM. Do đó thành phần dữ liệu thường được chuẩn hóa trước khi thực hiện để mỗi biến có sự thống nhất. (adsbygoogle = window.adsbygoogle || []).push({});

2.3.1.7 Bảo toàn cấu trúc liên kết

Phân cụm 2 pha của SOM cho phép xác định bảo toàn cấu trúc của các cụm. Ở pha thứ nhất huấn luyện SOM với hàm lân cận Gausian được áp dụng tốt hơn cho bảo toàn cấu trúc, có thể trực quan các thành phần trình bàỵ Ở pha thứ 2 bản đồ được huấn luyện chia thành các cụm bằng cách sử dụng phát triển các cụm bắt đầu bằng các điểm cực tiểu của ma trận khoảng cách. Tập các điểm có thể tìm được bằng cách:

Với mi là vector nguyên mẫu, Ni, Nj là tập các nút lân cận, và

Hình 2.5 Bảo toàn cấu trúc liên kết các cụm 2.3.2. Thuật toán của mạng nơron Kohonen.

2.3.2.1 Thuật toán phân cụm dữ liệu

Phân cụm dữ liệu là một lĩnh vực quan trọng trong khai phá dữ liệụ Với sự ra đời của nhiều thuật toán phân cụm và được sử dụng trong nhiều ứng dụng: Xử lý hình ảnh, sinh học dùng máy điện toán, truyền thông di động, kinh tế. Vấn đề chính với các thuật toán phân cụm dữ liệu mà nó không thể được chuẩn hóạ Thuật toán 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ự nhaụ Đâ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[3]:

- 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 nhaụ

- 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 nhaụ

- Thuật toán phân cụm không bị ảnh hưởng bởi nhiễu và giá trị ngoại lệ.

- 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àọ

- 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ềụ

2.3.2.2 Thuật toán phân cụm tuyến tính không giám sát ạ Thuật toán phân cụm K-mean

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ệụ 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). 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 nhaụ 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àọ 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ố.

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

Thuật toán K-Means thực hiện qua các bước chính sau:

1. Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được đại diện bằng các tâm của cụm.

2.Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)

3.Nhóm các đối tượng vào nhóm gần nhất 4.Xác định lại tâm mới cho các nhóm

5.Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng.

* Ư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, dễ hiểụ - Độ 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.

- Cho kết quả tốt nhất với tập dữ liệu riêng biệt hoặc tách rời nhaụ

- Thuật toán yêu cầu biết trước số lượng trung tâm cụm.

Một phần của tài liệu Mạng nơ ron ứng dụng cho phân tích, đánh giá kết quả học tập của học sinh, sinh viên trường cao đẳng nghề (Trang 40)