Các nơron có đầu vào nhận thông tin từ môi trường bên ngoài khác với cácnơron có đầu vào được nối với các nơron khác trong mạng, chúng được phân biệtvới nhau qua vector hàm trọng số ở đầ
Trang 1MAI XUÂN ĐẠT
NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG TRONG KHẢO SÁT, ĐÁNH GIÁ, THỐNG KÊ KẾT QUẢ HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC CÔNG
NGHIỆP QUẢNG NINH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Trang 3MAI XUÂN ĐẠT
NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG TRONG KHẢO SÁT, ĐÁNH GIÁ, THỐNG KÊ KẾT QUẢ HỌC TẬP TẠI TRƯỜNG ĐẠI HỌC CÔNG
NGHIỆP QUẢNG NINH 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: PGS.TS NGÔ QUỐC TẠO
Trang 4Thái Nguyên – 2013
Trang 5LỜ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ộtcông trình nào khác
Thái Nguyên, ngày 09 tháng 10 năm 2013
Học viên thực hiện
Mai Xuân Đạt
LỜI CẢM ƠN
Trang 6Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Ngô Quốc Tạo 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ôngtin đã 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ữngngườ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ốtluận văn
Tôi cũng xin gửi lời cảm ơn tới Ban giám hiệu Trường Đại học Công nghiệpQuảng Ninh đã tạo kiện thuận lợi cho tôi tham gia khóa học và trong suốt quá trìnhhoà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, ngày 09 tháng 10 năm 2013
Học viên
Mai Xuân Đạt
Trang 7MỤ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 vi
MỞ ĐẦU 1
Chương 1: GIỚI THIỆU VỀ MẠNG NƠRON 3
1.1 Giới thiệu về mạng nơron nhân tạo 3
1.1.1 Cấu trúc và mô hình mạng nơron 3
1.1.2 Cấu tạo và phương thức làm việc của mạng nơron 6
1.1.3 Các luật học 8
1.2 Kết luận chương 1 11
Chương 2: MẠNG SOM VÀ MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM 12
2.1 Thuật toán phân cụm dữ liệu 12
2.2 Một số thuật toán cơ bản trong phân cụm dữ liệu 13
2.2.1 Thuật toán phân cụm phân cấp 13
2.2.2 Thuật toán phân cụm phân hoạch (Thuật toán K-means) 14
2.2.3 Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN) 16
2.2.4 Thuật toán phân cụm dựa trên lưới (Thuật toán STING) 17
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) 19
2.3 Thuật toán phân cụm bằng mạng Kohonen 20
2.3.1 Mạng Kohonen là gì? 20
2.3.2 Cấu trúc mô hình mạng Kohonen 20
2.3.3 Thuật toán phân cụm bằng mạng Kohonen 21
2.4 Một số vấn đề phân cụm bằng mạng Kohonen 23
2.4.1 Khởi tạo mạng Kohonen (SOM) 23
2.4.2 Huấn luyện mạng Kohonen 24
2.4.3 Tỉ lệ học 24
2.4.4 Cập nhật lại trọng số 26
Trang 82.4.5 Xác định nơron chiến thắng 26
2.5 Kohonen (SOM) sử dụng trong phân cụm dữ liệu 27
2.5.1 SOM phân cụm với bản đồ một chiều 27
2.5.2 SOM phân cụm với bản đồ hai chiều 27
2.5.3 Xác định ranh giới các cụm 29
2.5.4 Trực quan mạng 29
2.5.5 Số lượng nhóm khi phân cụm 31
2.6 Kết luận chương 2 31
Chương 3: ỨNG DỤNG MÔ HÌNH SOM TRONG BÀI TOÁN KHẢO SÁT, ĐÁNH GIÁ, THỐNG KÊ KẾT QUẢ HỌC TẬP CỦA SINH VIÊN TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP QUẢNG NINH 32
3.1 Phát biểu bài toán 32
3.2 Khảo sát, đánh giá, thống kê quá trình học tập của sinh viên trường đại học Công nghiệp Quảng Ninh 32
3.2.1 Thu thập dữ liệu 32
3.3 Thực nghiệm sử dụng mô hình SOM để khảo sát, đánh giá, thống kê kết quả học tập của sinh viên trường đại học Công nghiệp Quảng Ninh 40
3.3.1 Các chức năng của chương trình 40
3.3.2 Phân tích dữ liệu 41
3.3.3 Giao diện chương trình 46
3.3.4 Kết quả và phân tích kết quả sau khi huấn luyện mô hình mạng kohonen 47
3.4 Kết luận chương 3 56
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 57
Trang 9DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT
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ướiDBSCAN (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
DANH MỤC CÁC BẢNG
Trang 10Bảng 3.1 Bảng xếp loại điểm 38
Bảng 3.2 Dữ liệu thống kê phân cụm, môn học 42
Bảng 3.3 Dữ liệu thống kê phân cụm, môn học 43
Bảng 3.4 Dữ liệu thống kê phân cụm của sinh viên theo điểm thi 44
Bảng 3.5 Dữ liệu thống kê phân cụm của sinh viên theo điểm thi 45
Bảng 3.6 Kết quả các cụm môn sau khi huấn luyện mạng Kohonen 48
Bảng 3.7 Kết quả các cụm Sinh viên sau khi huấn luyện mạng Kohonen 55
Trang 11DANH MỤC CÁC HÌNH
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 4
Hình 1.4: Đồ thị các dạng hàm truyền 6
Hình 1.5: Mạng nơron ba lớp 7
Hình 1.6: Một số dạng mạng nơron 8
Hình 1.7: Cấu trúc huấn luyện mạng nơron 8
Hình 1.8: Học có giám sát 9
Hình 1.9: Học không có giám sát 10
Hình 1.10: Sơ đồ cấu trúc chung của quá trình học 10
Hình 2.1 Các thiết lập để xác định ranh giới các cụm ban đầu 14
Hình 2.2 Tính toán trọng tâm của các cụm mới 15
Hình 2.4 Một dạng mạng nơron Kohonen 20
Hình 2.5 Phần tử nơron chiến thắng BMU 21
Hình 2.6 Các vùng lân cận 21
Hình 2.7: Hàm tỉ lệ học theo thời gian 25
Hình 3.1 Kết quả chạy chương trình huấn luyện SOM 46
Hình 3.2 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 47
Hình 3.3 Kết quả phân cụm điểm sử dung phương pháp trực quan các biểu đồ thành phần 50
Hình 3.4 Kết quả phân cụm sinh viên theo môn học, mô đun sử dụng phương pháp trực quan U-Matrix 54
Trang 12MỞ ĐẦU
Trong cuộc sống hàng ngày con người chúng ta tiếp nhận rất nhiều thông tin.Với khối lượng thông tin khổng lồ đòi hỏi con người phải phân tích chúng và phânchia chúng thành các dạng thông tin khác nhau Cùng với sự phát triển của côngnghệ thông tin các phương pháp, thuật toán phân cụm dữ liệu ra đời giúp cho conngười có khả năng phân chia các loại thông tin khác nhau để phục vụ cho công việc
và trong cuộc sống hàng ngày
Mạng nơron SOM được giáo sư Teuvo Kohonen của trường đại học HelsinkiPhần Lan phát triển vào những năm 80 của thế kỷ 20[7] Đâ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ớimột lượng lớn dữ liệu đầu vào
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ữ trongmá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, đánh giá, thống kê, báo cáo
Chính vì lý do đó tôi chọn đề tài: "Nghiên cứu mạng Nơron và Ứng dụng trong Khảo sát, đánh giá, thống kê kết quả học tập tại Trường Đại học Công nghiệp Quảng Ninh" Luận văn tập trung vào tìm hiểu mạng SOM và sử dụng
SOM trong phân cụm dữ liệu
Phương pháp nghiên cứu chính là tìm hiểu các tài liệu bài báo viết về mạngSOM và huấn luyện mạng SOM phân cụm điểm các môn học và phân cụm sinhviên của Trường Đại học Công nghiệp Quảng Ninh từ đó đưa ra những nhận xét,đánh giá, tư vấn cho phòng đào tạo và học sinh đăng kí học theo từng môn, từng kỳhọc phù hợp với mình
Nội dung luận văn gồm có 3 chương:
Chương I: Giới thiệu về mạng nơron sinh học bao gồm cấu trúc của mạng
nơron sinh học và nguyên lý hoạt động của nơron sinh học Về nơron nhân tạo giới thiệu cấu trúc của một nơron nhân tạo, mô hình của mạng nơron nhân tạo
Trang 13Chương II: Giới thiệu về một số phương pháp phân cụm và một số thuật
toán phân cụm phổ biến, ưu nhược điểm của từng thuật toán phân cụm Trongchương này trình bày về mạng SOM: giới thiệu về mạng SOM, cấu trúc của SOM,các phương pháp khởi tạo, huấn luyện SOM, tỉ lệ học, các hàm lân cận, phươngpháp xác định nơron chiến thắng và sử dụng SOM trong phân cụm dữ liệu
Chương III: Trình bày về sử dụng công cụm SOM phân cụm điểm từng môn
học và từng sinh viên để đưa ra những nhận xét, đánh giá về các môn học từ cơ sở
dữ liệu đó để có các biện pháp phù hợp, nâng cao chất lượng giáo dục đào tạo
Trang 14Chương 1 GIỚI THIỆU VỀ MẠNG NƠRON
1.1 Giới thiệu về mạng nơron nhân tạo
1.1.1 Cấu trúc và mô hình mạng nơron
1.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: 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.
Một cách tổng quát, một nơron sinh học nhận đầu vào từ các nguồn khácnhau, 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 thành phần của một nơronsinh học
Trang 15Hình 1.1: Một nơron sinh học
Một nơron sinh học chỉ có một số chức năng cơ bản như vậy nên 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
Sơ đồ liên kết và trao đổi thông tin giữa hai nơron như hình sau:
Hình 1.2: Sự liên kết các nơron
1.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 nhân tạo được đề xuất bởi McCulloch vàPitts 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:
Trang 16Hì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ệuvào thứ j cho nơron i thường được ký hiệu là wij
- 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ớitrọng số liên kết của nó
-Ngưỡng: Ngưỡng 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 truyền 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ôngthườ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]
-Đầ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 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: y i f(net i i) và n j
j ij
net
1 Trong đó: x1, x2, …xm là các tín hiệu đầu vào; 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ínhiệ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
Trang 170 1
x khi
x khi y
0 1
) sgn(
x khi
x khi x
1 0
1 1
) sgn(
x khi
x khi
x
x khi x
1 1
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ủahàm truyền)
Mạng nơron là một hệ truyền đạt và xử lý tín hiệu, đặc tính truyền đạt củanơron phần lớn là đặc tính truyền đạt tĩnh nên có thể phân biệt các loại nơron khác
Trang 18nhau Các nơron có đầu vào nhận thông tin từ môi trường bên ngoài khác với cácnơron có đầu vào được nối với các nơron khác trong mạng, chúng được phân biệtvới nhau qua vector hàm trọng số ở đầu vào w.
Nguyên lý cấu tạo của mạng nơron bao gồm nhiều lớp, mỗi lớp bao gồmnhiều nơron có cùng chức năng trong mạng Hình 1.5 là mô hình hoạt động của mộtmạng nơron 3 lớp với 8 phần tử nơron Các tín hiệu đầu vào được đưa đến 3 nơronđầu vào x1, x2, x3; 3 nơron này làm thành lớp đầu vào của mạng Đầu ra của cácnơron này được đưa đến đầu vào của 3 nơron tiếp theo, 3 nơron này không trực tiếptiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn hay còn gọi là lớp trunggian Đầu ra của các nơron này được đưa đến 2 nơron đưa tín hiệu ra môi trườngbên ngoài y1, y2
Hình 1.5: Mạng nơron ba lớp
Mạng nơron có cấu trúc như trên gọi là mạng một hướng hay mạng truyềnthẳng một hướng (Feed forward network) và có cấu trúc mạng ghép nối hoàn toàn.Mạng nơron bao gồm một hay nhiều lớp trung gian được gọi là mạng MultilayerPerceptrons (MLP-Network)
Mạng nơron khi mới được hình thành thì chưa có tri thức, tri thức của mạng
sẽ được hình thành dần dần sau một quá trình học Khi đã hình thành tri thức, mạng
có thể giải quyết các vấn đề một cách đúng đắn
Nhiệm vụ tổng quát của một mạng nơron là lưu giữ động các thông tin Dạngthông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứngđầu ra tương ứng để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả
Trang 19năng suy diễn và đưa ra một đáp ứng phù hợp Đây chính là chức năng nhận dạngtheo mẫu của mạng nơron
(a) Mạng truyền thẳng một lớp (b) Mạng hồi tiếp một lớp
Trang 20Hình 1.7: Cấu trúc huấn luyện mạng nơron
Ở đâ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ặpvào/đích (input/taget) được dùng để giám sát cho sự huấn luyện mạng
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 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 Sự thay đổi các hàmtrọ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ộtgiá trị đặt trước hoặc đã chạy đủ 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
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ềunà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áphọ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
Là quá trình học có tín hiệu chỉ đạo bên ngoài d Tại mỗi thời điểm khi đầuvào được cung cấp tới mạng nơron thì phản ứng đầu ra mong muốn d tương ứngcủa hệ thống được đưa ra
Trang 21Hình 1.8: Học có giám sát
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ệuchỉnh các trọng số của mạng để đầu ra thực sẽ tiến sát với đầu ra mong muốn
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àykhô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ốthay 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ậnmột số tín hiệu từ bên ngoài nhưng tín hiệu phản hồi ở đây chỉ mang tính chất đánhgiá hơn là mang tính chất chỉ dẫn 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 đánhgiá, 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.10 mô tả cấu trúc chung 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 xj (j = 1,2, ,m) có thể được lấy từ đầu ra của các
Trang 22nơ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 đượcthay đổi tùy theo tín hiệu ở đầu vào mà nó thu nhận giá trị đầu ra của nó.
Hình 1.10: Sơ đồ cấu trúc chung của quá trình học
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ủavector wi là w i tỉ lệ với tín hiệu học r và tín hiệu đầu vào x(t)
i w
r w x d f
Vector trọng số wi = [wi1, wi2, , wim]T có số gia tỷ lệ với tín hiệu vào x và tínhiệu học r Vector trọng số ở thời điểm (t+1) được tính như sau:
wi(t+1) = wi(t) + fr(wi(t),x(t),d(t)).x(t) (1.8)Phương trình liên quan đến sự biến đổi trọng số trong mạng nơron rời rạc,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:
) ( r x t dt
dw i
(1.9)Vấn đề quan trọng trong việc phân biệt luật học là cập nhật trọng số có giámsát hay không có giám sát hoặc học củng cố là tín hiệu học r
Trang 231.2 Kết luận chương 1
Chương 1 của luận văn giới thiệu về mạng nơron sinh học bao gồm cấu trúc củamạng nơron sinh học và nguyên lý hoạt động của nơron sinh học Về nơron nhân tạogiới thiệu cấu trúc của một nơron nhân tạo, mô hình của mạng nơron nhân tạo
Quy tắc học của mạng nơron, trình bày 3 luật học cơ bản của mạng nơron baogồm: học có giám sát, học củng cố và học không giám sát
Trang 24Chương 2 MẠNG SOM VÀ MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM
2.1 Thuật toán phân cụm dữ liệu
PCDL là kỹ thuật sử dụng quan sát đối tượng, mục đích để tổ chức một tậpcá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âncụm thường được thực hiện khi chúng ta không biết được nội dung thông tin củacá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ệcphâ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ươngphá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ậphợ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ạikhá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ệntốt trong tất cả các trường hợp tình huống tuy nhiên vẫn chưa đạt được kết quả nhưmong muốn Nhiều thuật toán phân nhóm đã được đề xuất Mỗi thuật toán có giá trịriêng và điểm yếu riêng và không thể làm việc cho tất cả các tình huống thực tế.Phân cụm là quá trình phân vùng dữ liệu được thiết lập thành các nhóm dựa trênnhữ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ánnhã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 [6]:
- 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ínhkhá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 đacá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.
Trang 252.2 Một số thuật toán cơ bản trong phân cụm dữ liệu
2.2.1 Thuật toán phân cụm phân cấp
Thuật toán phân cụm phân cấp gồm có 2 loại: Thuật toán phân cụm theo thứ bậctrên xuống (Agglomerative Hierarchical) Thuật toán phân cụm theo thứ bậc từ dướilên (Divisive Hierarchical) Hai thuật toán này trình tự làm việc ngược nhau Thuậttoán phân cụm phân cấp, thuật toán này hoạt động bằng cách nhóm dữ liệu từng cặpmột trên cơ sở các biện pháp khoảng cách gần nhất của khoảng cách giữa các điểm dữliệu tất cả các cặp Một lần nữa khoảng cách giữa các điểm dữ liệu được tính toán lại.Khi các nhóm đã được hình thành cần xem xét lại khoảng cách giữa các điểm dữ liệu.Một số phương pháp xem xét khoảng cách giữa các điểm dữ liệu:
- Khoảng cách gần nhất hoặc liên kết đơn nhất
- Khoảng cách xa nhất hoặc liên kết đầy đủ
- Khoảng cách trung bình hoặc liên kết trung bình
- Tổng bình phương Euclide là nhỏ nhất
Thuật toán phân cụm phân cấp:
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 đượcthà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 địnhnghĩ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
Ưu điểm của thuật toán phân cụm phân cấp
- Không có thông tin về các cụm được yêu cầu
Trang 26- Dễ dàng thực hiện và cho kết quả tốt nhất trong một số trường hợp.
Nhược điểm của thuật toán phân cụm phân cấp
Thuật toán không thể quay lại những gì đã thực hiện trước đó Độ phức tạpcủa thuật toán O(n2log n) với n là số điểm dữ liệu Không có hàm mục tiêu đượcgiảm thiểu ngay lập tức Khó xác định số lượng các cụm chính xác bởi sơ đồ nhánh
Phân cụm phân cấp bao gồm một số thuật toán như: Thuật toán CURE;Thuật toán BIRCH; Thuật toán AGNES; Thuật toán DIANA; Thuật toán ROCK;Thuật toán CHANMELEON
2.2.2 Thuật toán phân cụm phân hoạch (Thuật toán K-means)
Thuật toán K-mean là một trong các thuật toán học không giám sát để thựchiện phân cụm dữ liệu Thủ tục đơn giản và dễ dàng để phân loại dữ liệu được thiếtlập thông qua số lượng nhất định các cụm (giả sử k cụm)
Hình 2.1 Các thiết lập để xác định ranh giới các cụm ban đầu
Xác định trung tâm của mỗi cụm Trung tâm của mỗi cụm phải được đặt ởnhững vị trí chính xác vì đặt ở những vị trí khác nhau sẽ đưa ra kết quả khác nhau
Vị trí đặt các trung tâm ở những vị trí càng xa nhau càng tốt Bước tiếp theo là lấymỗi điểm thuộc một tập hợp dữ liệu đưa ra và liên kết đến trung tâm gần nhất Khikhông có điểm chờ xử lý bước đầu tiên được hoàn thành và một nhóm đầu tiênđược thực hiện Tại thời điểm này chúng ta cần phải tính toán lại trọng tâm k mớinhư là trọng tâm của các cụm kết quả từ bước trước Sau khi có những trọng tâm kmột ràng buộc mới có thể được thực hiện giữa tập hợp điểm dữ liệu và trung tâmmới gần nhất Tạo ra một vòng lặp kết quả của vòng lặp này có thể nhận thấy rằngcác trung tâm k thay đổi vị trí của chúng cho đến khi các trung tâm không có bất kì
Trang 27i 2 C
: là khoảng cách Euclide
Ci: Số điểm dữ liệu trong cụm thứ i
C: Số lượng các trung tâm cụm
Hình 2.2 Tính toán trọng tâm của các cụm mới
Các bước thực hiện thuật toán K-mean
Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu, V={v1,v2,v3…vn} là tập cáctrung tâm
Bước 1: Chọn ngẫu nhiên trung tâm cụm c.
Bước 2: Tính khoảng cách giữa các điểm với trung tâm cụm.
Bước 3: Gán các điểm dữ liệu đến trung tâm cụm có khoảng cách tối thiểu của tất
cả các trung tâm cụm
Bước 4: Tính toán lại các trung tâm cụm mới bằng công thức:
(2.2)
Trong đó: ci đại diện cho số lượng các điểm dữ liệu trong cụm thứ i
Bước 5: Tính toán lại khoảng cách giữa mỗi điểm dữ liệu và các trung tâm cụm mới
thu được
Bước 6: Nếu không có điểm dữ liệu được gán lại khi dừng thì lặp lại bước 3
Trang 28Ưu điểm của thuật toán K-mean:
- Thuật toán thực hiện cho ra kết quả nhanh chóng, mạnh mẽ và dễ hiểu
- Độ phức tạp của thuật toán O(tknd) trong đó n là các đối tượng, k là các cụm,
d kích thước của từng đối tượng t là số lần lặp thông thường k,d,t<<n
- Cho kết quả tốt nhất với tập dữ liệu riêng biệt hoặc tách rời nhau
Nhược điểm của thuật toán K-mean:
- Thuật toán yêu cầu biết trước số lượng trung tâm cụm
- Nếu có nhiều hơn 2 bộ dữ liệu chồng chéo nhau thì thuật toán khó phân cụm
- Dữ liệu đại diện cho mẫu của tọa độ đề các và tọa độ cực sẽ cho kết quả khác nhau
- Lựa chọn ngẫu nhiên trung tâm các cụm có thể dẫn tới kết quả không tối ưu
- Không thể xử lý nhiễu và dữ liệu ngoại lai
- Thuật toán thất bại với tập dữ liệu phi tuyến tính
Ngoài thuật toán K-means ra, phân cụm phân hoạch còn bao gồm một số
các thuật toán khác như: Thuật toán PAM; Thuật toán CLARA; Thuật toánCLARANS
2.2.3 Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN)
Thuật toán phân cụm dựa trên mật độ đóng vai trò quan trọng trong tìm kiếmcấu trúc phi tuyến tính dựa trên mật độ Thuật toán phân cụm dựa trên không gianmật độ DBSCAN (Density-Based Spatial Clustering of Applications with Noise) làmột giải thuật phân cụm dựa trên mật độ, được phát triển bởi Ester, Kriegel, Sander
và Xu (1996) được sử dụng rộng rãi dựa trên mật độ Nó dựa trên hai khái niệm khảnăng tiếp cận mật độ và khả năng kết nối mật độ
Khả năng tiếp cận mật độ: một điểm p được gọi là mật độ truy cập từ mộtđiểm q nếu p nằm trong khoảng cách ε từ điểm q và q có đủ số điểm lân cận vớikhoảng cách trong phạm vi ε
Khả năng kết nối mật độ: một điểm p và q được cho là kết nối mật độ nếu cótồn tại một điểm r trong đó có đủ số điểm trong lân cận và cả hai điểm p và q nằmtrong khoảng cách ε Nếu q là lân cận của r, r là lân cận của s, s là lân cận của t, t làlân cận của p có nghĩa là q là lân cận của p
Trang 29Hình 2.3 Hình dạng các cụm được khám phá bởi thuật toán DBSCAN
Các bước của thuật toán phân cụm dựa trên mật độ DBSCAN:
Cho tập hợp các điểm dữ liệu X={x1,x2,x3…xn} DBSCAN yêu cầu hai thamsố: ε và số lượng tối thiểu các điểm cần thiết để tạo thành một cụm
Bước 1: Bắt đầu với một điểm tùy ý không được kiểm tra.
Bước 2: Rút ra các lân cận của điểm này bằng cách sử dụng khoảng cách ε Bước 3: Nếu có đầy đủ các điểm lân cận xung quanh điểm này thì bắt đầu
quá trình phân cụm và điểm được đánh dấu truy cập khác thời điểm này được dánnhãn như là nhiễu
Bước 4: Nếu một điểm được tìm thấy là một phần của cụm thì lân cận ε của
nó cũng là một phần của cụm và thủ tục trên từ bước 2 được lặp đi lặp lại cho tất cảcác điểm lân cận ε Điều này được lặp đi lặp lại cho đến khi tất cả các điểm trongcụm được xác định
Bước 5: Một điểm mới ghé thăm thường xuyên được lấy ra và xử lý, dẫn
đến việc phát hiện ra một cụm hoặc nhiễu
Bước 6: Quá trình này được thực hiện cho tới khi các điểm viếng thăm được
đánh dấu
Ngoài thuật toán DBSCAN ra, phân cụm dựa trên mật độ còn bao gồm 2
thuật toán khác như: Thuật toán OPTICS; Thuật toán DENCLUE
2.2.4 Thuật toán phân cụm dựa trên lưới (Thuật toán STING)
Thuật toán STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đóvùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này cónghĩa là các ô lưới được hình thành từ các ô lưới con để thực hiện phân cụm Có
Trang 30nhiều mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giảitrong cấu trúc lưới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức caođược phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phâncấp Các điểm dữ liệu được nạp từ CSDL, giá trị của các tham số thống kê cho cácthuộc tính của đối tượng dữ liệu trong mỗi ô lưới được tính toán từ dữ liệu và lưutrữ thông qua các tham số thống kê ở các ô mức thấp hơn Các giá trị của các tham
số thống kê gồm: số trung bình mean, số tối đa max, số tối thiểu min, số đếm count, độ lệch chuẩn - s,
-Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê ởtrên được tính trực tiếp thông qua các đối tượng dữ liệu này STING có khả năng
mở rộng cao, nhưng do sử dụng phương pháp đa phân giải nên nó phụ thuộc chặtchẽ vào trọng tâm của mức thấp nhất Cấu trúc dữ liệu lưới thuận tiện cho quá trình
xử lí song song và cập nhật liên tục, khi duyệt toàn bộ CSDL một lần để tính toáncác đại lượng thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thờigian để tạo các cụm xấp xỉ O(n), trong đó n là tổng số các đối tượng Sau khi xâydựng cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng
số ô lưới ở mức thấp(g << n)
Thuật toán STING gồm các bước sau:
Bước 1: Xác định tầng để bắt đầu.
Bước 2: Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ước lượng
khoảng) của xác suất mà ô này liên quan tới truy vấn
Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan
hoặc không liên quan.
Bước 4: Nếu lớp này là lớp dưới cùng, chuyển sang bước 6, nếu khác thì
chuyển sang Bước 5
Bước 5: Duyệt xuống dưới của cấu trúc cây phân cấp một mức Chuyển sang
bước 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn
Bước 6: Nếu đặc tả được câu truy vấn, chuyển sang bước 8, nếu không thì
chuyển sang bước 7
Trang 311 2
Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lí Trả lại
kết quả phù hợp yêu cầu của truy vấn Chuyển sang bước 9
Bước 8: Tìm thấy các miền có các ô liên quan Trả lại miền mà phù hợp với
yêu cầu của truy vấn Chuyển sang bước 9
Bước 9: Dừng.
Ngoài thuật toán STING ra, phân cụm dựa trên lưới còn có thêm một thuật
toán khác là: Thuật toán CLIQUE
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)
Thuật toán EM gán các đối tượng cho các cụm đã cho theo xác suất phânphối thành phần của đối tượng đó Phân phối xác suất thường được sử dụng là phânphối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham sốcủa nó bằng hàm tiêu chuẩn là hàm logarit khả năng của đối tượng dữ liệu, đây làhàm tốt để mô hình xác suất cho các đối tượng dữ liệu EM có thể khám phá ranhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khánhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán khá cao.Thuật toán được chia thành hai bước và quá trình đó được lặp lại cho đến khi vấn
đề được giải quyết: các bước thực hiện của thuật toán EM
Các bước thực hiện của thuật toán EM
Bước 1: Khởi tạo tham số
Bước 2:
Bước 3:
Lặp lại bước 2 và 3 cho đến khi đạt được kết quả
Ngoài thuật toán EM ra, phân cụm dựa trên mô hình còn có thêm một
thuật toán khác là: Thuật toán COBWEB
Trang 322.3 Thuật toán phân cụm bằng mạng Kohonen
2.3.1 Mạng Kohonen là gì?
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 phát minh bởi giáo sư Teuvo Kohonen, nógiúp giảm số chiều (kích thước) của dữ liệu, qua đó giúp cho chúng ta hiểu được dữliệu với kích thước lớn đó
Điểm nổi bật của thuật toán SOM là nó sẽ chuyển các dạng quan hệ phức tạp,thống kê rời rạc giữa các đối tượng dữ liệu đa chiều (n chiều) về các quan hệ hìnhhọc trực quan đơn giản với số chiều được rút gọn đi nhiều lần - thường là một hoặchai chiều Về bản chất giải thuật được biết đến như là kỹ thuật nén dữ liệu dựa trênvéc tơ trọng số
2.3.2 Cấu trúc mô hình mạng Kohonen
Mạng Kohonen hai chiều gồm có 2 lớp đó là lớp vào và lớp ra Kohonen Lớpvào (Input layer): dùng để đưa dữ liệu huấn luyện vào mạng Kohonen Kích thướccủ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 haichiều, các nơron của lớp ra được sắp xếp trên một mảng 2 chiều, mảng này đượcgọi là lớp ra Kohonen Tất cả các nơron của lớp vào đều được nối với các nơrontrê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 véctơ trọng số bằng kích thước của lớpvào Ta có thể hình dung cấu trúc mạng Kohonen theo hình sau:
Hình 2.4 Một dạng mạng nơron Kohonen
Trang 332 0
n
i i i
D t V
2.3.3 Thuật toán phân cụm bằng mạng Kohonen
Xét một tập dữ liệu là các véc tơ trong không gian n chiều
V = [V1, V2, ,Vn]Khởi tạo tham số thời gian t: t = 0
Bước 1: Khởi tạo vector trọng số Wij cho mỗi nơron 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ử nơron chiến thắng:
Hình 2.5 Phần tử nơron chiến thắng BMU
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
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ác nơron lân cận tùy thuộc vào bán kính, được sắp xếp trong lưới theo hìnhchữ nhật hoặc hình lục giác Số các lân cận xác định trọng tâm của ma trận kết quả,
có ảnh hưởng đến độ chính xác và khả năng sinh ma trận của SOM
Hình 2.6 Các vùng lân cận
Trang 34is ( ) exp ( 1, 2,3 )
- Phép co sẽ được thực hiện theo hàm mũ nội suy sau:
σ: 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 t0
λ: 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: 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ậncủ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ử trongmạ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:
(2.6)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ớiquá trình học và được tính theo công thức sau:
(2.7)dist : là khoảng cách từ một nơron đến nơron 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)
Trang 35- 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:
(2.8)
L0: Giá trị khởi tạo ban đầu của tốc độ học; λ: hằng số thời gian
- 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 suycủ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
Chú ý: Số lượng vector của tập huấn luyện là có giới hạn Để cho việc huấn
luyện mang lại kết quả tốt nhất đòi hỏi số bước huấn luyện phải lớn và nếu kíchthước của tập huấn luyện là nhỏ thì những mẫu huấn luyện có thể được sử dụng lặplại, những mẫu có thể được áp dụng đều đặn theo chu kỳ hoặc theo một trật tự hoán
vị ngẫu nhiên
2.4 Một số vấn đề phân cụm bằng mạng Kohonen
2.4.1 Khởi tạo mạng Kohonen (SOM)
Trong thuật toán SOM cơ sở mối quan hệ giữa các topo và số nơron được bố tríngay từ đầu Số lượng các nơron thường được lựa chọn là lớn nhất với kích thước lâncận điều chỉnh độ mịn và tính khái quát của bản đồ Bản đồ không bị ảnh hưởng nhiềukhi số lượng nơron vượt quá số lượng vector đầu vào nếu kích thước lân cận được lựachọn thích hợp Khi kích thước của bản đồ tăng số lượng nơron các giai đoạn huấnluyện trở nên nặng nề và khó khăn Trước khi huấn luyện phải khởi tạo giá trị ban đầucho vector trọng số Có ba phương pháp khởi tạo được sử dụng [10]: khởi tạo ngẫunhiên, khởi tạo sử dụng hàm mẫu ban đầu, khởi tạo tuyến tính
- Khởi tạo ngẫu nhiên: các giá trị ngẫu nhiên được gán cho vector bảng mãđây là trường hợp được sử dụng khi dữ liệu đầu vào tại thời gian khởi tạo không có
gì hoặc ít được biết đến