2.3.2. Ứng dụng giải thuật di truyền tối ƣu hóa tham số của SVR
Thông thƣờng, để tối ƣu hóa mô hình thực nghiệm, ngƣời ta sử dụng phƣơng pháp dựa vào việc tính gradient. Hầu hết, phƣơng pháp này yêu cầu hàm mục tiêu phải đồng thời thỏa mãn các tiêu chuẩn: đƣợc làm trơn, có tính liên tục, và khác nhau. Mặc dù mối quan hệ phi tuyến đƣợc xấp xỉ bởi mô hình SVR có thể đƣợc biểu diễn dƣời hình thức close – form nhƣng hàm mục tiêu vẫn không thể đảm bảo thỏa mãn tiêu chuẩn đƣợc làm trơn [17].
Các tham số của SVR bao gồm:
− Hàm nhân:
Kết thúc N
Tạo giá trị hàm mục tiêu của các chuỗi nhiễm sắc thể
Tạo các chuỗi nhiêm sắc thể bằng cách sinh sản từ các chuỗi nhiễm sắc thể hiện tại (Có xét đến ghép chéo và đột biến xảy ra)
Tính toán các giá trị mục tiêu của các chuỗi nhiễm sắc thể mới và đƣa nó vào quần thể mới
Kiểm tra điều kiện dừng
Tạo quần thể ban đầu của các chuỗi nhiễm sắc thể
− Tham số quy tắc C: C xác định chi phí cân bằng giữa việc tối thiểu hóa lỗi huấn luyện với việc tối thiểu hóa độ phức tạp của mô hình.
− Cỡ ống (tube) của hàm tổn thất không nhạy (): tƣơng đƣơng với vị trí chính xác xấp xỉ trên các điểm dữ liệu huấn luyện.
Khi lựa chọn các tham số cho mô hình SVR, hầu hết ngƣời ta vẫn tìm kiếm theo thủ tục chuẩn (thử - sai). Đầu tiên xây dựng một vài mô hình SVR dựa trên các tập tham số khác nhau, sau đó kiểm tra xem chúng có hợp lệ trên tập tham số tốt nhất thu đƣợc. Tuy nhiên, thủ tục này mất nhiều thời gian. Vì vậy, phƣơng pháp dựa vào gradient để tối ƣu không gian đầu vào của mô hình SVR là không có hiệu quả. Vì vậy yêu cầu đặt ra là phải tìm ra các phƣơng pháp khác để tối ƣu hóa không gian đầu vào của SVR. Trong nghiên cứu của Hang Xie và cộng sự [17] và S.K. Lahiri và cộng sự [27] đã đƣa ra một phƣơng thức mới là kết hợp SVR với giải thuật di truyền để tối ƣu hóa tất cả các tham số của SVR cùng một lúc.
Các tính năng chủ yếu đƣợc cung cấp bởi giải thuật GA là:
− Không cần thứ tự các phƣơng pháp tối ƣu, chỉ yêu cầu giá trị vô hƣớng của hàm mục tiêu.
− Khả năng xử lý các hàm mục tiêu phi tuyến, phức tạp, nhiễu.
− Thực hiện tìm kiếm toàn cục vì vậy có khả năng đạt hoặc gần đạt tới tối ƣu toàn cục.
− Thủ tục tìm kiếm của GA là ngẫu nhiên, không yêu cầu tiền điều kiện: tính trơn, tính liên tục và tính khác nhau của hàm mục tiêu.
Mục tiêu tối ƣu hóa SVR dựa trên GA đƣợc định nghĩa: [27] Tìm biến vector N chiều đầu vào x*=[x*1, …, x*N]T
tối ƣu để biểu diễn tối ƣu đầu ra yk, k=1,2,… K. Trong thủ tục GA, tìm vector giải pháp tối ƣu x* đƣợc bắt đầu từ việc khởi tạo ngẫu nhiên một quần thể các ứng cử viên (các giải pháp) có thể. Các giải pháp thƣờng đƣợc mã hóa dƣới dạng các chuỗi nhị phân (còn gọi là các nhiễm sắc thể), sau đó đƣợc kiểm tra để đo độ phù hợp trong việc thực hiện mục tiêu tối ƣu hóa. Sau đó thực hiện vòng lặp các phép toán sau:
− Sản sinh ra quần thể con bằng việc thực hiên lai ghép di truyền giữa các cặp nhiễm sắc thể cha tốt hơn này.
− Thực hiện đột biến các nhiễm sắc thể con.
Việc thực hiện vòng lặp này sẽ tạo ra một quần thể các ứng cử viên mới có khả năng thực hiện mục tiêu tối ƣu hóa tốt hơn quần thể trƣớc đó. Sau khi thực hiện lặp đi lặp lại quá trình trên, một chuỗi tốt nhất sẽ đƣợc hình thành để thực hiện mục tiêu tối ƣu hóa. Các bƣớc thực hiện tối ƣu hóa mô hình SVR dựa trên giải thuật GA nhƣ sau [27]:
Bước 1(khởi tạo): thiết lập tập chỉ số Ngen=0 và khởi tạo một quần thể Npop nhiễm sắc thể (chuỗi nhị phân) một cách ngẫu nhiên. Mỗi một chuỗi bao gồm lchr bít bằng với số biến đầu vào để thực hiện tối ƣu.
Bước 2 (tính toán sự phù hợp): giải mã nhiễm sắc thể mã hóa nhị phân thứ j, (j=1,…,Npop) để có đƣợc giá trị thập phân tƣơng ứng của vector giải pháp xj nhƣ sau: 1 2 ) ( , n l n L n U n l n n j S x x x x ; N n T N chr n l x x l 1 * * 1,...,
Trong đó, xnU và xnL là giới hạn trên và giới hạn dƣới của xn tƣơng ứng. ln là chiều dài của đoạn nhị phân thứ n, Sn chỉ giá trị thập phân tƣơng ứng của đoạn nhị phân thứ n. Tiếp theo, tùy thuộc vào mô hình đƣợc tối ƣu hóa, xj đƣợc sử dụng để tính toán đầu ra của mô hình SVR. Đầu ra này sẽ đƣợc dùng để tính toán giá trị phù hợp (j) của giải pháp ứng cử viên thứ j. Dựa vào việc tính toán điểm phù hợp của các giải pháp ứng cử viên trong quần thể hiện tại, các giải pháp này đƣợc sắp thứ hạng giảm dần theo điểm phù hợp.
Bước 3 (lựa chọn cha): Từ quần thể hiện tại, chọn ra Npop nhiễm sắc thể cha để hình thành nên bể ghép đôi. Các thành viên trong bể đƣợc sử dụng để sản sinh ra quần thể con có điểm phù hợp tƣơng đối cao.
Bước 4 (lai ghép): lựa chọn 1/2Npop nhiễm sắc thể cha trong bể ghép đôi để thực hiện lai ghép với xác xuất lai ghép Pc (0< Pc <=1). Trong lai ghép, các chuỗi cha đƣợc cắt một cách ngẫu nhiên trên cùng một điểm để mỗi chuỗi cha tạo thành 2 chuỗi con. Thực hiện trao đổi và kết hợp các chuỗi con của các chuỗi cha với nhau để tạo thành các chuỗi mới. Thực hiện lai ghép này đƣợc tiến hành trên tất cả các cặp nhiễm sắc thể cha để tạo thành một quần thể con mới.
Bước 5 (đột biến): Thực hiện đột biến trên các chuỗi nhiễm sắc thể con với xác suất đột biến Pm.
Bước 6: Tăng chỉ số Ngen = Ngen +1.
Bước 7: Lặp lại từ bƣớc 2 đến bƣớc 6 trên các chuỗi con mới cho đến khi hội tụ. Tiêu chuẩn hội tụ là Ngen > Ngenmax hoặc điểm phù hợp của chuỗi tốt nhất trong quần thể con có thay đổi không đáng kế hoặc không thay đổi trong các thế hệ tiếp theo. Sau khi hội tụ, các chuỗi có giá trị phù hợp cao nhất sẽ đƣợc giải mã để có đƣợc vector đầu vào tối ƣu x*.
Lƣu đồ thuật toán tối ƣu mô hình SVR dựa trên giải thuật GA đƣợc thể hiện ở hình 5.
Hình 5: lƣu đồ thuật toán tối ƣu mô hình SVR dựa trên giải thuật GA. Khởi tạo tập chỉ số Ngen=0