1. Trang chủ
  2. » Công Nghệ Thông Tin

Giải thuật di truyền GA Clustering

35 158 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 7,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tìm kiếm với giải thuật di truyền, ứng dụng của giải thuật di truyền, Giải thuật di truyền GA Clustering, tìm kiếm ngẫu nhiên với giải thuật di truyền, lai ghép và đột biến trong giải thuật di truyền,mã hóa trong giải thuật di truyền.

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

BÀI TẬP NHÓM

KỸ THUẬT PHÂN CỤM DỰA TRÊN

GIẢI THUẬT DI TRUYỀN

Chuyên ngành : Hệ thống thông tin Giảng viên : T.S Vũ Văn Thỏa

Hà Nội, Tháng 8 - 2018

Trang 2

BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

BÀI TẬP NHÓM

KỸ THUẬT PHÂN CỤM DỰA TRÊN

GIẢI THUẬT DI TRUYỀN

Chuyên ngành : Hệ thống thông tin Giảng viên : T.S Vũ Văn Thỏa

Hà Nội, Tháng 8 - 2018

Trang 21

19

1 Phân tích

1.1 Phân tích bài toán

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 Thuật toán 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 Theo các nghiên cứu cho thấy 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ủa các CSDL 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 CSDL, vì mỗi cách thức biểu diễn khác nhau sẽ có một thuật toán phân cụm thích nghi Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề cơ bản một cách trọn vẹn và thích nghi 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 càng 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 KPDL Một điểm khác nữa là các hàm mục tiêu của các thuật toán phân cụm như K-means thường tồn tại nhiều điểm tối ưu cục bộ Do đó mà ta tập trung vào tìm hiểu “Kỹ thuật phân cụm trên cơ sở thuật toán di truyền”; kỹ

Trang 22

20

thuật tiến hóa được thiết kế để khắc phục tính chất cục bộ của các thuật toán phân cụm

1.2 Yêu cầu và kết quả cần đạt được

Mục tiêu trong bài báo này là đưa ra một phương pháp phân cụm không chịu bất kỳ sự chi phối nào của bộ dữ liệu được xem xét, trong khi đó, như đã nêu ở mục 1, nó cần phải đơn giản như thuật toán K-means Mặt khác, nó không nên chịu

sự giới hạn của thuật toán K-means được biết đến để cung cấp sự phân cụm tối ưu phụ thuộc vào sự lựa chọn các cụm khởi tạo Những nguyên tắc của thuật toán K-means được tận dụng để xây dựng một kỹ thuật như vậy, cùng với khả năng của GAs cho việc cung cấp các nhiễu loạn điều kiện cần thiết để mang đến điều kiện địa phương tốt nhất

Qua các kết quả thực nghiệm các thuật toán trên, ta thấy rằng đối với những cụm dữ liệu kiểu số và số thuộc tính nhỏ thì thuật toán GA-clustering cho kết quả tối ưu hơn so với K-mean Song do sử dụng thuật toán GA kết hợp với K-mean nên thuật toán GA-clustering cũng không tránh khỏi một số giới hạn của K-mean như: K-mean là chỉ áp dụng với dữ liệu có thuộc tính số và khám 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 Nhưng thuật toán này cũng làm giảm đi được một số hạn chế của K-mean, hình dạng của cụm đa dạng hơn và bớt nhạy cảm với nhiễu nhờ quá trình lai ghép, đột biến, trọn lọc của thuật toán di truyền

Trong mỗi thế hệ của thuật toán di truyền, số cá thể của quần thể càng lớn thì sẽ càng có nhiều sự lựa chọn cho quá trình di truyền Và số lượng thế hệ cũng ảnh hưởng tới quá trình di truyền Nếu số lượng cá thể rất nhỏ thì có thể không phát huy hết ưu điểm của thuật toán di truyền, còn nếu số lượng thế hệ càng lớn thì càng làm tăng mức độ phức tạp của thuật toán

Tóm lại, sau khi thực nghiệm thuật toán K-means và GA-clustering Kết quả của K-means luôn có số cụm đúng như số cụm ban đầu muốn tạo ra nhưng kết quả này không phải là kết quả hoàn toàn chính xác, nó mang tính chất tối ưu

Trang 23

21

cục bộ Kết quả của GA-clustering không hoàn toàn trả ra số cụm đúng như số cụm ban đầu muốn tạo, nó thể hiện kết quả mang tính chất tối ưu hơn

2 Thuật toán tác giả đã lựa chọn

Từ mục tiêu là đề xuất một kỹ thuật phân cụm dựa trên GAs, một tiêu chí được yêu cầu là cần tối ưu hóa để đưa ra cụm cuối cùng Một tiêu chí trực giác đơn giản là cụm lan truyền như trong thuật toán K-means cần phải được giảm thiểu tối

đa để phân cụm tốt Tuy nhiên, không giống như thuật toán K- means là có thể bị

sa lầy ở các giá trị mà không phải là tối ưu, các kỹ thuật được đề xuất nên cung cấp kết quả tốt bất chấp hình dạng xuất phát Để hướng tới mục tiêu này, tác giả đã tích hợp sự đơn giản của thuật toán K-means với khả năng của GAs trong việc tránh điều kiện địa phương tốt nhất để phát triển một thuật toán di truyền dựa trên kỹ thuật phân cụm gọi là thuật toán di truyền phân cụm (GA-clustering) Nó được biết

là mô hình tinh hoa của GAs cung cấp chuỗi tối ưu hóa như số lần lặp đến vô cùng khi khả năng đi từ bất kỳ tập hợp nào đến một trong các chuỗi tối ưu là lớn hơn 0

Vì vậy, trong điều kiện hạn chế, một kỹ thuật phân cụm dựa trên GA hứa hẹn sẽ cung cấp một cụm tối ưu hóa đối với các số liệu phân nhóm được xem xét

2.1 Thuật toán di truyền (GAs)

GAs là một kỹ thuật của khoa học máy tính nhằm tìm kiếm giải pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial optimization), là một phân ngành của thuật toán tiến hóa, vận dụng các nguyên lý của tiến hóa như: di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo Nó sử dụng ngôn ngữ máy tính để mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu tượng (gọi là những nhiễm sắc thể), của các giải pháp có thể (gọi là những cá thể) cho bài toán tối ưu hóa vấn đề Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn GAs cũng như các thuật toán tiến hoá, đều được hình thành dựa trên một quan niệm được coi là một tiên đề phù hợp với thực tế khách quan Đó là quan niệm

"Quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã

Trang 24

2.1.1 Các tính chất của thuật toán di truyền

GAs là kỹ thuật chung, giúp giải quyết vấn đề bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin), trong điều kiện qui định sẵn của môi trường Mục tiêu của GAs không nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu Một cá thể trong GAs sẽ biểu diễn một giải pháp của bài toán Tuy nhiên, không giống với trong tự nhiên là một cá thể có nhiều nhiễm sắc thể (NST) mà để giới hạn trong GAs, ta quan niệm một cá thể có một NST Do đó, khái niệm cá thể và NST trong GAs coi như là tương đương Một NST được tạo thành từ nhiều gen, mỗi gen có thể có các giá trị khác nhau để quy định một tình trạng nào đó Trong GAs, một gen được coi như một phần tử trong chuỗi NST Một tập hợp các cá thể

có cùng một số đặc điểm nào đấy được gọi là quần thể Trong thuật giải di truyền,

ta quan niệm quần thể là một tập các lời giải của một bài toán

2.1.2 Thuật toán

Sơ đồ quá trình tính toán của thuật toán di truyền:

Trang 25

Bước 2: Khởi tạo quần thể ban đầu: xác định bằng phương pháp tạo số ngẫu nhiên để tạo giá trị cho các nhiễm sắc thể cho quần thể ban đầu Tùy vào cách biểu diễn của các nhiễm sắc thể mà ta chọn phương pháp tạo số ngẫu nhiên phù hợp

Bước 3: Đánh giá các nhiễm sắc thể bằng hàm thích nghi đã xác định ở bước 1 Trong bước này, ngoài việc đánh giá các nhiễm sắc thể riêng rẽ, chúng ta còn có thể đánh giá độ thích nghi của một nhiễm sắc thể hay cả quần thể Nếu một

Trang 26

24

nhóm hay cả quần thể có độ thích nghi "trung bình" (theo tiêu chí của từng trường hợp của người lập trình) thấp thì có thể loại nhóm nhiễm sắc thể hay quần thể đó ra khỏi quá trình di truyền

Bước 4: Thực hiện quá trình di truyền thông qua các cơ chế lai ghép và đột biến Có thể thực hiện lần lượt hai quá trình này hoặc thực hiện đồng thời theo các phương pháp đã đề cập bên trên Trong quá trình thực hiện thuật toán di truyền, giai đoạn này là giai đoạn mà mỗi người có thể thực hiện theo những phương pháp rất khác nhau Giai đoạn này cũng là giai đoạn quyết định tới sự thành công của thuật toán Người thực hiện cũng có thể đưa ra những phương thức tiến hành lai ghép hay đột biến mới trong giai đoạn này Trong quá trình thực hiện, để có được một bộ các thông số lai ghép hay đột biến hiệu quả, người lập trình thường phải trải qua nhiều bước tính toán thử Khâu này phụ thuộc nhiều vào kinh nghiệm và

