Xác định mô hình mạng nơron

Một phần của tài liệu (LUẬN văn THẠC sĩ) áp dụng các kỹ thuật phân lớp dữ liệu, hồi quy để dự báo số liệu sản xuất kinh doanh cho VNPT (Trang 37 - 42)

Có rất nhiều cách xây dựng mạng nơron. Cấu trúc và kiến trúc mạng nơron là 2 cụm từ thường được dùng để mô tả về cách tổ chức một mạng nơron. Sự kết hợp của cấu trúc nơron và kiến trúc sẽ định nghĩa ra mô hình mạng nơron. Cấu trúc nơron mô tả tính chất của một nơron độc lập như hàm chuyển đổi hay cách các đầu vào kết hợp với nhau. Kiến trúc mạng nơron thường bao gồm các yếu tố như số lớp, số nơron trong mỗi lớp và cách thức liên kết của chúng.

đầu vào. Phần này sẽ đề cập tới cách lựa chọn số lớp ẩn, số nơron ẩn, số nơron đầu ra và hàm chuyển đổi.

a. Số lượng lớp ẩn

Số lượng lớp ẩn đại diện cho khả năng tổng quát hóa của mạng. Theo lý thuyết, mạng nơron với một lớp ẩn và một số lượng đủ lớn các nơron ẩn sẽ có khả năng xấp xỉ được bất kỳ hàm liên tục nào. Trong thực tế, mạng nơron với một lớp ẩn và đôi khi là hai lớp ẩn được sử dụng rộng rãi và cho kết quả tốt. Tăng số lượng lớp ẩn lên cũng đồng nghĩa với tăng thời gian tính toán và tăng nguy cơ bị quá phú hợp (overfitting). Phù hợp quá xảy ra khi mô hình dự báo có quá ít mẫu liên quan tới các tham số của nó và do đó nó sẽ ghi nhớ các điểm độc lập chứ không phải là học mô hình chung. Cụ thể đối với mạng nơron, số lượng trọng số, cái được gắn cố định với số lượng các lớp và nơron ẩn, và kích thước của tập huấn luyện (số lượng mẫu) sẽ quyết định khả năng xảy ra overfitting. Càng có nhiều trọng số liên quan tới kích thước của tập huấn luyện thì càng dễ xảy ra khả năng mạng ghi nhớ các đặc tính của các mẫu độc lập. Điều đó đồng nghĩa với việc khả năng tổng quát hóa sẽ mất đi và khả năng dự báo thực tế của mô hình sẽ kém.

Chính vì thế, người ta khuyến nghị rằng tất cả các mạng nơron nên bắt đầu với một hoặc cùng lắm là hai lớp ẩn. Nếu một mạng nơron 4 lớp (2 lớp ẩn) vẫn không thỏa mãn được các điều kiện kiểm tra sau khi đã thử thay đổi các trọng số hợp lý cho các nơron ẩn thì người nghiên cứu nên sửa lại các biến đầu vào nhiều lần trước khi thêm lớp ẩn thứ 3. Cả lý thuyết và các kinh nghiệm thực tiễn đều cho thấy là các mạng nơron với nhiều hơn 4 lớp đều không thể cải thiện được kết quả dự báo.

b. Số lượng nơron ẩn

Mặc dù đây là yếu tố rất quan trọng nhưng không có công thức “thần kỳ” nào để đưa ra được số lượng tối ưu các nơron ẩn. Chính vì thế, chúng ta bắt buộc phải quay trở lại vấn đề thực nghiệm. Tuy nhiên, các nghiên cứu trước đây đã đưa ra một số luật cơ bản. Chúng ta có thể tính xấp xỉ số lượng nơron ẩn theo luật Kim tự tháp được đưa ra bởi Masters. Luật này như sau: trong một mạng nơron 3 lớp với n nơron đầu vào và m nơron đầu ra thì lớp ẩn nên có n.m

nơron. Số lượng nơron ẩn thực tế có thể dao động từ một nửa tới 2 lần số lượng đề xuất bởi luật Kim tự tháp tùy theo độ phức tạp của bài toán. Baily và Thompson [8] thì khuyến nghị là số lượng nơron ẩn trong một mạng nơron 3 lớp nên là 75% số lượng nơron đầu vào. Katz [11] chỉ ra rằng số lượng tối ưu các nơron ẩn sẽ nằm trong khoảng từ ½ tới 3 lần số lượng nơron đầu vào. Ersoy [12]

