Lựa chọn các thông số cho mô hình

Một phần của tài liệu Dự báo tốc độ tăng trưởng kinh tế Việt Nam Sự vượt trội của mô hình Mạng thần kinh nhân tạo (ANN) so với mô hình Hồi quy tuyến tính truyền thống.pdf (Trang 65 - 68)

Vẫn chưa có một nghiên cứu cụ thể nào về việc xây dựng cấu trúc mạng tối ưu trong thực nghiệm, việc xây dựng mô hình là một nghệ thuật. Phần lớn các kinh nghiệm xây dựng mô hình thường đến từ kinh nghiệm của các bài nghiên cứu hay từ những quy luật mà một số nhà nghiên cứu đúc kết ra dựa trên một quá trình nghiên cứu thực nghiệm lâu dài. Chúng tôi sẽ trình bày các thông số lựa chọn cho việc xây dựng mô hình và kinh nghiệm thực tế từ một số bài nghiên cứu.

Đầu tiên, phải xác định Mạng thần kinh phù hợp để mô hình hóa dữ liệu. Mô hình Mạng thần kinh khá phổ biến với hoạt động dự báo. Trong số nhiều loại Mạng thần kinh, mô hình hoạt động tốt nhất là Mạng thần kinh đa lớp truyền thẳng như theo đề nghị của Haykin (1994), Bishop (1995) và McNellis (2005). Hơn thế nữa, Mạng thần kinh này với 2 lớp ẩn được sử dụng nhiều do chúng thực hiện xử lý dữ liệu tốt và tránh khả năng học quá mức của mạng. Yrd.Doc.Dr.Recep DUZGUN (2008) cũng cho rằng cấu trúc tốt nhất của Mạng thần kinh tùy thuộc vào loại dữ liệu và cấu trúc dữ liệu dùng để mô hình hóa. Một trong những cấu trúc được biết đến nhiều là Mạng thần kinh đa lớp truyền thẳng với thuật toán truyền ngược. Curak Marijana (2009) cũng cho rằng hai loại Mạng thần kinh được sử dụng phổ biến đó là Mạng thần kinh truyền thẳng và Mạng thần kinh hồi tiếp. Họ đã sử dụng Mạng truyền thẳng với 3 lớp gồm một lớp đầu vào, một lớp ẩn và một lớp đầu ra, hàm truyền được sử dụng là hàm Xích ma ở lớp ẩn và hàm tuyến tính ở lớp đầu ra nhằm dự báo tăng trưởng GDP tổng hợp của 27 nước thuộc Liên minh châu Âu. Kết quả cho thấy mô hình Mạng thần kinh với cấu trúc này hoạt động tốt hơn hẳn mô hình Hồi quy tuyến tính. Do tính phổ biến của Mạng thần kinh truyền thẳng trong việc dự báo các biến số kinh tế nên chúng tôi quyết định sử dụng Mạng truyền thẳng để xây dựng mô hình dự báo.

Thứ hai, tập dữ liệu dùng để chạy mô hình Mạng thần kinh được phân chia thành 3 phần: dữ liệu cho việc huấn luyện, dữ liệu cho phê duyệt và dữ liệu để kiểm tra. Dữ liệu huấn luyện chiếm đa số. Dữ liệu phê duyệt và dữ liệu kiểm tra thường chiếm từ 10% đến 30% tập dữ liệu. Theo đề xuất của Arun Bansal (1993) thì ít hơn 1/3 dữ liệu huấn luyện nên được giữ lại làm dữ liệu phê duyệt) và Jingtao Yao, Chew Lim Tan

(2000) cho rằng dữ liệu huấn luyện nên chiếm khoảng 70% tập dữ liệu thu thập, còn dữ liệu phê duyệt và dữ liệu kiểm tra lần lượt chiếm khoảng 20% và 10% tập dữ liệu. Chúng tôi chia dữ liệu trong mẫu (từ Quý 2/2001 đến Quý 4/2009) thành hai phần: dữ liệu huấn luyện và dữ liệu phê duyệt, trong đó dữ liệu phê duyệt chiếm 10,3% toàn tập dữ liệu và sử dụng dữ liệu từ Quý 1/2010 đến Quý 4/2010 làm dữ liệu kiểm tra.