kỹ năng tính toán của người lập trình

Bước 5: Tạo quần thể mới bằng quá trình chọn lọc Quá trình này cũng dựa vào đánh giá các nhiễm sắc thể thông qua hàm thích nghi Cá thể nào có độ thích nghi cao sẽ được gữ lại cho thế hệ kế tiếp Cũng giống như ở bước 3, chúng ta có thể sử dụng những hàm thích nghi phù hợp để đánh giá từng cá thể dơn lẻ hoặc cả một nhóm các cá thể Sau quá trình này, nhóm cá thể nào thỏa mã tiêu chuẩn đánh giá với mức độ từ cao xuống thấp sẽ được dưa vào quần thể mới

Bước 6: Đánh giá quần thể vừa có được trong bước 5 Thông thường có hai tiêu chí để dừng quá trình di truyền tại bước này Thứ nhất, độ thích nghi của từng

cá thể và cả quần thể thỏa mãn một điều kiện hội tụ đã được đặt ra ban đầu Các điều kiện hội tụ thể hiện mức độ chấp nhận được của kết quả tìm được Thứ hai, quần thể mới tạo thành là quần thể ở thế hệ thứ (N+1) với N là số thế hệ dự định tính toán đã giả thiết ban đầu Trong khi thực hiện các quá trình di truyền, những người tính toán có thể đưa ra những tiêu chí riêng để dừng quá trình di truyền Các tiêu chí đưa ra góp phần quyết định tới thành công của thuật toán

2.1.3 Ưu, nhược điểm của thuật toán

Ưu điểm:

Trang 27

25

- Khả năng tìm kiếm của thuật toán GA để tìm kiếm các trung tâm cụm thích hợp cho kết quả tương đối tối ưu

- Không chịu bất kỳ sự chi phối nào của bộ dữ liệu được xem xét Thuật toán

GA cung cấp chuỗi tối ưu hóa với số lần lặp đến vô cùng từ bất kỳ tập hợp nào Nó có khả năng thực hiện tìm kiếm trong cảnh quan phức tạp, rộng và

đa chiều

- Không chịu sự giới hạn của thuật toán K-means Thuật toán GA cho kết quả tốt hơn giá trị tốt nhất của thuật toán K-means

Nhược điểm:

- Phức tạp hơn thuật toán K-means

- Thời gian tính toán lâu

2.2 Thuật toán K-means

Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Trong thực tế, nó đo khoảng cách tới giá trị trung bình của các đối tượng dữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập các trung tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán tại trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình lặp này dừng khi các trung tâm hội tụ

Hình 2 Các thiết lập để xác định ranh giới các cụm ban đầu

Trang 28

26

Mục đích của thuật toán K-means là sinh k cụm dữ liệu {C1, C2, , Ck} từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi={xi1, xi2, ,xid}, i= 1 đến n, sao cho hàm tiêu chuẩn:

Trong đó:

Mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tượng

Khoảng cách giữa hai đối tượng được xác định theo khoảng cách Euclide

Hình 3 Tính toán trọng tâm các cụm mới 2.2.1 Thuật toán K-means

Thuật toán K-means bao gồm các bước cơ bản sau:

đạt giá trị tối thiểu

Trang 29

27

K- means biểu diễn các cụm bởi các trọng tâm của các đối tượng trong cụm

đó Thuật toán K-means chi tiết được trình bày :

Bước1: Khởi tạo

Chọn k trọng tâm ban đầu trong không gian Rd (d là số chiều của

dữ liệu).Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm

Bước2: Tính toán khoảng cách

Đối với mỗi điểm Xi (1in), tính toán khoảng cách của nó tới mỗi trọng tâm mj (1jk) Sau đó tìm trọng tâm gần nhất đối với mỗi điểm

Bước3: Cập nhật lại trọng tâm

Đối với mỗi1jk, cập nhật trọng tâm cụm mj bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu

Điều kiện dừng:

Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi

End

Trang 30

- MSE : Sai số bình phương trung bình hay là hàm tiêu chuẩn

