ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TRƯƠNG ĐỨC CƯỜNG
PHÂN CỤM DỮ LIỆU SỬ DỤNG
GIẢI THUẬT DI TRUYỀN VÀ MẠNG NƠ RON
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
TRƯƠNG ĐỨC CƯỜNG
PHÂN CỤM DỮ LIỆU SỬ DỤNG
GIẢI THUẬT DI TRUYỀN VÀ MẠNG NƠ RON
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
TS. Vũ Mạnh Xuân
Thái Nguyên - 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
i
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc tới TS. Vũ Mạnh Xuân, thầy đã
hướng dẫn, chỉ dạy tận tình để em hoàn thành luận văn này. Em xin chân
thành cảm ơn các thầy, cô giáo Trường Đại học Công nghệ Thông tin &
Truyền thông - Đại học Thái Nguyên, cùng các thầy, cô giáo Viện Công nghệ
Thông tin - Viện Khoa học và Công nghệ Việt Nam đã truyền thụ kiến thức
cho em trong suốt quá trình học tập vừa qua.
Tôi cũng xin cảm ơn cơ quan, bạn bè đồng nghiệp, gia đình và những
người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để
tôi có thể học tập và hoàn thành bản luận văn này.
Tuy đã có những cố gắng nhất định nhưng do thời gian và trình độ có
hạn nên chắc chắn luận văn còn nhiều thiếu sót và hạn chế nhất định. Rất
mong nhận được sự góp ý của thầy cô và các bạn.
Thái Nguyên, ngày 27 tháng 06 năm 2012
Học viên
Trƣơng Đức Cƣờng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm nghiên
cứu, tìm hiểu của riêng cá nhân tôi. Trong toàn bộ nội dung của luận văn,
những điều được trình bày hoặc là của cá nhân tôi hoặc là được tổng hợp từ
nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và
được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Thái Nguyên, ngày 27 tháng 06 năm 2012
Học viên
Trƣơng Đức Cƣờng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
MỤC LỤC
MỤC LỤC iii
DANH SÁCH HÌNH VẼ v
DANH SÁCH BẢNG BIỂU vi
DANH SÁCH TỪ VIẾT TẮT vii
MỞ ĐẦU 1
CHƢƠNG I: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 3
1.1. Khái niệm và mục đích của phân cụm dữ liệu 3
1.2. Ứng dụng của phân cụm dữ liệu 4
1.3. Một số phương pháp phân cụm dữ liệu 5
1.3.1. Phân cụm phân hoạch 5
1.3.2. Phân cụm phân cấp 7
1.3.3. Phân cụm dựa trên mật độ 9
1.3.4. Phân cụm dựa trên lưới 11
1.3.5. Phân cụm dữ liệu dựa trên mô hình 13
1.3.6. Phân cụm dữ liệu mờ 14
CHƢƠNG II: PHÂN CỤM DỮ LIỆU SỬ DỤNG GIẢI THUẬT DI
TRUYỀN VÀ MẠNG NƠ RON 16
2.1. Giải thuật di truyền 16
2.1.1. Sơ đồ thực hiện giải thuật di truyền 17
2.1.2. Các quá trình chính trong giải thuật di truyền 19
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv
2.1.2.1. Biểu diễn các cá thể 19
2.1.2.2. Hàm mục tiêu (Fitness) 21
2.1.2.3. Toán tử tái tạo (Reproduction) 21
2.1.2.4. Toán tử lai ghép (Crossover) 24
2.1.2.5. Toán tử đột biến (Mutation) 26
2.1.2.6. Các thông số cơ bản của giải thuật di truyền 27
2.1.3. Ưu và nhược điểm của giải thuật di truyền 28
2.2. Mạng nơ ron 30
2.2.1. Định nghĩa 30
2.2.2. Nơ ron sinh học và mạng nơ ron sinh học 31
2.2.3. Cấu trúc mạng nơ ron 32
2.2.4. Phân loại mạng nơ ron 33
2.3. Mối quan hệ giữa giải thuật di truyền và mạng nơ ron trong phân cụm
dữ liệu 35
2.3.1. Một số phương thức kết hợp giữa GA và mạng nơ ron 36
2.3.2. Một số ví dụ về việc kết hợp giữa GA và mạng nơ ron 38
CHƢƠNG III: BÀI TOÁN ỨNG DỤNG 42
3.1. Phát biểu bài toán 42
3.2. Thuật toán 42
3.3. Kết quả thử nghiệm 48
3.4. Nhận xét 49
KẾT LUẬN 54
TÀI LIỆU THAM KHẢO 55
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
v
DANH SÁCH HÌNH VẼ
Hình 1.1. Quy trình phân cụm 3
Hình 1.2. Mô phỏng sự phân cụm dữ liệu 4
Hình 1.3. Các chiến lược phân cụm phân cấp 8
Hình 1.4. Một số hình dạng khám phá bởi phân cụm dựa trên mật độ 10
Hình 1.5. Mô hình cấu trúc dữ liệu lưới 12
Hình 2.1. Lưu đồ giải thuật di truyền 18
Hình 2.2. Bánh xe trọng số 23
Hình 2.3. Lai ghép một điểm 25
Hình 2.4. Lai ghép trong biểu diễn bằng giá trị 26
Hình 2.5. Cấu tạo của nơ ron 31
Hình 2.6. Thu nhận tín hiệu trong nơ ron 31
Hình 2.7. Mạng nơ ron truyền thẳng nhiều lớp 34
Hình 2.8. Mạng hồi quy (Recurrent Neural Network) 34
Hình 2.9. Mô đun ghép cặp Di truyền – Nơ ron trong một hệ thống ứng dụng
38
Hình 2.10. Sơ đồ của hệ thống XROUTE (Kadaba, Nygard và Juell 1991) 38
Hình 3.1. Dữ liệu đầu ra 42
Hình 3.2. Dữ liệu đầu vào sau khi mã hóa 43
Hình 3.3. Quá trình lai ghép 43
Hình 3.4. Tập điểm dữ liệu vào 48
Hình 3.5. Giao diện chương trình 49
Hình 3.6. Kết quả phân cụm với string count = 100 50
Hình 3.7. Kết quả phân cụm với string count = 1 50
Hình 3.8. Kết quả phân cụm bộ dữ liệu giao nhau với stringcount = 1 51
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vi
DANH SÁCH BẢNG BIỂU
Bảng 2.1. Bảng thể hiện tổng giá trị hàm mục tiêu 22
Bảng 2.2. Chuỗi nhiễm sắc thể 23
Bảng 2.3. Lai ghép mặt nạ 25
Bảng 2.4. So sánh K-mean và Giải thuật di truyền 29
Bảng 2.5. Một số phương thức liên GA với mạng nơ ron 37
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
vii
DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt
Ý nghĩa
KPDL
Khai phá dữ liệu
PCDL
Phân cụm dữ liệu
CSDL
Cơ sở dữ liệu
GA
Giải thuật di truyền
NST
Nhiễm sắc thể
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông
tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ
thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt. Bên
cạnh đó việc tin học hóa một cách ồ ạt và nhanh chóng các hoạt động sản
xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo cho chúng ta
một hệ thống cơ sở dữ liệu khổng lồ. Hệ thống này đã đem lại những lợi ích
vô cùng to lớn cho con người trong việc lưu trữ, tìm kiếm và thống kê. Tuy
vậy, sự bùng nổ này đã dẫn tới một nhu cầu mới là phát hiện tri thức từ kho
dữ liệu khổng lồ đó. Đây là một vấn đề rất phức tạp, cần phải có những công
cụ và kỹ thuật xử lý linh hoạt như suy nghĩ của con người.
Trong ngành khoa học máy tính, tìm kiếm lời giải tối ưu cho các bài
toán là vấn đề được các nhà khoa học máy tính đặc biệt rất quan tâm. Mục
đích chính của các thuật toán là tìm kiếm thuật giải chất lượng cao và sử
dụng kỹ thuật trí tuệ nhân tạo đặc biệt rất cần thiết khi giải quyết các bài toán
có không gian tìm kiếm lớn.
Giải thuật di truyền (Genetic Algorithm - GA) là một trong những kỹ
thuật tìm kiếm lời giải tối ưu đã đáp ứng được yêu cầu của nhiều bài toán và
ứng dụng. Hiện nay, thuật toán di truyền cùng với mạng nơ ron được ứng
dụng rất rộng rãi trong các lĩnh vực phức tạp. Thuật toán di truyền kết hợp
với mạng nơ ron chứng tỏ được hiệu quả của nó trong các vấn đề khó có thể
giải quyết bằng các phương pháp thông thường hay các phương pháp cổ
điển, nhất là trong các bài toán cần có sự lượng giá, đánh giá sự tối ưu của
kết quả thu được.
Chính vì vậy, trong phạm vi đề tài này, tôi chọn hướng kết hợp giữa
mạng nơ ron và giải thuật di truyền áp dụng vào bài toán phân cụm dữ liệu,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
đặc biệt với các bài toán có tập dữ liệu đầu vào lớn mà nếu áp dụng phương
pháp truyền thống sẽ gặp nhiều khó khăn.
Bố cục của đề tài gồm 3 phần chính:
Chƣơng 1: Tổng quan về phân cụm dữ liệu
1.1. Khái niệm và mục đích của phân cụm dữ liệu
1.2. Ứng dụng của phân cụm dữ liệu
1.3. Nhận xét
1.4. Một số phương pháp phân cụm dữ liệu
Chƣơng 2: Phân cụm dữ liệu sử dụng giải thuật di truyền và mạng nơ ron
2.1. Giải thuật di truyền
2.2. Mạng nơ ron
2.3. Mối quan hệ giữa giải thuật di truyền và mạng nơ ron trong phân
cụm dữ liệu
Chƣơng 3: Bài toán ứng dụng
3.1. Phát biểu bài toán
3.2. Thuật toán
3.3. Kết quả thử nghiệm
3.4. Nhận xét
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
CHƢƠNG I: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
Ngày nay, khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền
công nghệ thông tin thế giới nói chung và Việt Nam nói riêng. Khai phá dữ
liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh
và đời sống.
Phân cụm dữ liệu là một kỹ thuật trong khai phá dữ liệu với mục đích
chính là khám phá cấu trúc của mẫu dữ liệu để thành lập các nhóm dữ liệu
từ tập dữ liệu lớn, cho phép con người đi sâu vào phân tích và nghiên cứu
cho từng cụm dữ liệu nhằm khám phá và tìm kiếm các thông tin tiềm ẩn,
hữu ích phục vụ cho việc ra quyết định.
Trong chương 1 sẽ trình bày về khái niệm, ứng dụng, đưa ra nhận xét và
một số phương pháp để phân cụm dữ liệu.
1.1. Khái niệm và mục đích của phân cụm dữ liệu
Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng thực thể hay
trừu tượng thành lớp các đối tượng tương tự. Một cụm là một tập hợp các
đối tượng dữ liệu mà các phần tử của nó tương tự nhau và phi tương tự
với các đối tượng trong các cụm khác. Một cụm các đối tượng dữ liệu có
thể xem như là một nhóm trong nhiều ứng dụng.
Hình 1.1. Quy trình phân cụm
Số các cụm dữ liệu có thể được xác định trước theo kinh nghiệm hoặc có
thể được tự động xác định theo thuật toán.
Thuật toán
K cụm
Phân cụm
N đối tượng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4
Độ tương tự được xác định dựa trên giá trị các thuộc tính mô tả đối
tượng. Thông thường, phép đo khoảng cách thường được sử dụng để đánh giá
độ tương tự hay phi tương tự. Vấn đề phân cụm có thể minh hoạ như hình
sau:
Hình 1.2. Mô phỏng sự phân cụm dữ liệu
Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu
chưa có nhãn. Theo các nghiên cứu thì hiện nay chưa có một phương pháp
phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc
cụm dữ liệu. Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn
cấu trúc của các cụm dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có
tương ứng một thuật toán phân cụm phù hợp. Vì vậy phân cụm dữ liệu vẫn
đang là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một
cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối
với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây
cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu.
1.2. Ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu là một trong những công cụ chính của khai phá dữ liệu
được ứng dụng trong nhiều lĩnh vực như thương mại và khoa học. Các kỹ
thuật phân cụm dữ liệu đã được áp dụng cho một số ứng dụng điển hình trong
các lĩnh vực sau:
- Thương mại: phân cụm dữ liệu có thể giúp các thương nhân tìm ra các
nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ
từ các mẫu mua bán trong CSDL khách hàng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
- Sinh học: phân cụm dữ liệu được sử dụng để xác định các loại sinh vật,
phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong
các mẫu.
- Phân tích dữ liệu không gian: do sự đồ sộ của dữ liệu không gian như dữ
liệu thu được từ các hình ảnh chụp từ vệ tinh, các thiết bị y học hoặc hệ thống
thông tin địa lý (GIS),… làm cho người dùng rất khó để kiểm tra các dữ liệu
không gian một cách chi tiết. Phân cụm dữ liệu có thể trợ giúp người dùng tự
động phân tích và xử lý các dữ liệu không gian như nhận dạng và chiết xuất
các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong CSDL không
gian.
- Lập 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 các vùng nguy hiểm.
- Địa lý: phân lớp các động vật, thực vật và đưa ra đặc trưng của chúng.
- Khai phá Web: phân cụm dữ liệu có thể khám phá các nhóm tài liệu
quan trọng, có nhiều ý nghĩa trong môi trường Web. Các lớp tài liệu này trợ
giúp cho việc khám phá tri thức từ dữ liệu Web, khám phá ra các mẫu truy
cập của khách hàng đặc biệt hay khám phá ra cộng đồng Web,…
1.3. Một số phƣơng pháp phân cụm dữ liệu
1.3.1. Phân cụm phân hoạch
Ý tưởng chính của kỹ thuật này là phân một tập dữ liệu có n phần tử cho
trước thành k nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ thuộc về một
nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu.
Các thuật toán phân hoạch có độ phức tạp rất lớn khi xác định nghiệm tối ưu
toàn cục cho vấn đề PCDL, vì nó phải tìm kiếm tất cả các cách phân
hoạch có thể được.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ
cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất
lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân
hoạch dữ liệu.
Với chiến lược này, thông thường người ta bắt đầu khởi tạo một phân
hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic và
liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch mong muốn,
thỏa mãn các điều kiện ràng buộc cho trước.
Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục
bộ là sử dụng chiến lược ăn tham để tìm kiếm nghiệm.
Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề
xuất đầu tiên trong lĩnh vực khai phá dữ liệu (KPDL) cũng là các thuật toán
được áp dụng nhiều trong thực tế như K-mean, PAM, CLARA, CLARANS.
Sau đây là một thuật toán kinh điển được kế thừa sử dụng rộng rãi:
* Thuật toán K-mean
Thuật toán phân cụm K-mean do MacQueen đề xuất trong lĩnh vực
thống kê năm 1967. Tư tưởng chính của thuật toán là tìm cách phân nhóm
các đối tượng (objects) đã cho vào k cụm (k là số các cụm được xác định
trước, k nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối
tượng đến tâm nhóm (centroid) là nhỏ nhất. Trọng tâm của một cụm là một
vector, trong đó giá trị của mỗi phần tử của nó là trung bình cộng các thành
phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét.
Thuật toán K-mean được chứng minh là hội tụ và có độ phức tạp tính
toán là:
)**)**((
flop
TdknO
. Trong đó:
- n là số đối tượng dữ liệu
- k là số cụm dữ liệu
- d là số chiều
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
- τ là số vòng lặp
- T
flop
là thời gian để thực hiện một phép tính cơ sở như phép tính
nhân, chia,…
Như vậy, do K-mean phân tích phân cụm đơn giản nên có thể áp dụng
đối với tập dữ liệu lớn. Tuy nhiên, nhược điểm của K-mean là chỉ áp dụng
với dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu, K-
mean còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu.
Hơn nữa, chất lượng PCDL của thuật toán K-mean phụ thuộc nhiều
vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu.
Trong trường hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các
trọng tâm cụm tự nhiên thì kết quả phân cụm của K-mean là rất thấp, nghĩa là
các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế.
Trên thực tế người ta chưa có một giải pháp tối ưu nào để chọn các tham
số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị
đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất.
Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán K-
mean áp dụng trong KPDL để giải quyết tập dữ liệu có kích thước rất lớn
đang được áp dụng rất hiệu quả và phổ biến như thuật toán K-medoid,
PAM, CLARA, CLARANS, K-prototype,
1.3.2. Phân cụm phân cấp
Phân cụm phân cấp sắp xếp một tập dữ liệu đã cho thành một cấu trúc
có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy. Cây
phân cụm có thể được xây dựng theo hai phương pháp tổng quát: phương
pháp “trên xuống” (Top down) và phương pháp “dưới lên” (Bottom up).
- Phương pháp Bottom up: phương pháp này bắt đầu với mỗi đối tượng
được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các
đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
của hai nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm
được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến
khi các điều kiện kết thúc thoả mãn. Như vậy, cách tiếp cận này sử dụng
chiến lược ăn tham trong quá trình phân cụm.
- Phương pháp Top down: bắt đầu với trạng thái là tất cả các đối tượng
được xếp trong cùng một cụm. Mỗi vòng lặp thành công, một cụm được tách
thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho
đến khi mỗi đối tượng là một cụm hoặc cho đến khi điều kiện dừng thỏa
mãn. Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân
cụm.
Sau đây là minh họa chiến lược phân cụm phân cấp Bottom up và Top
down.
Hình 1.3. Các chiến lược phân cụm phân cấp
Trong thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai
phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả
thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm
phân hoạch. Phân cụm phân hoạch và phân cụm phân cấp là hai phương
pháp PCDL cổ điển, hiện nay đã có nhiều thuật toán cải tiến dựa trên hai
Bước 1
Bước 2
Bước 3
Bước 4
Bottom up
a
b
a b
a b c d e
c
d
e
c d e
d e
Top down
Bước 3
Bước 2
Bước 1
Bước 0
Bước 4
Bước 0
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
phương pháp này đã được áp dụng phổ biến trong KPDL. Một số thuật toán
phân cụm phân cấp điển hình như: CURE, BIRCH, Chemeleon, AGNES,
DIANA,
* Thuật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using
Hierarchies) do Tian Zhang, Amakrishnan và Livny đề xuất năm 1996, đây là
thuật toán phân cụm phân cấp sử dụng chiến lược Top down.
Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu
của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê. Đối với mỗi
cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n, LS, SS), với n là số đối tượng trong
cụm, LS là tổng các giá trị thuộc tính của các đối tượng trong cụm và SS là
tổng bình phương các giá trị thuộc tính của các đối tượng trong cụm.
Các bộ ba này được gọi là các đặc trưng của cụm CF = (n, LS, SS)
(Cluster Features - CF) và được lưu giữ trong một cây được gọi là cây CF.
BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùy chọn,
nghĩa là độ phức tạp của nó là O(n).
Nhược điểm của nó là chất lượng của các cụm được khám phá không được
tốt. Nếu BIRCH sử dụng khoảng cách Euclide, nó thực hiện tốt chỉ với các dữ
liệu số. Mặt khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự
nhiên của cụm. Việc ép các đối tượng dữ liệu làm cho các đối tượng của một
cụm có thể là đối tượng kết thúc của cụm khác, trong khi các đối tượng gần
nhau có thể bị hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán
theo một thứ tự khác. BIRCH không thích hợp với dữ liệu đa chiều.
1.3.3. Phân cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định. Mật
độ được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu
theo một ngưỡng nào đó.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
Trong cách tiếp cận này, khi một cụm dữ liệu đã xác định thì nó tiếp
tục được phát triển thêm các đối tượng dữ liệu mới, miễn là số các đối tượng
lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định
trước.
Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định
các cụm dữ liệu và có thể phát hiện ra các cụm dữ liệu với hình thù bất kỳ.
Tuy vậy, việc xác định các tham số mật độ của thuật toán là rất khó khăn,
trong khi các tham số này lại có tác động rất lớn đến kết quả PCDL.
Hình dưới minh họa về các cụm dữ liệu với các hình thù khác nhau
dựa trên mật độ được khám phá từ ba CSDL khác nhau:
Hình 1.4. Một số hình dạng khám phá bởi phân cụm dựa trên mật độ
Các cụm có thể được xem như các vùng có mật độ cao, được tách ra
bởi các vùng không có hoặc ít mật độ. Khái niệm mật độ ở đây được xem như
là các số các đối tượng láng giềng.
Một số thuật toán PCDL dựa trên mật độ điển hình như: DBSCAN,
OPTICS, DENCLUE, SNN,….
* Thuật toán DBSCAN
Thuật toán phân cụm dựa trên mật độ thông dụng nhất là thuật
toán DBSCAN (Density Based Spatial Clustering of Applications with
Noise) do Ester, P. Kriegel và J. Sander đề xuất năm 1996.
Thuật toán đi tìm các đối tượng mà có số đối tượng láng giềng lớn hơn
một ngưỡng tối thiểu. Một cụm được xác định bằng tập tất cả các đối tượng
liên thông mật độ với các láng giềng của nó. Thuật toán DBSCAN dựa trên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
các khái niệm mật độ có thể áp dụng cho các tập dữ liệu không gian lớn đa
chiều.
Thuật toán DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trong
khi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ
liệu nhập vào. Khi có một đối tượng được chèn vào chỉ tác động đến một láng
giềng xác định. Mặt khác, DBSCAN yêu cầu người dùng xác định bán kính
Eps của các láng giềng và số các láng giềng tối thiểu MinPts, thông thường
các tham số này được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh
nghiệm.
Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự
duyệt các đối tượng dữ liệu. Eps và MinPts là hai tham số toàn cục được
xác định bằng thủ công hoặc theo kinh nghiệm. Tham số Eps được đưa vào là
nhỏ so với kích thước của không gian dữ liệu thì độ phức tạp tính toán trung
bình của mỗi truy vấn là O(nlogn).
1.3.4. Phân cụm dựa trên lƣới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu
nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã sử dụng phương pháp
phân cụm dựa trên lưới. Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để
PCDL, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không
gian.
Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các
ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô.
Trong ngữ cảnh này, phương pháp này gần giống với phương pháp phân cụm
phân cấp nhưng chỉ có điều chúng không trộn các ô. Do vậy các cụm không
dựa trên độ đo khoảng cách (hay còn gọi là độ đo tương tự đối với các dữ liệu
không gian) mà nó được quyết định bởi một tham số xác định trước.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Tầng 1
.
.
.
.
.
.
Mức 1 (mức cao nhất )
có thể chỉ chứa một ô
Tầng i-1
Ô mức i-1 có thể tương
ứng với 4 ô của mức i
Ưu điểm của phương pháp PCDL dựa trên lưới là thời gian xử lý nhanh
và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó
là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới. Một thí
dụ về cấu trúc dữ liệu lưới chứa các ô trong không gian như hình sau:
Hình 1.5. Mô hình cấu trúc dữ liệu lưới
Một số thuật toán PCDL dựa trên cấu trúc lưới điển hình như:
STING, WaveCluster, CLIQUE,…
* Thuật toán STING
STING (STatistical INformation Grid) do Wang, Yang và Muntz đề xuất
năm 1997, nó phân rã tập dữ liệu không gian thành số hữu hạn các cell sử
dụng cấu trúc phân cấp chữ nhật. Có nhiều mức khác nhau cho các cell trong
cấu trúc lưới, các cell này hình thành lên cấu trúc phân cấp như sau: mỗi cell
ở mức cao được phân hoạch thành các cell mức thấp hơn trong cấu trúc phân
cấp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
Một truy vấn không gian được xác định như là một thông tin khôi
phục lại của dữ liệu không gian và các quan hệ của chúng. 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ặt chẽ vào trọng tâm của mức thấp nhất.
Đa phân giải là khả năng phân rã tập dữ liệu thành các mức chi tiết khác
nhau. Khi hòa nhập các cell của cấu trúc lưới để hình thành các cụm, các nút
của mức con không được hòa nhập phù hợp (do chúng chỉ tương ứng với các
cha của nó) và hình thù của các cụm dữ liệu khám phá được có các biên
ngang và dọc, theo biên của các cell. STING sử dụng cấu trúc dữ liệu lưới cho
phép khả năng xử lý song song, STING duyệt toàn bộ dữ liệu một lần nên độ
phức tạp tính toán để tính toán các đại lượng thống kê cho mỗi cell là O(n),
trong đó n là tổng số đối tượng.
Sau khi xây dựng cấu trúc dữ liệu phân cấp, thời gian xử lý cho các
truy vấn là O(g) với g là tổng số cell tại mức thấp nhất (g<<n).
1.3.5. Phân cụm dữ liệu dựa trên mô hình
Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham
số mô hình sao cho khớp với dữ liệu một cách tốt nhất. Chúng có thể sử dụng
chiến lược phân cụm phân hoạch hoặc chiến lược phân cụm phân cấp, dựa
trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách mà
chúng tinh chỉnh các mô hình này để nhận dạng ra các phân hoạch.
Phương pháp PCDL dựa trên mô hình cố gắng khớp giữa dữ liệu với mô
hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp
phân phối xác suất cơ bản. Các thuật toán phân cụm dựa trên mô hình có hai
tiếp cận chính là: Mô hình thống kê và Mạng nơ ron. Một số thuật toán điển
hình như: EM, COBWEB,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
* Thuật toán EM
Thuật toán EM (Expectation - Maximization) được nghiên cứu từ 1958
bởi Hartley và được nghiên cứu đầy đủ bởi Dempster, Laird và Rubin công
bố năm 1977.
Thuật toán này nhằm tìm ra sự ước lượng về khả năng lớn nhất của các
tham số trong mô hình xác suất (các mô hình phụ thuộc vào các biến tiềm ẩn
chưa được quan sát), nó được xem như là thuật toán dựa trên mô hình hoặc
là mở rộng của thuật toán K-mean. EM gán các đối tượng cho các cụm đã cho
theo xác suất phân phối thành phần của đối tượng đó.
EM có thể khám phá ra nhiề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 là khá cao. Đã có một số cải tiến được đề xuất
cho EM dựa trên các tính chất của dữ liệu: có thể nén, có thể sao lưu trong bộ
nhớ và có thể huỷ bỏ.
Trong các cải tiến này, các đối tượng bị huỷ bỏ khi biết chắc chắn được
nhãn phân cụm của nó, chúng được nén khi không bị loại bỏ và thuộc về một
cụm quá lớn so với bộ nhớ và sẽ được lưu lại trong các trường hợp còn lại.
1.3.6. Phân cụm dữ liệu mờ
Thông thường, mỗi phương pháp PCDL phân một tập dữ liệu ban
đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ
thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá
ra các cụm có mật độ cao và rời nhau.
Tuy nhiên, trong thực tế, các cụm dữ liệu lại có thể chồng lên nhau
(một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau), người
ta đã áp dụng lý thuyết về tập mờ trong PCDL để giải quyết cho trường hợp
này, cách thức kết hợp này được gọi là phân cụm mờ. Trong phương pháp
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
phân cụm mờ, độ phụ thuộc của đối tượng dữ liệu x
k
tới cụm thứ i (u
ik
) có
giá trị thuộc khoảng [0,1].
Ý tưởng trên đã được giới thiệu bởi Ruspini (1969) và được Dunn áp
dụng năm 1973 nhằm xây dựng một phương pháp phân cụm mờ dựa trên tối
thiểu hoá hàm tiêu chuẩn. Bezdek (1982) đã tổng quát hoá phương pháp này
và xây dựng thành thuật toán phân cụm mờ C-mean có sử dụng trọng số mũ.
C-mean là thuật toán phân cụm mờ (của K-mean). Thuật toán C-mean
mờ hay còn gọi tắt là thuật toán FCM (Fuzzy C-mean) đã được áp dụng thành
công trong giải quyết một số lớn các bài toán PCDL như trong nhận dạng
mẫu, xử lý ảnh, y học,… Tuy nhiên, nhược điểm lớn nhất của thuật toán FCM
là nhạy cảm với các nhiễu và phần tử ngoại lai, nghĩa là các trung tâm cụm có
thể nằm xa so với trung tâm thực tế của cụm.
Đã có nhiều các phương pháp đề xuất để cải tiến cho nhược điểm trên
của thuật toán FCM bao gồm: Phân cụm dựa trên xác suất (Keller, 1993),
phân cụm nhiễu mờ (Dave, 1991), Phân cụm dựa trên toán tử L
P
Norm
(Kersten, 1999). Thuật toán
- Insensitive Fuzzy c-mean (
FCM - không
nhạy cảm mờ C-mean).
TỔNG KẾT CHƢƠNG 1
Chương 1 đã trình bày chi tiết về khái niệm, các ứng dụng của phân cụm
dữ liệu. Có rất nhiều phương pháp dùng để phân cụm dữ liệu như đã trình bày
ở trên, trong đó mỗi phương pháp có những đặc điểm riêng phù hợp với một
lớp các bài toán với các dạng dữ liệu và miền dữ liệu nhất định: Phân cụm
phân hoạch sử dụng chiến lược ăn tham để tìm kiếm nghiệm, phân cụm phân
cấp thì dùng kỹ thuật đệ quy,
Trong chương 2 sẽ giới thiệu chi tiết về giải thuật di truyền và mạng nơ
ron trong phân cụm dữ liệu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
CHƢƠNG II: PHÂN CỤM DỮ LIỆU SỬ DỤNG GIẢI THUẬT
DI TRUYỀN VÀ MẠNG NƠ RON
Giải thuật di truyền cung cấp một cách tiếp cận cho việc học dựa vào mô
phỏng sự tiến hóa. Các giả thuyết thường được mô tả bằng các chuỗi bit, việc
hiểu các chuỗi bit này tùy thuộc vào ứng dụng, ý tưởng các giả thuyết cũng có
thể được mô tả bằng các biểu thức ký hiệu hoặc ngay cả các chương trình
máy tính. Giải thuật di truyền đã được ứng dụng một cách thành công cho
những tác vụ học khác nhau và cho các vấn đề tối ưu hóa khác. Việc kết hợp
mạng nơ ron và giải thuật di truyền sẽ giúp quá trình phân cụm tối ưu hơn.
Trong chương 2 sẽ trình bày về giải thuật di truyền, mạng nơ ron và cách kết
hợp chúng vào bài toán phân cụm dữ liệu.
2.1. Giải thuật di truyền
Giải thuật di truyền (Genetic Algorithm – GA), do John Holland (1975)
và Goldberg (1989) đề xuất và phát triển. Ý tưởng của giải thuật di truyền là
mô phỏng theo cơ chế của quá trình tiến hóa trong tự nhiên. Từ tập các lời
giải ban đầu, thông qua nhiều bước tiến hóa để hình thành các tập mới với
những lời giải tốt hơn, cuối cùng sẽ tìm được lời giải gần tối ưu nhất.
GA sử dụng các thuật ngữ lấy từ di truyền học:
- Một tập hợp các lời giải được gọi là một Lớp hay Quần thể
(Population).
- Mỗi lời giải được biểu diễn bởi một Nhiễm sắc thể (NST) hay Cá
thể (Chromosome).
- NST được tạo thành từ các Gen
Một quá trình tiến hóa được thực hiện trên một quần thể tương đương
với sự tìm kiếm trên không gian các lời giải có thể của bài toán. Quá trình tìm
kiếm này luôn đòi hỏi sự cân bằng giữa hai mục tiêu: khai thác lời giải tốt
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên