ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NHƯ NA
VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU
TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG
TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NHƯ NA
VỀ TÍNH HIỆU QUẢ CỦA CÁC THUẬT TOÁN TỐI ƯU
TIẾN HÓA CHO PHÂN CỤM MỜ VÀ ỨNG DỤNG
TRONG PHÂN TÍCH NHU CẦU KHÁCH HÀNG
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Lê Hoàng Sơn
Hà Nội – 2015
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu độc lập của riêng tôi, không
sao chép ở bất kỳ một công trình hoặc một luận văn, luận án của các tác giả khác.
Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố
trong bất kỳ công trình nào khác. Các trích dẫn, các số liệu và kết quả tham khảo
dùng để so sánh đều có nguồn trích dẫn rõ ràng.
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.
Hà Nội, tháng 5 năm 2015
Tác giả luận văn
Nguyễn Thị Như Na
i
LỜI CẢM ƠN
Để hoàn thành tốt luận văn này, đầu tiên em xin bày tỏ lòng biết ơn chân thành
và sâu sắc đến Tiến sĩ Lê Hoàng Sơn, người đã tận tình và trực tiếp hướng dẫn em
trong suốt quá trình triển khai và nghiên cứu đề tài, tạo điều kiện để em hoàn thành
luận văn này.
Thứ hai, em xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy cô giáo
trong khoa Công nghệ thông tin, trường Đại học Công nghệ Hà Nội, Đại học Quốc
gia Hà Nội đã dạy bảo tận tình em trong suốt quá trình em học tập tại khoa.
Thứ ba, em xin được gửi lời cảm ơn tới các thầy cô, các anh chị và các bạn
trong Trung tâm Tính toán Hiệu năng cao, trường Đại học Khoa học tự nhiên đã
giúp đỡ em trong suốt thời gian làm luận văn này.
Cuối cùng em xin chân thành cảm ơn tới gia đình, bạn bè, đồng nghiệp đã luôn
bên em cổ vũ, động viên, giúp đỡ em trong suốt quá trình học tập và thực hiện luận
văn. Luận văn này được thực hiện dưới sự tài trợ của đề tài NAFOSTED, mã số:
102.05-2014.01.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em rất mong được sự góp ý
chân thành của thầy cô và các bạn để em hoàn thiện luận văn của mình.
Xin chân thành cảm ơn!
Hà Nội, ngày 5 tháng 5 năm 2015
Học viên
Nguyễn Thị Như Na
ii
MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................i
LỜI CẢM ƠN ....................................................................................................... ii
MỤC LỤC ........................................................................................................... iii
DANH SÁCH HÌNH VẼ ...................................................................................... vi
DANH SÁCH BẢNG ........................................................................................... vi
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT..........................................................vii
1/. ĐẶT VẤN ĐỀ....................................................................................................... 1
2/. MỤC ĐÍCH CỦA LUẬN VĂN............................................................................ 2
3/. BỐ CỤC CỦA LUẬN VĂN ................................................................................. 3
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM MỜ ............................................. 5
1.1. Tập mờ................................................................................................................. 5
1.1.1. Lý thuyết mờ ............................................................................................... 5
1.1.2. Tập mờ ....................................................................................................... 5
1.2. Giới thiệu về phân cụm mờ ................................................................................. 8
1.2.1. Khái quát phân cụm ................................................................................... 8
1.2.2. Độ đo gần gũi........................................................................................... 10
1.2.3. Các bước phân cụm ................................................................................. 12
1.2.4. Phân cụm mờ ........................................................................................... 13
1.3. Thuật toán Fuzzy C – Means (FCM) ................................................................ 15
1.3.1. Thuật toán Fuzzy C - Means .................................................................... 16
1.3.2. Cài đặt chương trình ................................................................................ 18
1.4. Kết luận chương ................................................................................................ 24
iii
CHƯƠNG 2: CÁC THUẬT TOÁN TỐI ƯU TIẾN HÓA CHO PHÂN CỤM
MỜ ....................................................................................................................... 25
2.1. Tính toán tiến hóa.............................................................................................. 25
2.2. Các dạng của thuật toán tiến hóa....................................................................... 27
2.2.1. Thuật toán lập trình tiến hóa ................................................................... 28
2.2.2. Chiến lược tiến hóa .................................................................................. 29
2.2.3. Thuật toán di truyền ................................................................................. 29
2.2.4. Lập trình di truyền ................................................................................... 31
2.2.5. Tiến hóa vi phân....................................................................................... 32
2.2.6. Thuật toán văn hóa .................................................................................. 32
2.3. Một số thuật toán cụ thể .................................................................................... 33
2.3.1.Tìm kiếm cục bộ ........................................................................................ 33
2.3.2. Thuật toán tìm kiếm Tabu ........................................................................ 37
2.3.3. Tìm kiếm lân cận biến đổi (VNS) ............................................................. 40
2.3.4. Tối ưu bầy đàn PSO ................................................................................. 42
2.4. Áp dụng thuật toán tối ưu tiến hóa cho phân cụm mờ ...................................... 46
2.4.1. Thuật toán Fuzzy J – Means heuristic (FJM) .......................................... 46
2.4.2. Thuật toán VNS ........................................................................................ 54
2.4.3. Thuật toán tối ưu bầy đàn cho phân cụm mờ (FPSO) ............................. 56
Cài đặt chương trình........................................................................................... 58
2.5. Kết luận chương ................................................................................................ 61
CHƯƠNG 3: SO SÁNH HIỆU NĂNG THUẬT TOÁN TỐI ƯU TIẾN HÓA 62
3.1. Thiết lập môi trường thực nghiệm .................................................................... 62
iv
3.1.1. Dữ liệu...................................................................................................... 62
3.1.2. Cấu hình cài đặt ....................................................................................... 62
3.1.3. Kết quả thực nghiệm ................................................................................ 63
3.1.4. So sánh hiệu năng thuật toán................................................................... 65
3.2. Ứng dụng ........................................................................................................... 66
3.2.1. Bài toán .................................................................................................... 66
3.2.2. Dữ liệu...................................................................................................... 66
3.2.3. Kết quả chạy thực nghiệm bài toán ......................................................... 68
3.3. Kết luận chương ................................................................................................ 75
KẾT LUẬN .......................................................................................................... 76
TÀI LIỆU THAM KHẢO................................................................................... 78
v
DANH SÁCH HÌNH VẼ
Hình 1.1. Tập mờ và biểu diễn tập mờ
Hình 1.2. Ví dụ một tập mờ
Hình 1.3. Số mờ hình thang.
Hình 1.4. Số mờ hình tam giác.
Hình 1.5. Các dạng hình học khác nhau của cụm trong không gian R 2
Hình 2.1. Cá thể cập nhật vị trí
Hình 3.1. Minh họa dữ liệu đầu vào thử nghiệm lưu trên tệp excel
Hình 3. 2. Tóm tắt trường dữ liệu đầu vào
Hình 3. 3. Tóm tắt trường dữ liệu đầu vào
Hình 3. 4. Tóm tắt trường dữ liệu đầu vào
Hình 3.5. Minh họa dữ liệu đầu vào cho bài toán ứng dụng lưu trên tệp exel
Hình 3.6. Ma trận mờ thuộc
DANH SÁCH BẢNG
Bảng 3.1: Kêt quả thực nghiệm trường hợp 1
Bảng 3.2: Kêt quả thực nghiệm trường hợp 2
Bảng 3.3: Kêt quả thực nghiệm trường hợp 3
Bảng 3.4: Kêt quả thực nghiệm trường hợp 4
vi
Bảng 3.5: Bệnh viện thuộc cụm 1
Bảng 3.6: Bệnh viện thuộc cụm 2
Bảng 3.7: Bệnh viện thuộc cụm 3
Bảng 3.8: Không gian tham chiếu của các thuộc tính
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
Từ hoặc cụm từ
Từ
Từ Tiếng Anh
viết tắt
Phân cụm mờ C - Means
FCM
Fuzzy C – Means
Phân cụm mờ J - Means
FJM
Fuzzy J – Means
Tìm kiếm lân cận biến đổi
VNS
Variable
neighbourhood
search
Tối ưu bầy đàn
PSO
vii
Particle Swarm Optimization
Tối ưu bầy đàn mờ
FPSO
Fuzzy
Particle
Swarm
Optimization
Lập trình tiến hóa
EP
Evolutionary Programming
Chiến lược tiến hóa
ES
Evolutionary Strategies
Thuật toán di truyền
GA
Genetic Algorithms
Thuật toán tiến hóa
EA
Evolutionary Algorithms
Tập mờ
FS
Fuzzy Set
Thuật toán tìm kiếm Tabu
TS
Tabu search
viii
MỞ ĐẦU
1/ ĐẶT VẤN ĐỀ
Trong những năm gần đây, công nghệ thông tin đã có những chuyển biến
mạnh mẽ, tác động lớn đến sự phát triển của xã hội. Sự bùng nổ thông tin đã đem
đến lượng dữ liệu khổng lồ. Chúng ta càng có nhu cầu khám phá kho dữ liệu đó
phục vụ cho nhu cầu con người, điều đó đòi hỏi con người phải biết khai thác dữ
liệu và xử lý thông tin đó thành tri thức có ích.
Một trong những kỹ thuật quan trọng trong quá trình khai phá dữ liệu và xử
lý dữ liệu lớn là kỹ thuật phân cụm dữ liệu. Phân cụm đặc biệt hiệu quả khi ta
không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của
cụm mà chưa biết hoặc biết rất ít về những thông tin đó. Phân cụm được coi như
một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật
toán khác. Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong lập quy hoạch
đô thị, nghiên cứu trái đất, địa lý, khai phá Web v.v.
Ngày nay, cùng với kỹ thuật phân cụm kết hợp với lý thuyết mờ của Zadeh
phương pháp phân cụm mờ đã và đang phát triển và được ứng dụng rộng rãi trong
thực thực tiễn, ví dụ như phân tích nhu cầu khách hàng, phân đoạn ảnh, nhận dạng
mặt người, nhận dạng cử chỉ và điệu bộ, phân tích rủi ro, dự báo nguy cơ phá sản
cho ngân hàng và nhiều bài toán khác. Những vấn đề chính được quan tâm nhiều
trong phân cụm nói chung và phân mờ nói riêng là nâng cao chất lượng phân cụm,
tính toán thông qua một số độ đo chất lượng cụ thể. Những nhược điểm của phân
cụm mờ liên quan đến việc xác định số cụm tự động, học đo khoảng cách thích
nghi, lựa chọn tham số tối ưu, xây dựng tập mờ trên các tập mờ mở rộng, v.v. đã
được quan tâm nghiên cứu nhiều trong thời gian gần đây. Tuy nhiên, các nghiên
cứu này chưa quan tâm đến việc xác định nghiệm tối ưu toàn cục của bài toán phân
cụm, và hàm mục tiêu của bài toán hay cách thức phân chia dữ liệu vẫn được sử
1
dụng chung cho mọi bài toán. Để xác định nghiệm tối ưu toàn cục của bài toán
phân cụm, các thuật toán tối ưu tiến hóa như thuật toán di truyền, tối ưu bầy đàn,
v.v. được áp dụng trong việc tìm nghiệm tối ưu toàn cục của bài toán tối ưu. Và
trong khuôn khổ luận văn này sẽ tìm hiểu vấn đề đó trên cơ sở khảo sát một số
thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J Means, Variable Neighbourhood Search và Fuzzy Particle Swarm Optimization.
2/ MỤC ĐÍCH CỦA LUẬN VĂN
Trong luận văn này chúng tôi khảo sát môt số thuật toán tối ưu tiến hóa cho
bài toán phân cụm mờ, cụ thể là thuật toán Fuzzy J – Means (FJM), Variable
Neighbourhood Search (VNS) và Fuzzy Particle Swarm Optimization (FPSO). Các
thuật toán này sẽ được áp dụng cho bài toán phân tích nhu cầu khách hàng – là mục
tiêu quan trọng của bất kỳ doanh nghiệp nào trong việc xác định các khách hàng
tiềm năng, nhu cầu của nhóm khách hàng đó và mức độ hài lòng về sản phẩm và
dịch vụ. Từ đó hỗ trợ doanh nghiệp đưa ra quyết định trong chiếm lược kinh doanh
trong tương lai dựa vào kết quả của quá trình phân tích khách hàng tiềm năng, nhu
cầu của nhóm khách hàng và mức độ hài lòng về sản phẩm và dịch vụ của doanh
nghiệp.
Cụ thể với một cơ sở dữ liệu mẫu về thống kê doanh doanh số bán hàng của
một công ty kinh doanh thiết bị y tế cho khoảng 500 bệnh viện [26] được sử dụng
làm dữ liệu đầu vào cho các thuật toán trên. Qua đây, tính hiệu quả của các thuật
toán tối ưu tiến hóa cho bài toán phân cụm mờ theo các tiêu chí về chất lượng và
thời gian tính toán được làm rõ đồng thời phác họa chi tiết về các chức năng chính
của bài toán phân tích nhu cầu khách hàng.
2
3/ BỐ CỤC CỦA LUẬN VĂN
Luận văn gồm 3 chương, có phần mở đầu, phần kết luận, phần mục lục, phần
tài liệu tham khảo. Các nội dung cơ bản của luận văn được trình bày theo cấu trúc
như sau:
Chương 1: Tổng quan về phân cụm mờ
Trong chương này, luận văn sẽ trình bày tổng quan về tập mờ, bài toán phân
cụm và phân cụm mờ và thuật toán cơ bản giải quyết vấn đề phân cụm trên tập mờ
đó là thuật toán Fuzzy C – Means (FCM). Từ thuật toán này chúng tôi sẽ khảo sát
các thuật toán tối ưu tiến hóa cho bài toán phân cụm mờ.
Chương 2: Các thuật toán tối ưu tiến hóa cho phân cụm mờ
Trong chương này, các khái niệm cơ bản về tối ưu tiến hóa sẽ được nhắc lại ở
đầu chương. Tiếp theo, chúng tôi sẽ trình bày thuật toán Fuzzy J – Means (FJM)
được phát triển từ thuật toán Fuzzy C – Means (FCM) trong việc tìm nghiệm tối ưu
cho bài toán, từ đó có nhận xét về hiệu quả của bài toán phân cụm mờ được áp
dụng thuật toán trên. Tiếp theo, chúng tôi khảo sát thuật toán Variable
Neighbourhood Search (VNS) được phát triển tiếp từ thuật toán Fuzzy J – Means
và phần cuối của chương này trình bày về thuật toán Fuzzy Particle Swarm
Optimization (FPSO) lai của hai phương pháp Fuzzy C – Means và Particle Swarm
Optimization (PSO). Nhận xét chung các thuật toán cũng được nhắc trong chương
này.
Chương 3: So sánh hiệu năng thuật toán tối ưu tiến hoá
Trong chương này, chúng tôi cài đặt và đánh giá hiệu năng các thuật toán:
FCM, FJM, VNS và FPSO theo các tiêu chí về chất lượng phân cụm thông qua giá
trị hàm mục tiêu và thời gian tính toán. Từ đây, hiệu quả của các thuật toán tối ưu
tiến hóa cho phân cụm mờ được khẳng định.
3
4
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM MỜ
1.1. Tập mờ
1.1.1. Lý thuyết mờ
Trong lý thuyết tập hợp kinh điển (do Cantor khởi xướng), giá trị của một
phần tử trong một tập hợp là 0 hoặc 1, tức là với một phần tử bất kỳ chỉ có hai khả
năng là thuộc hoặc không thuộc tập hợp. Do đó, lý thuyết này không thể xử lý
những dữ liệu có tính không chắc chắn, không rõ ràng.
Lotfi A. Zadeh và Dieter Klaua là người sáng lập ra lý thuyết tập mờ [25], mở
đầu bằng bài báo “Fuzzy Sets” trên tạp chí “Information and Control” năm 1965. Ý
tưởng lý thuyết tập mờ của Zadeh là từ những khái niệm trừu tượng, không chắc
chắn của thông tin như độ tuổi (trẻ – già), chiều cao (cao – thấp), nhiệt độ (nóng –
lạnh), v.v. ông đã tìm ra cách biểu diễn bằng một khái niệm toán học được gọi là
tập mờ FS, như là một sự khái quát của khái niệm tập hợp.
Bằng các phương pháp tiếp cận khác nhau, các nhà nghiên cứu như Dubois,
Prade, Mamdani, Tagaki, Sugeno, Ishibuchi, Herrera, v.v. đã đưa ra những kết quả
cả về lý thuyết và ứng dụng trong các bài toán điều khiển mờ, khai phá dữ liệu mờ,
cơ sở dữ liệu mờ, các hệ hỗ trợ quyết định
Tập mờ FS được định nghĩa như sau:
1.1.2. Tập mờ
Định nghĩa 1.2 [25]: Cho tập nền X và x là phần tử của tập X . Một tập mờ
F trên tập X được định nghĩa bởi một hàm thành viên hay còn gọi là hàm thuộc
F x (degree of membership), đo “mức độ” mà phần tử x thuộc về tập F thỏa
mãn điều kiện với x X , 0 F x 1.
F
x,
F
x x X
5
Khi F x = 0 thì x F hoàn toàn. Khi F x = 1 thì x F hoàn toàn.
Tập mờ F rỗng nếu và chỉ nếu F x = 0 với x X
Tập mờ F toàn phần nếu và chỉ nếu F x = 1 với x X
Như vậy, khái niệm tập mờ là sự tổng quát hóa khái niệm tập rõ bởi hàm thuộc
của nó có thể lấy giá trị bất kỳ trong khoảng [0, 1], tập rõ chỉ là một tập mờ đặc biệt
vì hàm thuộc F x chỉ nhận hai giá trị 0 hoặc 1.
Ví dụ 1.3: X = {X1, X2, X3, X4}
Hàm thuộc không còn mang 2
Biểu diễn tập mờ theo đồ thị.
giá trị tuyệt đối 0 hay 1, mà là giá trị
thuộc đoạn [0,1].
Hình 1.1: Tập mờ và biểu diễn tập mờ
Ví dụ 1.4: Cho tập X gồm 5 người là x 1 , x 2 , x 3 , x 4 , x 5 tương ứng có tuổi là
50, 10, 15, 55, 70, xác định tập F là tập hợp những người “Trẻ”?
Ta có thể xây dựng hàm thuộc như sau: µF(50)=0.35, µF(10)=0.95,
µF(15)=0.75, µF(55)=0.30, µF(70)=0.05.
6
Khi đó tập mờ F = {(50, 0.35) (10, 0.95) (15, 0.75) (55, 0.30)(70, 0.05)} và F
được biểu diễn như Hình 1.2 sau:
Hình 1.2: Ví dụ một tập mờ
* Số mờ
Xét tập mờ F trên tập các số thực R. Về nguyên tắc, không có ràng buộc chặt
đối với việc xây dựng các tập mờ để biểu thị ngữ nghĩa của các khái niệm ngôn
ngữ. Tuy nhiên, để đơn giản trong xây dựng các tập mờ và trong tính toán trên các
tập mờ, người ta đưa ra khái niệm tập mờ có dạng đặc biệt, gọi là số mờ để biểu thị
các khái niệm mờ về số như gần 10, khoảng 15, lớn hơn nhiều so với 10,v.v.
Trong điều khiển, với mục đích sử dụng các hàm thuộc sao cho khả năng tích
hợp chúng là đơn giản, người ta thường chỉ quan tâm đến hai dạng số mờ hình
thang và số mờ hình tam giác.
Số mờ hình thang
Hàm thành viên có dạng sau [1]:
7
0,
x ac
x a c / c, a c x a
F x
1,
a xb
b d x / d , b x b d
0,
d d x
Hình 1.3. Số mờ hình thang.
Số mờ hình tam giác
Số mờ hình tam giác là trường hợp đặc biệt của số mờ hình thang. Hàm
thành viên có dạng sau:
xa
b a , a x b
c x
F x
, b xc
cb
otherwise
0,
Hình 1.4. Số mờ hình tam giác.
1.2. Giới thiệu về phân cụm mờ
1.2.1. Khái quát phân cụm
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các
phương pháp học không giám sát trong học máy, 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 và quan trọng trong tập dữ liệu lớn để từ đó
cung cấp thông tin, tri thức cho việc ra quyết định.
Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể
hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm,
8
sao cho các đối tượng trong cùng một cụm tương tự nhau và các đối tượng khác
cụm thì không tương tự nhau [23].
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm nội tại bên
trong của bộ dữ liệu không có nhãn. Tuy nhiên, không có tiêu chí nào là được xem
là tốt nhất để đánh giá hiệu quả của phân tích phân cụm, điều này phụ thuộc vào
mục đích cuối cùng của phân cụm dữ liệu. Do đó, người sử dụng phải cung cấp tiêu
chuẩn, theo cách như vậy mà kết quả của phân cụm sẽ phù hợp với nhu cầu của
người sử dụng cần.
Định nghĩa 1.1:
Cho X là một tập dữ liệu gồm N vector: x 1 , x 2 ,..., x N . Bài toán phân cụm là
chia tập dữ liệu X , c cụm dữ liệu Z z 1 , z 2 ,..., z c .
Thỏa mãn 3 điều kiện sau:
zi , i 1, 2,..., c
X i 1 zi
zi z j với i j ; i, j 1, 2,..., c
c
Phân cụm được đóng vai trò quan trọng trong các nghành khoa học:
- Thương mại: Phân cụm dữ liệu giúp các nhà cung cấp biết được nhóm khác
hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các mẫu trong
cơ sở dữ liệu khách hàng.
- 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), v.v, 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
9
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 cơ sở dữ liệu 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ý,
v.v, 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, v.v.
1.2.2. Độ đo gần gũi
Trong định nghĩa về bài toán phân cụm, chúng tôi đã đưa ra cụm từ “đối tượng
tương tự nhau”. Vậy hai đối tượng như thế nào để gọi là tương tự nhau và làm sao
để đo mức độ tương tự giữa chúng.
Định nghĩa:
Một độ đo không tương tự trên X là một hàm:
:XX R
Sao cho:
0 R : x, x x, y , x, y R
x, y y, x , x, y
Ngoài ra nếu:
x, x 0 nếu x y
x, y x , z z , y
10
Thì được gọi là một độ đo không tương tự metric (DM metric). Như vậy, ta
thấy rằng, độ đo không tương tự nhỏ nhất khi hai vector đồng nhất hay tương tự
nhau.
Một số độ đo không tương tự:
Khoảng cách giữa hai đối tượng x , y như sau
Khoảng cách Minskowski:
1/ q
n
q
d ( x, y ) xi yi
i 1
với q là số nguyên dương.
Khoảng cách Euclide:
n
d ( x, y )
x y
i
2
i
i 1
Đây là trường hợp đặc biệt của khoảng cách Minkowski với q 2
N
Khoảng cách Manhattan: x, y i 1 xi yi .
Khoảng cách cực đại: x, y max i 1.. N xi yi
Độ đo tương tự Cosin hai vector: cos
x. y
x. y
Một số phương pháp phân cụm điển hình
Dựa trên cách tiếp cận và thuật toán sử dụng, người ta phân các thuật toán
phân cụm theo các phương pháp chính sau:
-
Phân cụm phân hoạch
-
Phân cụm phân cấp
-
Phân cụm dựa trên mật độ
-
Phân cụm dựa trên lưới
-
Phân cụm dựa trên mô hình
-
Phân cụm có ràng buộc
11
1.2.3. Các bước phân cụm
- Chọn lựa đặc trưng: Các đặc trưng phải được chọn lựa một cách hợp lý để
có thể “mã hoá” nhiều nhất thông tin liên quan đến công việc. Mục tiêu chính của
bước này là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng. Các đặc trưng
cần được tiền xử lý trước khi dùng chúng trong các bước sau.
- Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không
tương tự giữa hai véc tơ đặc trưng. Phải đảm bảo rằng tất cả các véc tơ đặc trưng
góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át
hẳn đặc trưng nào. Điều này được đảm nhận bởi quá trình tiền xử lý.
- Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của chuyên
gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho
rằng đang ẩn dấu dưới tập dữ liệu. Chẳng hạn, cụm trong không gian một chiều sẽ
có tiêu chuẩn khác với cụm trong không gian nhiều chiều.
- Thuật toán phân cụm: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm
làm sáng tỏ cấu trúc cụm của tập dữ liệu.
- Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính
đúng đắn của nó. Điều này thường được thực hiện bởi việc dùng các kiểm định
thích hợp.
- Giải thích kết quả: Trong rất nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm và
phân tích để đưa ra được kết quả đúng đắn.
Tóm lại, phân cụm dữ liệu là một vấn đề đòi hỏi chúng ta phải giải quyết
những công việc sau đây:
- Biểu diễn dữ liệu.
- Xây dựng hàm tính độ tương tự.
- Xây dựng các tiêu chuẩn phân cụm.
12
- Xây dựng mô hình cho cấu trúc cụm dữ liệu.
- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo.
- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm.
1.2.4. Phân cụm mờ
Nhiều vấn đề đã dẫn đến bài toán phân cụm mờ và ứng dụng được nói nhiều
trong bài toán phân cụm mờ là: nhận dạng ảnh, xử lý thông tin, phân loại khách
hàng trong ngân hàng. Đã có rất nhiều nghiên cứu chuyên sâu trong 2 thập kỷ qua.
Điểm quan trọng là sự khác nhau của hai hướng tiếp cận, theo hướng mờ thì một
vector thuộc đồng thời vào nhiều cụm, ngược lại theo hướng xác suất thì một
vector chỉ được thuộc vào duy nhất chỉ một cụm. Ưu điểm của phân cụm mờ so với
phân cụm rõ được thể hiện trong thực tế khi mà không thể chỉ ra ranh giới rõ ràng
giữa các cụm. Phân cụm rõ bắt buộc các điểm chỉ được phép thuộc vào duy nhất
một cụm. Còn phân cụm mờ cho phép các điểm dữ liệu linh hoạt hơn, một điểm dữ
liệu có thể thuộc vào nhiều cụm và ta đưa ra khái niệm độ thuộc để chỉ mức độ liên
quan của điểm dữ liệu vào cụm mà nó thuộc. Giá trị độ thuộc nằm trong khoảng
(0,1), trường hợp điểm dữ liệu không thuộc một cụm nào hay chỉ thuộc vào duy
nhất một cụm là rất hiếm.
1.2.4.1. Tập dữ liệu trong phân cụm mờ
Kỹ thuật phân cụm có thể được áp dụng cho dữ liệu được định lượng (kiểu
số), định lượng (phân loại) hoặc có thể kết hợp cả hai.
Dữ liệu được quan sát bằng quá trình vật lý. Mỗi quan sát chứa n biến độ đo,
T
được biểu diễn thành vector cột n chiều xk x1k , x2 k ,..., xnk , xk R n . Tập A của
N quan sát được biểu diễn X xk k 1, 2..., N , và biểu diễn như một ma trận n N :
x11
X
xn1
x1N
xnN
13
Trong thuật ngữ nhận dạng mẫu, các cột của ma trận được gọi là các mẫu hay
các đối tượng, các dòng gọi là các đặc trưng hay các thuộc tính, và X gọi là mẫu
hoặc ma trận dữ liệu. Ý nghĩa của các cột và các hàng của X phụ thuộc vào ngữ
cảnh. Ví dụ, trong hoạt động sản xuất kinh doanh các cột của X có thể chứa các
mẫu như là: doanh số, lợi nhuận, thanh toán, nợ quá hạn.
1.2.4.2. Các cụm và các mẫu trong phân cụm mờ
Chúng ta đã biết một cụm là một nhóm các đối tượng tương tự nhiều hơn các
đối tượng trong những cụm khác [23]. Thuật ngữ “tương tự” cần được hiểu như
tương tự toán học. Trong không gian metric, tương tự được xác định bằng độ đo
khoảng cách.
Dữ liệu cho thấy thấy các cụm có dạng hình học khác nhau, kích thước và mật
độ khác nhau (xem Hình 1.5).
Hình 1.5. Các dạng hình học khác nhau của cụm trong không gian R 2
Trong tập dữ liệu khi cụm (a) có dạng hình cầu, cum (b) đến cụm (d) có thể
được đặc trưng là tuyến tính hoặc phi tuyến. Hiệu quả của hầu hết các thuật toán
phân cụm bị ảnh hưởng bởi hình dạng hình học và phân bố của các cụm, mà còn bị
ảnh hưởng bởi khoảng cách giữa các cụm. Các cụm có thể riêng biệt, liên tục, hoặc
chồng lên nhau.
14
1.2.4.3. Phương pháp phân cụm mờ
Bài toán phân cụm N vector X x 1 , x 2 ,..., x N thành c cụm dựa trên tính toán
tối thiểu hóa hàm mục tiêu để đo chất lượng của cụm và tìm tâm cụm sao cho hàm
độ đo không tương tự là nhỏ nhất. Một phân cụm mờ vector X x 1 , x 2 ,..., x N được
biểu diễn bởi ma trận U U ki N c sao cho một điểm dữ liệu có thể thuộc về nhiều
nhóm và được xác định bằng giá trị hàm thuộc u . Ma trận giá trị hàm thuộc có
dạng như sau:
u11 u1c
U
u N 1 u Nc
Thuật toán phân cụm mờ đã được xuất phát từ việc cực tiểu giá trị hàm mục
tiêu:
N
c
J m ukjm d ( xk , z j )
k 1 j 1
d ( xk , z j ) : là một độ đo không tương tự.
Giải bài toán J m (u, z ) min với ràng buộc sau:
0 u 1
kj
c
ukj 1
j 1
N
0 ukj N
k 1
j 1, 2,.., c
k 1, 2,.., N
1.3. Thuật toán Fuzzy C – Means (FCM)
Phân cụm dữ liệu đóng vai trò quan trọng trong giải quyết bài toán nhân biết
mẫu và xác định mô hình mờ. Thuật toán FCM phù hợp hơn với dữ liệu lớn hoặc
nhỏ phân bố quanh tâm cụm.
15