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

Mạng Kohonen Som và ứng dụng phân cụm điểm học sinh THPT

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.8 MB, 72 trang )

ĐẠI HỌC THÁI
NGUYÊN

TRƢỜNG ĐH CNTT VÀ TRUYỀN THÔNG





HÀ THỊ THƢ




MẠNG KOHONEN-SOM VÀ ỨNG DỤNG
PHÂN CỤM ĐIỂM HỌC SINH THPT



CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60 48 01




LUẬN VĂN THẠC SĨ KHOA
HỌC
HƢỚNG DẪN KHOA HỌC: TS NGUYỄN VĂN TẢO







THÁI NGUYÊN - 2012
ĐẠI HỌC THÁI
NGUYÊN

TRƢỜNG ĐH CNTT VÀ TRUYỀN THÔNG





HÀ THỊ THƢ




MẠNG KOHONEN-SOM VÀ ỨNG DỤNG
PHÂN CỤM ĐIỂM HỌC SINH THPT

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60 48 01




LUẬN VĂN THẠC SĨ KHOA
HỌC
HƢỚNG DẪN KHOA HỌC

TS NGUYỄN VĂN TẢO

THÁI NGUYÊN - 2012


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là công trình nghiên cứu của cá nhân tôi, không
sao chép của ai. Nội dung lý thuyết trong luận văn có sự tham khảo và sử dụng của
một số tài liệu, thông tin đƣợc đăng tải trên các tác phẩm, tạp chí và các trang web
theo danh mục tài liệu của luận văn. 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, ngày 15 tháng 9 năm 2012


Học viên thực hiện
HÀ THỊ THƢ



















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

MỤC LỤC

CHƢƠNG 1: TỔNG QUAN VỀ MẠNG KOHONEN-SOM

1.1. Sơ lược về mạng neural 2
1.1.1. Lịch sử phát triển 2
1.1.2. Ứng dụng 3
1.1.3. Căn nguyên sinh học 4
1.2. Tổng quan về mạng Kohonen-SOM 5
1.2.1. Vecto Quantization – VQ 6
1.2.2. Lerning Vector Quantization – LVQ 6
1.2.3. Bản đ tự t chức – SOM 7
1.3. Cấu trúc mạng neural Kohonen 7
1.3.1. Mạng neural Kohonen 7
1.3.2. Cấu trúc của mạng neural Kohonen 8
1.4. Thực thi mạng neural Kohonen 12
1.5. Kết luận 13
2.1. Phân cụm dữ liệu: 14

2.1.1. Khái niệm: 14
2.1.2. Các bƣớc cơ bản trong phân cụm: 15
2.2. Những kỹ thuật tiếp cận trong phân cụm dữ liệu 15
2.2.1. Phƣơng pháp phân cụm phân hoạch 15
2.2.2. Phƣơng pháp phân cụm phân cấp 16
2.2.3. Phƣơng pháp phân cụm dựa trên mật độ 16
2.2.4. Phƣơng pháp phân cụm dựa trên lƣới 17
2.2.5. Phƣơng pháp phân cụm dựa trên mô hình 18
2.2.6. Phƣơng pháp phân cụm có dữ liệu ràng buộc 18
2.3. Một số thuật toán cơ bản trong phân cụm dữ liệu 19
2.3.1. Thuật toán phân cụm phân hoạch 19
2.3.2. Thuật toán phân cụm phân cấp 21
2.3.3. Thuật toán phân cụm dựa trên mật độ 23


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2.3.4. Thuật toán phân cụm dựa trên lƣới 24
2.3.5. Các thuật toán phân cụm dựa trên mô hình 25
2.4. Dùng mạng neural trong phân cụm: 26
2.5. SOM –Bài toán phân cụm: 28
2.5.1. Thuật toán SOM: 28
2.5.2. Sử dụng SOM trong khai phá dữ liệu 31
2.5.3. SOM –Thách thức phân nhóm 36
2.5.4. SOM –Thách thức tốc độ giải thuật 37
2.5.5. SOM –Vấn đề số lƣợng nhóm 38
2.6. SOM –Giải quyết những vấn đề tồn tại khi phân cụm 38
2.6.1 Giải pháp phân cụm tự nhiên trong quá trình học 38
2.6.2 Mạng thu gọn và tăng tốc giải thuật 40
2.6.3 Giới hạn điều chỉnh số lƣợng nhóm trên mạng SOM 42

2.7. Đánh giá kết quả phân cụm 43
2.8. Kết luận : 46
3.1 . Mô tả bài toán 48
3.1.1. Dữ liệu vào: 48
3.1.2. Dữ liệu ra: 48
3.1.3.Quá trình cài đặt: 48
3.1.4. Mục đính- Yêu cầu 48
3.2. Phân tích thiết kế hệ thống cho ứng dụng 49
3.2.1. Xác định các tác nhân và các Use case 49
3.2.2. Biểu đ Use Case 50
3.3. Chương trình ứng dụng 54
3.3.1. Giao diện tng quan cho ứng dụng 54
3.3.2 Một số tính năng cho ứng dụng 54
3.3.2 Hƣớng dẫn sử dụng, chạy thử nghiệm 59
3.4. Kết luận 62


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên



DANH MỤC VIẾT TẮT

CSDL
KPDL
FCM
PCDL







Cơ sở dữ liệu
Khai phá dữ liệu
Fuzzy C-Means
Phân cụm dữ liệu
























Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

DANH MỤC CÁC HÌNH

Hình 1.1
Cấu tạo tế bào neural…………………………………………
4
Hình 1.2
Giáo sƣ Kohonen và mạng neural…………………………………
6
Hình 1.3
Cấu trúc mạng Kohonen……………………………………………
8
Hình 1.4
Những bức tƣờng trong Kohonen…………………………………
12
Hình 2.1
Các chiến lƣợc phân cụm phân phân cấp…………….……………
16
Hình 2.2
Cấu trúc phân cấp……………………………………….…………
17
Hình 2.3
Các cách mà các cụm có thể đƣa ra……………………………….
18
Hình 2.4
Các thiết lập để xác định ranh giới các cụm ban đầu……………
20
Hình 2.5
Tính toán trọng tâm của các cụm mới……………………………

20
Hình 2.6
Khái quát thuật toán CURE………………………………………
22
Hình 2.7
Các cụm dữ liệu đƣợc khám phá bởi CURE…………………
22
Hình 2.8
Hình dạng các cụm đƣợc khám phá bởi thuật toán DBSCAN…….
23
Hình 2.9
Đơn vị xử lý ganh đua SOM………………………………………
28
Hình 2.10
Không gian ban đầu và SOM
29
Hình 2.11
BMU
31
Hình 2.12
Vecto chiến thắng liên tục đối với SOM
35
Hình 2.13
Định nghĩa một U-Matrix
36
Hình 2.14
U-Matrix của SOM
36
Hình 2.15
Quan hệ giữa 2 cụm……………………………………………….

44
Hình 3.1
Mô hình Use Case tng thể của bài toán
47
Hình 3.2
Biểu đ trình tự chọn CSDL
47
Hình 3.3
Biểu đ trình tự tạo và huấn luyện mạng neural…………………
48
Hình 3.4
Biểu đ trình tự tạo biểu đ theo nhóm……………………………
48
Hình 3.5
Biểu đ trình tự phân cụm học sinh theo nhóm…………………
49
Hình 3.6
Biểu đ trình tự cấu hình mạng neural…………………………….
49


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hình 3.7
Biểu đ trình tự chọn loại biểu đ…………………………………
50
Hình 3.8
Biểu đ trình tự chọn và hiển thị biểu đ………………………….
50
Hình 3.9

Giao diện chƣơng trình……………………………………………
51
Hình 3.10
Tab hỗ trợ nhập và chọn dữ liệu…………………………………
52
Hình 3.11
Một số biểu đ trợ giúp dạng 3D………………………………….
53
Hình 3.12
Một số biểu đ trợ giúp dạng 2D………………………………….
54
Hình 3.13
Nhóm và cấu hình nhóm…………………………………………
55
Hình 3.14
Một phần dữ liệu và khả năng phân nhóm………………………
56
Hình 3.15
Các phần của ứng dụng……………………………………………
57























1

MỞ ĐẦU

