Các phép toán di truyền

Một phần của tài liệu Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản (Trang 38 - 85)

2.3.1. Mã hóa

Giải thuật di truyền bắt đầu với quần thể, tập của nhiều cá thể (nhiễm sắc thể).Nhiễm sắc thể bằng cách nào đó chứa thông tin về nghiệm mà nó biểu diễn.

Mã hóa nhiễm sắc thể là một trong những vấn đề cực kỳ quan trọng khi chúng ta bắt đầu giải quyết bài toán bằng giải thuật di truyền.Sự mã hóa các biến phụ thuộc vào từng bài toán, làm sao để chọn ra một phƣơng pháp mã hóa tốt để giải quyết bài toán là vấn đề khó. Ta đƣa ra hai nguyên tắc để chọn mã trong giải thuật di truyền là: nguyên tắc các khối xây dựng có ý nghĩa và nguyên tắc ký tự tối thiểu.

Nguyên tắc các khối xây dựng có ý nghĩa nhƣ sau: “Ngƣời dùng nên chọn một mã sao cho các sơ đồ ngắn, bậc thấp thì thích hợp đối với bài toán cơ bản và không liên quan tới vị trí cố định khác”.

Nguyên tắc ký tự tối thiểu: “Ngƣời dùng nên chọn những bộ ký tự tối thiểu cho phép thể hiện đƣợc tính tự nhiên của bài toán”

Phần này giới thiệu một vài phƣơng pháp mã hóa đã sử dụng thành công.

2.3.1.1 Mã hóa nhị phân

Cách đƣợc dùng phổ biến nhất để mã hóa nhiễm sắc thể là dùng chuỗi nhị phân. Mỗi nhiễm sắc thể chứa một chuỗi nhị phân, ký hiệu bằng các chuỗi bit 0 và 1. Mỗi bit trong chuỗi này có thể biểu diễn một đặc tính của nghiệm.

Nhiễm sắc thể A 01100101100101011100101 Nhiễm sắct thể B 111111100000110000011111

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.1.2 Mã hóa hoán vị

Mã hóa hoán vị đƣợc dùng trong các bài toán sắp xếp, chẳng hạn nhƣ bài toán ngƣời du lịch hoặc bài toán sắp xếp công việc.

Trong mã hóa hoán vị mọi nhiễm sắc thể là một chuỗi các số biểu diễn trong một dãy.

Ví dụ:

Mã hóa hoán vị chỉ hữu ích đối với các bài toán sắp xếp.

2.3.1.3 Mã hóa giá trị

Mã hóa giá trị trực tiếp có thể đƣợc dùng trong những bài toán có chứa các giá trị phức tạp, chẳng hạn nhƣ số thực.Nếu dùng mã hóa nhị phân cho loại bài toán này thì sẽ rất phức tạp.Trong mã hóa giá trị, mọi nhiễm sắc thể là một chuỗi chứa những giá trị nào đó.Những giá trị này có thể có dạng bất kỳ liên quan đến bài toán, từ số nguyên, số thực, ký tự cho đến những đối tƣợng phức tạp hơn.

Ví dụ:

Nhiễm sắc thể A 1.2324 5.3243 0.4556 2.3293.4545 Nhiễm sắc thể B ABDJEIFJDHDIERJFDLDFLFEGT Nhiễm sắc thể C (back), (back), (right), (forward), (left)

2.3.1.4 Mã hóa theo cây

Mã hóa theo cây đƣợc dùng chủ yếu cho các chƣơng trình (hoặc biểu thức) tiến hóa, cho lập trình di truyền.

Trong mã hóa theo cây, mọi nhiễm sắc thể là một cây chứa các đối tƣợng chẳng hạn nhƣ hàm hoặc lệnh trong một ngôn ngữ lập trình nào đó.

Nhiễm sắc thể A 153264798 Nhiễm sắc thể B 856723149

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Nhiễm sắc thể A Nhiễm sắc thể B

(+x( /5y )) (do_until step wall)

