Tải bản đầy đủ (.pdf) (0 trang)

Đề tài: Mạng kohonen và ứng dụng cho việc đánh giá trình độ học vấn của các dân tộc tỉnh yên bái

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.3 MB, 0 trang )

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi,
không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực
hiện. Nội dung lý thuyết trong luận văn tôi có sử dụng một số tài liệu tham khảo
như đã trình bày trong phần tài liệu tham khảo. Các số liệu, chương trình phần
mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong
bất kỳ một công trình nào khác.

Thái Nguyên, tháng 4 năm 2016
Học viên thực hiện

Đặng Trung Kiên


LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Lê Bá Dũng người
đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn.
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trường Đại học Công
nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Viện
Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá
trình học của mình.
Tôi cũng xin gửi lời cảm ơn tới Ban Giám đốc Sở Giáo dục Yên Bái đã
tạo điều kiện thuận lợi cho tôi tham gia khóa học và trong suốt quá trình hoàn thành
luận văn.
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè
những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được kết
quả như ngày hôm nay.

Thái Nguyên, tháng 4 năm 2016
Học viên


Đặng Trung Kiên


i

MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC ............................................................................................................. i
THUẬT NGỮ TIẾNG ANH ................................................................................iii
MỞ ĐẦU .............................................................................................................. 1
Chương 1: MẠNG NƠRON VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU .............. 3
1.1. Cấu trúc và mô hình mạng Nơron ............................................................... 3
1.1.1. Mô hình một nơron sinh học ............................................................... 3
1.1.2. Cấu trúc và mô hình của một nơron nhân tạo .................................... 4
1.2. Mạng Nơron Kohonen và bài toán phân cụm dữ liệu ................................. 7
1.2.1. Giới thiệu mạng Kohonen (SOM - Self Organizing Maps) ................. 7
1.2.2. Bài toán phân cụm dữ liệu ................................................................ 10
Chương 2: PHÂN CỤM DỮ LIỆU BẰNG MẠNG KOHONEN .................... 16
2.1. Thuật toán phân cụm dữ liệu ..................................................................... 16
2.2. Một số thuật toán trong phân cụm dữ liệu ................................................ 17
2.2.1. Thuật toán phân cụm phân cấp ......................................................... 17
2.2.2. Thuật toán phân cụm phân hoạch (Thuật toán K-means) ................ 18
2.2.3. Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN) ........ 22
2.2.4. Thuật toán phân cụm dựa trên lưới (Thuật toán STING) ................ 24
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) ......... 25
2.3. Thuật toán phân cụm bằng mạng Kohonen .............................................. 26
2.3.1. Cấu trúc của mạng nơron Kohonen .................................................. 26
2.3.2. Thuật toán phân cụm bằng mạng Kohonen ...................................... 27
2.4. Phân cụm bằng mạng Kohonen .................................................................. 31

2.4.1. Khởi tạo mạng Kohonen (SOM) ........................................................ 31
2.4.2. Huấn luyện mạng Kohonen .............................................................. 32
2.4.3. Tỉ lệ học ............................................................................................. 32
2.4.4. Cập nhật lại trọng số ......................................................................... 33


ii

2.4.5. Xác định nơron chiến thắng .............................................................. 34
Chương 3: ỨNG DỤNG MẠNG KOHONEN (SOM) TRONG PHÂN TÍCH
ĐÁNH GIÁ TRÌNH ĐỘ HỌC VẤN CÁC DÂN TỘC Ở TỈNH YÊN BÁI ..... 35
3.1. Mô tả bài toán ............................................................................................. 35
3.1.1. Khái quát điều kiện tự nhiên, tình hình kinh tế-xã hội và giáo dục tỉnh
Yên Bái ............................................................................................................... 35
3.1.2. Trình độ học vấn ............................................................................... 36
3.2. Thu thập dữ liệu. ........................................................................................ 37
3.3. Mạng Kohonen cho phân tích đánh giá trình độ học vấn các dân tộc ở tỉnh
Yên Bái ............................................................................................................... 42
3.3.1. Cấu trúc mạng ................................................................................... 42
3.3.2. Giới thiệu công cụ SOM Toolbox ...................................................... 42
3.3.3. Chuẩn bị dữ liệu ................................................................................ 48
3.3.4. Mô hình mạng Kohonen .................................................................... 49
3.3.5. Chương trình ứng dụng mô hình mạng Kohonen ............................ 51
3.3.6. Kết quả sau khi huấn luyện mô hình mạng Kohonen ....................... 52
3.3.7. Đánh giá kết quả ............................................................................... 57
Tài liệu tham khảo ............................................................................................... 64


iii


THUẬT NGỮ TIẾNG ANH

SOM (Self-Organizing Maps)

Mạng nơron tự tổ chức

PE (Processing element)

Phần tử xử lý

U-matrix (unified distance matrix)

Ma trận thống nhất khoảng cách

EM (Expectation maximization)

Thuật toán tối đa hóa

MST (Minimum spanning tree)

Thuật toán tối thiểu cây mở rộng

BMU (Best - Matching unit)

Đơn vị phù hợp nhất

DBSCAN (Density Based Spatial

Phân cụm dữ liệu dựa trên không gian
mật độ ứng dụng với nhiễu


Clustering of Applications with
Noise)


iv

CÁC HÌNH VẼ, BẢNG BIỂU TRONG LUẬN VĂN
Hình 1.1 Một nơron sinh học .................................................................................3
Hình 1.2 Sự liên kết các nơron ..............................................................................4
Hình 1.3 Mô hình một nơron nhân tạo ................................................................... 5
Hình 1.4 Đồ thị các dạng hàm truyền ....................................................................7
Hình 1.5 Ví dụ về phân cụm dữ liệu..................................................................... 11
Hình 1.6 Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách............................. 12
Hình 1.7 Ví dụ phân cụm các ngôi nhà dựa trên kích cỡ ................................... 13
Hình 2.1 Các chiến lược phân cụm phân cấp....................................................... 17
Hình 2.2 Các thiết lập để xác định ranh giới các cụm ban đầu .......................... 129
Hình 2.3 Tính toán trọng tâm của các cụm mới ................................................... 20
Hình 2.4 Hình dạng các cụm được khám phá bởi thuật toán DBSCAN ............... 23
Hình 2.5 Một dạng mạng nơron Kohonen ............................................................ 27
Hình 2.6 Phần tử nơron chiến thắng BMU .......................................................... 28
Hình 2.7 Các vùng lân cận .................................................................................. 28
Hình 3.1 Thuật toán phân cụm trình độ học vấn của các dân tộc ở tỉnh Yên Bái. 51
Hình 3.2 Giao diện chương trình ....................................................................... 52
Hình 3.3 Hình ảnh phân cụm trình độ học vấn các dân tộc................................ 53
Hình 3.4 Hình ảnh cụm theo lớp của các dân tộc............................................... 54
Hình 3.5 Hình ảnh phân cụm trình độ học vấn các nữ dân tộc........................... 55
Hình 3.6 Hình ảnh cụm theo lớp của các nữ dân tộc ......................................... 56
Bảng 3.1 Trình độ học vấn các dân tộc ............................................................... 38
Bảng 3.2 Trình độ học vấn các nữ dân tộc......................................................... 40



1

MỞ ĐẦU

Mạng nơron nhân tạo nói chung, mạng KOHONEN nói riêng đã và đang
được nghiên cứu, ứng dụng mạnh mẽ và thành công ở nhiều lĩnh vực trong những
năm gần đây, là công cụ tốt trong việc giải quyết các bài toán như: hợp và phân lớp
đối tượng, phân cụm dữ liệu,...Nó thay thế hiệu quả các công cụ tính toán truyền
thống để giải quyết các bài toán này.
Mạng nơron SOM được giáo sư Teuvo Kohonen của trường đại học Helsinki
Phần Lan phát triển vào những năm 80 của thế kỷ 20 [9]. Đây là mạng truyền thẳng
sử dụng thuật học cạnh tranh, không giám sát có khả năng phân cụm dữ liệu với
một lượng lớn dữ liệu đầu vào.
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người và được
sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu,
xử lý ảnh, nghiên cứu thị trường.... [1] phân cụm dữ liệu có thể được sử dụng như
một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô
tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm. Với tư cách là một chức
năng khai phá dữ liệu, phân tích phân cụm có thể được sử dụng như một công cụ
độc lập chuẩn để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố
của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân
tích đạt kết quả.
Hiện nay có khá nhiều thuật toán đã được đưa ra để áp dụng cho bài toán
phân cụm, tuy nhiên mỗi giải thuật đều có những ưu, nhược điểm riêng. Dựa trên
các đặc tính của mạng nơron Kohonen thì việc lựa chọn giải thuật này cho bài toán
phân cụm dựa trên tập dữ liệu trình độ học vấn phổ thông của các dân tộc tỉnh Yên
Bái là một hướng đi mới, có nhiều hứa hẹn. Qua những phân tích ở trên cho thấy có
thể phân cụm dựa trên tập dữ liệu trình độ học vấn phổ thông của các dân tộc tỉnh