đề nghị một phương pháp là cứ tiếp tục tăng gấp đôi số nơron ẩn cho tới khi nào việc thử nghiệm mạng với tập kiểm tra cho kết quả xấu đi. Klimasauskas [13] khuyến nghị là số lượng sự kiện huấn luyện nên nhiều ít nhất gấp 5 lần số lượng trọng số.

Cần chú ý là các luật tính toán số lượng nơron ẩn dựa trên số lượng nơron đầu vào đều ngầm định là tập huấn luyện phải lớn ít nhất gấp 2 lần số lượng trọng số và nên lớn hơn từ 4 lần trở lên. Nếu không thỏa mãn được điều kiện này thì các luật trên sẽ nhanh chóng dẫn mô hình tới tình trạng overfitting bởi số lượng nơron ẩn phụ thuộc trực tiếp vào số lượng nơron đầu vào (nơron đầu vào quyết định số lượng trọng số). Giải pháp cho tình trạng này là hoặc tăng kích thước của tập huấn luyện, hoặc nếu không thì giới hạn lại số lượng nơron đầu vào sao cho số lượng trọng số chỉ bằng một nửa số sự kiện huấn luyện. Trong trường hợp này việc lựa chọn các biến đầu vào cũng trở thành một bài toán khó. Có 3 phương pháp để lựa chọn số lượng tốt nhất các nơron ẩn là: phương pháp cố định, phương pháp tăng thêmphương pháp giảm bớt. Trong cách tiếp cận cố định, một nhóm mạng nơron với số lượng nơron ẩn khác nhau được huấn luyện và lần lượt đánh giá trên một tập kiểm tra với các trọng số được khởi tạo ngẫu nhiên. Số lượng các nơron tăng thêm có thể là 1, 2 hoặc nhiều tùy theo quá trình tính toán. Kết quả đánh giá lỗi trên tập kiểm tra của các mạng nơron sẽ được ghi lại dưới dạng một hàm của số lượng nơron ẩn và tạo thành một đồ thị lỗi. Mạng nào ít lỗi nhất sẽ được chọn vì nó sẽ có khả năng tổng quát hóa cao nhất. Cách này rất tốn thời gian, tuy nhiên thường cho kết quả rất tốt.

Cách tiếp cận tăng thêm hoặc giảm đi thường thay đổi số lượng nơron ẩn ngay trong quá trình huấn luyện chứ không tạo ra nhiều mạng nơron với số lượng nơron ẩn khác nhau như trong phương pháp cố định. Rất nhiều gói phần mềm thương mại về mạng nơron không hỗ trợ việc thêm hoặc bớt các nơron ẩn trong quá trình huấn luyện. Tư tưởng của cách tiếp cận tăng thêm là cứ tăng thêm số lượng nơron ẩn cho tới khi khả năng thực thi của mạng bắt đầu kém đi. Tư tưởng của cách tiếp cận giảm đi cũng tương tự, tuy nhiên số lượng nơron ẩn được giảm dần đi trong quá trình huấn luyện.

Bất kể là sử dụng phương pháp nào để tìm số lượng nơron ẩn thì có một quy luật chung là luôn luôn chọn mạng thực thi tốt nhất trên tập kiểm tra với số lượng nơron ẩn ít nhất. Trong quá trình thử nghiệm để tìm số nơron ẩn, các tham số khác phải được giữ nguyên. Thay đổi bất kỳ tham số nào khác sẽ tạo ra một

c. Số lượng nơron đầu ra

Quyết định số lượng nơron đầu ra nói chung là một vấn đề khá dễ dàng bởi có nhiều lý do thuyết phục để luôn luôn sử dụng mạng với duy nhất một nơron đầu ra. Mạng nơron với nhiều đầu ra, đặc biệt nếu những đầu ra này khá cách biệt, sẽ cho kết quả kém hơn so với một mạng nơron chỉ có một đầu ra. Một mạng nơron được huấn luyện bằng cách chọn các trọng số sao cho tối thiểu hóa sai số trung bình toàn phần của nơron đầu ra. Ví dụ, một mạng nơron để dự báo giá đồ đạc trong 1 tháng tới và 6 tháng tới sẽ tập trung vào việc giảm sai số lớn nhất của nó, ở đây là sai số khi dự báo cho 6 tháng. Vì vậy nó sẽ không cải tiến được nhiều cho việc dự báo 1 tháng. Giải pháp đưa ra ở đây là xây dựng các mạng nơron chuyên biệt cho mỗi mục tiêu dự báo. Chuyên biệt hóa các mạng nơron cũng sẽ làm giảm lỗi bởi các mạng nơron sẽ trở nên nhỏ hơn và sẽ có ít tham số phải thay đổi hơn để tối ưu hóa mô hình cuối cùng.