- D 2 (x[i]; m[j] : Khoảng cách Euclide từ đối tượng thứ i tới trọng tâm j;

- OldMSE m’[j], n’[j] : Biến tạm lưu giá trị cho trạng thái trung gian cho các biến tương ứng

Thuật toán K-means trên được chứng minh là hội tụ và có độ phức tạp tính toán

là Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều,là số vòng lặp, Tflop 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-means 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-means là chỉ áp dụng với dữ liệu có thuộc tính số và khám hình cầu, K-means 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

Trang 31

29

PCDL của thuật toán K-means 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ủak-means 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ế 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

2.2.2 Ưu, nhược điểm của thuật toán

Ưu điểm:

- Phương pháp đơn giản nhưng hiệu quả

- Có khả năng tự tổ chức và được sử dụng trong tiến trình khởi tạo trong nhiều thuật toán khác

- Hiệu suất tương đối, thường kết thúc ở tối ưu cục bộ, có thể tìm được tối ưu toàn cục

Nhược điểm:

- Số cụm K phải được xác định trước và chỉ áp dụng được khi xác định được giá trị trung bình

- Không thể xử lý nhiễu và outliers

- Không thích hợp để khám phá các dạng lồi hay cụm có kích thước khác nhau

- Đây là thuật toán độc lập tuyến tính

2.3 Thuật toán GA-clustering

Thuật toán di truyền là tìm kiếm ngẫu nhiên và các kỹ thuật tối ưu hóa theo các nguyên tắc của sự tiến hóa và di truyền tự nhiên, có một số lượng lớn số song song tiềm ẩn Thuật toán di truyền thực hiện tìm kiếm trong mô hình rộng, phức tạp và cung cấp các giải pháp gần tối ưu cho các đối tượng hoặc hàm thích nghi của một giải pháp tối ưu Trong thuật toán di truyền, các thông số của không gian tìm kiếm được mã hóa dưới dạng chuỗi (được gọi là nhiễm sắc thể) Một tập hợp

Trang 32

30

chuỗi như vậy được gọi là một quần thể Ban đầu một quần thể được ngẫu nhiên tạo ra, trong đó các đại diện cho các điểm khác nhau trong không gian tìm kiếm, Hàm mục tiêu và hàm thích nghi được kết hợp với một chuỗi đai diện cho mức độ thích hợp của chuỗi Dựa trên nguyên tắc tồn tại cho thích hợp nhất một vài chuỗi được lựa chọn và gán cho một số bản sao mà sẽ dùng để lai ghép Các phép toán lai ghép sinh học như điểm lai ghép và đột biến được sử dụng cho các chuỗi để tạo

ra các chuỗi trong thế hệ mới Quá trình lựa chọn, lai ghép và đột biên vẫn tiếp tục cho một số thế hệ nhất định hoặc cho đến khi thỏa mãn điều kiện dừng Các bước

cơ bản của thuật toán di truyền cho phân cụm dữ liệu bao gồm khởi tạo đại diện cá thể và quần thể, tính toán độ thích nghi, lựa chọn, lai ghép và đột biến Mỗi cá thể đại diện cho mội đặc điểm không gian nhỏ Độ thích nghi đại diện cho kết quả phân cụm mà có liên quan đến cá thể đại diện Độ thích nghi lớn hơn, dữ liệu dày đặc hơn và kết quả phân cụm sẽ tốt hơn

3 Nêu các lớp bài toán tương tự có thể áp dụng thuật toán trong bài báo a) Bài toán người du lịch (TSP):

TSP được mô tả như sau: Một du khách muốn thăm những thành phố anh quan tâm; mỗi thành phố thăm qua đúng một lần; rồi trở về điểm khởi hành Biết trước chi phí di chuyển giữa hai thành phố bất kỳ Yêu cầu của bài toán là xây dựng một lộ trình thỏa các điều kiện trên với tổng chi phí nhỏ nhất

TSP là bài toán tối ưu tổ hợp, không gian tìm kiếm là tập các hoán vị của n thành phố Bất cứ hoán vị nào của n thành phố cũng là một lời giải chấp nhận được Lời giải tối ưu là một hoán vị với chi phí tối thiểu của hành trình Không gian tìm kiếm là n! Có thể giải bài toán này bằng nhiều phương pháp: phương pháp nhánh cận, phương pháp gần đúng hay những phương pháp tìm kiếm heuristic Phương pháp nhánh cận đã được chứng minh đạt sự tối ưu về lời giải, tuy nhiên phương pháp này lại mất khá nhiều thời gian khi số đỉnh của đồ thị lớn

Trong những năm gần đây, đã xuất hiện nhiều thuật toán đạt gần đến lời giải tối ưu của bài toán TSP: láng giềng gần nhất, đảo gần nhất, đảo xa nhất…và TSP cũng trở thành một đích ngắm của cộng đồng GAs

Ngày đăng: 21/08/2018, 10:51

TỪ KHÓA LIÊN QUAN

w