Số hóa bởi Trung tâm Học liệu
ĐẠI HỌC THÁI
NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LÃNH LAN HƢƠNG
MẠNG KOHONEN VÀ ỨNG DỤNG TRONG
QUẢN LÝ TRỢ CẤP XÃ HỘI CỦA SINH VIÊN
TRƢỜNG CAO ĐẲNG SƢ PHẠM CAO BẰNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2014
Số hóa bởi Trung tâm Học liệu
ĐẠI HỌC THÁI
NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LÃNH LAN HƢƠNG
MẠNG KOHONEN VÀ ỨNG DỤNG TRONG
QUẢN LÝ TRỢ CẤP XÃ HỘI CỦA SINH VIÊN
TRƢỜNG CAO ĐẲNG SƢ PHẠM CAO BẰNG
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
HƢỚNG DẪN KHOA HỌC: P G S . TS LÊ BÁ DŨNG
THÁI NGUYÊN - 2014
Số hóa bởi Trung tâm Học liệu
i
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 7 năm 2014
Học viên thực hiện
Lãnh Lan Hƣơng
Số hóa bởi Trung tâm Học liệu
ii
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 hiệu trƣờng Cao đẳng Sƣ
phạm Cao Bằng đã 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 7 năm 2014
Học viên
Lãnh Lan Hƣơng
Số hóa bởi Trung tâm Học liệu
iii
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH vii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG KOHONEN VÀ BÀI TOÁN
PHÂN CỤM 2
1.1. Giới thiệu chung về mạng Nơron 2
1.1.1 Lịch sử phát triển của mạng nơron 2
1.1.2. Mạng Nơron sinh học 3
1.1.3. Mạng Nơron nhân tạo 5
1.1.4 Ứng dụng 14
1.2. Mạng Kohonen và bài toán phân cụm 15
1.2.1 Giới thiệu về mạng nơron Kohonen 15
1.2.2 Bài toán phân cụm 16
1.3 Các phƣơng pháp phân cụm 18
CHƢƠNG 2: SOM VÀ KĨ THUẬT PHÂN CỤM DỮ LIỆU DỰA VÀO SOM 20
2.1. Thuật toán phân cụm dữ liệu 20
2.2. Một số thuật toán cơ bản trong phân cụm dữ liệu 21
2.2.1 Thuật toán phân cụm phân cấp 21
2.2.2 Thuật toán phân cụm phân hoạch (Thuật toán K-means) 22
2.2.3 Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN) 25
2.2.4 Thuật toán phân cụm dựa trên lƣới (Thuật toán STING) 26
2.2.5 Thuật toán phân cụm dựa trên mô hình (Thuật toán EM) 27
2.3. Thuật toán phân cụm bằng mạng Kohonen (SOM) 28
2.3.1 Mạng Kohonen là gì? 28
2.3.2. Cấu trúc mô hình mạng Kohonen 29
Số hóa bởi Trung tâm Học liệu
iv
2.3.3. Thuật toán phân cụm bằng mạng Kohonen 30
2.4 Một số vấn đề phân cụm với mạng Kohonen 33
2.4.1. Khởi tạo mạng Kohonen (SOM) 33
2.4.2. Huấn luyện mạng Kohonen 34
2.4.3. Tỉ lệ học 35
2.4.4. Cập nhật lại trọng số 36
2.4.5. Xác định nơron chiến thắng 37
2.5. Kohonen (SOM) và công việc phân cụm dữ liệu 38
2.5.1. SOM phân cụm với bản đồ 1 chiều 38
2.5.2. SOM phân cụm với bản đồ 2 chiều 38
2.5.3. Xác định ranh giới các cụm 39
2.5.4. Trực quan mạng 40
2.5.5. Số lƣợng nhóm khi phân cụm 42
CHƢƠNG 3: ỨNG DỤNG MẠNG SOM TRONG CÔNG VIỆC QUẢN
LÝ TRỢ CẤP XÃ HỘI CỦA SINH VIÊN TRƢỜNG CAO ĐẲNG SƢ
PHẠM CAO BẰNG 43
3.1. Phát biểu bài toán 43
3.2 Khảo sát, đánh giá, thống kê tình hình trợ cấp xã hội của sinh
viên trƣờng Cao đẳng Sƣ phạm Cao Bằng 43
3.2.1 Thu thập dữ liệu 43
3.2.2. Phân tích dữ liệu 45
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 trợ cấp xã hội của học sinh, sinh viên
trƣờng Cao đẳng Sƣ phạm Cao Bằng 51
3.3.1. Các chức năng của chƣơng trình 51
3.3.2. Giao diện chƣơng trình 51
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. Trực quan mạng U-Matrix 53
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 74
Số hóa bởi Trung tâm Học liệu
v
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 Clustering of Applications with
Noise): Phân cụm dữ liệu dựa trên không gian mật độ ứng với nhiễu
Số hóa bởi Trung tâm Học liệu
vi
DANH MỤC CÁC BẢNG
Bảng 3.1. Dữ liệu thống kê phân cụm theo các lớp trong trƣờng 48
Bảng 3.2. Dữ liệu thống kê phân cụm trong 1 lớp 50
Bảng 3.3. Kết quả các cụm lớp và tính chất cụm sau khi huấn luyện
mạng Kohonen 57
Bảng 3.4. Kết quả các cụm sinh viên và tính chất cụm sau khi huấn luyện
mạng Kohonen 68
Số hóa bởi Trung tâm Học liệu
vii
DANH MỤC CÁC HÌNH
Hình 1.1. Cấu tạo mô hình nơron sinh học 4
Hình 1.2. Cấu trúc mô hình một nơron nhân tạo cơ bản 5
Hình 1.3. Đồ thị các dạng hàm chuyển 8
Hình 1.4. Mô hình mạng nơron 3 lớp 9
Hình 1.5. Cấu trúc huấn luyện mạng nơron 10
Hình 1.6. Học có giám sát 11
Hình 1.7. Học không có giám sát 11
Hình 1.8. Sơ đồ cấu trúc chung của quá trình học 13
Hình 2.1. Các thiết lập để xác định ranh giới các cụm ban đầu 22
Hình 2.2. Tính toán trọng tâm của các cụm mới 23
Hình 2.3. Hình dạng các cụm đƣợc khám phá bởi thuật toán DBSCAN 25
Hình 2.4. Cấu trúc mạng Kohonen 29
Hình 2.5. Phần tử nơron chiến thắng BMU 30
Hình 2.6. Các vùng lân cận 31
Hình 2.9: Hàm tỉ lệ học theo thời gian 36
Hình 3.1. Kết quả phân cụm theo các lớp trong trƣờng sử dụng phƣơng
pháp trực quan U-Matrix 54
Hình 3.2. Kết quả phân cụm các lớp sử dụng phƣơng pháp trực quan các
bản đồ thành phần 59
Hình 3.3 Kết quả phân cụm các nhóm sinh viên trong một lớp sử dụng
phƣơng pháp trực quan U-Matrix 66
Hình 3.4. Kết quả phân cụm sinh viên sử dụng phƣơng pháp trực quan
các bản đồ thành phần 69
Số hóa bởi Trung tâm Học liệu
1
MỞ ĐẦU
Thực tế hiện nay tại các trƣờng cao đẳng thuộc khu vực miền núi, đa phần
sinh viên là dân tộc thiểu số, có hoàn cảnh khó khăn và đƣợc hƣởng chính sách
trợ cấp xã hội của nhà nƣớc. Hàng năm số lƣợng sinh viên đƣợc tuyển vào các
trƣờng ngày càng đông. Công việc quản lý trợ cấp xã hội ở đây chủ yếu thông
qua các bảng biểu, thống kê khó có thể phân tích theo yêu cầu của quản lý
công việc một cách nhanh chóng.
Với sự phát triển mạnh mẽ của Công nghệ thông tin và sự ra đời của mạng
Nơron đã giúp cho công việc quản lý nói chung và quản lý trợ cấp xã hội cho
sinh viên nói riêng có một cái nhìn trực quan. Ngƣời quản lý dựa vào đó đƣa ra
đƣợc những đánh giá nhanh chóng, chính xác.
Luận văn với đề tài “Mạng Kohonen và ứng dụng trong quản lý trợ cấp
xã hội của sinh viên trƣờng Cao đẳng Sƣ phạm Cao Bằng” 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. Tổng quan về mạng Kohonen và bài toán phân cụm dữ liệu
Chƣơng II. SOM và kĩ thuật phân cụm dữ liệu dựa vào SOM
Chƣơng III. Ứng dụng mạng Kohonen trong công việc quản lý trợ cấp xã
hội của sinh viên trƣờng Cao đẳng Sƣ phạm Cao Bằ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 7 năm 2014
Ngƣời viết luận văn
Lãnh Lan Hƣơng
Số hóa bởi Trung tâm Học liệu
2
CHƢƠNG 1
TỔNG QUAN VỀ MẠNG KOHONEN VÀ BÀI TOÁN PHÂN CỤM
1.1. Giới thiệu chung về mạng Nơron
1.1.1 Lịch sử phát triển của mạng nơron
Khái niệm mạng nơron đƣợc bắt đầu vào cuối thế kỷ 19, đầu thế kỷ 20 do
có sự tham gia của ba ngành Vật lý học, Tâm lý học và Thần kinh học. Các
nhà khoa học nhƣ Hermann Von Hemholtz, Earnst Mach, Ivan Pavlov với
các công trình nghiên cứu đi sâu vào lý thuyết tổng quát mô tả hoạt động
của trí tuệ con ngƣời nhƣ: Học, nhìn, và lập luận, nhƣng không đƣa ra đƣợc mô
hình toán học cụ thể mô tả hoạt động của nơron.
Về lịch sử, quá trình nghiên cứu và phát triển mạng nơron nhân tạo có thể
chia thành bốn giai đoạn nhƣ sau:
- Giai đoạn một: Từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các nơron thần kinh. Năm 1943, nhà thần kinh học Warren
MeCulloch và nhà logic học Walter Pitts đã chỉ ra rằng: về nguyên tắc
mạng các nơron nhân tạo có thể đƣợc mô hình hoá nhƣ thiết bị ngƣỡng
(giới hạn) để thực hiện tính toán bất kỳ một hàm số học hay các phép tính
logic nào. Tiếp theo hai ông là Donald Hebb với giải thuật huấn luyện
mạng ra đời năm 1949.
- Giai đoạn hai: Vào khoảng những năm 1960, một số mô hình nơron
hoàn thiện hơn có tính ứng dụng thực tiễn đã đƣợc đƣa ra nhƣ: mô hình
Perceptron của Frank Rosenblatt (1958), mô hình Adaline của Bernard
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) đã phát hiện ra và
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ự chỉnh, đƣợc dùng rộng rãi trong điều khiển
thích nghi, tách nhiễu và vẫn phát triển cho đến nay.
Số hóa bởi Trung tâm Học liệu
3
- Giai đoạn ba: Vào khoảng đầu thập niên 80, việc nghiên cứu mạng
nơron diễn ra rất mạnh mẽ cùng với sự ra đời của máy tính cá nhân PC.
Những đóng góp lớn cho mạng nơron trong giai đoạn này phải kể đến
Stephen Grossberg, Teuvo Kohonen, Rumelhart và John Hopfield. Trong
đó đóng góp lớn của nhà vật lý học ngƣời Mỹ John 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 nơron 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 (back -propagation) nổi
tiếng để huấn luyện mạng nơron 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 nơron 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 bốn: 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 nơron IJCNN (International Joint Conference
on Neural Networks). Rất nhiều công trình đƣợc nghiên cứu để ứng dụng
mạng nơron vào các lĩnh vực cuộc sống, ví dụ nhƣ: Kỹ thuật tính, tối ƣu, sinh
học, y học, thống kê, giao thông, hoá học… Cho đến nay, mạng nơron đã tìm
đƣợc 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. Mạng 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.
- 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
Số hóa bởi Trung tâm Học liệu
4
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 dây thần kinh tới phần dây thần kinh
Số hóa bởi Trung tâm Học liệu
5
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 học
tập thì hoạt động của các 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.
1.1.3. Mạng 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
im
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
W
i2
Số hóa bởi Trung tâm Học liệu
6
Một nơron thực hiện nhiệm vụ: 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 nơron 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ố
Số hóa bởi Trung tâm Học liệu
7
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)
* Đồ thị các dạng hàm chuyển đƣợc biểu diễn nhƣ sau:
Số hóa bởi Trung tâm Học liệu
8
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 [1]. 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.
Số hóa bởi Trung tâm Học liệu
9
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.
Số hóa bởi Trung tâm Học liệu
10
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.
ANN
Trọng số
w
i
So sánh
Đích
Dữ
liệu
vào
Điều chỉnh
Số hóa bởi Trung tâm Học liệu
11
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 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
Số hóa bởi Trung tâm Học liệu
12
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 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.
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
là
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)
Số hóa bởi Trung tâm Học liệu
13
Hình 1.8. Sơ đồ cấu trúc chung của quá trình học
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ố.
Số hóa bởi Trung tâm Học liệu
14
1.1.4 Ứng dụng
Từ khi ra đời và phát triển, mạng nơron đã đƣợc ứng dụng trong nhiều
lĩnh vƣc khác nhau. Không thể liệt kê đƣợc hết ứng dụng của mạng nơron, tuy
nhiên ta có thể thấy một số ứng dụng điển hình nhƣ sau:
- Tài chính - ngân hàng: định giá bất động sản, cho vay, kiểm tra tài sản
cầm cố giá mức độ hợp tác, phân tích đƣờng tín dụng, chƣơng trình thƣơng
mại thông qua giấy tờ, cấp phát thẻ tín dụng, phân tích tài chính liên doanh,
dự báo tỉ giá tiền tệ,…
- Quân sự: định vị phát hiện vũ khí, dò tìm mục tiêu, nhận dạng ngƣời
nói, phân luồng rada.
- Y học: xử lý, chuẩn đoán hình ảnh trong y học, phân tích tín hiệu điện
tâm đồ,…
- Bảo hiểm: Đánh giá việc áp dụng các chính sách xã hội, tối ƣu hóa sản phẩm.
- Giao thông: các hệ thống dẫn đƣờng tự động trong ô tô, các bộ phận
hoạt động của xe,…
- Hàng không: phi công tự động, giả lập đƣờng bay, các hệ thống điều
khiển lái máy bay, bộ phận phát hiện lỗi,
- Giải trí: tạo các hiệu ứng đặc biệt, hoạt hình,
- Thiết bị điện tử: dự báo mã tuần tự, sơ đồ chip IC, điều khiển tiến trình,
phân tích nguyên nhân hỏng chip,
- Nhận dạng mẫu: phân loại 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,
- Xử lý tín hiệu: phân tích tín hiệu địa chấn và hình thái học.
- 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,…
- Vấn đề lập kế hoạch, điều khiển và tìm kiếm: Gồm cài đặt song song
các bài toán thỏa mãn ràng buộc, bài toán lập thời khóa biểu cho trƣờng đại
học, bài toán ngƣời đi du lịch,
Số hóa bởi Trung tâm Học liệu
15
- Giải các bài toán tối ƣu: Vấn đề chính là tìm những thuật toán huấn
luyện mạng để góp phần tìm nghiệm cho nhiều lớp bài toán tối ƣu toàn cục.
Tóm lại, mạng nơron nhân tạo đƣợc xem là một cách tiếp cận đầy tiềm
năng để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong
tình hình các dữ liệu đầu vào không tƣờng minh.
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
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
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, nó đƣợc biết đến nhƣ là ánh xạ đặc trƣng tự tổ chức (SOM), là
một trong những mô hình khá đơn giản của mạng nơron.
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 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.
Số hóa bởi Trung tâm Học liệu
16
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.
Đã 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 giữa các đối tƣợng dữ liệu.