Thứ ba, lựa chọn mô hình thích hợp với các thông số cụ thể như:

Tính toán số lượng các lớp ẩn

Nhiều nghiên cứu thực nghiệm cho thấy việc sử dụng một lớp ẩn là đủ để Mạng thần kinh mô phỏng bất kỳ mẫu hình phi tuyến nào với độ chính xác cao. Chẳng hạn như Cybenko (1989), Hornik (1989) và nhiều nhà nghiên cứu khác cũng chỉ dùng một lớp ẩn cho mục đích dự báo (được trích bởi Guoqiang Zhang, 1998). Sau đó, Guoqiang Zhang (1998) đưa ra quan điểm rằng việc sử dụng một lớp ẩn có thể sẽ đòi hỏi số lượng đơn vị nơ-ron ẩn lớn, làm giảm khả năng tổng quát hóa của mô hình. Trong trường hợp này, Mạng thần kinh hai lớp ẩn có thể mang lại nhiều hiệu quả hơn so với Mạng thần kinh một lớp ẩn.

Mohd Zukime HJ Mat Junor (2004) cho rằng đối với mô hình chỉ có một số ít đơn vị biến đầu vào và một đơn vị biến đầu ra thì có thể xây dựng mô hình chỉ với một lớp ẩn, còn số đơn vị nơ-ron ẩn được tính toán bằng phương pháp thử và sai. Theo Lahane Ashish Gajanan (2008), Mạng thần kinh với 1 hoặc 2 lớp ẩn thường được dùng phổ biến và cho kết quả tốt. Tăng số lượng lớp ẩn có thể làm gia tăng thời gian tính toán và gặp phải vấn đề khít quá mức, điều này sẽ dẫn tới dự báo ngoài mẫu kém hiệu quả. Về tổng thể, đầu tiên nên xem xét khả năng sử dụng mạng chỉ có một lớp ẩn. Nếu dùng một lớp ẩn với một số lượng lớn các đơn vị nơ-ron ẩn mà không có hiệu quả thì nên sử dụng thêm một lớp ẩn nữa với một số ít các đơn vị nơ-ron ẩn.

Với số lượng quan sát khá ít (chỉ có 31 quan sát cho mỗi biến trong dữ liệu huấn luyện) nên Mạng thần kinh mà chúng tôi xây dựng chỉ bao gồm một lớp ẩn để tránh tình trạng khít quá mức.

Tính toán số lượng nơ-ron ẩn

Mặc dù việc tính toán số lượng nơ-ron ẩn rất quan trọng nhưng không có một phương pháp hoàn hảo nào cho việc lựa chọn số lượng nơ-ron ẩn tối ưu. Do đó, các nhà nghiên cứu đã quay trở lại tiến hành thực nghiệm với mong muốn tìm thấy một sự chọn lựa chấp nhận được cho công trình nghiên cứu của mình. Chúng tôi tuân

theo một vài nguyên tắc kinh nghiệm khi lựa chọn số nơ-ron ẩn được đề xuất bởi Bailey và Thompson (1990) từ các nghiên cứu thực nghiệm như sau:

 Mạng thần kinh 3 lớp với n nơ-ron lớp đầu vào và m nơ-ron lớp đầu ra, lớp ẩn sẽ có √ nơ-ron

 Số lượng nơ-ron ẩn trong Mạng thần kinh 3 lớp sẽ là 75% số nơ-ron đầu vào  Số lượng nơ-ron ẩn tối ưu nhìn chung từ ⁄ đến 3 lần số nơ-ron đầu vào

 Nhân đôi số lượng nơ-ron ẩn cho tới khi hoạt động của Mạng thần kinh trên tập dữ liệu kiểm tra trở nên xấu đi.

Khi tính toán số lượng nơ-ron ẩn cần lưu ý rằng: nguyên tắc là nên chọn Mạng thần kinh hoạt động tốt trên tập kiểm tra với số lượng nơ-ron ẩn ít nhất.

Xác định các loại hàm truyền

