Dự báo dựa trên hồi quy vector hỗ trợ và thuật toán di truyền

Một phần của tài liệu Kỹ thuật dự báo dựa theo hồi quy Vector hỗ trợ và thử nghiệm áp dụng dự báo thành tích vận động viên (Trang 31)

2.3.1. Giải thuật di truyền

Các thuật toán di truyền (Genetic Algorithm - GA) là thuật toán tìm kiếm dựa trên các nguyên tắc của sự tiến hóa tự nhiên đƣợc áp dụng để tối ƣu hóa các tham số SVR đồng thời dựa trên các dữ liệu huấn luyện [17]. GA là kỹ thuật tìm kiếm ngẫu nhiên, đƣợc giới thiệu bởi Holand, có thể đƣợc sử dụng để tìm các giải pháp tối ƣu toàn cục trong không gian tìm kiếm đa chiều phức tạp.

Thủ tục GA gồm các bƣớc sau [17]:

 Chọn một quần thể các nhiễm sắc thể đƣợc tạo ngẫu nhiên.

 Tính toán sự phù hợp của mỗi nhiễm sắc thể trong quần thể.

 Tạo các quần thể con bằng các toán tử di truyền: lựa chọn (selection), lai ghép (crossover), và đột biến (mutation).

 Kiểm tra điều kiện dừng. Nếu tập mới tạo ra không thỏa mãn điều kiện dừng thì lặp lại bƣớc 2 tới bƣớc 4.

Cụ thể, để thực hiện giải thuật GA cần phải tiến hành các bƣớc sau thật tốt [17].

Mã hóa (code).

Mã hóa là phƣơng thức mà biến xi đƣợc mã hóa dƣới dạng cấu trúc xâu. Nguyên tắc ánh xạ tuyến tính đƣợc sử dụng cho mục đích mã hóa nhƣ sau:

1 2 ) ( ) (     i l l i u i l i i x x x x

Giá trị mã hóa đƣợc tuân theo nguyên tắc: Giá trị mã hóa =   1 0 2 i l i i i s , với si (0,1)

Ví dụ, mã hóa nhị phân (0111), giá trị mã hóa nhƣ sau: (0111) = (1)20 + (1)21 + (1)22 + (0)23=7

Chiều dài mã hóa phụ thuộc vào độ chính xác yêu cầu cho các biến. Độ chính xác = i l l i u i x x 2 ) ( ) (   Hàm thích nghi (fitness).

Tùy thuộc vào hàm mục tiêu ban đầu mà ta phải tối đa hóa hoặc tối thiểu hóa hàm thích nghi. Hàm thích nghi đƣợc xác định theo cách sau:

F(x)=f(x) cho vấn đề tối đa hóa.

F(x)= 1/(1+f(x)) cho vấn đề tối thiểu hóa.

Giá trị của hàm thích nghi là một chuỗi mã hóa đặc biệt, gọi là chuỗi thích nghi. Giá trị phù hợp này đƣợc sử dụng để quyết định xem chuỗi nào sẽ đƣợc tiếp tục trong thế hệ tiếp theo.

Để thực hiện tối ƣu hóa, ba toán tử đƣợc đƣa ra:

 Tái tạo (reproduction).

 Lai ghép (crossover).

 Đột biến (mutation).

Tái tạo.

Toán tử này sẽ quyết định chuỗi nào sẽ đƣợc chọn vào thế hệ tiếp theo. Kết quả của quá trình tái tạo là hình thành một bể ghép đôi (mating pool), nơi mà các chuỗi trung bình đƣợc sao chép một cách xác suất.

Quy tắc đƣợc trình bày:

"Xác suất của việc chọn lọc trong bể ghép đôi" ∝ "sự phù hợp của chuỗi"

Xác suất lựa chọn xâu thứ i trong bể ghép đôi là:

   n j j i i F F p 1

Fi: là độ thích nghi của chuỗi thứ i, Fj là độ thích nghi của chuỗi thứ j, n là cỡ của quần thể.

n F F n i i    1

Chuỗi có độ thích nghi lớn nhất sẽ có số bản sao nhiều nhất trong bể ghép đôi. Điều này đƣợc thực hiện bằng “sự lựa chọn bánh xe roulette”. Giải thuật của thủ tục này nhƣ sau:

Bƣớc 1: sử dụng Fi để tính pi. Bƣớc 2: tính xác xuất tích lũy Pi.

Bƣớc 3: tạo ra n số ngẫu nhiên trong khoảng (0, 1).

Bƣớc 4: sao chép chuỗi đại diện cho số ngẫu nhiên đƣợc chọn trong vùng xác suất tích lũy vào bể ghép đôi. Chuỗi có độ thích nghi cao hơn sẽ có xác suất tích lũy lớn hơn và xác suất đƣợc sao chép trong bể ghép đôi là lớn hơn.

Vào thời điểm cuối của quá trình tái tạo, các chuỗi có độ thích nghi vừa đủ sẽ đƣợc sao chép vào bể ghép đôi và dừng quá trình tái tạo.

Lai ghép.

Sau khi toán tử chọn lọc đƣợc thực hiện, để tránh xảy ra quá trình tìm kiếm cục bộ, ngƣời ta cần đƣa một số chuỗi ngẫu nhiên vào trong quần thể. Để thực hiện điều này, phép toán lai ghép đƣợc thi hành. Trong phép toán lai ghép, một chuỗi mới sẽ đƣợc hình thành bằng cách trao đổi thông tin giữa các chuỗi trong bể ghép đôi. Ví dụ: 00|000 11|111 Cha 00|111 11|000 Con

Các chuỗi đƣợc chọn ngẫu nhiên và điểm lai ghép ngẫu nhiên đƣợc quyết định. Sử dụng phƣơng pháp này, các chuỗi tốt hơn hoặc tồi tệ hơn có thể đƣợc hình thành. Nếu chuỗi tồi tệ hơn đƣợc hình thành, thì chúng sẽ không tồn tại lâu dài vì quá trình tái tạo sẽ loại bỏ chúng. Nhƣng nếu quá trình lai ghép tạo ra hầu hết các chuỗi tồi tệ hơn, nó sẽ làm giảm mục đích của việc tái tạo. Để tránh đƣợc điều này, S.K. Lahiri và Nadeem M. Khalfe không đƣa tất cả các chuỗi trong quần thể vào quá trình lai ghép mà đƣa ra một xác suất lai ghép pc [27]. Vì vậy sẽ có 100pc số chuỗi trong quần thể tham gia lai ghép và có 100(1-pc) số chuỗi không tham gia lai ghép. Bằng cách này sẽ đảm bảo đƣợc một số chuỗi tốt sẽ đƣợc giữ nguyên trong bể ghép đôi. Thủ tục thực hiện nhƣ sau:

Bƣớc 1: chọn ngẫu nhiên 100pc số chuỗi trong bể ghép đôi. Bƣớc 2: lựa chọn cặp chuỗi ngẫu nhiên.

Bƣớc 3: quyết định điểm lai ghép trong mỗi cặp chuỗi.

Bƣớc 4: thực hiện lai ghép trên các cặp chuỗi bằng cách trao đổi số bit thích hợp.

Đột biến.

Đột biến liên quan đến việc thực hiện thay đổi trực tiếp các cá thể trong quần thể, có nghĩa là, bằng cách đảo ngẫu nhiên bit đƣợc chọn trong chuỗi nhất định. Mục tiêu của đột biến là thay đổi các cá thể trong quần thể với một số lƣợng nhỏ để thúc đẩy tìm kiếm địa phƣơng khi gần đạt tối ƣu. Đột biến đƣợc thực hiện bằng cách quyết định một xác suất đột biến, pm, và việc chọn chuỗi để thực hiện đột biến là ngẫu nhiên. Các thủ tục có thể đƣợc tóm tắt nhƣ sau:

Bƣớc 1: tính toán số đột biến gần đúng.

Số đột biến gần đúng = n/pm

Bƣớc 2: tạo ra các số ngẫu nhiên để quyết định đột biến có đƣợc thực hiện trên một cá thể đặc biệt hay không. Nếu các số ngẫu nhiên tạo ra của cá thể thấp hơn so với một số cho trƣớc (số này đƣợc chọn ngẫu nhiên) thì nhận giá trị "true", ngƣợc lại nhận giá trị “false”. Nếu kết quả là “true”, thực hiện các đột biến, ngƣợc lại thì không thực hiện đột biến.

Bƣớc 3: nếu kết quả ở bƣớc 2 là “true” thì một số ngẫu nhiên khác đƣợc tạo ra để quyết định điểm đột biến trên chiều dài của chuỗi. Tại các điểm đột biến, ta đảo giá trị của bit (0 thành 1, 1 thành 0). Khi kết thúc đột biến, chuỗi thu đƣợc sẽ đại diện cho thế hệ tiếp theo. Và các phép toán tƣơng tự đƣợc thực hiện trên chuỗi này cho đến khi đạt đƣợc giá trị tối ƣu.

Hình 4: lƣu đồ thuật toán giải thuật di truyền

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

Tạo ngẫu nhiên một quần thể gồm Npop nhiễm sắc thể mã hóa nhị phân.

− Giải mã nhiễm sắc thể thứ j (j=1, …, Npop) để có đƣợc vector giải pháp xj tƣơng ứng.

− Áp dụng xj cho mô hình SVR để tính đầu ra yk.

− Tính toán độ phù hợp  của nhiễm sắc thể thứ j.

- Xếp hạng nhiễm sắc thể giảm dần theo mức độ phù hợp.

Chọn ngẫu nhiên Npop/2 số cặp nhiễm sắc thể cha.

Tạo ra quần thể con bằng cách thực hiện lai ghép trên các cặp cha.

Thực hiện đột biến trên quần thể con

Cập nhật lại tập chỉ số: Ngen=Ngen+1

Yes

Giải mã nhiễm sắc thể có độ phù hợp tốt nhất để có đƣợc vector giải pháp tối ƣu x*

Ngen>= NMaxgen No Khởi tạo kiểu hàm nhân và các tham số của SVR

2.4. Kết luận chương 2

Trong chƣơng 2, luận văn tập trung nghiên cứu giải thuật di truyền, cách thức tiến hành thực hiện một bài toán với giải thuật di truyền. Giải thuật di truyền đƣợc biết đến nhƣ giải thuật tìm kiếm dựa theo học thuyết tiến hóa và nó cho phép đạt tới tối ƣu toàn cục. Vì vậy, ứng dụng giải thuật di truyền vào việc tối ƣu tham số của SVR là cách tiếp cận tốt. Chƣơng tiếp theo, luận văn sẽ thi hành thử nghiệm áp dụng Hồi quy vector hỗ trợ để dự báo thành tích chạy 100m của vận động viên.

CHƢƠNG 3

THỬ NGHIỆM ÁP DỤNG HỒI QUY VECTOR HỖ TRỢ DỰ BÁO THÀNH TÍCH VẬN ĐỘNG VIÊN

3.1. Bài toán dự báo dãy thành tích vận động viên 3.1.1 Dự báo thành tích thành tích chạy 100m 3.1.1 Dự báo thành tích thành tích chạy 100m

Dự báo thể thao là quá trình nghiên cứu sự ảnh hưởng của các yếu tố di truyền, hoặc là quá trình nghiên cứu, tìm kiếm những đặc tính đặc trưng cũng như sự ổn định của những đặc tính đó trong quá trình phát triển của đối tượng nghiên cứu [5].

Trong hoạt động Thể dục thể thao, để có đƣợc những VĐV thể thao tài năng, ngƣời ta thƣờng tiến hành dự báo và tuyển chọn năng khiếu thể thao.

Lý luận về tuyển chọn và dự báo thể thao đã hình thành từ những năm 60 của thế kỷ 20, nhƣng nó chỉ thực sự phát triển mạnh mẽ vào thập kỷ 80 với sự tham gia của nhiều nhà khoa học lớn trên thế giới. Các công trình khoa học trong lĩnh vực dự báo và tuyển chọn thể thao đƣợc thực hiện theo hai xu hƣớng

Một phần của tài liệu Kỹ thuật dự báo dựa theo hồi quy Vector hỗ trợ và thử nghiệm áp dụng dự báo thành tích vận động viên (Trang 31)