Sự phát triển mạnh mẽ của Công nghệ nói chung và Công nghệ thông tin
nói riêng đã tạo nên nhiều hệ thống thông tin phục vụ việc tự động hoá mọi hoạt
động kinh doanh cũng nhƣ quản lý trong xã hội. Nhiều hệ quản trị cơ sở dữ liệu
mạnh với các công cụ phong phú và thuận tiện đã giúp con ngƣời khai thác có
hiệu quả các ngun tài nguyên dữ liệu lớn. Trong đó, khai phá dữ liệu (Data
Mining) là quá trình chính trong phát hiện tri thức. Sử dụng các kỹ thuật và các
khái niệm của các lĩnh vực đã đƣợc nghiên cứu từ trƣớc nhƣ học máy, nhận dạng,
thống kê, hi quy, xếp loại, phân nhóm, đ thị, mạng nơron, mạng Bayes, đƣợc
sử dụng để khai phá dữ liệu nhằm phát hiện ra các mẫu mới, tƣơng quan mới, các
xu hƣớng có ý nghĩa.
Luận văn với đề tài “Mạng Kohonen-SOM và ứng dụng phân cụm điểm
học sinh THPT” khảo sát lĩnh vực KPDL dùng mạng nơron. Luận văn tập trung
vào phƣơng pháp học mạng nơron không có giám sát, dùng thuật toán SOM để
giải quyết bài toán phân cụm theo mô hình mạng nơron.

Luận văn đƣợc thực hiện dƣới sự hƣớng dẫn khoa học của TS. Nguyễn Văn
Tảo. Tôi xin chân thành cảm ơn sâu sắc tới Thầy đã chỉ dẫn tận tình giúp tôi có
thể hoàn thành bản luận văn này. Tôi cũng vô cùng cảm ơn sự giúp đỡ và động
viên khích lệ của ngƣời thân trong gia đình tôi, bạn bè và các đng nghiệp
trong trƣờng THPT Ngô Sĩ Liên trong suốt quá trình thực hiện luận văn.
Bắc giang, ngày 15 tháng 9 năm 2012


Hà Thị Thƣ







2

CHƢƠNG 1
TỔNG QUAN VỀ MẠNG KOHONEN-SOM

Chương này đề cập các vấn đề sau:
1.1. Sơ lược về mạng neural
1.2. Tổng quan về mạng KOHONEN-SOM
1.3. Cấu trúc của mạng neural KOHONEN
1.4. Thực thi của mạng neural KOHONEN
1.5. Kết luận

1.1. Sơ lƣợc về mạng neural
1.1.1. Lịch sử phát triển

Mạng neural nhân tạo đƣợc

xây dựng từ những năm 1940 nhằm mô phỏng
một số chức năng của bộ não ngƣời. Dựa trên quan điểm cho rằng bộ não ngƣời


bộ điều khiển. Mạng neural nhân tạo
đƣợc
thiết kế
tƣơng
tự nhƣ

neural sinh học sẽ
có khả năng giải quyết hàng loạt các bài toán
nhƣ
tính toán tối ƣu
,
điều khiển, công
nghệ robot…
Dƣới đây là các mốc đáng chú ý trong lịch sử phát triển của mạng neural:
- Giai đoạn 1: Có thể tính từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các neural thần kinh. Năm 1940 Mc Culloch và Pitts đã cho biết neural
có thể mô hình hoá
nhƣ
thiết bị ngƣỡng (Giới hạn) để thực hiện các phép tính logic
và mô hình mạng neural của Mc Culloch – Pitts cùng với giải thuật huấn luyện
mạng của Hebb ra đời năm 1943.
- Giai đoạn 2: vào khoảng gần những năm 1960, một số mô hình neural hoàn
thiện hơn đã
đƣợc

đƣa ra
nhƣ:
Mô hình Perceptron của Rosenblatt (1958),
Adalile của Widrow (1962). Trong đó mô hình Perceptron rất đƣợc quan tâm vì
nguyên lý đơn giản, nhƣng nó cũng có hạn chế vì
nhƣ
Marvin Minsky và Seymour
papert của MIT (Massachurehs Insritute of Technology) đã chứng minh nó không
dùng
đƣợc
cho các hàm logic phức (1969). Còn Adaline là mô hình tuyến tính, tự


3