Yên Bái. Điều này có ý nghĩa quan trọng trong công tác quản lý, giúp cho ngành
giáo dục và đào tạo có thể thấy được toàn cảnh về trình độ học vấn của các dân tộc
ở các vùng miền trong tỉnh, qua đó có sự đánh giá chính xác về trình độ học vấn


2

giữa các dân tộc, giữa các khu vực trong tỉnh để từ đó có thể đưa ra các định hướng
phát triển giáo dục dân tộc giữa các vùng miền trong tỉnh cho phù hợp. Ngoài ra,
việc phân cụm cũng có thể giúp định hướng công tác xoá mù chữ, phổ cập giáo dục
tiểu học, phổ cập giáo dục trung học cơ sở đạt kết quả và bền vững.
Như vậy, nội dung nghiên cứu của đề tài là giải quyết bước đầu trong vấn đề
về khai phá dữ liệu, có vai trò cũng như đóng góp rất quan trọng trong việc nâng
cao hiệu quả cho các bước phân tích dữ liệu phía sau.
Được sự gợi ý của thầy hướng dẫn và nhận thấy tính thiết thực của vấn đề
em chọn đề tài: “Mạng Kohonen và ứng dụng cho việc đánh giá trình độ học
vấn của các dân tộc tỉnh Yên Bái”.
Phương pháp nghiên cứu chính là tìm hiểu về mạng Nơron Kohonen qua các
tài liệu, bài báo viết về mạng SOM và sử dụng công cụ SOM Toolbox để huấn
luyện mạng SOM phân cụm dữ liệu.
Nội dung luận văn gồm có 3 chương:
Chương 1: Tìm hiểu cấu trúc, mô hình mạng Nơron, mạng Nơron Kohonen,
bài toán phân cụm dữ liệu.
Chương 2: Giới thiệu một số thuật toán phân cụm phổ biến. Trong chương
này trình bày về mạng SOM: Giới thiệu về cấu trúc của SOM, thuật toán SOM, sử
dụng SOM trong phân cụm dữ liệu.
Chương 3: Ứng dụng mạng Nơron Kohonen trong đánh giá trình độ học vấn
của các dân tộc tỉnh Yên Bái.



3

Chương 1

: MẠNG NƠRON VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU

1.1. Cấu trúc và mô hình mạng Nơron
1.1.1.

Mô hình một nơron sinh học

Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần tử
này có thể chia làm bốn thành phần cơ bản như sau: dendrites, soma, axon, và
synapses.
-

Dendrites: là phần nhận tín hiệu đầu vào.

-

Soma: là hạt nhân.

-

Axon: là phần dẫn ra tín hiệu xử lý.

-

Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron.


Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung. Một
cách tổng quát, thì một nơron sinh học nhận đầu vào từ các nguồn khác nhau, kết
hợp chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng
ở đầu ra. Hình 1.1 chỉ ra mối quan hệ giữa bốn phần tử của một nơron sinh học.

Hình 1.1 Một nơron sinh học


4

Một nơron sinh học chỉ có một số chức năng cơ bản như vậy, ta nhận thấy
khả năng xử lý thông tin của nó là rất yếu. Để có được khả năng xử lý thông tin
hoàn hảo như bộ não con người, thì các nơron phải kết hợp và trao đổi thông tin với
nhau. Ta hình dung sơ đồ liên kết, và trao đổi thông tin giữa hai nơron như hình 1.2.

Hình 1.2 Sự liên kết các nơron
1.1.2.

Cấu trúc và mô hình của một nơron nhân tạo

Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và
Pitts [1], [2], thường được gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử
lý và được ký hiệu là PE (Processing Element).
Mô hình nơron có m đầu vào x1, x2, ..., xm, và một đầu ra yi như sau:


5

Hình 1.3 Mô hình một nơron nhân tạo
Giải thích các thành phần cơ bản:

-

Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường
được đưa vào dưới dạng một vector m chiều.

-

Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng
số (thường được gọi là trọng số liên kết). Trọng số liên kết giữa tín hiệu
vào thứ j cho nơron i thường được ký hiệu là wij. Thông thường các trọng
số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập
nhật liên tục trong quá trình học mạng.

-

Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với
trọng số liên kết của nó.

-

Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm
truyền.

-

Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron.
Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Thông
thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1]
hoặc [-1,1]. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính
hoặc phi tuyến. Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và

kinh nghiệm của người thiết kế mạng.

-

Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một
đầu ra.


6

Về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểu thức
sau:
n

yi  f (net i   i ) và net i   wij x j
j 1

Trong đó: x1, x2, …xm là các tín hiệu đầu vào, còn wi1, wi2,…,wim là các
trọng số kết nối của nơron thứ i, neti là hàm tổng, f là hàm truyền,  i là một
ngưỡng, yi là tín hiệu đầu ra của nơron.
Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín
hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các
tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết
quả của hàm truyền).
 Hàm truyền có thể có các dạng sau:

1 khi
y
0 khi


x0
x0

-

Hàm bước

-

Hàm giới hạn chặt (hay còn gọi là hàm bước)

 1 khi
y  sgn( x)  
 1 khi
-

x0
x0

Hàm bậc thang

x 1
1 khi

y  sgn( x)   x khi 0  x  1
0 khi
x0

-


Hàm ngưỡng đơn cực

y
-

1
1  e  x

với λ>0

Hàm ngưỡng hai cực

y

2
1
1  e  x

với λ>0

 Đồ thị các dạng hàm truyền được biểu diễn như sau:


7

Hình 1.4 Đồ thị các dạng hàm truyền
1.2. Mạng Nơron Kohonen và bài toán phân cụm dữ liệu
1.2.1.

Giới thiệu mạng Kohonen (SOM - Self Organizing Maps)


Trong các kiểu khác nhau của mạng nơron, mạng nơron Kohonen giống với
mạng nơron sinh học hơn cả về cấu tạo lẫn cơ chế học. Mạng nơron nhân tạo này
lần đầu tiên được giới thiệu bởi Kohonen vào năm 1982, nó được biết đến như là
ánh xạ đặc trưng tự tổ chức (SOM). Ánh xạ tự tổ chức của Kohonen còn được biết
đến là một trong những mô hình khá đơn giản của mạng nơron, và người ta thường
gọi đó là mạng nơron Kohonen.
Mạng nơron Kohonen (hay nơron tự tổ chức) mô hình hóa cách hoạt động bộ
não của con người, mặc dù nó khá đơn giản. Chúng ta có thể nhận được một số ý
tưởng cách bộ não lưu trữ hình ảnh và cách nó nhận dạng các hình ảnh.
Cách xử lý thông tin các mạng nơron khác thường chỉ quan tâm đến giá trị và
dấu hiệu của thông tin đầu vào, chưa quan tâm khai thác các mối liên hệ có tính chất
cấu trúc trong lân cận của các vùng dữ liệu mẫu, hay toàn thể không gian. Nhưng
trong mạng nơron Kohonen đã quan tâm đến các yếu tố này.
Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong
mạng nơron. Một mạng nơron như vậy có thể được luyện để tìm ra các quy luật và
các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo. Các nơron


8

của mạng thông qua quá trình luyện cạnh tranh để nhận ra một nhóm các đối tượng
đầu vào tương đương nhau. Mục đích chính của việc luyện trong mạng nơron
Kohonen là nhận dạng một nhóm các vector đầu vào cùng loại.
Việc thi hành mạng nơron Kohonen có thể được thay thế bởi một thuật toán
tương ứng mà dễ dàng thi hành, và luôn luôn được sử dụng trong các ứng dụng của
mạng nơron Kohonen. Chúng ta gọi thuật toán đó là thuật toán mạng nơron tự tổ
chức (Kohonen, 1988) hay ánh xạ tự tổ chức SOM. Ý tưởng đáng chú ý của thuật
toán này là ánh xạ các đặc trưng topo tự tổ chức nhằm bảo toàn trật tự sắp xếp các
mẫu trong không gian biểu diễn nhiều chiều sang một không gian mới với các mảng