d. Hàm kích hoạt

Hàm kích hoạt là các công thức toán học quyết định đầu ra của quá trình xử lý nơron. Nó cũng có tên khác là hàm chuyển đổi, hàm ngưỡng… Đa phần các mạng nơron hiện nay sử dụng hàm sigmoid, ngoài ra còn có thể sử dụng các hàm khác như hàm tang hypebol, hàm ngưỡng, hàm arctang, hàm tuyến tính… Mục tiêu của hàm kích hoạt là ngăn không cho mạng nơron tạo ra các giá trị đầu ra quá lớn mà có thể làm “tê liệt” mạng và làm cản trở quá trình huấn luyện. Các hàm kích hoạt tuyến tính thường không hữu dụng cho các bài toán phi tuyến. Các bài toán về thị trường, tài chính thường là các bài toán phi tuyến và các hàm kích hoạt phi tuyến sẽ cho kết quả tốt hơn, ví dụ như hàm sigmoid rất thích hợp với dữ liệu chuỗi thời gian.

Klimasauskas cho rằng nếu dùng mạng nơron để học các đặc tính trung bình của tập dữ liệu thì nên sử dụng hàm sigmoid, còn nếu dùng mạng nơron để học về độ lệch so với giá trị trung bình thì hàm tang hypecbolic là thích hợp nhất. Hàm dốc và hàm ngưỡng thường được dùng cho các biến nhị phân bởi vì hàm sigmoid chỉ tiệm cận tới các giá trị 0 hoặc 1. Trong mạng truyền thẳng chuẩn, lớp nơron đầu vào thường sử dụng hàm kích hoạt tuyến tính còn các lớp còn lại sử dụng hàm sigmoid.

Dữ liệu thô thường được đưa về khoảng [0,1] hoặc [-1,1], như vậy nó sẽ thống nhất với các hàm kích hoạt. Hai phương pháp chia lại tỉ lệ dữ liệu được sử dụng phổ biến nhất với mạng nơron là: chia tỉ lệ tuyến tính và chia tỉ lệ theo độ

lệch chuẩn/trung bình. Trong phương pháp chia tỉ lệ tuyến tính, các mẫu dữ liệu được đưa về khoảng giữa giá trị lớn nhất và nhỏ nhất theo công thức:

) ( ) ( ) ( min max min min max min D D D D TF TF TF SV      

trong đó SV là giá trị sau khi chia tỉ lệ, TFmin và TFmax là giá trị lớn nhất và nhỏ nhất của hàm kích hoạt, D là giá trị của mẫu, và Dmin, Dmax là giá trị lớn nhất và nhỏ nhất của tập mẫu.

Phương pháp chia tỉ lệ tuyến tính rất nhạy cảm với các điểm ngoại lai bởi nó không chuyển đổi sự đồng dạng của phân bố mà chỉ đưa chúng vào khoảng giá trị thích hợp của hàm kích hoạt. Trong hình 4, tập dữ liệu S & P 500 được chia tỉ lệ tuyến tính và kết quả là 98.6% mẫu dữ liệu đã bị đưa về khoảng nhỏ hơn 10% khoảng của hàm kích hoạt. Phân bố dữ liệu như vậy không thích hợp để huấn luyện mạng nơron.

Trong phương pháp chia tỉ lệ độ lệch chuẩn và trung bình, tất cả các giá trị sẽ được đưa về khoảng [0,1] theo công thức:

A A v v    '

Trong đó A và A lần lượt là giá trị trung bình và độ lệch chuẩn. Phương pháp này sẽ giữ được sự đồng dạng của phân bố. Hầu hết các phần mềm mạng nơron đều tự động chia tỉ lệ các biến về khoảng giá trị thích hợp. Dù vậy, vẫn nên xem qua biểu đồ histogram của biến đầu ra và biến đầu vào sau khi chia tỉ lệ.

Một phần của tài liệu (LUẬN văn THẠC sĩ) áp dụng các kỹ thuật phân lớp dữ liệu, hồi quy để dự báo số liệu sản xuất kinh doanh cho VNPT (Trang 37 - 42)

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

(100 trang)