Hàm truyền tuyến tính thường ít hữu dụng trong việc mô hình hóa các biến số kinh tế do các biến này thường có dạng phi tuyến. Do vậy, việc sử dụng hàm truyền phi tuyến thì tốt hơn trong trường hợp này. Khi sử dụng loại hàm truyền nào thì dữ liệu nên đươc chuẩn hóa trong giới hạn của hàm truyền đó. Trong lúc thực hiện dự báo với giá trị mục tiêu liên tục, việc sử dụng hàm truyền tuyến tính sẽ hợp lý hơn. Trong phần mềm NeuroSolution phiên bản 6.01 mà chúng tôi sử dụng có sẵn các loại hàm truyền, hoặc là dạng hàm truyền tuyến tính, hoặc là dạng hàm phi tuyến để xây dựng mô hình nhưng được phân hóa thành các dạng cụ thể như hàm TanhAxon, SigmoidAxon, LinearTanhAxon, LinearSigmoidAxon, SoftMaxAxon, BiasAxon, LinearAxon và Axon. Theo chúng tôi các dạng hàm truyền tuyến tính như SoftMaxAxon, BiasAxon, LinearAxon, và Axon ít có khả năng để mô hình hóa các biến số kinh tế do các biến số kinh tế thường có mối quan hệ phi tuyến tương đối phức tạp. Do đó, chúng tôi quyết định chỉ sử dụng 4 hàm truyền: TanhAxon, SigmoidAxon, LinearTanhAxon, LinearSigmoidAxon làm hàm truyền cho nơ-ron lớp ẩn và lớp đầu ra theo phương pháp thử và sai.

Xác đinh tỷ lệ học và động lượng

Như đã trình bày ở phần thuật toán truyền ngược, tỷ lệ học quá cao hay quá thấp đều gây khó khăn cho việc tối thiểu hóa toàn cục. Nếu tỷ lệ học cao sẽ tạo ra những dao động lớn và khó đạt đến điểm tối ưu, còn tỷ lệ học quá nhỏ dễ gây ra tình trạng tối thiểu hóa cục bộ. Động lượng tuy có tác dụng ổn định quá trình hội tụ theo một hướng xác định nhưng nếu động lượng quá nhỏ thì lại không gây ra nhiều tác động. Vì vậy, việc xác định tỷ lệ học và động lượng hợp lý thì rất cần thiết. Việc xác định

hai tham số này chủ yếu dựa vào phương pháp thử và sai. Tốt nhất là nên bắt đầu với tỷ lệ học thấp rồi tăng dần lên.

Qua quá trình thực nghiệm, McClelland (1988), Pao (1989) đề nghị nên kết hợp tỷ lệ học là 0,7 với động lượng là 0,9. Và Dai và Macbeth (1997) cho rằng tỷ lệ học và động lượng ảnh hưởng nhiều đến quá trình hội tụ và cho rằng việc kết hợp tỷ lệ học 0,7 và động lượng trong khoảng (0,8; 0,9) hay tỷ lệ học 0,6 và động lượng 0,9 sẽ cho kết quả tốt nhất. Junoh (2004) đề nghị tỷ lệ học cho lớp ẩn cuối nên gấp hai lần lớp đầu ra. Pengyi Shi (2006) sử dụng Mạng thần kinh truyền thẳng, một lớp ẩn, cách học từng dòng, tỷ lệ học 0,6 và động lượng 0,9 để dự báo tăng trưởng GDP ở Trung Quốc. Theo kinh nghiệm từ các nghiên cứu thực nghiệm, chúng tôi quyết định thử và sai lần lượt cho các giá trị tỷ lệ học từ 0,5 đến 0,8 (vì tỷ lệ học theo kinh nghiệm là không nên quá thấp và cũng không nên quá cao), giá trị động lượng từ 0,6 đến 0,9 cho các nơ-ron lớp ẩn và các nơ-ron lớp đầu ra.

Thông số cuối cùng là cách huấn luyện và số vòng lặp, chúng tôi sử dụng số vòng lặp mặc định trong phần mềm là 1000 vòng lặp và thực hiện thử và sai với hai cách huấn luyện là huấn luyện từng dòng và huấn luyện hàng loạt.

Một phần của tài liệu Dự báo tốc độ tăng trưởng kinh tế Việt Nam Sự vượt trội của mô hình Mạng thần kinh nhân tạo (ANN) so với mô hình Hồi quy tuyến tính truyền thống.pdf (Trang 65 - 68)