chỉnh,
đƣợc
dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và phát triển cho
đến nay.
- Giai đoạn 3: Có thể tính vào khoảng đầu thập niên 80. Những đóng góp
lớn cho mạng neural trong giai đoạn này phải kể đến Grossberg, Kohonen,
Rumelhart và Hopfield. Trong đó đóng góp lớn của Hopfield gm hai mạng phản
hi: Mạng rời rạc năm 1982 và mạng liên tục năm 1984. Đặc biệt, ông đã dự kiến
nhiều khả năng tính toán lớn của mạng mà một neural không có khả năng đó. Cảm
nhận của Hopfield đã
đƣợc
Rumelhart, Hinton và Williams đề xuất thuật toán sai số
truyền ngƣợc ni tiếng để huấn luyện mạng neural nhiều lớp nhằm giải bài toán mà
mạng khác không thực hiện đƣợc. Nhiều ứng dụng mạnh mẽ của mạng neural ra
đời cùng với các mạng theo kiểu máy Boltzmann và mạng Neocognition của

Fukushima.
- Giai đoạn 4: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội
nghị toàn cầu chuyên ngành neural IJCNN (International Joit Conference on
Neural Networks). Rất nhiều công trình đƣợc nghiên cứu để ứng dụng mạng
neural vào các lĩnh vực nhƣ: Kỹ thuật tính, điều khiển, bài toán tối ƣu, y học, sinh
học, thống kê, giao thông, hoá học, Cho đến nay mạng neural đã tìm và khẳng
định đƣợc vị trí của mình trong rất nhiều ứng dụng khác nhau.
1.1.2. Ứng dụng
Kể từ khi ra đời và phát triển mạng neural đã đƣợc ứng dụng trong rất
nhiều lĩnh vực. Do vậy, liệt kê đƣợc tất cả các ứng dụng của mạng neural là không
thực tế. Tuy nhiên, ta có thể đƣa ra một số ứng dụng điển hình của mạng neural
nhƣ sau:
- Xử lý ảnh, nhìn máy: Gm trùng khớp ảnh, tiền xử lý ảnh, phân đoạn và
phân tích ảnh, nén ảnh,
- Xử lý tín hiệu: Phân tích tín hiệu địa chấn và hình thái học.
- Nhận dạng mẫu: Gm việc tách các nét đặc biệt của mẫu, phân loại và
phân tích tín hiệu của rada, nhận dạng và hiểu tiếng nói, nhận dạng vân
tay, ký tự, chữ viết,


4

- Y học: Phân tích và hiểu tín hiệu điện tâm đ, chuẩn đoán bệnh, xử lý ảnh
y học.
- Quân sự: Các hệ phát hiện thuỷ lôi, phân loại lung rada, nhận dạng nguời
nói.
- Các hệ tài chính: Gm phân tích thị trƣờng chứng khoán, định giá bất
động sản, cấp phát thẻ tín dụng và thƣơng mại an toàn.
- Trí tuệ nhân tạo: Gm các hệ chuyên gia,
- Dự đoán: Dự đoán các trạng thái của hệ thống,

- Quy hoạch, kiểm tra và tìm kiếm: Gm cài đặt song song các bài toán thoả
mãn ràng buộc, tìm nghiệm bài toán ngƣời du lịch, điều khiển và robot
1.1.3. Căn nguyên sinh học
Bộ não con ngƣời gm một số rất lớn neural (khoảng 10.000.000.000
neural) kết nối với nhau (trung bình mỗi neural kết nối với hàng chục ngàn neural
khác). Dƣới con mắt của những ngƣời làm tin học, một neural đƣợc cấu tạo bởi
các thành phần: tế bào hình cây (dendrite) - tế bào thân (cell body) – và sợi trục
thần kinh (axon). Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới tế bào
thân, tế bào thân sẽ thực hiện gộp (Sum) và phân ngƣỡng (Thresholds) các tín hiệu
đến. Sợi trục thần kinh làm nhiệm vụ đƣa tín hiệu từ tế bào thân ra ngoài.

Hình 1.1: Cấu tạo tế bào neural
Điểm tiếp xúc giữa một sợi trục thần kinh của neural này và tế bào hình cây
của một neural khác đƣợc gọi là khớp thần kinh (synapse). Sự sắp xếp của các


5

