Đưa dữ liệu về không gian mới

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng mô hình đa phân lớp dựa trên GA và SVM (Trang 40 - 44)

Như hình trên thấy rằng, một ánh xạ trên không gian hai chiều tới một không gian hai chiều đặc biệt khác, trên không gian cũ việc phân chia dữ liệu là một đường không tuyến tính, nhưng trên không gian đặc biệt thì nó lại là một đường tuyến tính do vậy việc phân lớp trên không gian đặc biệt là dễ tiếp cận hơn.

Vậy trong trường hợp tổng quát, việc học không tuyến tính tương đương với việc học tuyến tính. Việc này đồng nghĩa với việc chiếu không gian phi tuyến tính cố định chứa tập dữ liệu lên không gian đặc biệt khác mà trên đó việc học tuyến tính sử dụng được. Người ta đưa ra khái niệm hàm Kernel là một hàm K, sao cho với mọi x z, X

( , ) ( ). ( )

K x z   xz (3.1) Trong đó  là một ánh xạ từ X tới không gian đặc biệt F Ta có một số tính chất sau đây của hàm Kernel

Định Lý: Cho K1và K2là hàm Kernel trên XX, n

XR , aR, f . là một hàm số thực trên X

: m

X

 R

Với K3là một Kernel trên RmRm, và B là ma trận nửa đối xứng xác định dương

n n . Khi đó những hàm sau là Kernels:[8]

1 2 ( , ) ( , ) ( , ) K x zK x zK x z (3.2) 1 ( , ) ( , ) K x zaK x z (3.3) 1 2 ( , ) ( , ) ( , ) K x zK x z K x z (3.4)

( , ) ( ) ( ) K x zf x f z (3.5) 3 ( , ) ( ( ), ( )) K x zKxz (3.6) ( , ) K x zx Bz (3.7)

Hệ quả: Cho K x z1( , )là hàm Kernel trên XX, x z, X, và ( )x là một đa thức với hệ số xác định. Khi đó những hàm sau là Kernels:[7]

1 ( , ) ( ( , )) K x z  K x z (3.8) ( , ) exp( ( , )) K x zK x z (3.9) 2 2 ( , ) exp( / ) K x z   x z  (3.10)

3.Cấu trúc của cá thể và kỹ thuật tìm tham số tối ƣu dựa trên giải thuật di truyền

Các Kernel sử dụng vào mô hình hiệu quả nhất nếu chúng ta chọn được những tham số tốt nhất sao cho lỗi của mô hình là nhỏ nhất như các tham số:  hoặc tham số  … Các tham số này thuộc trường số thực bởi vậy, coi việc tìm kiếm các tham số trên là một quá trình tìm kiếm mù, nên ở đây ta sẽ áp dụng thuật toán GA để tìm kiếm các tham số tốt nhất. Thuật toán được đề xuất như sau:

Giả sử  là bộ tham số có giá trị thực mà chúng ta cần tìm:

Bƣớc 1: Tạo hàm giá F được xác định F=

1 1 N i i TongErr Err N

  , vớ i Erri là lỗi phát sinh trong quá trình ho ̣c đối với lớp thứ i

Bƣớc 2: Tạo quần thể ban đầu P.

Bƣớc 3 : Với mỗi bộ tham số trong P tính hàm Kernel, thực hiện việc kết hợp One against all và thuật tóan SVM dựa trên hàm Kernel đó để đa phân lớp. Việc tính toán hàm giá F  như sau:

1 1 ( ) n i i j Err j n     Với ( ) 1 ( ) 0 ( ) j j i j j khi h x y j khi h x y       

Ở đây h x( j) là nhãn đầu ra của mẫu thứ j trong n mẫu Test ở lớp thứ i trong quá trình phân lớp thứ i với các lớp còn lại

Bƣớc 4: Thực hiện các phép toán đột biến và lai ghép để đưa ra thế hệ mới.

Bƣớc 5: Lặp lại ở bước 3 cho tới một thế hệ nhất định hoặc không có sự biến đổi một số lượng nhất định trong thế hệ kế tiếp.

Bƣớc 6: Đưa ra được bộ giá trị  tốt nhất trong thế hệ cuối cùng

Như vậy trong quá trình huấn luyện mạng với tập Validation , viê ̣c tìm kiếm GA kết thúc đưa ra một quần thể tốt ứng với bộ giá trị  đủ tốt.

Bộ giá trị  đủ tốt được đánh giá dựa trên giá trị TongErr sau mỗi lần tập luyện, điều kiện dừng ở đây đó là sau một số thế hệ nào đó để đưa ra được đánh giá về hàm Kernel với tập dữ liệu.

Kết luận chƣơng

Chương này chúng tôi đưa ra mô hình đa phân lớp dựa trên GA và SVM, chúng tôi nghiên cứu các Kernel của SVM, các tham số của Kernel thuộc trường số thực nên việc sử dụng GA để tìm kiếm bộ tham số sẽ mang lại hiệu quả tốt hơn. Cho kết quả phân lớp có độ chính xác cao.

Chƣơng 4 - XÂY DỰNG CHƢƠNG TRÌNH MÔ PHỎNG

1.Giao diện chƣơng trình

1.1.Giới thiệu về MatLab

MATLAB là phần mềm nổi tiếng của công ty MathWorks, tên của phần mềm MATLAB bắt nguồn từ thuật ngữ “Matrix Laboratory”. MatLab là một ngôn ngữ hiệu năng cao cho tính toán kỹ thuật đã và đang được nhiều người sử dụng trong lập trình. Nó tích hợp tính toán, hiển thị và lập trình trong một môi trường dễ sử dụng với nhiều các ứng dụng tiêu biểu như: Hỗ trợ toán học và tính toán,phát triển thuật toán,mô hình, mô phỏng....

Đầu tiên nó được viết bằng FORTRAN để cung cấp truy nhập dễ dàng tới phần mềm ma trận được phát triển bởi các dự án LINPACK và EISPACK. Sau đó nó được viết bằng ngôn ngữ C trên cơ sở các thư viện nêu trên và phát triển thêm nhiều lĩnh vực của tính toán khoa học và các ứng dụng kỹ thuật.

Ngoài MATLAB cơ bản với các khả năng rất phong phú sẽ được đề cập sau, phần mềm MATLAB còn được trang bị thêm các ToolBox – các gói chương trình (thư viện) cho các lĩnh vực ứng dụng rất đa dạng như xử lý tín hiệu, nhận dạng hệ thống, xử lý ảnh, mạng nơ ron, giải thuật di truyền(GA), logic mờ, tài chính, tối ưu hóa, phương trình đạo hàm riêng, sinh tin học,... Đây là các tập hợp mã nguồn viết bằng chính MATLAB dựa theo các thuật toán mới, hữu hiệu mà người dùng có thể chỉnh sửa hoặc bổ sung thêm các hàm mới.

Với những điểm mạnh trên, tôi chọn và sử dụng MatLab để cài đặt mô hình

1.2.Các module trong hệ thống và giao diện của chƣơng trình

1.2.1. Module Genetic Algorithm

Để tìm ra bộ tham số(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:

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng mô hình đa phân lớp dựa trên GA và SVM (Trang 40 - 44)

Tải bản đầy đủ (PDF)

(65 trang)