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

Ứng dụng mạng Kohonen cho khảo sát, đánh giá, thống kê tình hình của Trường Cao đẳng nghề

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.45 MB, 79 trang )

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

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG





ĐỖ THỊ HỒNG



ỨNG DỤNG MẠNG KOHONEN CHO KHẢO SÁT,
ĐÁNH GIÁ, THỐNG KÊ TÌNH HÌNH CỦA
TRƢỜNG CAO ĐẲNG NGHỀ







LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH











Thái Nguyên - 2013

S
ố hóa bởi Trung tâm Học liệu

1


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

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG





ĐỖ THỊ HỒNG




ỨNG DỤNG MẠNG KOHONEN CHO KHẢO SÁT,
ĐÁNH GIÁ, THỐNG KÊ TÌNH HÌNH CỦA
TRƢỜNG CAO ĐẲNG NGHỀ



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 MÁY TÍNH

NGƢỜI HƢỚNG DẪN KHOA HỌC
P G S.TS LÊ BÁ DŨNG



Thái Nguyên - 2013

S
ố hóa bởi Trung tâm Học liệu

2


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 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 9 năm 2013
Học viên thực hiện

Đỗ Thị Hồng




























S

ố hóa bởi Trung tâm Học liệu

3


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 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ó thể hoàn thành tốt luận văn.
Tôi cũng xin gửi lời cảm ơn tới Ban giám hiệu trường Cao đẳng nghề LICOGI đã
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.
Một lần nữa, xin chân thành cảm ơn.
Thái Nguyên, tháng 9 năm 2013
Học viên
Đỗ Thị Hồng














S
ố hóa bởi Trung tâm Học liệu

i


MỤC LỤC
LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC i
DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT iv
DANH MỤC CÁC BẢNG v
DANH MỤC CÁC HÌNH vi
MỞ ĐẦU 1
CHƢƠNG 1. MẠNG NƠRON KOHONEN VÀ BÀI TOÁN PHÂN CỤM 2
1.1. Cấu trúc và mô hình mạng Nơron 2
1.1.1. Giới thiệu về mạng Nơron 2
1.1.2. Mô hình một Nơron sinh học 2
1.1.2.1. Cấu trúc một nơron sinh học 2
1.1.2.2. Hoạt động của nơron sinh học 3
1.1.3. Mô hình Nơron nhân tạo 4
1.1.3.1. Cấu trúc và mô hình của một nơron nhân tạo 4
1.1.3.2. Mô hình mạng Nơron nhân tạo 7
1.1.3.3. Các luật học 9
1.2. Mạng Kohonen và bài toán phân cụm 12
1.2.1. Giới thiệu về mạng nơron Kohonen (SOM - Self-Organizing Maps) 12

1.2.2. Bài toán phân cụm 13
1.2.2.1. Khái niệm 13
1.2.2.2. Mục đích của phân cụm dữ liệu 14
1.2.2.3. Ứng dụng của bài toán phân cụm 15
1.2.2.4. Các yêu cầu khi phân cụm 15
1.2.2.5. Các kiểu dữ liệu và các thuộc tính trong phân cụm 16
1.3. Các hướng tiếp cận của bài toán phân cụm 18
1.3.1. Phương pháp phân cụm phân cấp 18
1.3.2. Phương pháp phân cụm phân hoạch 19

S
ố hóa bởi Trung tâm Học liệu

ii


1.3.3. Phương pháp phân cụm dựa trên mật độ 19
1.3.4. Phân cụm dữ liệu dựa trên lưới 19
1.3.5. Phân cụm dữ liệu dựa trên sự ràng buộc 20
CHƢƠNG 2. MỘT SỐ VẤN ĐỀ VỀ PHÂN CỤM DỮ LIỆU BẰNG MẠNG
KOHONEN 22
2.1. Thuật toán phân cụm dữ liệu 22
2.2. Một số thuật toán cơ bản trong phân cụm dữ liệu 23
2.2.1. Thuật toán phân cụm phân cấp 23
2.2.2. Thuật toán phân cụm phân hoạch (Thuật toán K-means) 24
2.2.3. Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN) 26
2.2.4. Thuật toán phân cụm dựa trên lưới (Thuật toán STING) 28
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) 29
2.3. Thuật toán phân cụm bằng mạng Kohonen 30
2.3.1 .Mạng Kohonen là gì? 30

2.3.2. Cấu trúc mô hình mạng Kohonen 30
2.3.3. Thuật toán phân cụm bằng mạng Kohonen 31
2.4. Một số vấn đề phân cụm bằng mạng Kohonen 36
2.4.1. Khởi tạo mạng Kohonen (SOM) 36
2.4.2. Huấn luyện mạng Kohonen 37
2.4.3. Tỉ lệ học 38
2.4.4. Cập nhật lại trọng số 39
2.4.5. Xác định nơron chiến thắng 40
2.5. Kohonen (SOM) sử dụng trong phân cụm dữ liệu 40
2.5.1. SOM phân cụm với bản đồ một chiều 41
2.5.2. SOM phân cụm với bản đồ 2 chiều 41
2.5.3. Xác định ranh giới các cụm 42
2.5.4. Trực quan mạng 43
2.5.5. Số lượng nhóm khi phân cụm 44