neural và mức độ mạnh yếu của các khớp thần kinh đƣợc quyết định bởi các quá
trình hóa học phức tạp, sẽ thiết lập chức năng của mạng neural.
Một vài neural có sẵn từ khi sinh ra, các phần khác đƣợc phát triển thông
qua việc học, ở đó có sự thiết lập các liên kết mới và loại bỏ các liên kết cũ.
Mạng neural nhân tạo không tiếp cận đến sự phức tạp của bộ não. Mặc dù
vậy, có hai sự tƣơng quan cơ bản giữa mạng neural nhân tạo và sinh học. Thứ nhất,
cấu trúc khối tạo thành chúng đều là các thiết bị tính toán đơn giản (mạng neural
nhân tạo đơn giản hơn nhiều) đƣợc liên kết chặt chẽ với nhau. Thứ hai, các liên kết
giữa các neural quyết định chức năng của mạng.
Mặc dù mạng neural sinh học hoạt động rất chậm so với các linh kiện điện
tử (10
-3

giây so với 10
-9
giây), nhƣng bộ não có khả năng thực hiện nhiều công
việc nhanh hơn nhiều so với các máy tính thông thƣờng. Đó một phần là do cấu
trúc song song của mạng neural sinh học: toàn bộ các neural hoạt động một cách
đng thời tại một thời điểm. Mạng neural nhân tạo cũng chia sẻ đặc điểm này. Mặc
dù hiện nay, các mạng neural chủ yếu đƣợc thực nghiệm trên các máy tính số,
nhƣng cấu trúc song song của chúng khiến chúng ta có thể thấy cấu trúc phù hợp
nhất là thực nghiệm chúng trên các vi mạch tích hợp lớn (VLSI: Very Large Scale
Integrated-circuit), các thiết bị quang và các bộ xử lý song song.
1.2. Tổng quan về mạng Kohonen-SOM
Cố giá o sƣ, tiến sĩ Teuvo Kohonen sinh ngày 11/07/1934, là giáo sƣ danh dự
của Viện hàn lâm Phần lan. Giáo sƣ Kohonen đƣợc biết đến nhiều trong các lĩnh
vực về mạng neural, bao gm các thuật toán [9], phép học lƣợng tử hóa vé ctơ, các
lý thuyết cơ bản về phân bố và ánh xạ tối ƣu, Ông đã xuất bản nhiều cuốn sách
trong lĩnh vực neural nhân tạo làm nền tảng lý thuyết căn bản cho sự phát triển sau
này của tính toán neural. Bên cạnh đó là khoả ng 200 bài báo trong lĩnh vực khoa
học đặc biệt này, là một trong những nhà nghiên cứu ni tiếng và có nhiều công
trình trong lĩnh vực tí nh toá n neural. Ông phát minh ra nhiều loại mạng khác nhau.
Cụm từ “mạ ng Kohonen” thƣ ờng dù ng để tham chi ếu đến một trong ba loại mạng
sau đây.


6

1.2.1. Vecto Quantization – VQ
VQ là mạng cạnh tranh có thể đƣợc xem nhƣ công cụ đánh giá m ật độ
không giám sát (Kohonen, 1995/1997; Hecht – Nielsen 1990), có quan hệ mật thiết
đến phƣơng pháp phân tích gom nhóm K-mean (MacQueen, 1967; Anderberg,
1973). Mỗi đơn vị cạnh tranh tƣơng ứng với một cụm (cluster), tâm của chúng

đƣợc gọi là “codebook vector”. Luật học Kohonen là thuật toán tìm những
codebook vector gần mẫu huấn luyện nhất và di chuyển codebook vector chiến
thắng đến gần mẫu huấn luyện hơn. Kohonen VQ thƣờng đƣợc sử dụng cho việc
học offline, trong trƣờng hợp đó dữ liệu huấn luyện đƣợc lƣu giữ và luật học
Kohonen đƣợc áp dụng đến mỗi trƣờng hợp, quay vòng trên tập dữ liệu nhiều lần.
1.2.2. Lerning Vector Quantization – LVQ
LVQ là mạng cạnh tranh cho phân lớp có giám sát. Mỗi codebook vector
đƣợc ấn định đến một phân lớp đích. Mỗi lớp có thể có một hoặc nhiều codebook
vector. Một mẫu đƣợc phân lớp bằng cách tìm codebook vector gần nhất và gán
mẫu đến lớp tƣơng ứng với codebook vector. Do đó LVQ là một dạng của luật lân
cận gần nhất (nearest-neughbor).




Hình 1.2: Giáo sư Kohonen và mạng Neural


7

