Tải bản đầy đủ

phƢơng pháp phân cụm dựa trên tập thô và giải thuật di truyền

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG HUYỀN TRANG

PHƢƠNG PHÁP PHÂN CỤM DỰA TRÊN
TẬP THÔ VÀ GIẢI THUẬT DI TRUYỀN

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2016


1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG HUYỀN TRANG

PHƢƠNG PHÁP PHÂN CỤM DỰA TRÊN
TẬP THÔ VÀ GIẢI THUẬT DI TRUYỀN


Ngành: Hệ thống thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC:
PGS.TS. HOÀNG XUÂN HUẤN

Hà Nội - 2016


2
LỜI CẢM ƠN
Tôi xin gửi lời biết ơn sâu sắc đến ngƣời thầy PGS,TS Hoàng Xuân Huấn,
những thầy cô trƣờng Đại học Công nghệ đã dành rất nhiều thời gian và tâm
huyết giảng dạy, hƣớng dẫn khoa học; giúp tôi nâng cao, mở rộng kiến thức,
phát triển năng lực nghiên cứu khoa học, vận dụng thiết thực vào lĩnh vực hệ
thống thông tin, hoàn thành tốt luận văn tốt nghiệp này;
Trân trọng cảm ơn tới lãnh đạo đơn vị, đồng nghiệp nơi tôi công tác đã tạo
điều kiện thuận lợi cho tôi hoàn thành khóa đào tạo;
Xin biết ơn, yêu quý gia đình, ngƣời thân đã luôn đồng hành vƣợt khó trong
cuộc sống, công tác và học tập.
Tôi xin chân thành cảm ơn!
Học viên
Hoàng Huyền Trang


3
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt đƣợc trong luận văn là sản phẩm của cá
nhân tôi, thực hiện dƣới sự hƣớng dẫn của PGS, TS Hoàng Xuân Huấn. Toàn bộ
nội dung của luận văn, những điều đƣợc trình bày là của cá nhân hoặc đƣợ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 đúng quy định.
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan của mình.
Hà Nội, tháng 11 năm 2016
Học viên


Hoàng Huyền Trang


4
MỤC LỤC
LỜI CẢM ƠN ....................................................................................................... 2
LỜI CAM ĐOAN.................................................................................................. 3
MỤC LỤC ............................................................................................................. 4
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ........................................... 6
DANH MỤC CÁC HÌNH VẼ............................................................................... 7
DANH MỤC CÁC BẢNG BIỂU ......................................................................... 8
MỞ ĐẦU ............................................................................................................... 9
CHƢƠNG I. PHÂN CỤM DỮ LIỆU VÀ MỘT SỐ VẤN ĐỀ LIÊN QUAN ... 10
1.1. Giới thiệu về phân cụm dữ liệu ................................................................. 10
1.1.1. Khái niệm và mục đích của phân cụm dữ liệu.................................... 10
1.1.2. Phƣơng pháp phân cụm dữ liệu .......................................................... 11
1.1.3. Phân cụm với giải thuật K-Means ...................................................... 12
1.2. Lý thuyết tập thô ....................................................................................... 14
1.2.1. Hệ thông tin và quyết định .................................................................. 14
1.2.2. Quan hệ bất khả phân biệt................................................................... 16
1.2.3. Xấp xỉ tập hợp ..................................................................................... 17
1.2.4. Thuộc tính thiết yếu và không thiết yếu ............................................. 18
1.3. Giải thuật di truyền ................................................................................... 19
1.3.1. Thông tin ............................................................................................. 19
1.3.2. Các thành phần cơ bản trong giải thuật di truyền ............................... 19
1.3.3. Quy trình thuật toán di truyền ............................................................. 23
1.3.4. Các thông số cơ bản của giải thuật di truyền ...................................... 25
CHƢƠNG II. PHÂN CỤM DỮ LIỆU DỰA TRÊN TẬP THÔ VÀ GIẢI
THUẬT DI TRUYỀN ......................................................................................... 26
2.1. Giới thiệu................................................................................................... 26
2.2. Phƣơng pháp phân cụm tập thô................................................................. 26
2.3. Phƣơng pháp phân cụm dựa trên giải thuật di truyền ............................... 31
2.4. Phƣơng pháp phân cụm dựa trên tập thô và giải thuật di truyền .............. 33
CHƢƠNG III. CÀI ĐẶT VÀ PHÂN TÍCH THÍ NGHIỆM .............................. 35


5
3.1. Dữ liệu thử nghiệm ................................................................................... 35
3.2. Cài đặt thuật toán ...................................................................................... 35
3.3. Kết quả thử nghiệm ................................................................................... 37
KẾT LUẬN ......................................................................................................... 39
TÀI LIỆU THAM KHẢO ................................................................................... 40


6
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
Chữ viết tắt
GA
NST

Tiếng Anh
Genetic Algorithm

Nghĩa Tiếng Việt
Giải thuật di truyền
Nhiễm sắc thể


7
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Quy trình phân cụm.
Hình 1.2. Mô phỏng sự phân cụm dữ liệu.
Hình 1.3. Mô tả phân cụm cứng/rõ và phân cụm mềm/mờ
Hình 1.4. Sơ đồ thuật toán phân cụm K-Means.
Hình 1.5. Mô tả quá trình phân cụm K-Means.
Hình 1.6. Mô tả bộ xấp xỉ trên - dƣới.
Hình 1.7. Sơ đồ giải thuật di truyền.
Hình 2.1. Mô tả khoảng cách giữa đối tƣợng tới trung tâm cụm.
Hình 2.2. Mô tả gom cụm vào bộ xấp xỉ trên - dƣới.
Hình 2.3. Sơ đồ phân cụm K-Means thô.
Hình 3.1. Giao diện chƣơng trình.
Hình 3.2. Giao diện nhập dữ liệu và các thuộc tính.
Hình 3.3. Giao diện hiển thị file dữ liệu.
Hình 3.4. Giao diện kết quả thuật toán.


8
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1. Hệ thống thông tin.
Bảng 1.2. Bảng quyết định.
Bảng 1.3. Các triệu chứng cảm cúm.
Bảng 2.1. So sánh về hai giải thuật K-Means, di truyền.
Bảng 3.1. Kết quả thực nghiệm với phân cụm K-Means thông thƣờng.
Bảng 3.2. Kết quả thực nghiệm với phân cụm dựa trên tập thô và giải thuật di
truyền.


9
MỞ ĐẦU
Phân cụm dữ liệu là một trong những nghiên cứu quan trọng trong khai thác
dữ liệu và đƣợc áp dụng cho đa lĩnh vực [7,8]. Mục tiêu chính trong phân cụm
dữ liệu là để phân loại các đối tƣợng không có nhãn thành nhiều cụm mà các đối
tƣợng thuộc cùng một cụm thì tƣơng tự nhau và khác nhau đối với các cụm khác
nhau. Phân cụm dữ liệu đƣợc chia làm hai loại là phân cụm dữ liệu cứng/rõ (mỗi
điểm dữ liệu chỉ thuộc về một cụm) và phân cụm dữ liệu mềm/mờ (mỗi điểm dữ
liệu có thể thuộc về nhiều hơn một cụm dựa vào một xác suất nhất định) [12,15].
Một kỹ thuật đƣợc sử dụng phổ biến trong phân cụm dữ liệu là thuật toán KMeans, thuộc phân cụm rõ, với sự hội tụ nhanh chóng và khả năng tìm kiếm địa
phƣơng mạnh mẽ. Trong quá trình phân cụm K-Means truyền thống, các đối
tƣợng dữ liệu thu đƣợc trong cụm là nhất định. Tuy nhiên, trong thực tế giữa
những đối tƣợng thuộc các lớp khác nhau thƣờng không có ranh giới rõ ràng, do
đó việc mô tả bộ dữ liệu thực là khó khăn. Giải pháp cho những đối tƣợng này
đƣợc cung cấp bởi lý thuyết tập thô, là phƣơng pháp tính toán mềm trong khai
thác dữ liệu. Để tăng hiệu quả và kết quả chính xác cho phân cụm việc sử dụng
lý thuyết tập thô tiếp cận hỗ trợ phân cụm K-Means đã đƣợc đề xuất, xây dựng
nên phƣơng pháp phân cụm K-Means thô.
Mặc dù giải thuật K-Means thô có khả năng tìm kiếm địa phƣơng mạnh mẽ
nhƣng lại dễ rơi vào cực trị địa phƣơng. Một trong những biện pháp có thể khắc
phục đƣợc hạn chế này là kết hợp với giải thuật di truyền. Thuật toán di truyền
là một thuật toán tìm kiếm ngẫu nhiên với kỹ thuật tối ƣu toàn cầu dựa trên
nguyên tắc của sự tiến hóa sinh học, có lƣợng lớn số song song tiềm ẩn thực
hiện không gian tìm kiếm lớn và cung cấp giải pháp tối ƣu hóa toàn cầu giúp
tránh đƣợc tối ƣu địa phƣơng.
Luận văn trình bày khảo cứu một cách hệ thống của bài báo [6] các kiến thức
về phân cụm dữ liệu rõ, thô theo hƣớng K-Means và ứng dụng giải thuật di
truyền để phân cụm dữ liệu thô. Trên cơ sở đó xây dựng chƣơng trình thực
nghiệm trên một số bộ dữ liệu, kết quả cho thấy ƣu điểm của phƣơng pháp mới.
Thông qua các quy định phù hợp và áp dụng lợi thế của thuật toán, tính chính
xác cụm đƣợc cải thiện. Kết quả thực nghiệm cho thấy các thuật toán đƣợc đề
xuất có khả năng điều chỉnh các kết quả và có đƣợc độ chính xác cao hơn.
Cấu trúc của luận văn gồm 3 chƣơng :
Chƣơng I. Phân cụm dữ liệu và một số vấn đề liên quan.
Chƣơng II. Phân cụm dựa trên tập thô và thuật toán di truyền.
Chƣơng III. Cài đặt và phân tích thí nghiệm.


10
CHƢƠNG I. PHÂN CỤM DỮ LIỆU VÀ MỘT SỐ VẤN ĐỀ LIÊN QUAN
1.1. Giới thiệu về phân cụm dữ liệu
Khai phá dữ liệu là giai đoạn quan trọng trong quá trình khám phá tri thức,
hƣớng nghiên cứu thu hút đƣợc nhiều sự quan tâm của các chuyên gia công
nghệ thông tin trong và ngoài nƣớc. Về bản chất là giai đoạn duy nhất tìm ra
đƣợc thông tin mới, thông tin tiềm ẩn có trong cơ sở dữ liệu chủ yếu phục vụ
cho mô tả và dự đoán. Trong những năm gần đây liên tục có những phƣơng
pháp, giải thuật đƣợc công bố cho thấy ƣu thế, lợi ích và khả năng ứng dụng to
lớn của khai phá dữ liệu.
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.
1.1.1. Khái niệm và mục đích của phân cụm dữ liệu
Bài toán phân cụm dữ liệu là một nhánh ứng dụng chính của lĩnh vực học
không giám sát, mà dữ liệu mô tả trong bài toán là không đƣợc dán nhãn. Trong
trƣờng hợp này, thuật toán sẽ tìm cách phân cụm dữ liệu thành từng nhóm có
đặc điểm tƣơng tự nhau, nhƣng đồng thời đặc tính giữa các nhóm đó lại phải
càng khác biệt càng tốt. 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.

Hình 1.1. Quy trình phân cụm.
Độ 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 1,2:

Hình 1.2. Mô phỏng sự phân cụm dữ liệu.


11
Hiện nay chƣa có phƣơng pháp phân cụm tổng quát nào giải quyết đƣợc tất
cả các dạng cấu trúc cụm dữ liệu. Hơn nữa, với mỗi cách thức biểu diễn cấu trúc
của các cụm dữ liệu khác nhau sẽ có tƣơng ứng một thuật toán phân cụm phù
hợp. Vì vậy đố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, phân cụm dữ liệu vẫn đang là một vấn đề khó và mở, là một trong
những thách thức lớn trong lĩnh vực khai phá dữ liệu.
Ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu đƣợc áp dụng trong rất nhiều lĩnh vực nhƣ:
- Kinh doanh: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách
hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay
dịch vụ của công ty để giúp công ty có chiến lƣợc kinh doanh hiệu quả hơn;
- Sinh học: Phân nhóm động vật và thực vật dựa vào các thuộc tính của
chúng;
- Thƣ viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
- Bảo hiểm: Phân nhóm các đối tƣợng sử dụng bảo hiểm và các dịch vụ tài
chính, dự đoán xu hƣớng (trend) của khách hàng, phát hiện gian lận tài chính
(identifying frauds);
- www: Phân loại tài liệu (document classification); phân loại ngƣời dùng
web (clustering weblog);…
1.1.2. Phƣơng pháp phân cụm dữ liệu
Phân cụm dữ liệu đƣợc chia làm hai loại là phân cụm dữ liệu cứng và phân
cụm dữ liệu mềm:
 Phân cụm dữ liệu cứng (hay phân cụm rõ) là phƣơng pháp gán mỗi
đối tƣợng vào một và chỉ một cụm và xác định rõ ranh giới giữa các cụm.
Một số thuật toán: Thuật toán K-Means, Thuật toán K-Medoids...
 Phân cụm dữ liệu mềm (hay phân cụm mờ) là phƣơng pháp cho phép
mỗi đối tƣợng có thể thuộc một hoặc nhiều cụm dữ liệu và có sự mơ hồ hoặc
mờ ranh giới giữa các cụm: Thuật toán Fuzzy C-mean…


12

Hình 1.3. Mô tả phân cụm cứng/rõ và phân cụm mềm/mờ
Tùy theo đặc điểm về tính tƣơng đồng của các đối tƣợng trong bài toán
đang xét, có nhiều cách tiếp cận cho thuật toán phân cụm. Các kỹ thuật gồm:
- Phân cụm phân cấp (Hierarchical Data Clustering) còn đƣợc gọi là
phƣơng pháp phân cụm cây, trong đó 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ác thuật toán trộn (phƣơng pháp dƣới lên-Bottum up) và
phƣơng pháp tách (phƣơng pháp trên xuống – Top down).
- Phân cụm phân hoạch (Partition Based Data Clustering) là phƣơng pháp
phân cụm đang đƣợc dùng phổ biến nhất, đặc biệt cho các tập dữ liệu lớn với
số cụm k đƣợc xác định trƣớc; Các thuật toán là K-Means, K-centroid…
- Phân cụm dựa trên mật độ (Density Based Data Clustering):
DBSCAN…
- Phân cụm dựa trên lƣới (Grid Based Data Clustering): STING…
1.1.3. Phân cụm với giải thuật K-Means
Thuật toán K-Means (MacQueen, 1967)[2] là một trong những thuật toán học
không giám sát đơn giản nhất để giải quyết vấn đề phân cụm dữ liệu nổi tiếng,
với số cụm đƣợc xác định trƣớc là k cụm.
Thuộc nhóm phân cụm dữ liệu cứng/rõ, ý tƣởng chính là để xác định k trọng
tâm cho k cụm, một trọng tâm cho mỗi cụm. Những trọng tâm nên đƣợc đặt ở vị
trí thích hợp nhất vì vị trí khác nhau gây ra kết quả khác nhau. Vì vậy, sự lựa
chọn tốt hơn là đặt chúng càng nhiều càng tốt và cách xa nhau. Bƣớc tiếp theo là
với mỗi điểm thuộc tập dữ liệu cho trƣớc và liên kết nó với trọng tâm gần nhất.
Giả sử thiết lập tập đối tƣợng X={x1,x2,…xn} và k trọng tâm cụm
C={C1,C2,…Ck}; lấy w1,w2,…wk của k cụm.
Công thức C j 

1
Nj

x

với j=1, 2, …, jk trong đó Nj là số lƣợng cụm thứ j

xw j

k

Xác định hàm mục tiêu nhƣ sau: E    d ( x, ci ) trong đó ci là tâm của cụm
i 1 xw i

wi tƣơng ứng.


13
Với d(x,ci)= x  ci

2

là khoảng cách Euclide từ điểm đối tƣợng của mỗi cụm

đến các trung tâm cụm.
Thuật toán K-Means:
Đầu tiên, chọn ngẫu nhiên k trọng tâm cụm từ tập đối tƣợng. Tùy theo
khoảng cách mỗi đối tƣợng đến các trọng tâm, nó sẽ đƣợc phân vào các cụm gần
nhất, sau đó tính toán giá trị trung bình cho mỗi cụm. Quá trình này đƣợc lặp đi
lặp lại cho đến khi sự hội tụ của hàm chuẩn. Quá trình phân cụm K-Means đƣợc
biểu diễn bởi hình 1.4.
Đầu vào: k: số cụm
X: tập dữ liệu chứa n đối tƣợng
Đầu ra: một tập hợp k các cụm
Bƣớc 0. Xác định số lƣợng cụm k và điều kiện dừng
Bƣớc 1. Khởi tạo ngẫu nhiên k trọng tâm cụm {C1,C2,…Ck}
Bƣớc 2. Gom các đối tƣợng vào cụm mà nó gần tâm nhất
Bƣớc 3. Tính lại các tâm theo đối tƣợng đã đƣợc phân hoạch ở bƣớc 2
Lặp cho đến khi điều kiện dừng thỏa mãn.
Điều kiện dừng thƣờng chọn các điều kiện sau:
• Số lần lăp t=Tmax trong đó Tmax là số cho trƣớc
• |Et – Et-1|<∆ trong đó ∆ là hằng số bé cho trƣớc
• Tới khi các cụm không đổi
Khi tập dữ liệu không quá lớn thì ngƣời ta dùng điều kiện dừng thứ 3.
Bắt đầu
Input: k số cụm;
tập đối tƣợng;
Yes
Xác định các trọng
tâm cụm
Tính khoảng cách
giữa các đối tƣợng
đến k tâm

Sự thay đổi
thành viên
cụm?

No

Nhóm các đối tƣợng
vào cụm gần nhất

Hình 1.4. Sơ đồ thuật toán phân cụm K-means

Kết thúc


14

Hình 1.5. Mô phỏng quá trình phân cụm K-Means
Ví dụ quá trình phân cụm K-Means từ hình 1.5:
(1) Khởi tạo ngẫu nhiên trọng tâm cho mỗi cụm; ở đây là C1,C2,C3
(2) Gán mỗi đối tƣợng có khoảng cách gần nhất với trọng tâm vào một cụm;
(3) Xác định lại trọng tâm mới bằng cách tính toán giá trị trung bình của các
đối tƣợng trong mỗi cụm;
(4) Lặp đến khi trọng tâm cụm không đổi.
1.2. Lý thuyết tập thô
Lý thuyết tập thô (Rough Set Theory - RST) đƣợc phát triển bởi Zdzislaw
Pawlak, là phần mở rộng của lý thuyết tập hợp cho việc nghiên cứu hệ thống
thông minh đặc trƣng bởi các thông tin không chính xác, không chắc chắn và
không đầy đủ, chủ yếu dùng phân tích phân loại bảng dữ liệu.
Mục đích chính của việc phân tích tập thô là tổng hợp khái niệm xấp xỉ từ
các dữ liệu thu đƣợc, trong đó có sự mơ hồ, thiếu giá trị hoặc dự phòng của các
thuộc tính. Trong phần này, một số thuật ngữ đƣợc sử dụng thƣờng xuyên trong
tập thô đƣợc xác định.
1.2.1. Hệ thông tin và quyết định
Một tập hợp dữ liệu đƣợc biểu diễn nhƣ một bảng trong đó mỗi hàng đại diện
cho một trƣờng hợp, một sự kiện, một mô hình hay đơn giản là một đối tƣợng.
Mỗi cột đại diện cho một thuộc tính của từng đối tƣợng; các thuộc tính cũng có
thể đƣợc cung cấp bởi một chuyên gia hay ngƣời sử dụng. Bảng này đƣợc gọi là
hệ thông tin.


15
Hình thức hơn, hệ thông tin là một cặp I=(U,A) với U là tập hữu hạn đối
tƣợng khác rỗng đƣợc gọi là miền và A là một tập hữu hạn các thuộc tính khác
rỗng. Với mỗi a  A, a : U  Va tập Va là tập giá trị của thuộc tính a.
Ví dụ [1] Bảng 1.1, Một hệ thông tin bao gồm 8 đối tƣợng:
U={u1,u2,u3,u4,u5,u6,u7,u8}
Tập thuộc tính A={Color, Size } và miền giá trị cho từng thuộc tính là
Vcolor = {Green, Yellow, Red}, VSize = {Small, Medium, Big }.

1
2
3
4
5
6
7
8

Bảng 1.1. Hệ thống thông tin
Color
Size
Green
Big
Green
Small
Yellow
Medium
Red
Medium
Yellow
Medium
Green
Big
Red
Small
Red
Small

Bảng quyết định là dạng đặc biệt của hệ thông tin, kí hiệu S=(U,A) hay
S  (U , C  D) với tập thuộc tính A đƣợc phân thành hai tập rời nhau C và D,
trong đó C là tập các thuộc tính điều kiện, D là tập các thuộc tính quyết định sao
cho C  D  
Định nghĩa 1.[6] Bảng quyết định S  (U , C, D,V , f ) Trong đó:
- U  x1 , x 2

, x n  là tập hữu hạn đối tƣợng khác rỗng, đƣợc gọi là miền;

- A Tập hữu hạn thuộc tính khác rỗng: A  C  D và C  D   với C là một
tập thuộc tính điều kiện, D là tập thuộc tính quyết định

Va với Va là tập giá trị của thuộc tính a
- V  a
C D
-

f : UC  D V

là hàm thông tin sao cho

f  x, a  Va

với

a  C  D, x U
Ví dụ [1] Bảng quyết định 1.2, bảng này có 8 đối tƣợng nhƣ trong bảng 1.1
nhƣng có thêm thuộc tính quyết định (Shape). Trong bài toán phân lớp thì thuộc
tính quyết định chính là lớp của đối tƣợng cần xếp lớp. Trong ví dụ này thuộc
tính quyết định Shape có 3 giá trị là Circle, square và Triangle


1
2
3
4
5
6
7
8

16
Bảng 1.2. Bảng quyết định
Color
Size
Shape[D]
Green
Big
Circle
Green
Small
Circle
Yellow
Medium
Square
Red
Medium
Square
Yellow
Medium
Triangle
Green
Big
Circle
Red
Small
Triangle
Red
Small
Triangle

Một bảng quyết định là phù hợp nếu cho mỗi bộ đối tƣợng thuộc tính giá trị
là nhƣ nhau, các thuộc tính quyết định tƣơng ứng cũng giống hệt nhau.
1.2.2. Quan hệ bất khả phân biệt
Một hệ quyết định (hay bảng quyết định) đại diện cho kiến thức về đối tƣợng.
Tồn tại hai khả năng dƣ thừa thông tin: Các đối tƣợng giống nhau, không phân
biệt đƣợc lặp lại nhiều lần hoặc thậm chí một số các thuộc tính có thể là dƣ thừa.
Quan hệ hai ngôi R  X  X là tƣơng đƣơng khi:
- R có tính phản xạ : xRx , với mọi x  X
- R có tính đối xứng: xRy  yRx, với mọi x, y  X
- R có tính bắc cầu: xRy và yRz  xRz, với mọi x, y, z  X
Một quan hệ tƣơng đƣơng R phân hoạch tập đối tƣợng thành các lớp tƣơng
đƣơng. Lớp tƣơng đƣơng của một đối tƣợng x  X là tập tất cả các đối tƣợng

y  X có quan hệ R với x: khí hiệu xRy
Với mỗi tập con thuộc tính B   C  D  tạo ra quan hệ tƣơng đƣơng kí hiệu :

IND  B    x, y  U  U | a  B, f  x, a   f  y, a 
IND(B) đƣợc gọi là B_quan hệ bất khả phân, nếu  x, y   IND( B) thì x,y
không thể phân biệt đƣợc với nhau qua tập thuộc tính B. Ngƣợc lại là phân biệt
đƣợc với B. Với mọi x U lớp tƣơng đƣơng của x trong quan hệ IND(B) đƣợc
ký hiệu bởi [x]B. Quan hệ IND(B) phân hoạch tập đối tƣợng U thành các lớp
tƣơng đƣơng đƣợc ký hiệu U/IND(B) hay U/B
U / IND( B)  U / B   x B | x  U


17
Trong hệ quyết định, nếu x, y  D , a  C , f  x, a   f  y, a  tồn tại
f  x, D   f  y, D  thì (x,y) là nhất quán, ngƣợc lại là không nhất quán.

Ví dụ [1].Tập thuộc tính B= {Color, Size} trong Bảng 1.2 phân hoạch tập 8
đối tƣợng thành các lớp nhƣ sau (u1,u6),(u2),(u3,u5),(u4),(u7,u8)
Nhận xét: Ta thấy, các đối tƣợng u1và u6, u7 và u8 cùng một lớp tƣơng
đƣơng nên chúng không thể phân biệt với nhau trên tập thuộc tính {Color, Size}.
1.2.3. Xấp xỉ tập hợp
Trong lý thuyết tập thô, các khái niệm không rõ ràng đƣợc thay bằng cặp
khái niệm xấp xỉ gọi là xấp xỉ dƣới (lower approximation) và xấp xỉ trên (upper
approximation). Xấp xỉ dƣới bao gồm tất cả các đối tƣợng chắc chắn thuộc về
khái niệm, xấp xỉ trên bao gồm tất cả các đối tƣợng có thể thuộc về khái niệm.
Định nghĩa 2.[6] Cho một bảng quyết định S  (U , C, D,V , f )
B  C, X  U với U / B 

 x

B

| x  U  B1 , B2

, Bt  thì :

B  X    x | [x]B  X    Bi | Bi U / B, Bi  X  là B_xấp xỉ dƣới của X
B  X    x | [x]B  X     Bi | Bi U / B, Bi  X   là B_xấp xỉ trên của X

Tập BN B  X   B ( X )  B( X ) đƣợc gọi là B_vùng biên của X chứa các đối
tƣợng không thể xác định đƣợc có thuộc X hay không. Nếu BN B  X    (tức
B( X )  B ( X ) ) thì X đƣợc gọi là tập rõ (crisp), trái lại X đƣợc gọi là tập thô

(rough)

Hình 1.6. Mô tả bộ xấp xỉ trên-dưới
Định nghĩa 3. Cho một bảng quyết định S  (U , C, D,V , f ) B  C, X  U với

U / B   x B | x  U  B1 , B2

, Bt 

Tập POS B  X   B( X ) gọi là B_miền dƣơng (positive region) của X
NEGB  X   U  B  X  gọi là B_miền âm (negative region) của X (hay gọi

là miền ngoài chứa những đối tƣợng mà sử dụng thuộc tính trong B chắc chắn
không thuộc tập X)


18
Bảng 1.3. Các triệu chứng cảm cúm
U
u1
u2
u3
u4
u5
u6
u7
u8

Đau đầu



Không
Không
Không
Không
Không

Thân nhiệt
Bình thƣờng
Cao
Rất cao
Bình thƣờng
Cao
Rất cao
Cao
Rất cao

Cảm cúm
Không


Không
Không


Không

Ví dụ [1] Bảng 1.3, B={Đau đầu, Thân Nhiệt} ta có các lớp không phân biệt
đƣợc là {u1},{u2},{u3},{u4},{u5,u7},{u6,u8}
Nếu đặt X={u|u(Cảm cúm)=Có}={u2,u3,u6,u7}, lúc đó ta có:
B  X  = {u2,u3} và B  X  = {u2,u3,u5,u7,u6,u8}.
Từ đó ta có B-miền biên của X là tập :
BN B  X   B ( X )  B( X ) ={ u5,u6,u7,u8}.
1.2.4. Thuộc tính thiết yếu và không thiết yếu
Định nghĩa 4.[6] Cho một bảng quyết định S  (U , C, D,V , f ) , b  B  C
Nếu POSB  D   POSBb  D  thì b là không thiết yếu (not necessary) trong B
đối với D; Ngƣợc lại, thì b là thiết yếu trong B đối với D
Cho B  C nếu mọi phần tử trong B đối với D là thiết yếu, thì B đối với D
là độc lập.
Bảng 1.4. Bảng quyết định về bệnh cúm
U
Đau đầu
Đau cơ
Thân nhiệt
Cảm cúm
u1


Bình thƣờng
Không
u2


Cao

u3


Rất cao

u4
Không

Bình thƣờng
Không
u5
Không
Không
Cao
Không
u6
Không

Rất cao

Bảng 1.4 có 2 tập rút gọn là {Đau đầu, Thân nhiệt} và {Đau cơ, Thân nhiệt}.
Tập lõi {Thân nhiệt}. Vậy Thân nhiệt là thuộc tính thiết yếu duy nhất, các thuộc
tính Đau đầu, Đau cơ đều không cần thiết. Điều này có nghĩa rằng có thể loại bỏ


19
một trong hai thuộc tính Đau đầu hoặc Đau cơ (không thể bỏ đồng thời cả 2) mà
không ảnh hƣởng đến kết quả chuẩn đoán bệnh.
1.3. Giải thuật di truyền
Giải thuật di truyền cung cấp cách tiếp cận 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, hoặc bằng các biểu thức
ký hiệu, có khi ngay cả các chƣơng trình máy tính. Giải thuật di truyền đã đƣợc
ứng dụng thành công vào các lĩnh vực khác nhau và việc tối ƣu hóa khác. Việc
kết hợp giải thuật di truyền sẽ giúp quá trình phân cụm tối ƣu hơn.
1.3.1. Thông tin
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:
- Lớp hay quần thể (Population) là một tập hợp các lời giải
- Một nhiễm sắc thể (NST) hay cá thể (Chromosome) biểu diễn cho mỗi lời
giải
- NST đƣợc tạo thành từ các Gen
Quá trình tiến hóa đƣợc thực hiện trên một quần thể nhƣ là sự tìm kiếm các
lời giải có thể của bài toán. Nó đòi hỏi sự cân bằng giữa hai mục tiêu chính là
khai thác lời giải tốt nhất và tra xét toàn bộ không gian tìm kiếm. GA thực hiện
tìm kiếm theo nhiều hƣớng: duy trì tập hợp các lời giải có thể và khuyến khích
sự hình thành trao đổi thông tin giữa các hƣớng. Tập lời giải cần trải qua nhiều
bƣớc tiến hoá, một tập mới các cá thể đƣợc tạo ra tại mỗi thế hệ có chứa các cá
thể thích nghi nhất trong thế hệ cũ. Đồng thời khai thác có hiệu quả thông tin
trƣớc đó để suy xét trên điểm tìm kiếm mới với mong muốn có đƣợc sự cải thiện
qua từng thế hệ.
1.3.2. Các thành phần cơ bản trong giải thuật di truyền
1.3.2.1. Mã hóa nhiễm sắc thể
Trong giải thuật di truyền, cách mã hóa nhiễm sắc thể (The coding of
chromosome) quyết định đến hiệu quả của giải thuật và ảnh hƣởng đến việc lựa
chọn các toán tử trong các bƣớc lai ghép và đột biến. Với mỗi kiểu bài toán khác
nhau có nhiều cách mã hóa nhiễm sắc thể. Cách mã hoá nhiễm sắc thể là một


20
trong yếu tố quyết định trong xây dựng giải thuật di truyền gồm: mã hóa nhị
phân; mã hóa hoán vị; mã hóa theo giá trị.
Mã hoá nhị phân
Phƣơng pháp mã hoá nhị phân là phƣơng pháp mã hoá NST đơn giản và phổ
biến nhất. Trong đó, mỗi NST là một chuỗi nhị phân, mỗi bit trong nó có thể
biểu diễn một đặc tính của lời giải.
Ví dụ: Hai nhiễm sắc thể có chiều dài là 15.
Nhiễm sắc thể 1:
110110100011001
Nhiễm sắc thể 2:
110111101001111
Nhƣợc điểm là tạo ra không gian mã hoá lớn hơn so với không gian giá trị
của NST, hơn nữa có thể xảy ra trƣờng hợp các toán tử lai ghép và đột biến tạo
ra các cá thể không nằm trong không gian tìm kiếm và đòi hỏi phải có những
phƣơng pháp sửa chữa để làm cá thể tạo ra nằm trong không gian tìm kiếm.
Mã hoá hoán vị
Mã hoá hoán vị thƣờng đƣợc sử dụng trong các bài toán liên quan đến thứ tự,
trong đó mỗi NST là một chuỗi các số biểu diễn một trình tự. Việc thao tác trên
các NST chính là hoán vị các số trong chuỗi đó làm thay đổi trình tự của nó.
Ví dụ: Nhiễm sắc thể 1: 1 6 2 3 4 5 7 9 8
Nhiễm sắc thể 2: 9 1 7 3 5 8 6 4 2
Mã hoá theo giá trị
Mã hoá trực tiếp theo giá trị dùng trong các bài toán sử dụng giá trị phức tạp
nhƣ trong số thực. Trong đó, mỗi NST là một chuỗi các giá trị. Các giá trị có thể
là bất cứ cái gì liên quan đến bài toán, từ số nguyên, số thực, kí tự cho đến các
đối tƣợng phức tạp hơn. Trong cách mã hoá này ta thƣờng phải phát triển các
toán tử đột biến và lai ghép cho phù hợp với từng bài toán.
Ví dụ:
Nhiễm sắc thể 1: 1.23 4.32 0.35 2.98 3.54
Nhiễm sắc thể 2: (forward), (back), (right), (back), (left)
1.3.2.2. Quần thể ban đầu (The initial population)
Quần thể ban đầu[6] là một khía cạnh quan trọng của thuật toán di truyền, có
các đặc tính ảnh hƣởng quan trọng đến kết quả và hiệu quả. Để đạt đƣợc sự tối
ƣu toàn cầu, quần thể ban đầu trong không gian giải pháp nên đƣợc phân phối.
Thuật toán di truyền chuẩn đƣợc khởi tạo ngẫu nhiên quần thể ban đầu, có thể


21
dẫn đến phân phối không đồng đều trong không gian giải pháp, do đó ảnh hƣởng
đến hiệu suất của thuật toán, nếu kích cỡ quần thể quá nhỏ thì tính đa dạng của
quần thể bị hạn chế; còn nếu quá lớn sẽ hao phí tài nguyên và làm chậm quá
trình. Thƣờng phụ thuộc vào kích thƣớc chuỗi mã hóa.
Ví dụ: Nếu có NST 32 bits, thì kích thƣớc quần thể nên cao hơn 16.
50% quần thể ban đầu đƣợc tạo ra bởi thuật toán tiến hóa, 50% còn lại đƣợc
tạo ra một cách ngẫu nhiên. Điều này đã đạt mục đích của sự đa dạng giống.
1.3.2.3. Hàm thích nghi (The fitness function)
Trong các thuật toán di truyền, mức phạt là giải pháp tối ƣu có thể đạt đƣợc
bằng cách sử dụng các hàm thích nghi để đo độ tối ƣu hóa của mỗi cá thể trong
nhóm. Đƣợc định nghĩa là hàm đánh giá hay hàm mục tiêu thể hiện tính thích
nghi của cá thể hay độ tốt của lời giải.
Trong bài, các hàm thích nghi đƣợc xây dựng [6] nhƣ sau:
 card  x  card  POS X  D   
F (v )   . f  x   p  x      1 


 card  C  card  POSC  D   



Trong đó :
 card  x  
f  x   1 
 chỉ ra các nhiễm sắc thể x không gồm tỷ lệ các thuộc
 card  C  

tính điều kiện.


1
đảm bảo tập siêu tính toán thuộc tính giảm vƣợt trội để
card  POSC  D  

giảm số lƣợng các thuộc tính điều kiện.
p  x 

card  POS X  D  
card  POSC  D  

chỉ ra khả năng phân biệt các thuộc tính x.

1.3.2.4. Chọn lọc
Quá trình chọn lọc và đấu tranh sinh tồn trong tự nhiên làm thay đổi các cá
thể trong quần thể. Những cá thể có khả năng thích nghi tốt với điều kiện sống
thì có sự đấu tranh lớn hơn, do đó có thể tồn tại và sinh sản. Ngƣợc lại các thể sẽ
dần mất đi. Dựa vào nguyên lý này, chọn lựa các cá thể trong GA chính là cách
chọn các cá thể có độ thích nghi tốt để đƣa vào thế hệ tiếp theo hoặc để cho lai
ghép, với mục đích là sinh ra các cá thể mới tốt hơn. Mục tiêu cuối cùng của
phép chọn lọc là chọn ra các cá thể tốt với khả năng cao hơn.


22
Cơ chế lựa chọn
Cơ chế lựa chọn áp dụng khi quần thể P(t+1) đƣợc tạo ra từ việc chọn các cá
thể từ quần thể P(t) để thực hiện việc lai ghép và đột biến.
Một số cơ chế hay áp dụng để lựa chọn các cá thể từ một quần thể đƣợc giới
thiệu dƣới đây. Để tiện mô tả ta đƣa ra một số kí hiệu sau :
- Cách biểu diễn các NST thứ i là vi.
- Hàm tính độ thích nghi của nhiễm sắc thể vi là f(vi).
- Kích thƣớc quần thể là pop_size.
- Số nhiễm sắc thể cần chọn là N.
- Lựa chọn tỷ lệ (bánh xe Roulet )
- Trƣớc khi lựa chọn thì tính các giá trị sau:
- Tính tổng độ thích nghi của cả quần thể: F 

pop  size

 f v 
i

i 1

- Tính xác suất chọn pi cho mỗi nhiễm sắc thể vi : pi  f  vi  / F
i

- Tính vị trí xác suất qi của mỗi nhiễm sắc thể : qi   Pj
j 1

Cơ chế lựa chọn theo bánh xe Roulet đƣợc thực hiện bằng cách quay bánh
xe Roulet n lần. Mỗi lần chọn một NST từ quần thể hiện hành vào quần thể mới
bằng cách sau:
Phát sinh ngẫu nhiên một số r trong khoảng [0,1].
Nếu r < q1 (tức là r<1)thì chọn nhiễm sắc thể v1; ngƣợc lại thì chọn nhiễm sắc
thể thứ i ( 2  i  pop_size=M ) sao cho qi-1  r  qi
Với cơ chế lựa chọn nhƣ thế này thì có một số NST sẽ đƣợc chọn nhiều lần.
Điều này phù hợp với lý thuyết lƣợc đồ: Các NST tốt nhất thì có nhiều bản sao,
NST trung bình thì không đổi , NST kém thì mất đi.
Lựa chọn xếp hạng
Sắp xếp các NST trong quần thể theo độ thích nghi từ thấp đến cao.
Đặt lại độ thích nghi cho quần thể đã sắp xếp theo kiểu: NST thứ nhất có độ
thích nghi là 1, NST thứ hai có độ thích nghi là 2,.v.v., NST thứ pop_size có độ
thích nghi là pop_size.
Theo phƣơng pháp này việc một NST đƣợc chọn nhiều lần nhƣ trong lựa
chọn theo kiểu bánh xe Roulet đã giảm đi. Nhƣng nó có thể dẫn đến sự hội tụ
chậm và NST có độ thích nghi cao cũng không khác mấy so với các NST khác.
Lựa chọn theo cơ chế lấy mẫu ngẫu nhiên
Biểu diễn xác suất chọn các NST lên trên một đƣờng thẳng.


23
Đặt N điểm chọn lên đƣờng thẳng. Các điểm chọn này cách nhau 1/N, điểm
đầu tiên đặt ngẫu nhiên trong khoảng [0,1/N]
Với một điểm chọn, NST gần với nó nhất về bên phải sẽ đƣợc chọn. Phƣơng
pháp này có đặc điểm là các điểm chọn đƣợc phân bố đều trên trục số.
Lựa chọn tranh đấu
Lấy một số NST trong quần thể, NST nào có độ thích nghi cao nhất đƣợc
chọn. Lặp lại thao tác trên N lần.
1.3.2.5. Lai ghép
Sự kết hợp giữa tính trạng của cha mẹ để sinh ra thế hệ con là quá trình lai
ghép trong tự nhiên. Trong giải thuật di truyền, lai ghép là sự tổ hợp lại các tính
chất trong hai lời giải cha mẹ nào đó để sinh ra lời giải mới mà có đặc tính mong
muốn tốt hơn thế hệ cha mẹ.
Lai ghép đồng nhất (uniform crossover) là các gen có trong mỗi gen locus
của hai cá thể cùng xác suất lai ghép (crossover probability ) đƣợc trao đổi, để
hình thành hai cá thể mới. Hơn nữa, có một chút đột biến cơ bản trong các biến
thể đột biến.
1.3.2.6. Đột biến
Đột biến đƣợc định nghĩa là sự biến đổi tại một hay một số gen của NST ban
đầu để tạo ra một NST mới. Nó có thể tạo ra một cá thể mới tốt hoặc xấu hơn cá
thể ban đầu.Tuy nhiên trong giải thuật di truyền, ta luôn muốn tạo ra những phép
đột biến cho phép cải thiện lời giải qua từng thế hệ.
1.3.3. Quy trình thuật toán di truyền
Bƣớc đầu sinh ra một số lƣợng lớn, giới hạn các cá thể có nhiễm sắc thể
ngẫu nhiên - nghĩa là tạo một tập các chuỗi bit ngẫu nhiên. Tập các cá thể này
đƣợc gọi là quần thể ban đầu.
Sau đó, xác định hàm thích nghi. Giá trị này chính là độ "tốt" của lời giải hay
độ cao trong tìm kiếm theo kiểu leo đồi. Vì phát sinh ngẫu nhiên nên độ "tốt"
của lời giải hay tính thích nghi của cá thể trong quần thể ban đầu là không xác
định.
Để cải thiện tính thích nghi của quần thể ngƣời ta tìm cách tạo ra quần
thể mới. Có hai cách thao tác thực hiện trên thế hệ hiện tại để tạo ra một thế hệ
khác với độ thích nghi tốt hơn: Một là sao chép nguyên mẫu một nhóm các cá
thể tốt từ thế hệ trƣớc rồi đƣa sang thế hệ sau (Chọn lọc - selection). Hai là tạo


24
ra cá thể mới bằng cách thực hiện các thao tác sinh sản trên một số cá thể đƣợc
chọn từ thế hệ trƣớc (lai tạo - crossover, đột biến - mutalion). Thông thƣờng là
những cá thể có độ thích nghi cao.
Nếu điều kiện dừng thỏa mãn thì giải thuật dừng lại và trả về cá thể tốt nhất
cùng với giá trị hàm thích nghi của nó, nếu không thì quay lại bƣớc đánh giá
hàm thích nghi.
Giải thuật di truyền tổng quát [5] đƣợc mô tả nhƣ sau:
Bƣớc 1.[Bắt đầu] Tạo ngẫu nhiên quần thể P(t) có n nhiễm sắc thể
Bƣớc 2.[Thích nghi] Đánh giá độ thích nghi f(x) cho mỗi NST x quần thể P(t).
Bƣớc 3.[Quần thể mới] Tạo ra 1 quần thể mới bằng cách lặp lại các bƣớc dƣới
đây đến khi quần thể mới hoàn thiện.
(a). [Lựa chọn] Lựa chọn 2 nhiễm sắc thể cha mẹ từ quần thể trên dựa vào
độ thích nghi của chúng (độ thích nghi tốt hơn, cơ hội đƣợc lựa chọn lớn hơn).
(b). [Lai ghép] Với khả năng lai chéo, lai chéo các cha mẹ để tạo ra con mới.
Nếu lai chéo không đƣợc thực hiện, con cái chính là 1 bản y sao của cha mẹ.
(c). [Đột biến] Với khả năng đột biến, đột biến con mới tại mỗi quỹ tích (vị
trí trong nhiễm sắc thể).
(d). [Chấp nhận] Đặt con mới vào trong quần thể mới
Bƣớc 4. [Thay thế] Sử dụng quần thể mới đƣơc tạo ra cho bƣớc lặp tiếp theo
Bƣớc 5. [Kiểm thử] Nếu điều kiện cuối cùng đƣợc thỏa mãn, dừng lặp và trả về
giải pháp tốt nhất trong quần thể đang xét.
Bƣớc 6. [Lặp] Quay trở về bƣớc lặp thứ 2
Trong đó:
- Tập hợp các lời giải ban đầu đƣợc khởi tạo ngẫu nhiên.
- Trong vòng lặp thứ t, GA xác định tập các nhiễm sắc thể P(t) =
{x1t,x2t,...,xnt} bằng cách chọn lựa các NST thích nghi hơn từ P(t-1).
Mỗi NST xit đƣợc đánh giá để xác định độ thích nghi của nó và một số thành
viên của P(t) lại đƣợc tái sản xuất nhờ các toán tử Lai ghép và Đột biến


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×