S
ố hóa bởi Trung tâm Học liệu

iii


CHƢƠNG 3. ỨNG DỤNG MẠNG KOHONEN VÀO BÀI TOÁN PHÂN CỤM
DỮ LIỆU MÔN HỌC CỦA HSSV TRƢỜNG CAO ĐẲNG NGHỀ LICOGI
QUA VIỆC KHẢO SÁT, THỐNG KÊ KẾT QUẢ HỌC CÁC MÔN ĐỂ ĐÁNH
GIÁ CHẤT LƢỢNG ĐÀO TẠO NGHỀ CỦA NHÀ TRƢỜNG 45
3.1. Phát biểu bài toán 45
3.2. Khảo sát, đánh giá, thống kê tình hình học tập của học sinh sinh viên trường
Cao đẳng nghề LICOGI. 45
3.2.1. Thu thập dữ liệu 45
3.2.2. Phân tích dữ liệu 50

3.3. Thử nghiệm sử dụng mô hình mạng Kohonen để khảo sát, đánh giá, thống kê
tình hình học tập của HSSV trường Cao đẳng nghề LICOGI 55
3.3.1. Các chức năng của chương trình 55
3.3.2. Giao diện chương trình 55
3.3.3. Kết quả và phân tích kết quả sau khi huấn luyện mô hình mạng
Kohonen 57
3.3.3.1. Kết quả phân cụm môn học, mô đun 57
3.3.3.2. Kết quả phân cụm học sinh theo kết quả thi kết thúc môn học, mô
đun 64
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 68
TÀI LIỆU THAM KHẢO 69










S
ố hóa bởi Trung tâm Học liệu

iv


DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT

HSSV: Học sinh, sinh viên

CSDL: Cơ sở dữ liệu
KPDL: Khai phá dữ liệu
PCDL : Phân cụm dữ liệu
SOM(Self Organizing Maps): Mạng nơron tự tổ chức
PE (Processing element): Phần tử xử lý
BMU(Best - Matching unit): Đơn vị phù hợp nhất
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
STING (STatistical INformation Grid ): Thuật toán thống kê thông tin lưới
DBSCAN (Density Based Spatial : Phân cụm dữ liệu dựa trên không
Clustering of Applications with Noise) gian mật độ ứng với nhiễu
















S
ố hóa bởi Trung tâm Học liệu


v


DANH MỤC CÁC BẢNG

Bảng 3.1. Dữ liệu thống kê phân cụm môn học, mô đun 52
Bảng 3.2. Dữ liệu thống kê phân cụm học sinh
theo điểm thi kết thúc môn học, mô đun 53
Bảng 3.3. Kết quả các cụm môn sau khi huấn luyện mạng Kohonen 58
Bảng 3.4. Kết quả các cụm học sinh sau khi huấn luyện mạng Kohonen 67

























S
ố hóa bởi Trung tâm Học liệu

vi


DANH MỤC CÁC HÌNH
Hình 1.1. Cấu tạo mô hình nơron sinh học 3
Hình 1.2. Cấu trúc mô hình một nơron nhân tạo cơ bản 4
Hình 1.3. Đồ thị các dạng hàm chuyển 7
Hình 1.4. Mô hình mạng nơron 3 lớp 8
Hình 1.5. Cấu trúc huấn luyện mạng nơron 9
Hình 1.6. Học có giám sát 10
Hình 1.7. Học không có giám sát 10
Hình 1.8. Sơ đồ cấu trúc chung của quá trình học 11
Hình 1.9. Các cách phân cụm phân cấp 18
Hình 1.10. Cấu trúc phân cụm dựa trên lưới điểm 20
Hình 1.11. Cấu trúc phân cụm dựa trên sự ràng buộc 21
Hình 2.1. Các thiết lập để xác định ranh giới các cụm ban đầu 24
Hình 2.2. Tính toán trọng tâm của các cụm mới 25
Hình 2.3. Hình dạng các cụm
được
khám phá bởi thuật toán DBSCAN 27
Hình 2.4. Cấu trúc mạng Kohonen 31
Hình 2.5. Phần tử nơron chiến thắng BMU 31
Hình 2.6. Các vùng lân cận 32