1.2.3. Bản đồ tự tổ chức – SOM
SOM (Self-Organizing Maps - Bản đ tự t chức) là một trong nhiều loại
mạng AI do cố giáo sƣ, tiến sĩ Teuvo Kohonen phát triển vào những năm
80[6,8,10,11]. Vì thế có tên gọi khác cho loại mạng này là “bản đ Kohonen”. Giải
thuậ t SOM ban đầ u đƣợ c phá t triể n cho mụ c đích phân loạ i tiế ng nó i , tuy nhiên
SOM cò n có thể á p dụ ng đƣợ c trong nhiề u lĩnh vực khác nhƣ điều khiển tự động
(Control Engineering), hóa - sinh trắ c họ c (Biomedical Sciences and Chemistry ),
phân tí ch tà i chí nh (Financial Analysis ) và xử lý ngôn ngữ tự nhiên (Natural
Language Processing), xử lý ảnh (image processing), phân cụm dữ liệu (clustering
data) vv….

Các thuộ c tí nh cơ b ản nhằ m phân biệ t SOM vớ i cá c mạ ng neural khá c là
nó sử dụng ký số thay cho ký tự , không tham số (non-parametric), và học không
hƣớng dẫn. Phƣơng pháp dùng số tự nhiên cho phép SOM xem xét, xử lý dữ liệu
số tự nhiên thống kê đƣợc và nhằm để biểu diễn các mối quan hệ đã đƣợc chọn lọc.
Do SOM không yêu cầu học có giám sát và là một dạng non-parametric nên nó có
thể tìm ra cả những cấu trúc không hề mong muốn từ dữ liệu đã cho.
Giải thuật hu ấn luyện mạng SOM đơn giả n đƣợ c thƣ̣ c hiệ n qua mộ t số
lƣợ ng nhấ t đị nh (thƣờ ng rấ t lớ n ) vng lặp và tại mỗi vng lặp thực hiện các bƣớc
cơ bả n sau:
• Tìm neural chiến thắng (BMU- Best Matching Unit).
• Cậ p nhậ t trọng số và các lân cận của BMU.
• Lặ p lạ i cho đế n khi không có sƣ̣ thay đổ i nà o trên cá c trọ ng số hoặ c đạ t
đƣợ c số lầ n lặ p xá c định.
1.3. Cấu trúc mạng neural Kohonen
1.3.1. Mạng neural Kohonen
Mạng luyện không có thầy hƣớng dẫn, là một kiểu luyện mà ở đó các neural
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.


8

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 dữ liệu ra (outputs). Nhƣ vậy thực chất đó là các mạng tự t chức (hay mạng
neural Kohonen) .
Định nghĩa: Mạng neural 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.

1.3.2. Cấu trúc của mạng neural 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 neural 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 neural của lớp vào đều đƣợc nối với các neural 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 ứng với một
trọng số. Kích thƣớc của mỗi vetor 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 1.3: Cấu trúc mạng Kohonen.


9

Giải thuật huấn luyện mạng:
Khởi tạo tham số thời gian t: t = 0.
Bước 1: Khởi tạo vector trọng số W
ij
cho mỗi neural 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ử neural chiến thắng:
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
ii
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 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:
 
0
exp ( 1,2,3 )
t
tt



  



σ: 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 t
0
.
λ: 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
).


10

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
is

( ) exp ( 1,2,3 )
2 ( )
dt
a t t
t


  



dist : là khoảng cách từ một neural đến neural 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:
( ) exp ( 1,2,3 )
t
L t t


  



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



11

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. Số lƣợng vector của tập
huấn luyện là có giới hạn.
Trực quan mạng.
The U-matrix [11] (The Unified distance matrix - ma trận đng nhất
khoảng cách) là
phƣơng thức đƣợc sử dụng ph biến nhất để thể hiện khoảng cách
giữa các neural một cách trực quan. Phƣơng thức này sử dụng khoảng cách giữa
các neural nhƣ là một tiêu chuẩn để xác định ranh giới giữa các cụm dữ liệu. Nó
chứa khoảng cách Euclid từ mỗi neural trung tâm đến các “láng giềng” của nó. Sau
khi U-Matrix đƣợc tính xong thì sẽ đƣợc hiển thị dƣới dạng lƣới các hình lục giác nhƣ
một công cụ trực quan mạng. Khoảng cách giữa các neural cũng đƣợc hiển thị với
những màu sắc khác nhau.
Dịch mạng.
 Xác định ranh giới giữa các cụm.
Cách dịch U-matrix nhƣ sau: nếu giá trị khoảng cách giữa các neural lớn biểu
thị cho những dữ liệu không giống nhau (không cùng cụm); và ngƣợc lại giá trị bé
biểu thị cho những dữ liệu giống nhau. Ta có thể tƣởng tƣợng trong không gian 3 chiều
giá trị càng lớn thì độ cao càng lớn và do đó nó tạo thành những bức tƣờng (Walls)
phân ranh giới trong khi đó giá trị bé tạo thành những thung lũng (valley) bị bao quanh
bởi những bức tƣờng. Do đó dữ liệu trong những “thung lũng” là đƣợc gộp nhóm cùng
nhau và hiển thị một cụm. Khoảng cách giữa các neural sau khi đƣợc tính, có thể đƣợc
hiển thị với những màu khác nhau. Màu tối giữa các neural biểu thị cho khoảng cách
lớn. Màu sáng giữa các neural biểu thị các giá trị nhập là gần nhau. Và do đó vùng màu

sáng biểu thị dữ liệu cùng thuộc một cụm và vùng màu tối chính là ranh giới phân cách
giữa các cụm. Việc hiển thị này giúp ta có một cái nhìn trực quan, đầy đủ, rõ ràng,


12

chính xác về dữ liệu.


Hình 1.4: Những bức tường trong Kohonen.
 Xác định tính chất của từng cụm:
Việc xác định tính chất của từng cụm đƣợc thực hiện bằng vector trọng số
của các neural thuộc cụm đó. Sử dụng phƣơng pháp của Sestilo & Dillon,1997.
Thành phần thứ k của vector trọng số phản ánh mức độ đóng góp của thành phần
thứ k của vector nhập.
Gọi (w
ij1
,w
ij2
, . . ., w
ijn
)là vector trọng sốtại nút i,j trên lớp ra Kohonen.
Tìm
w
ijmax
=max((w
ij1
,w
ij2
,. . . , w

ijn
).

Các đầu vào k có | w
ijmax
- w
ijk
| < T với T là ngƣỡng nằm trong khoảng từ 0 đến 1. Giá
trị của ngƣỡng T phản ánh mức độ biến thiên quanh trị W
ijmax
.
1.4. Thực thi mạng neural Kohonen
Có vài lớp có thể đƣợc sử dụng cùng nhau để tạo ra một mạng neural
Kohonen.
- KohonenNetwork – Thực thi các phƣơng thức thuộc về mạng neural Kohonen.
Đây là nơi mà mạng neural Kohonen đƣợc huấn luyện và lấy các mẫu.
- Network – Chứa đựng các phƣơng pháp không thuộc về mạng neural Kohonen.
Các lớp này chứa các phƣơng pháp để tính toán tích vô hƣớng, và chiều dài vector.
- NeuralReportable – Một giao diện đơn giản cho phép mạng neural Kohonen trả
về thông tin tiến bộ sau khi mạng neural đƣợc huấn luyện.
- TrainingSet – Một tập huấn luyện chứa đối tƣợng, đó là có thể chứa các mảng


13

của các lần huấn luyện riêng lẻ. Tập huấn luyện có thể chứa cả các phần tử dữ liệu
đầu vào và dữ liệu đầu ra.
1.5. Kết luận
Trong chƣơng này, luận văn đã trình bày những nội dung chính chủ yếu về:
sơ lƣợc mạng neural; mạng Kohonen - SOM. Mạng Kohonen gm 2 lớp: lớp vào

và lớp ra. Mối liên kết giữa lớp vào và lớp ra của chúng tƣơng ứng với trọng số.
Hơn nữa mạng Kohonen là một phƣơng pháp KPDL mạnh và có thể đạt
đƣợc kết quả tốt hơn, hoàn hảo hơn cần kết hợp với các phƣơng pháp KPDL khác
để có thể đƣa ra đƣợc kết quả chính xác.





















14

CHƢƠNG 2
SOM VÀ PHÂN CỤM DỮ LIỆU


Chương này đề cập các vấn đề sau:
2.1. Phân cụm dữ liệu
2.2. Những kỹ thuật tiếp cận trong PCDL
2.3.Một số thuật toán cơ bản trong PCDL
2.4. Mạng neural trong phân cụm
2.5. SOM- Bài toán phân cụm
2.6. Giải quyết các vấn đề tồn tại khi phân cụm

2.1. Phân cụm dữ liệu:
2.1.1. Khái niệm:
PCDL là quá trình nhóm một tập các đối tƣợng tƣơng tự nhau trong một 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 có sự không tƣơng đng.
PCDL 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 từ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.
Quy trình phân cụm thể hiện nhƣ hình:



N ĐỐI TƢƠNG
THUẬT TOÁN
PHÂN CỤM
K CỤM



15

2.1.2. Các bước cơ bản trong phân cụm:
Bài toán phân cụm nói chung dựa theo các bƣớc sau đây:
Chọn lựa đặc trưng: Các đặc trƣng phải đƣợc lựa chọn một cách thích hợp
để có thể mã hóa và giảm thiểu sự dƣ thừa các đặc trƣng. Các đặc trƣng cần đƣợc
tiền xử lý trƣớc khi thực hiện các bƣớc tiếp theo.
Chọn độ đo tương tự: là độ đo chỉ ra mức tƣơng tự hay khoảng cách giữa các
vecto đặc trƣng. Phải đảm bảo các vecto đặc trƣng góp phần nhƣ nhau trong việc
tính toán độ đo tƣơng tự và không có đặc trƣng nào lấn át đặc trƣng nào.
Tiêu chuẩn phân cụm: Có thể đƣợc biểu diễn bởi hàm chi phí hay một vài
quy tắc khác và cũng phụ thuộc vào ngƣời lập trình .
Thuật toán phân cụm: Lựa chọn một thuật toán riêng biệt nhằm sáng tỏ cấu
trúc phân cụm của tập dữ liệu.
Công nhận kết quả: Khi có kết quả phân cụm thì cần kiểm tra tính đúng đắn
bằng cách đánh giá độ chính xác.
Giải thích kết quả: Phải kết hợp kết quả phân cụm với những bằng chứng
thực nghiệm và phân tích để đƣa ra các kết luận đúng đắn.
2.2. Những kỹ thuật tiếp cận trong phân cụm dữ liệu
Mục đích của phân cụm là giảm kích thƣớc dữ liệu bằng cách phân loại
hoặc nhóm các thành phần giống nhau. Tn tại một số kỹ thuật phân cụm điển
hình [8].
2.2.1. Phương pháp phân cụm phân hoạch
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ó 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


16

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 đề PCDL, do nó phải tìm kiếm tất cả các cách phân hoạch có
thể đƣợc
.
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.2.2. Phương pháp 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



Hình 2.1: Các chiến
lược
phân cụm phân cấp
Thực tế 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 PCDL 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
KPDL.
2.2.3. Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tƣợng dữ liệu dựa trên hàm mật độ xác định,


17

mật độ là số các đối tƣợng lân cận của một đối tƣợng dữ liệu theo một nghĩa nào
đó. Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếp tục đƣợc phát
triển thêm các đối tƣợng dữ liệu mới miễn là số các đối tƣợng lân cận này phải lớn
hơn một ngƣỡng đã đƣợc xác định trƣớc. Phƣơng pháp phân cụm dựa trên mật độ

của các đối tƣợng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu
với hình thù bất kỳ.
2.2.4. Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lƣới thích hợp với dữ liệu nhiều chiều, dựa
trên cấu trúc dữ liệu lƣới để phân cụm, phƣơng pháp này chủ yếu tập trung áp
dụng cho lớp dữ liệu không gian. Mục tiêu của phƣơng pháp này là lƣợng hóa dữ
liệu thành các ô tạo thành cấu trúc dữ liệu lƣới. Sau đó, các thao tác phân cụm chỉ
cần làm việc với các đối tƣợng trong từng ô trên lƣới chứ không phải các đối
tƣợng dữ liệu. Cách tiếp cận dựa trên lƣới này không di chuyển các đối tƣợng
trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tƣợng trong một
ô. Phƣơng pháp này gần giống với phƣơng pháp phân cụm phân cấp nhƣng
chúng không trộn các ô, đng thời giải quyết khắc phục yêu cầu đối với dữ liệu
nhiều chiều mà phƣơng pháp phân phân cụm dựa trên mật độ không giải quyết
đƣợc. Ƣu điểm của phƣơng pháp phân cụm dựa trên lƣới là thời gian xử lí nhanh
và độc lập với số đối tƣợng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng
phụ thuộc vào số ô trong mỗi chiều của không gian lƣới.

Hình 2.2: Cấu trúc phân cấp

×