nơron có số chiều nhỏ hơn, thường là hai chiều. Đây là một phép chiếu phi tuyến
đem lại một “ánh xạ đặc trưng” hai chiều, nó có thể được sử dụng trong việc phát
hiện và phân tích những đặc trưng trong không gian đầu vào. Ta hiểu điều này như
là bảo toàn cấu trúc các đặc trưng. Trong mạng nơron Kohonen, các vector tín hiệu
đầu vào gần nhau sẽ được ánh xạ sang các nơron lân cận trong mạng.
Kỹ thuật SOM đã được áp dụng thành công trong một số lĩnh vực như nhận
dạng, phân cụm dữ liệu, dự đoán chuỗi và khai phá dữ liệu, ... [8, 9] Mẫu được nhận
dạng có thể là ảnh, âm thanh hoặc văn bản,... Có thể xem SOM là một lớp điển
hình, nhưng rất đơn giản của các mạng nơron Kohonen.
Mạng luyện không có thầy hướng dẫn, là một kiểu luyện mà ở đó các nơron
tự xoay xở với các dữ liệu mẫu mà nó có được chứ không có “Ông thầy” gợi ý cần
luyện theo hướng nào.
Tự mình khám phá những quan hệ đang được quan tâm, ví dụ về các dạng
(patterns), các đặc trưng (features) từ dữ liệu vào (input data) sau đó chuyển thành
cái ra (outputs). Như vậy thực chất: đó là các mạng tự tổ chức (hay mạng nơron
Kohonen).
Mạng noron Kohonen là mạng có khả năng sử dụng những kinh nghiệm của
quá khứ để thích ứng với những biến đổi của môi trường (không dự báo trước).
Loại mạng này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên
ngoài.


9

Trong phần này chúng ta sẽ trình bày một số quy trình luyện tham số của
luyện không có thầy như sau:
Mô hình
Mạng có n nơron PEi , i=1, 2,..., n.
Cái ra của chúng là


y i , i=1, 2,..., n.

Có m tín hiệu vào {x1, x2,..., xm},wij là trọng số liên kết từ xj với PEi .
Gọi s(x), s(y) là hàm chuyển tín hiệu, giả thiết đó là hàm đơn điệu không
giảm liên tục như dạng hàm Sigmoid.
Phương thức biến đổi trọng số được gọi là luật luyện Hebb, quy tắc luyện
đơn giản theo dạng Hebb cho bởi phương trình:
wij' 

dwij (t )
dt

  wij  si ( y i ).s j ( x j )

Bây giờ ta xét một số trường hợp riêng:
- Quy tắc luyện cạnh tranh (Competitive Learning Rule - Grossberg 1969,
Rumelhart 1986)
wij'  si ( y i )( s j ( x j )  wij )

ở đây

si ( yi ) 

- Nếu dùng

1
,
1  e  cyi

s j (xj )  xj


c  0

ta thu được :

Quy tắc luyện cạnh tranh tuyến tính (the Linear competitive learning rule)
wij'  si ( y i )( x j  wij )

Trường hợp riêng quan trọng là quy tắc “ thắng lấy tất cả - the winner - take all learning rule “ của Kohonen, giải thích để hiểu qua bài toán phân cụm tập mẫu

X   x 1 , x 2 ,..., x p  thành n cụm, với n đã cho.
Kí hiệu

x Rm,

w i  ( w i 1 , w i 2 , ..., w im )  R m , α là hệ số

học.
Tại mỗi vòng lặp k, quy tắc luyện gồm 2 bước:


10

Bước 1: Bước tìm cái khớp nhất (matching) - tìm nơron tạm gọi là nơron
thắng (theo nghĩa gần mẫu nhất), sử dụng công thức sau:
y  max( y1 ... y m ) 

x.w

,


(Phương pháp tính tích vô hướng).

x

Bước 2: Tính toán sai số và điều chỉnh trọng số
Ký hiệu ej là sai số ở cột thứ j, wij là biểu diễn cho cột thứ j của ma trận trọng
số w, sai số này được tính theo công thức sau:
ej = ||x-wij||
Nếu tổng sai số chưa nằm dưới mức cho phép, ta điều chỉnh trọng số theo
công thức:

wijk 1  wijk   ( xi  wijk )

với k =1,…,m

Khi một mẫu được đưa tới một mạng Kohonen, những nơron được chọn là
nơron thắng (winner) (nơron thích hợp nhất theo nghĩa mà ta đặt ra). Nơron thắng
này là dữ liệu đầu ra từ mạng Kohonen. Thông thường, các nơron thắng này tương
ứng với các nhóm trong dữ liệu đưa vào mạng Kohonen.
Mạng Kohonen được huấn luyện trong một chế độ không có giám sát. Sử
dụng mạng Kohonen này, dữ liệu có thể được phân loại thành từng cụm.
1.2.2.

Bài toán phân cụm dữ liệu

1.2.2.1. Khái niệm
Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát
hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu
lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định [5].

Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các
nhóm dữ liệu với trong đó các đối tượng tương tự như nhau. Trong mỗi nhóm, một
số chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa. Hay ta
có thể hiểu “Phân cụm dữ liệu là quá trình tổ chức các đối tượng thành từng nhóm
mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó,
những đối tượng không tương tự tính chất sẽ ở nhóm khác” [5].


11

Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau
trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là
tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng.
Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy. Không giống
như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các
mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng
quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ. Ngoài ra phân cụm dữ liệu
còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ
liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra
các cụm.
Như vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu
thành các cụm dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar)
với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự”
(Dissimilar) với nhau. Số các cụm dữ liệu được phân ở đây có thể được xác định
trước theo kinh nghiệm hoặc có thể được tự động xác định.
Chúng ta có thể thấy điều này với một ví dụ đơn giản như sau:

Hình 1.5: Ví dụ về phân cụm dữ liệu
Trong trường hợp này, chúng ta dễ dàng xác định được 4 cụm dựa vào các
dữ liệu đã cho; các tiêu chí “tương tự” để phân cụm trong trường hợp này là

khoảng cách: hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đóng gói”


12

theo một khoảng cách nhất định. Điều này được gọi là phân cụm dựa trên khoảng
cách.
Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào khái
niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm
chung cho tất cả các đối tượng trong đó. Nói cách khác, đối tượng của nhóm phải
phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo
những biện pháp đơn giản tương tự.
1.2.2.2. Mục tiêu của phân cụm dữ liệu
Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong một
bộ dữ liệu không có nhãn. Nhưng để có thể quyết định được cái gì tạo thành một
cụm tốt. Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt
? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc
lập với mục đích cuối cùng của phân cụm dữ liệu. Do đó, mà người sử dụng phải
cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ phù hợp
với nhu cầu của họ cần.
Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho
các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của
chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm
các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu).

Hình 1.6: Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách


13


Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân
cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu
đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc
phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu.
Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường
minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc
tính... Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các
thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng. Ngoài ra, dò
tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng
trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ
liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ
liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng
của chúng tới quá trình và kết quả của phân cụm.

Hình 1.7: Ví dụ phân cụm các ngôi nhà dựa trên kích cỡ
Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp
phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc
cơ sở dữ liệu. Hơn nữa, đối với các phương pháp phân cụm cần có cách thức biểu
diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có
tương ứng một thuật toán phân cụm phù hợp. Vì vậy phân cụm dữ liệu vẫn đang


14

là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn
vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn
hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong
những thách thức lớn trong lĩnh vực khai phá dữ liệu.
1.2.2.3. Ứng dụng của phân cụm dữ liệu
Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:

- Thương mại: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách
hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay
dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;
- Sinh học: Phân nhóm động vật và thực vật dựa vào các thuộc tính của
chúng;
- Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
- Bảo hiểm, tài chính: Phân nhóm các đối tượng sử dụng bảo hiểm và các
dịch vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài
chính (identifying frauds);
- WWW: Phân loại tài liệu (document classification); phân loại người dùng
web (clustering weblog);…
- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa
lý…nhằm cung cấp thông tin cho quy hoạch đô thị
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp
thông tin cho nhận dạng những vùng nguy hiểm.
1.2.2.4. Các yêu cầu khi phân cụm
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng
tiềm năng của chúng được đưa ra ngay chính những yêu cầu đặc biệt của
chúng. Sau đây là những yêu cầu cơ bản của phân cụm trong khai phá dữ liệu:
- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo
kích thước của dữ liệu.
- Thuật toán phải xử lý và áp dụng được với cơ sở dữ liệu nhiều nhiễu,
phức tạp bao gồm cả dữ liệu không gian, phi không gian, dữ liệu số, phi số,