Hình 2.7. U-Matrix biểu diễn cho SOM 34
Hình 2.8. Những bức tường trong Kohonen 35
Hình 2.9: Hàm tỉ lệ học theo thời gian 39
Hình 3.1. Kết quả phân cụm môn học, mô đun sử dụng
phương pháp trực quan U-Matrix 57
Hình 3.2.Kết quả phân cụm sử dụng phương pháp
trực quan các bản đồ thành phần 61
Hình 3.3. Kết quả phân cụm học sinh theo môn học, mô đun sử dụng phương pháp
trực quan U-Matrix 65




1

MỞ ĐẦU
Ngày nay, cùng với sự phát triển của mô hình dữ liệu, chúng ta ngày càng có
nhiều kho dữ liệu với lượng dữ liệu rất lớn. Để khai thác có hiệu quả những dữ liệu
khổng lồ này, đòi hỏi chúng ta - những người sử dụng - phải biết khai thác và chọn
lọc dữ liệu có ích cho mình. Đó cũng chính là lý do mà Data Mining (DM) ra đời và
đã được áp dụng trong thực tế theo nhiều hướng quan trọng và một trong các hướng
đó là phân cụm dữ liệu (Data Clustering).
Thông tin giáo dục đào tạo của các trường hiện nay hầu hết được lưu trữ trong
máy tính và chúng ta cần phải tìm ra những thông tin hữu ích từ cơ sở dữ liệu đó để
có các biện pháp phù hợp, cần thiết cho việc cải cách, nâng cao chất lượng giáo dục
đào tạo thông qua việc khảo sát, đánh giá, thống kê, báo cáo.
Luận văn với đề tài “Ứng dụng Mạng Kohonen cho khảo sát, đánh giá,
thống kê tình hình của trƣờng Cao đẳng nghề” khảo sát lĩnh vực KPDL dùng
mạng nơron. Luận
văn

tập trung vào tìm hiểu về mạng
nơron
Kohonen (SOM) và
dùng thuật
toán
SOM để giải quyết bài toán phân cụm dữ liệu theo mô hình
mạng
nơron.

Nội dung luận văn gồm có 3 chương:
Chương I. Mạng Kohonen và bài toán phân cụm
Chương II. Một số vấn đề về phân cụm bằng Kohonen
Chương III. Ứng dụng mạng Kohonen vào bài toán phân cụm dữ liệu môn học
của HSSV trường Cao đẳng nghề LICOGI qua việc khảo sát, thống kê kết quả học
các môn để đánh giá chất lượng đào tạo nghề của nhà trường
Do thời gian nghiên cứu và trình độ có hạn, luận văn không tránh khỏi hạn chế
và thiếu xót. Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy, cô
giáo cũng như bạn bè và đồng nghiệp.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 9 năm 2013
Ngƣời viết luận văn
Đỗ Thị Hồng


2

CHƢƠNG 1
MẠNG NƠRON KOHONEN VÀ BÀI TOÁN PHÂN CỤM

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

1.1.1. Giới thiệu về mạng Nơron
Trong những năm gần đây người ta thường nhắc đến “Trí tuệ nhân tạo” như là
một phương thức mô phỏng trí thông minh của con người từ việc lưu trữ đến xử lý
thông tin. Và nó thực sự trở thành nền tảng cho việc xây dựng các thế hệ máy tính
thông minh hiện đại. Cùng với mục đích đó, nhưng dựa trên quan điểm hoàn toàn
khác, một môn khoa học đã ra đời mang tên “Lý thuyết mạng Nơron”.
Mạng Nơron nhân tạo là sự mô phỏng xử lý thông tin, được nghiên cứu ra từ
hệ thần kinh của sinh vật cũng như bộ não của con người. Nó bao gồm số lượng lớn
các mối gắn kết cấp cao để xử lý các yếu tố làm việc trong mối liên hệ giải quyết rõ
ràng. Mạng nơron cũng giống như con người được học hỏi bởi kinh nghiệm, lưu
những kinh nghiệm hiểu biết và sử dụng chúng trong những tình huống phù hợp.
Mạng Nơron nhân tạo áp dụng thành công trong nhiều lĩnh vực khác nhau như
tài chính, ngân hàng, điện tử, kỹ thuật….và mới nhất là nghiên cứu ứng dụng trong
lĩnh vực quản lý dự án xây dựng. Ngoài ra, mạng Nơron nhân tạo là công cụ tốt
nhất trong việc giải quyết các bài toán như phân lớp đối tượng, xấp xỉ hàm số, tối
ưu hóa, định hướng vectơr, 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.
1.1.2. Mô hình một Nơron sinh học
1.1.2.1. Cấu trúc một nơron sinh học
Theo các nghiên cứu sinh học về bộ não, hệ thống thần kinh của con người bao
gồm khoảng 100 tỷ tế bào thần kinh, thường được gọi là nơron. Mỗi tế bào thần
kinh nơron bao gồm 03 thành phần:
- Thân nơron (gọi là Soma) với nhân bên trong là nơi tiếp nhận hay phát ra các
xung động thần kinh.


3