Mã hóa theo cây thích hợp cho những chƣơng trình tiến hóa. Ngôn ngữ lập trình di truyền thƣờng đƣợc dùng vì chƣơng trình đƣợc biểu diễn dƣới dạng này có thể dễ dàng phân giải cây, vì thế lai giống và đột biến có thể thực hiện một cách tƣơng đối dễ dàng.

2.3.2. Quá trình lai ghép

Sau khi quyết định cách mã hóa, chúng ta chuyển sang lai ghép. Đây là việc chọn các gen từ các nhiễm sắc thể của bố mẹ và tạo ra con mới. Quá trình lai ghép đƣợc chia làm 2 loại: lai ghép giá trị thực và lai ghép giá trị nhị phân.

2.3.2.1. Lai ghép giá trị thực

- Lai ghép rời rạc

Thực hiện một quá trình trao đổi giá trị xen giữa các cá thể cha mẹ để tạo ra các cá thể con. Xét ví dụ sau đây, có 2 cá thể với 3 gen nhƣ sau:

Cá thể 1: 12 25 5

Cá thể 2: 123 4 34

Các cá thể con có thể chọn tuỳ ý 1 trong các gen của 2 cá thể cha mẹ. Chẳng hạn ta có hai con sau:

Con 1: 123 4 5

Con 2: 12 4 5 - Lai ghép trung gian

+

x /

5 y

do until

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Lai ghép trung gian là phƣơng pháp chỉ áp dụng cho các giá trị thực, trong đó giá trị của cá thể con đƣợc chọn xung quanh và ở giữa của các cá thể cha mẹ.

Giá trị của cá thể cha mẹ đƣợc tính theo luật sau: Con = cha-mẹ-1 + (cha-mẹ-2 – cha-mẹ-1)

Với  là một hệ số tỉ lệ đƣợc chọn ngẫu nhiên trong khoảng [-d, 1+ d]. Tốt nhất nên chọn d = 0.25.

Ví dụ: Xét hai cá thể, mỗi cá thể có 3 gen:

Cá thể 1: 12 25 5 Cá thể 2: 123 4 34 Chọn  nhƣ sau: 1: 0.5 1.1 -0.1 2: 0.1 0.8 0.5  giá trị con là: Con 1: 67.5 1.9 2.1 Con 2: 23.1 8.2 13.5

Trong lai ghép trung gian, miền giá trị của các con có thể rộng hơn hình hộp giới hạn bởi giá trị của cá thể cha mẹ.

*Lai ghép tuyến tính

Tƣơng tự nhƣ lai ghép trung gian, nhƣng cùng một hệ số  đƣợc áp dụng với tất cả các biến của cá thể cha mẹ.

Xét ví dụ đã cho ở trên: Cá thể 1: 12 25 5 Cá thể 2: 123 4 34 Lấy: α1 = 0.5, α2 = 0.1ta có: con 1: 67.5 14.5 19.5 con 2: 23.1 22.9 7.9

Trong lai ghép tuyến tính có thể tạo ra cá thể con nằm tại vị trí bất kỳ trên đƣờng thẳng chứa hai cá thể cha/mẹ.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.2.2. Lai ghép giá trị nhị phân* Lai ghép đơn điểm * Lai ghép đơn điểm

Trong lai ghép đơn điểm (lai ghép chéo), một điểm lai ghép k [1,2,…,Nvar - 1] (với Nvar là số gen của một cá thể) đƣợc chọn ngẫu nhiên và các gen trên nhiễm sắc thể của các cá thể cha mẹ đƣợc đổi chỗ cho nhau tính từ vị trí k để tạo ra 2 con mới. Ví dụ: xét hai cá thể cha mẹ: Cá thể 1: 01110011010 Cá thể 2: 10101100101 Chọn vị trí lai ghép = 5  có hai cá thể con: Con 1: 01110 100101 Con 2: 10101 011010

Hình 2.3: Nguyên tắc thực hiện lai ghép chéo * Lai ghép đa điểm

