Chi tiết các module của Genetic Algorithm

Một phần của tài liệu LUẬN VĂN:ÁP DỤNG PHưƠNG PHÁP TRÍCH CHỌN THUỘC TÍNH ĐẶC TRƯNG ĐỂ NÂNG CAO HIỆU QUẢ PHÂN LỚP KHI KHAI PHÁ DỮ LIỆU LỚN potx (Trang 40 - 44)

Để nâng cao tính chính xác của bộ phân lớp, chương trình sử dụng gói “Genetic Algorithm Tool” trong Matlab 7.0 để thực hiện việc tối ưu hóa tập dữ liệu đầu vào cho bộ phân lớp MPM.

Dữ liệu của ta bao gồm 119 cột thuộc tính sẽ được mã hóa ở dạng chuỗi nhị phân 0101…011 với ý nghĩa như sau: 0 là không chọn và 1 là chọn cột thuộc tính có số thứ tự tương ứng. Mỗi chuỗi nhị phân có độ dài cố định là 119 được xem như một chromosome trong thuật toán di truyền. Tiếp theo ta sẽ sử dụng MPM là hàm đánh giá (fitness function) để tìm ra chromosome tốt nhất ở thế hệ cuối cùng bằng cách cực tiểu hóa tỷ lệ lỗi.

Để tìm ra chromosome tốt nhất từ tập dữ liệu ban đầu, thuật toán di truyền cần thực hiện quá trình chọn lựa, lai ghép và đột biến.

38

Hình 5.2: 6 bước thực hiện để tìm ra chromosome tốt nhất.

 Chương trình gồm các hàm sau: - Gói Genetic Tool của Matlab 7.0.

- funtion tinhloi: trả về số lỗi tìm ra bằng cách so sánh nhãn mới của tập test sau khi đưa vào bộ phân lớp MPM với nhãn ban đầu.

- function fitness: sử dụng MPM là hàm đánh giá của thuật giải di truyền.  input: vector nhị phân có độ dài cố định 119.

 output: phần trăm lỗi được theo công thức sau

𝐸𝑟𝑟𝑜𝑟𝑅𝑎𝑡𝑒 = 𝑒𝑟𝑟𝑜𝑟

𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑒𝑠𝑡 𝑝𝑜𝑖𝑛𝑡𝑠∗ 100 Trong đó:

error: là số lỗi tìm ra bằng cách so sánh nhãn mới của tập test sau khi đưa vào bộ phân lớp MPM với nhãn ban đầu.

Thực hiện đột biến Thế hệ = 0 Tạo quần thể gồm các chromosome Xác định giá trị của hàm đánh giá với mỗi cá thể Chọn thế hệ kế tiếp Thực hiện lai ghép Chromosome tốt nhất Thế hệ tiếp theo >N thế hệ

39

Hình 5.3: Giá trị của hàm đánh giá tại mỗi thế hệ. Giải thích:

o Generation: số thế hệ.

o f-count: Giá trị tích lũy số lần đánh giá hàm fitness.

o Best f(x): giá trị tốt nhất của fitness function tại thế hệ hiện tại.

o Mean f(x): giá trị trung bình của fitness function tại thế hệ hiện tại.

o Stall Generations: số lượng thế hệ tính từ thời điểm cuối cùng có sự cải thiện trong giá trị của hàm fitness.

40

Hình 5.4: Hình ảnh biểu diễn hàm đánh giá của GA tại mỗi thế hệ. Giải thích:

o Hình vẽ biểu diễn giá trị của hàm đánh giá (fitness function) tại mỗi thế hệ: trục tung – fitness value (chiều dọc) thể hiện giá trị của hàm đánh giá; trục hoành – Generation (chiều ngang) thể hiện số thế hệ trong thuật toán di truyền.

o Chấm màu xanh và chấm màu đen tương ứng thể hiện giá trị tốt nhất và trung bình mà fitness function tính toán được tại mỗi thế hệ.

o Best: 10.7692 là giá trị tốt nhất của fitness function tính toán được tại thế hệ cuối cùng (ở ví dụ này thế hệ cuối cùng là 60).

o Mean: 11.5385 là giá trị trung bình của fitness function tính toán được tại thế hệ cuối cùng (ở ví dụ này thế hệ cuối cùng là 60).

41

Hình 5.5: Kết quả quá trình tối ưu tập thuộc tính của dữ liệu ban đầu. Giải thích:

o Current generation: Thế hệ tại thời điểm hiện tại.

o Status and results: Cửa sổ hiển thị trạng thái của thuật toán di truyền, giá trị của hàm đánh giá tại thế hệ cuối cùng và nguyên nhân thuật toán kết thúc.

o Final point: hiển thị chromosome tốt nhất (dạng nhị phân). - function DataSelection: (adsbygoogle = window.adsbygoogle || []).push({});

 input: vector nhị phân, ma trận dữ liệu ban đầu.

 output: ma trận mới gồm các cột thuộc tính được chọn tương ứng với vị trí có bit 1 trong chuỗi nhị phân.

Một phần của tài liệu LUẬN VĂN:ÁP DỤNG PHưƠNG PHÁP TRÍCH CHỌN THUỘC TÍNH ĐẶC TRƯNG ĐỂ NÂNG CAO HIỆU QUẢ PHÂN LỚP KHI KHAI PHÁ DỮ LIỆU LỚN potx (Trang 40 - 44)