- Một hệ thống mạng các dây thần kinh vào (gọi là Dendrites) truyền tín hiệu
(dưới dạng xung điện) tới nhân nơron để xử lý. Các dây thần kinh vào tạo thành một

lưới dày đặc xung quanh thân nơron, chiếm diện tích khoảng 0,25mm
2
, bên trong
thân các dữ liệu đó được tổng hợp lại.
- Đầu dây thần kinh (gọi là sợi trục Axon) phân nhánh dạng hình cây, có thể
dài từ 1cm đến hàng mét. Chúng nối với các dây thần kinh vào hoặc trực tiếp với
nhân tế bào của các nơron khác thông qua các khớp nối (gọi là Synapse). Thông
thường mỗi nơron có thể có từ vài chục cho tới hàng trăm ngàn khớp nối để nối với
các nơron khác. Có hai loại khớp nối, khớp nối kích thích (excitatory) sẽ cho tín
hiệu qua nó để tới nơron còn khớp nối ức chế (inhibitory) có tác dụng làm cản tín
hiệu tới nơron. Người ta ước tính mỗi nơron trong bộ não của con người có khoảng
10
4
khớp nối (hình 1.1).









Hình 1.1. Cấu tạo mô hình nơron sinh học
1.1.2.2. Hoạt động của nơron sinh học
Các tín hiệu đưa ra bởi một khớp nối và được nhận bởi các dây thần kinh vào
là kích thích điện tử. Việc truyền tín hiệu như trên liên quan đến quá trình hóa học
phức tạp mà trong đó các chất truyền đặc trưng được giải phóng từ phía gửi của nơi
tiếp nối. Điều này làm tăng hay giảm điện thế bên trong thân của noron nhận. Nơron
nhận tín hiệu sẽ kích hoạt nếu điện thế vượt ngưỡng nào đó. Và một điện thế hoạt

động với cường độ cùng thời gian tồn tài cố định được gửi ra ngoài thông qua đầu


4

dây thần kinh tới phần dây thần kinh vào rồi tới chỗ khớp nối để đến nơron khác.
Sau khi kích hoạt, noron sẽ chờ trong một khoảng thời gian được gọi là chu kỳ cho
đến khi nó có thể được kích hoạt lại.
Có hai loại khớp nối là khớp nối kích thích và khớp nối ức chế. Khớp nối kích
thích sẽ cho tín hiệu qua nó để tới nơron, còn khớp nối ức chế có tác dụng làm cản
tín hiệu của noron.
Cấu trúc mạng noron luôn thay đổi và phát triển, các thay đổi có khuynh
hướng chủ yếu là làm tăng hay giảm độ mạnh các mối liên kết thông qua các khớp
nối. Các khớp nối đóng vai trò rất quan trọng trong sự học tập. Khi chúng ta học tập
thì hoạt động của cácg khớp nối được tăng cường, tạo nên nhiều liên kết mạnh giữa
các nơron. Có thể nói rằng người nào học càng giỏi thì càng có nhiều khớp nối và
các khớp ấy càng mạnh mẽ, hay nói cách khác, thì liên kết giữa các nơron càng
nhiều, càng nhạy bén.
1.1.3. Mô hình Nơron nhân tạo
1.1.3.1. Cấu trúc và mô hình của một nơron nhân tạo
Năm 1943, Warren MuCulloch và Walter Pitts đã đề xuất mô hình nơron nhân
tạo đầu tiên thường được gọi là nơron M-P, 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 nhân tạo cơ bản có n đầu vào x
1
, x
2
, , x
n
, và một đầu ra y

i
như
sau:








Hình 1.2. Cấu trúc mô hình một nơron nhân tạo cơ bản
.

.

.

w
i1

x
1

.

.

.


.


x
2

x
m

w
i
2

w
i
m



f
(
)

y
i


Ngưỡng

Đầu








vào

Trọng số liên kết

Hàm chuyển

Đầu ra

Hàm tổng

i


5


Một nơron thực hiện nhiệm vụ rất đơn giản là: nó nhận tín hiệu từ các đơn vị
phía trước hay một nguồn bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ được
lan truyền sang các đơn vị khác. Trong đó:
- Tập các đầu vào, được ký hiệu là x
i
, 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 n chiều.

- Tập các liên kết (các trọng số) tương ứng với các đầu vào, những trọng số
này tương ứng với các Synapse trong noron sinh học. 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à w
ij
. 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. Nếu w > 0 thì nơron đang ở trạng thái kích thích, ngược lại w <
0 thì nơron đang ở trạng thái kiềm chế.
- Độ lệch hay ngưỡng, được ký hiệu là b, là tham số điều chỉnh vô hướng của
nơron. Thường được đưa vào như là một thành phần của hàm chuyển.
Ta thấy w và b đều là các tham số điều chỉnh vô hướng của nơron. Ý tưởng cơ
bản của mạng nơron là điều chỉnh các tham số này để mạng đạt được mục đích
mong muốn.
- Hàm tổng, được ký hiệu là ∑ , 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ó.
- Hàm kích hoạt hay còn gọi là hàm chuyển, được ký hiệu là f, 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 chuyể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 chuyể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, được ký hiệu là y: 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.
Tổng quát ta có với vector nhập x = (x
1
, x
2
,…x
n

), trọng số