Với phƣơng pháp lai ghép đa điểm, chúng ta có m vị trí lai ghép ki [1, 2, …, Nvar - 1]. (i = 1,…,m) đƣợc chọn ngẫu nhiên sao cho không lặp lại và đƣợc sắp thứ tự.

Sau khi chọn vị trí lai ghép ta thao tác tại từng vị trí lai ghép giống nhƣ với trƣờng hợp lai ghép chéo.

Ý tƣởng của phƣơng pháp lai ghép đa điểm và cả phƣơng pháp lai ghép khác là nhiễm sắc thể của các cá thể con đƣợc tạo thành từ các nhiễm sắc thể cha mẹ trên cơ sở có sự tráo đổi một hay nhiều phần của nhiễm sắc thể.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.4: Nguyên tắc thực hiện lai ghép đa điểm 2.3.3. Đột biến

Sau khi đƣợc lai ghép, các cá thể con phải trải qua quá trình đột biến. Đây là hiện tƣợng các cá thể con mang các tính trạng không có trong mã di truyền của cha mẹ. Các gen của cá thể con bị đột biến bằng cách thêm vào nó một giá trị ngẫu nhiên nhỏ nào đó với xác suất nhỏ. Xác suất đột biến của một gen tỉ lệ nghịch với số gen của cá thể.

2.3.3.1. Đột biến các giá trị thực

Thao tác đột biến thực hiện nhƣ sau:

Biến đƣợc đột biến = giá trị biến + range * delta Trong đó:

* range = 1/2 * miền giá trị của biến

* delta =  i i

a()2 , a(i) = 1 với xác suất 1/m, a(i) = 0, với m = 20

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.3.3.2 Đột biến các giá trị nhị phân

Với các chuỗi nhiễm sắc thể nhị phân, đột biến có nghĩa là lật trạng thái của một gen nào đó. Giả sử xét một cá thể có 11 gen và xảy ra đột biến gen số 4. Ta có bảng sau:

Bảng 2.1: Biểu diễn cá thể trước và sau đột biến

Trƣớc khi đột biến 0 1 1 1 0 0 1 1 0 1 0 Sau khi đột biến 0 1 1 0 0 0 1 1 0 1 0

2.3.4. Phép chọn lọc

Quá trình chọn lọc nhằm chọn ra các cá thể sẽ thực hiện tái sản xuất ra các cá thể con.Các cá thể đƣợc chọn phải là các cá thể có đặc tính tốt nhất, thích nghi nhất với môi trƣờng.Bƣớc đầu tiên đƣợc thực hiện là lƣợng giá độ thích nghi của các cá thể.Mỗi cá thể trong quần thể nhận đƣợc một giá trị biểu diễn khả năng thích nghi của nó phụ thuộc vào giá trị hàm mục tiêu tƣơng ứng với cá thể đó và tƣơng quan giá trị hàm mục tiêu của tất cả các cá thể trong quần thể. Độ thích nghi sẽ đƣợc dùng làm căn cứ cho các phƣơng pháp thực hiện chọn lọc trình bày sau đây.

Có rất nhiều phƣơng pháp thực hiện chọn lọc, các phƣơng pháp này đƣợc so sánh với nhau trên các tiêu chí sau:

* Độ tích cực chọn lọc: chênh lệch giữa xác suất chọn đƣợc cá thể tốt nhất với xác xuất trung bình chọn cá thể bất kỳ.

* Độ lệch: chênh lệch giữa độ thích nghi của một cá thể với xác suất đƣợc lựa chọn của nó.

2.3.4.1. Phương pháp chọn lọc dùng bánh xe Roulette

Đây đƣợc coi là phƣơng pháp chọn lọc đơn giản nhất, đƣợc tiến hành nhƣ sau: Các cá thể đƣợc ánh xạ vào các đoạn thẳng liên tiếp sao cho kích thƣớc của mỗi phần đoạn thẳng đó bằng độ thích nghi của cá thể tƣơng ứng.Sau đó một số ngẫu nhiên sẽ đƣợc tạo ra và những cá thể nào mà đoạn thẳng tƣơng ứng với nó chứa giá trị vừa tạo ra sẽ đƣợc chọn.Quá trình tiếp tục lặp lại đến khi chọn đƣợc số lƣợng cần thiết các cá thể.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ví dụ: Xét một quần thể gồm 11 cá thể, có độ thích nghi và xác suất đƣợc chọn thể hiện trong bảng sau:

Bảng 2.2: Độ thích nghi và xác suất của cá thể

Số cá thể 1 2 3 4 5 6 7 8 9 10 11 Độ thích nghi 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 Xác suất thích nghi 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0 Giả sử ta cần lựa chọn 6 cá thể để thực hiện lai ghép, khi đó ta cần tạo ra 6 số ngẫu nhiên có giá trị rải rác giữa 0 và 1. Chẳng hạn các số sau: 0.81, 0.32, 0.96, 0.01, 0.65, 0.42. Hình vẽ sau mô tả quá trình chọn lọc các cá thể.

Hình 2.6: Quá trình chọn lọc cá thể bằng phương pháp bánh xe Roulette

Sau đó, ta nhận đƣợc các cá thể mang số thứ tự sau: 1, 2, 3, 5, 6, 9.

2.3.4.2. Phương pháp chọn lọc Stochastic Universal Sampling

Thực hiện giống nhƣ phƣơng pháp bánh xe Roulette, nhƣng cách chọn các giá trị ngẫu nhiên nhƣ sau: giả sử cần chọn ra N cá thể, khi đó khoảng cách giữa các lát cắt là 1/N. Chúng ta chọn 1 số ngẫu nhiên trong đoạn [0, 1/N] rồi từ đó xác định các lát cắt. Xét ví dụ trên, chúng ta cần tìm 6 cá thể nên khoảng cách giữa các lát cắt là 1/6 = 0.16. Chọn một giá trị ngẫu nhiên trong khoảng [0, 0.16] chẳng hạn 0.1 ta có thao tác nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.7: Quá trình chọn lọc cá thể bằng phương pháp Stochastic Universal Sampling.

Các cá thể tìm đƣợc là 1, 2, 3, 4, 6, 8.

2.3.4.3. Phương pháp chọn lọc địa phương

Trong phƣơng pháp này, mỗi cá thể đều nằm trong một môi trƣờng khép kín gọi là lân cận địa phƣơng.Mỗi cá thể chỉ tƣơng ứng với các cá thể trong lân cận của mình.Các lân cận đƣợc xác định dựa vào cấu trúc quần thể và mỗi lân cận có thể đƣợc xem nhƣ một nhóm lai ghép tiềm năng.

Cấu trúc các lân cận có thể có các dạng:

* Một chiều: full ring, half ring

Hình 2.8: Mô tả các lân cận của cá thể * Hai chiều: full cross – full star và half cross – half star

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 2.9: Mô tả các lân cận của cá thể

Cơ chế chọn nhƣ sau: đầu tiên ta chọn một nửa số cá thể cần chọn bởi một phƣơng pháp bất kỳ nào khác, chẳng hạn nhƣ phƣơng pháp bánh xe Roulette. Sau đó với mỗi cá thể tìm đƣợc ra xác định một lân cận địa phƣơng và tìm ra cá thể lai ghép với nó trong lân cận vừa xác định.

2.3.4.4. Phương pháp lựa chọn loại bỏ

Trong phƣơng pháp lựa chọn này, các cá thể đƣợc sắp xếp theo chế độ thích nghi của chúng. Chỉ có những cá thể tốt nhất đƣợc lựa chọn để tạo nên các cặp bố mẹ. Tham số của phƣơng pháp lựa chọn loại bỏ là ngƣỡng lựa chọn Trunc, theo đó các cá thể có độ thích nghi nhỏ hơn Truncsẽ bị loại bỏ, các cá thể có độ thích nghi lớn hơnTrunc đƣợc chấp nhận.

2.4. Các tham số của thuật giải di truyền

2.4.1. Kích thước quần thể