15

kiểu nhị phân, dữ liệu định danh, hạng mục, thích nghi với kiểu dữ liệu hỗn hợp.
- Thuật toán phải có khả năng xác định được với những cụm với hình dáng
bất kỳ bao gồm cả những cụm có hình dáng lồng nhau, cụm có hình dạng lõm,

hình cầu, hình que…
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào. Do các giá
trị đầu vào thường thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức
tạp để xác định các giá trị vào thích hợp với cơ sở dữ liệu (CSDL) lớn.
- Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu. Nói cách khác
kết quả của thuật toán nên độc lập với dữ liệu đầu vào.
- Thuật toán không đòi hỏi những tri thức về CSDL từ người dùng.
- Thuật toán phải làm việc được với CSDL chứa nhiều lớp đối tượng dữ liệu
phức tạp và có tính chất khác nhau.
- Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp
dụng hiệu quả cho dữ liệu có số chiều khác nhau.
- Thuật toán phải dễ hiểu, dễ cài đặt và khả thi: Người sử dụng có thể chờ
đợi các kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng. Nghĩa là, sự phân
cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng. Việc nghiên cứu để
một ứng dụng đạt được mục tiêu rất quan trọng có thể gây ảnh hưởng tới sự lựa
chọn các phương pháp phân cụm.


16

Chương 2

: 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
Phân cụm dữ liệu 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 cụ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:
- 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.
- 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


17

đ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 trong phân cụm dữ liệu
2.2.1.


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

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu
đang xem xét. Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng
hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy. Có hai cách tiếp
cận phổ biến của kỹ thuật này đó là: hòa nhập nhóm, thường được gọi là tiếp cận
(Bottom-Up); phân chia nhóm, thường được gọi là tiếp cận (Top-Down)
- Phương pháp “dưới lên” (Bottom up): Phương pháp này bắt đầu với mỗi
đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm
các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của
hai nhóm) [4], [5], [6], quá trình này được thực hiện cho đến khi tất cả các nhóm
được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi
các điều kiện kết thúc thỏa mãn. Như vậy, cách tiếp cận này sử dụng chiến lược ăn
tham trong quá trình phân cụm.

Hình 2.1: Các chiến lược phân cụm phân cấp
- Phương pháp “trên xuống” (Top Down): Bắt đầu với trạng thái là tất cả
các đối tượng được xếp trong cùng một cụm. Mỗi vòng lặp thành công, một cụm
được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó
cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn
[4], [5], [6]. Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân


18

cụm.
Thuật toán:
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
Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm
phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân
cấp có thể cải tiến thông qua bước phân cụm phân hoạch. Phân cụm phân hoạch và
phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện đã có rất
nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến
trong khai phá dữ liệu.
2.2.2.

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

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho
đến khi xác định số các cụm được thiết lập. Số các cụm được thiết lập là các đặc
trưng được lựa chọn trước. Phương pháp này là tốt cho việc tìm các cụm hình cầu
trong không gian Euclidean. Ngoài ra, phương pháp này cũng phụ thuộc vào
khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là
gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có


19


quan hệ là xa nhau so với mỗi điểm khác. Tuy nhiên, phương pháp này không thể
xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc. Các
thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu
toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân
hoạch có thể được. Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ
cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của
cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Như vậy, ý
tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến
lược ăn tham (Greedy) để tìm kiếm nghiệm [2].
Điển hình trong phương pháp tiếp cận theo phân cụm phân hoạch là các thuật
toán như: K_means, K-medoids, CLARA (Clustering Large Applications),
CLARANS (Clustering Large Applications based on RAndomized Search) . . .
Thuật toán k-mean
Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu đến
phần tử là trung tâm của cụm chứa nó.

Hình 2.2 Các thiết lập để xác định ranh giới các cụm ban đầu
Thuật toán k-means lấy tham số đầu vào là k và phân chia một tập n đối
tượng vào trong k cụm để cho kết quả độ tương đồng trong cụm là cao trong khi độ
tương đồng ngoài cụm là thấp. Độ tương đồng cụm được đo khi đánh giá giá trị


×