6

w = (w
11
, w
12
,…,w
1n
), ngưỡng b và hàm chuyển f. Tổng đối số và ngưỡng tạo
ở đầu ra m là:
m = w
11
*x
1
+ w
12
*x
2
+…+w
1n
*x+b (1.1)
Hay m = w*x+b (1.2)
Vậy véctơ đầu ra có giá trị: y
i
= f(w*x+b) (1.3)
Hàm chuyển hay còn gọi là hàm phi tuyến, chuyển đổi một tổ hợp tuyến tính
của tất cả các tín hiệu đầu vào thành tín hiệu đầu ra. Hàm chuyển này đảm bảo tính

chất phi tuyến cho tính toán mạng nơron. Nó được xem như là một hàm giới hạn, nó
giới hạn phạm vi biên độ cho phép của tín hiệu đầu ra trong một khoảng giá trị hữu
hạn.
Một số dạng hàm chuyển thường được sử dụng:
Hàm bước nhảy
00
01
)(
xkhi
xkhi
xf
(1.4)
Hàm giới hạn chặt (hay còn gọi là hàm bước)
01
01
)sgn()(
xkhi
xkhi
xxf
(1.5)
Hàm bậc thang
00
10
11
)sgn()(
xkhi
xkhix
xkhi
xxf
(1.6)

Hàm ngưỡng đơn cực
x
e
xf
1
1
)(
với λ>0 (1.7)
Hàm ngưỡng hai cực
1
1
2
)(
x
e
xf
với λ>0 (1.8)






7

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













Hình 1.3. Đồ thị các dạng hàm chuyển
1.1.3.2. Mô hình mạng Nơron nhân tạo
Mạng nơron gồm một số lượng lớn các đơn vị xử lý kết nối với nhau hoạt
động song song và cấu hình nên kiểu kiến trúc của hệ thống. Do mô phỏng cách
thức hoạt động của nơron thần kinh, nên mạng nơron có khả năng học, tái tạo, tổng
quát hóa từ dữ liệu đã được huấn luyện.
Đơn vị tạo nên mạng nơron là các nút. Các nút này sẽ nằm ở các lớp (Layer)
khác nhau. Mỗi lớp có một nhiệm vụ riêng:
- Lớp vào (Input layer): nhận dữ liệu đầu vào, các nút thuộc lớp vào gọi là nút
vào.
- Lớp ra (Output layer): kết xuất dữ liệu, các nút thuộc lớp ra gọi là nút ra.
- Lớp ẩn (Hidden layer): lớp này có thể có hoặc không, tùy loại mạng. Số
lượng lớp ẩn của một nơron cũng tùy theo người thiết kế mạng. Các nút thuộc lớp
ẩn gọi là nút ẩn.





8








Lớp vào Lớp ẩn Lớp ra
Hình 1.4. Mô hình mạng nơron 3 lớp
Mỗi nút trong lớp vào nhận giá trị của biến độc lập và chuyển vào mạng. Các
nút trong lớp ẩn nhận dữ liệu từ nút vào “tổng trọng hóa” chuyển tín hiệu cho lớp
ra. Các nút tại lớp xuất cũng tổng trọng hóa tín hiệu nhận từ lớp ẩn. Mỗi nút trong
lớp ra tương ứng với một biến phụ thuộc. Mỗi cung liên kết trong mạng nơron đều
có một trọng số riêng.
Số lượng biến độc lập, biến phụ thuộc mà nơron cho phép là tùy ý. Đồng thời,
mạng nơron làm việc được trên cả biến định lượng lẫn các biến lớp. Mạng nơron
hoạt động ở hai trạng thái:
- Học
- Ánh xạ
Trong trạng thái học, tập dữ liệu mẫu đưa vào mạng bao gồm cả giá trị đầu vào
lẫn giá trị kết xuất của các biến phụ thuộc. Thông tin nhập được đưa vào mạng. Các
dữ liệu được tính toán và cho ra kết quả xuất. Kết quả xuất này của mạng được so
sánh với kết quả xuất thực được cho trong tập mẫu để rút ra sai số. Sai số này được
lan truyền ngược trở lại các nút ra, nút ẩn, để các nút này điều chỉnh lại các trọng số
của mình. Quá trình lan truyền theo hai chiều này được tiến hành nhiều lần, cho đến
khi sai số chấp nhận được: nghĩa là trọng số các nút trong mạng đã đúng: mạng
được luyện xong.
Khi mạng được huấn luyện xong, thì người ta có thể dùng mạng cho các mục
đích của mình. Nghĩa là bây giờ, đưa dữ liệu các biến độc lập vào mạng sẽ cho giá
trị các biến phụ thuộc cần xác định.
x
1


x
2

x
3

y
2

y
3



9

1.1.3.3. Các luật học
Thông thường, mạng nơron được điều chỉnh hoặc được huấn luyện để hướng
các đầu vào riêng biệt đến đích ở đầu ra. Cấu trúc huấn luyện mạng được chỉ ra ở
hình dưới. Ở đây, hàm trọng số của mạng được điều chỉnh trên cơ sở so sánh đầu ra
với đích mong muốn (taget), cho tới khi đầu ra của mạng phù hợp với đích. Những
cặp vào/đích (input/taget) được dùng để giám sát cho sự huấn luyện mạng.






Hình 1.5. Cấu trúc huấn luyện mạng nơron

Để có được một số cặp vào/ra, ở đó mỗi giá trị vào được gửi đến mạng và giá
trị ra tương ứng được thực hiện bằng mạng là sự xem xét và so sánh với giá trị
mong muốn. Bình thường, nó sẽ tồn tại một sai số vì giá trị mong muốn không hoàn
toàn phù hợp với giá trị thực. Sau mỗi lần chạy, ta có tổng bình phương của tất cả
các sai số. Sai số này được sử dụng để xác định các hàm trọng số mới.
Sau mỗi lần chạy, hàm trọng số của mạng được sửa đổi với đặc tính tốt hơn
tương ứng với đặc tính mong muốn. Từng cặp giá trị vào/ra phải được kiểm tra và
trọng số được điều chỉnh một vài lần. Sự thay đổi các hàm trọng số của mạng sẽ
được dừng lại, nếu tổng các bình phương sai số nhỏ hơn một giá trị đặt trước, hoặc
đã chạy đủ một số lần chạy xác định (trong trường hợp này, mạng có thể không
thoả mãn yêu cầu đặt ra do sai lệch còn cao). Có hai kiểu học:
- Học tham số: là các tham số về trọng số cập nhật kết nối giữa các nơron.
- Học cấu trúc: trọng tâm là sự biến đổi cấu trúc của các mạng nơron gồm số
lượng nút và các loại liên kết.
Giả sử ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng nơron.
Nhiệm vụ của việc học tham số là tìm ra được ma trận chính xác mong muốn từ ma
ANN
Trọng số
w
i
So sánh
Đích
Dữ
liệu
vào
Điều chỉnh


10


trận giả thiết ban đầu (với cấu trúc của mạng nơron có sẵn). Để làm được điều này
thì mạng nơron phải sử dụng các trọng số điều chỉnh, với nhiều phương pháp học
khác nhau để có thể tính toán gần đúng ma trận W cần tìm đặc trưng cho mạng. Sau
đây là 3 phương pháp học:
Học có giám sát
Học có giám sát: là quá trình học có tín hiệu chỉ đạo bên ngoài d (Hình 1.6).
Trong học có giám sát, thì tại mỗi thời điểm khi đầu vào được cung cấp tới mạng
nơron, phản ứng đầu ra mong muốn d tương ứng của hệ thống được đưa ra. Ở hình
(1.6), khi mỗi đầu vào x
(k)
được đặt vào mạng, đầu ra mong muốn tương ứng d
(k)

cũng được cung cấp tới mạng. Hiệu giữa đầu ra thực y
(k)
và đầu ra mong muốn d
(k)
được đo trong máy phát tín hiệu lỗi. Máy này sẽ tạo ra tín hiệu lỗi cho mạng để hiệu
chỉnh các trọng số của mạng, và với các hiệu chỉnh này thì đầu ra thực sẽ tiến sát
với đầu ra mong muốn.




Hình 1.6. Học có giám sát
Học không có giám sát





Hình 1.7. Học không có giám sát
Trong phần học không có giám sát, sẽ không có thầy hướng dẫn, tức là không
có tín hiệu d cung cấp tới mạch phản hồi. Điều này cho thấy, ta sẽ không biết đầu ra
đạt giá trị gì. Với loại này, thì các nơron tự xoay xở với các dữ liệu mẫu mà nó có
được, chứ không có “thầy” gợi ý cần luyện theo hướng nào. Mạng phải tự khám phá
mẫu, đặc tính, sự tương quan hay loại đầu vào. Trong khi khám phá những đặc tính


11

này, tham số của mạng sẽ bị thay đổi. Quá trình này được gọi là tự tổ chức. Một ví
dụ điển hình là quá trình phân loại đối tượng không có thầy, những lớp thích hợp
được hình thành bằng cách khám phá sự tương tự và không tương tự trong số các
đối tượng.
Học củng cố
Tín hiệu chủ đạo d có thể lấy từ môi trường bên ngoài, nhưng tín hiệu này
không được đầy đủ, mà chỉ có một vài bit đại diện có tính chất kiểm tra quá trình tốt
hay xấu. Học củng cố cũng là một dạng của học có giám sát, bởi vì mạng vẫn nhận
một số tín hiệu từ bên ngoài. Nhưng tín hiệu phản hồi chỉ mang tính chất đánh giá
hơn là mạng tính chất chỉ dẫn. Nó cho biết mức độ tốt hay xấu của một đầu ra đặc
biệt. Tín hiệu củng cố bên ngoài thường được xử lý bằng máy phát tín hiệu đánh giá
để tạo ra nhiều hơn nữa các thông tin tín hiệu đánh giá, sau đó dùng để điều chỉnh
các trọng số với mục đích đạt được tín hiệu đánh giá tốt hơn.
Hình (1.8) mô tả cấu trúc chung của quá trình học của ba phương pháp học
đã nêu ở trên. Trong tín hiệu vào x
j
(j = 1,2, ,m), có thể được lấy từ đầu ra của các
nơron khác hoặc có thể được lấy ra từ bên ngoài. Trọng số của nơron thứ i được
thay đổi tùy theo tín hiệu ở đầu vào mà nó thu nhận giá trị đầu ra của nó.
Dạng tổng quát của luật học trọng số của mạng nơron cho biết số gia của

vector w
i

i
w
tỉ lệ với tín hiệu học r và tín hiệu đầu vào x(t).
i
w
(t) =
)( txr
(1.9)
là một số dương và được gọi là hằng số học dùng để xác định tốc độ học, r là tín
hiệu học và phụ thuộc:
).,,(
iir
dxwfr
(1.10)






Hình 1.8. Sơ đồ cấu trúc chung của quá trình học


12

Từ hình (1.8) ta thấy, vector trọng số w
i

= [w
i1
, w
i2
, , w
im
]
T
có số gia tỷ lệ với
tín hiệu vào x và tín hiệu học r. Vector trọng số ở thời điểm (t+1) được tính như sau:
w
i
(t+1) = w
i
(t) + f
r
(w
i
(t),x(t),d(t)).x(t). (1.11)
Phương trình liên quan đến sự biến đổi trọng số trong mạng nơron rời rạc, và
tương ứng với sự thay đổi trọng số trong mạng nơron liên tục theo biểu thức sau:
)( txr
dt
dw
i
(1.12)
Vấn đề quan trọng trong việc phân biệt luật học cập nhật trọng số có giám sát
hay không có giám sát, hoặc học củng cố là tín hiệu học r. Như vậy, đối với tín hiệu
học r thì nó làm thế nào để thay đổi hoặc cập nhật trọng số trong mạng nơron.
Mạng nơron nhân tạo có các tính chất sau:

- Là hệ phi tuyến
- Là hệ xử lý song song
- Là hệ học và thích nghi: Mạng được luyện từ số liệu quá khứ, có khả năng tự
chỉnh đầu vào khi số liệu đầu vào bị mất.
- Là hệ nhiều biến, nhiều đầu vào, nhiều đầu ra (MISO), rất tiện dùng khi điều
khiển đối tượng có nhiều biến số.
1.2. Mạng Kohonen và bài toán phân cụm
1.2.1. Giới thiệu về mạng nơron Kohonen (SOM - Self-Organizing Maps)
Mạng Kohonen (hay còn được gọi là Self Organizing Maps viết tắt là SOMs)
là một kỹ thuật trực quan dữ liệu được giáo sư, tiến sĩ Teuvo Kohonen phát triển
vào những năm 80. Giáo sư Kohonen được biết đến nhiều trong các lĩnh vực về
mạng nơron, bao gồm các thuật toán phép học lượng tử 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 một số sách và viết khoảng 200 bài
báo. Đóng góp nổi tiếng nhất của ông là SOM (Self Organizing Maps) hay còn gọi
là bản đồ tự tổ chức hay bản đồ Kohonen.
SOM là một mô hình mạng nơron nhân tạo được huấn luyện sử thuật học cạnh
tranh, “không giám sát” để biểu diễn dữ liệu với số chiều thường là 2, nó có khả
năng ánh xạ dữ liệu đầu vào (có số chiều lớn) lên một mảng có số chiều thấp hơn,


13

thông thường là hai chiều. Đây là một phép chiếu phi tuyến tính đem lại một ”bản
đồ đặc trưng” hai chiều 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.
SOM là một công cụ thích hợp trong khai phá dữ liệu. Nó được ứng dụng
nhiều trong các bài toán như nhận dạng tiếng nói (Kohonen, 1989), máy ảo (Oja,
1992), tối ưu tổ hợp (Fort, 1988), phân lớp ảnh (Kohonen, 1984) Mạng Kohonen
được thiết kế chủ yếu để giảm số chiều dữ liệu và trực quan thông tin. Tuy nhiên có
thể kết hợp Kohonen với các kỹ thuật xác định cụm khác để phân cụm dữ liệu.

1.2.2. Bài toán phân cụm
1.2.2.1. Khái niệm
Phân cụm 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 là một kỹ thuật trong khai phá dữ liệu 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 quan trọng trong tập dữ liệu lớn từ đó cung
cấp thông tin hữu ích cho việc ra quyết định.
Quá trình phân cụm là quá trình tìm ra các đối tượng trong cơ sở dữ liệu một
cách tự động. Phân cụm 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, phân cụm 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 là một cách học bằng quan sát, trong khi
phân lớp là học bằng.
Đã có rất nhiều thuật toán được phát triển cho bài toán phân cụm trong cơ sở
dữ liệu lớn và được áp dụng vào nhiều lĩnh vực như xử lý ảnh, nhận dạng, đánh giá
kinh doanh Sự đa dạng của thuật toán phân cụm là do sự khác nhau của các ứng
dụng thực tế dẫn tới những yêu cầu khác nhau và đòi hỏi các thuật toán phân cụm
khác nhau.
Một trong những câu hỏi lớn đặt ra cho bài toán phân cụm là độ đo tương
đồng không gian giữa các đối tượng dữ liệu (spantal similarity). Trong dữ liệu
không gian thì độ đo tương đồng được xem như sự quan hệ về vị trí không gian


14

giữa các đối tượng dữ liệu. Nói cách khác thì hai đối tượng dữ liệu được gọi là
tương đồng nếu "khoảng cách không gian" giữa chúng là nhỏ.
Một trong những phương pháp độ đo tương đồng giữa hai đối tượng là bằng
nghịch đảo của hàm không tương đồng (dissimilarity function). Hàm không tương
đồng, hàm dựa vào những thuộc tính trong không gian của đối tượng như : tọa độ

của các đối tượng, độ cao của đối tượng Trong nhiều trường hợp thì hàm không
tương đồng được xem như hàm khoảng cách không gian giữa các đối tượng như
hàm khoảng cách Euclid, hàm khoảng cách Manhattan, hàm khoảng cách
Minkowski
Bài toán phân cụm thường được hiểu là một bài toán không giám sát và được
phát biểu như sau: Cho tập N đối tượng dữ liệu X = {x
1
, x
2
,…,x
n
}(bài toán chỉ xét
các đối tượng trong không gian số học n chiều; x
i
R
n
), ta cần chia X thành các
cụm đôi một không giao nhau: X =
i
Yc
k
i 1
sao cho các đối tượng trong cùng một cụm
C
i
thì tương tự nhau và các đối tượng trong các cụm khác nhau thì khác nhau hơn
theo một cách nhìn nào đó. Số lượng k các cụm có thể cho trước hoặc xác định nhờ
phương pháp phân cụm. Để thực hiện phân cụm, ta cần xác định được mức độ
tương tự giữa các đối tượng, tiêu chuẩn để phận cụm, trên cơ sở đó xây dựng mô
hình và các thuật toán phân cụm theo nhiều cách tiếp cận. Mỗi cách tiếp cận cho ta

kết quả phân cụm với ý nghĩa sử dụng khác nhau.
Bài toán phân cụm là quá trình nhóm một cơ sở dữ liệu thành những nhóm đối
tượng dữ liệu phục vụ cho mục đích cụ thể của từng ứng dụng thực tế. Không có
một thuật toán phân cụm nào là tốt nhất và thích hợp cho tất cả mọi ứng dụng mà
mỗi ứng dụng khác nhau thì người sử dụng phải lựa chọn một thuật toán phân cụm
cụ thể phù hợp với ứng dụng đó. Kết quả đánh giá cho từng thuật toán cũng phụ
thuộc vào yêu cầu của từng ứng dụng.
1.2.2.2. Mục đích của phân cụm dữ liệu
Mục đích của phân cụm dữ liệu là xác định được bản chất bên trong nhóm của
dữ liệu chưa có nhãn. Nó có thể không có tiêu chuẩn tuyệt đối "tốt" mà có thể


15

không phụ thuộc vào kết quả phân nhóm. Vì vậy, nó đòi hỏi người sử dụng phải
cung cấp tiêu chuẩn phân cụm một cách rõ ràng theo cách mà kết quả phân cụm sẽ
đáp ứng yêu cầu.
Hiện nay chưa có một phương pháp phân cụm nào có thể giải quyết trọn vẹn
cách biểu diễn cấu trúc dữ liệu, và 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.
1.2.2.3. Ứng dụng của bài toán phân cụm
Phân cụm dữ liệu đã và đang được ứng dụng trong nhiều lĩnh vực khác nhau 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 KPDL:
- 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.

×