Kích thƣớc quần thể cho biết có bao nhiêu nhiễm sắc thể trong quần thể (trong một thế hệ).Nếu có quá ít nhiễm sắc thể, giải thuật di truyền ít có khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm kiếm đƣợc sử dụng.Mặt khác, nếu có quá nhiều nhiễm sắc thể, giải thuật di truyền sẽ chạy chậm. Nghiên cứu cho thấy rằng không hữu ích khi tăng kích thƣớc quần thể quá một giới hạn cho phép, bởi vì nó không làm cho bài toán nhanh hơn.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Có thể ngạc nhiên là kích thƣớc quần thể rất lớn thƣờng không cải thiện đƣợc hiệu suất của giải thuật di truyền (theo nghĩa tốc độ tìm ra nghiệm). Kích thƣớc

quần thể tốt nên ở trong khoảng 20-30, tuy nhiên đôi khi kích thƣớc trong khoảng 50-100 vẫn đƣợc xem là tốt.Một số nghiên cứu cho thấy rằng kích thƣớc quần thể

tốt nhất phụ thuộc vào mã hoá, vào kích thƣớc của chuỗi mã hoá. Điều này có nghĩa là nếu bạn có nhiễm sắc thể 32 bit, kích thƣớc quần thể cần phải là 32, nhƣng đối với nhiễm sắc thể 16 bit quần thể phải có kích thƣớc gấp đôi so với kích thƣớc quần thể tốt nhất.

2.4.2. Xác suất lai giống

Xác suất lai giống cho biết việc lai giống đƣợc thực hiện thƣờng xuyên nhƣ thế nào.Nếu không có lai giống, con cái là bản sao chính xác của bố mẹ.Nếu có lai giống, con cái đƣợc tạo từ một phần của các nhiễm sắc thể của bố mẹ.Nếu xác suất lai giống là 100%, tất cả các con cái đều đƣợc tạo bởi lai giống.Nếu là 0%, toàn bộ thế hệ mới là bản sao chính xác các nhiễm sắc thể của quần thể cũ (điều này không có nghĩa là thế hệ mới là nhƣ nhau).

Xác suất lai giống cần phải cao, khoảng 80% - 90% (tuy vậy đối với một số bài toán, xác suất lai giống thích hợp là 60%)

2.4.3. Xác suất đột biến

Xác suất đột biến cho biết các phần của nhiễm sắc thể thay đổi thƣờng xuyên nhƣ thế nào.Nếu không có đột biến, con cái đƣợc lấy từ lai giống (hoặc bản sao) mà không thay đổi gì cả.Nếu có đột biến, một phần của nhiễm sắc thể bị thay đổi.Nếu xác suất đột biến là 100%, toàn bộ nhiễm sắc thể thay đổi.Nếu xác suất đột biến là 0%, toàn bộ nhiễm sắc thể không thay đổi gì cả.Xác suất đột biến trong tự nhiên khoảng 0.03%.

Đột biến đƣợc thực hiện để tránh việc sa vào các cực trị cục bộ, nhƣng điều này không nên xảy ra quá thƣờng xuyên, vì lúc đó giải thuật di truyền sẽ chuyển sang tìm ngẫu nhiên. Xác suất đột biến cần phải rất thấp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.4.4. Số lượng thế hệ

Số lƣợng thế hệ chính là số vòng lặp đã thực hiện đến khi thỏa điều kiện dừng (điều kiện tối ƣu), mỗi vòng lặp là một thế hệ mới đƣợc sinh ra.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

CHƢƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO PHÂN LOẠI TÀI LIỆU DẠNG VĂN BẢN

3.1. Phân loại văn bản

3.1.1. Khái niệm

Phân loại văn bản có thuật ngữ tiếng Anh là Text Categorization và Text Classification. Phân loại văn bản đƣợc định nghĩa nhƣ quá trình gán các văn bản

Một phần của tài liệu Ứng dụng giải thuật di truyền vào phân loại tài liệu dạng văn bản (Trang 38 - 85)