Trang 1 ĐẠI HỌC THÁI NGUYÊN TR¦êNG ĐạI HọC CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG NGUYN ĐỨC LƯU NGHIÊN CỨU GIẢI PHÁP ỨNG DỤNG MẠNG NORON NHÂN TẠO CHO BÀI TOÁN DỰ BÁO TUYỂN SINH TRƯỜNG ĐẠI H
BÀI TOÁN DỰ BÁO TUYỂN SINH
Giới thiệu chương
Phần đầu của chương 1 sẽ giới thiệu các kiến thức tổng quan về bài toán dự báo bao gồm các khái niệm (về dự báo và mô hình dự báo), mục đích, phân loại, thách thức, các phương pháp được sử dụng trong bài toán dự báo, phương pháp thường đánh giá kỹ thuật dự báo được sử dụng trong luận văn Tiếp đó, nội dung đi sâu vào phân tích cách thức tiếp cận hợp lý cho bài toán dự báo tuyển sinh Từ kết quả đạt được, phần cuối chương sẽ đi sâu vào gới thiệu phương pháp dự báo chuỗi thời gian (là phương pháp phù hợp cho việc triển khai thực hiện bài toán dự báo tuyển sinh trong thực tế).
Tổng quan về bài toán dự báo
Nhu cầu hiểu biết các sự kiện trong quá khứ của chúng ta đã dẫn đến một chủ đề trong lĩnh vực khoa học dữ liệu đó là Kỹ thuật dự báo Nó cho phép chúng ta đưa ra các quyết định dựa vào số liệu thống kê thu được từ dữ liệu lịch sử để giả quyết các bài toán tương tự như dự báo khách hàng rời bỏ dịch vụ, dự báo gian lận, thống kê quá trình kinh doanh Để làm sáng tỏ điều này, trước tiên chúng ta cần làm rõ các khái niệm, mục đích, phân loại, thách thức, các phương pháp đánh giá kỹ thuật dự báo
Dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ xảy ra trong tương lai [4],[10]
- Dự báo có tính khoa học vì nó dựa trên những số liệu thu thập được từ quá khứ và căn cứ vào kết quả phân tích các nhân tố ảnh hưởng đến kết quả dự báo
- Tính nghệ thuật của dự báo là dựa trên những kinh nghiệm thực tế và khả năng phán đoán của các chuyên gia để đưa ra được những dự đoán với độ chính xác cao nhất
Mô hình dự báo có thể hiểu là một hàm toán học có thể ánh xạ giữa một tập của các biến dữ liệu đầu vào, thường được đóng gói trong một bản ghi vào một biến đáp ứng hay biến đích tới một biến dự báo nào đó Trong thực tế, một mô hình dự báo cần phải có rất nhiều các biến độc lập được chọn lựa từ bộ dữ liệu, bên cạnh đó là các qui trình, chính sách đặc trưng cho từng ngành khoa học cung phải được kết hợp sử dụng trong mô hình dự báo [9]
1.2.2 Mục đích của dự báo
Bài toán dự báo được thực hiện nhằm đảm bảo các mục đích sau đây :
- Đưa ra được quyết định chính xác, nhất quán: Phân tích dự báo sẽ cung cấp thông tin chi tiết về đối tượng dự báo từ đó sẽ đưa ra được các hành động chiến lược Phân tích dự báo được thực hiện liên tục và cho kết quả đáng tin cậy nhờ có sự hỗ trợ của kỹ thuật Các quyết định sẽ được đưa ra một cách nhất quán, công bằng chứ không phải dựa trên tính chủ quan của con người
- Giải quyết công việc nhanh hơn: Dự báo sẽ trả lời các câu hỏi phức tạp và xử lý chúng với độ chính xác cao trong khoảng thời gian ngắn Có những quyết định trước đây phải mất hàng giờ hoặc vài ngày thì nhờ có sự hỗ trợ của khoa học chỉ còn vài phút hoặc vài giây
- Giảm chi phí do giảm rủi ro: Với sự hiểu biết về đối tượng giúp các nhà lãnh đạo đánh giá được chính xác những rủi ro và giảm tổn thất
1.2.3 Phân loại các dự báo
1.2.3.1 Căn cứ vào thời đoạn dự báo
- Dự báo ngắn hạn thời đoạn dự báo thường không quá 3 tháng, ít khi đến 1 năm Loại dự báo này cần cho việc mua sắm, điều độ công việc, phân giao nhiệm vụ, cân đối các mặt trong quản trị tác nghiệp
- Dự báo trung hạn thời đoạn dự báo thường từ 3 tháng đến 3 năm, loại dự báo này cần thiết cho việc lập kế hoạch bán hàng, kế hoạch sản xuất, dự trù tài chính tiền mặt và làm căn cứ cho các loại kế hoạch khác
- Dự báo dài hạn thời đoạn dự báo từ 3 năm trở lên Loại dự báo này cần cho việc lập các dự án sản xuất sản phẩm mới, các định điểm cho các cơ sở mới, lựa chọn các dây chuyền công nghệ, thiết bị mới, mở rộng doanh nghiệp hiện có hoặc thành lập doanh nghiệp mới
1.2.3.2 Căn cứ vào nội dung công việc cần dự báo
- Dự báo kinh tế: Dự báo kinh tế cho các cơ quan nghiên cứu, cơ quan dịch vụ thông tin, các bộ phận tư vấn kinh tế nhà nước thực hiện Những chỉ tiêu này có giá trị lớn trong việc hỗ trợ, tạo tiền đề cho công tác dự báo trung hạn, dài hạn của các doanh nghiệp
- Dự báo kỹ thuật công nghệ: Dự báo này đề cập đến mức độ phát triển khoa học kỹ thuật công nghệ trong tương lai Loại này rất quan trọng đối với các ngành có hàm lượng kỹ thuật cao như năng lượng nguyên tử, tàu vũ trụ, dầu lửa, máy tính, nghiên cứu không gian, điện tử… Dự báo kỹ thuật, công nghệ thường do các chuyên gia trong các lĩnh vực đặc biệt thực hiện
- Dự báo nhu cầu sản phẩm: Thực chất của dự báo nhu cầu là dự kiến, tiên đoán về doanh số bán ra của doanh nghiệp Loại dự báo này rất được các nhà quản trị sản xuất quan tâm Dự báo nhu cầu giúp cho các doanh nghiệp xác định được chủng loại và số lượng sản phẩm, dich vụ mà họ cần tạo ra trong tương lai Thông qua dự báo nhu cầu các doanh nghiệp sẽ quyết định được quy mô sản xuất, hoạt động của công ty, là cơ sở để dự kiến về tài chính, tiếp thị, nhân sự
1.2.3.3 Căn cứ theo các phương pháp dự báo
Hình 0.1 Dự báo định tính và định lượng
Các phương pháp dự báo được chia thành 2 phương pháp là phương pháp định tính và phương pháp định lượng [9]
Phương pháp định tính: Hay còn gọi là phương pháp dự báo chuyên gia (phương pháp Delphi) là phương pháp thu thập và xử lý những đánh giá dự báo bằng cách tập hợp và hỏi ý kiến các chuyên gia giỏi thuộc một lĩnh vực hẹp của khoa học
- kỹ thuật hoặc sản xuất
Phương pháp chuyên gia dựa trên cơ sở đánh giá tổng kết kinh nghiệm, khả năng phản ánh tương lai một cách tự nhiên của các chuyên gia giỏi và xử lý thống kê các câu trả lời một cách khoa học Nhiệm vụ của phương pháp là đưa ra những dự
Các phương pháp dự báo Định lượng
Dự báo dựa trên tương quan
Bài toán dự báo tuyển sinh
Dự báo tuyển sinh là nhân tố cơ bản trong việc lập kế hoạch và ngân sách tại bất kỳ cơ sở giáo dục đào tạo nào phụ thuộc vào tuyển sinh hoặc tại bất kỳ cơ quan hoặc tổ chức nào có trách nhiệm hỗ trợ các tổ chức đó Nhiều vấn đề chính sách của tổ chức có liên quan đến dự báo tuyển sinh như chính sách học phí, dự báo ngân sách, nhân sự giáo viên, đóng cửa hoặc hợp nhất tổ chức, và tối ưu hóa các mục tiêu liên quan đến quy mô và thành phần của tuyển sinh [2], [7], [14]
Bản chất của việc dự báo tuyển sinh là ước lượng số lượng đầu vào tại cơ sở giáo dục theo đúng năm dựa trên một số các thông số ảnh hưởng như: các yếu tố về kinh tế, văn hóa và xã hội, chính sách cộng đồng, nỗ lực tuyển sinh, thủ tục hỗ trợ học tập… Các tham số này chính là đầu vào của bài toán dự báo tuyển sinh Để lựa chọn dữ liệu đầu vào cho bài toán tuyển sinh có rất nhiều phương án
Phương án 1: Dựa vào các yếu tố đặc trưng ảnh hưởng đến đầu vào như: Số sinh viên nhập học hàng năm; Điểm trúng tuyển của các ngành học của cơ sở đào tạo hàng năm; Chất lượng đầu ra, chất lượng, trình độ đội ngũ cán bộ giảng viên cơ sở đào tạo; Cơ sở vất chất quy mô cũng như năng lực lãnh đạo của đội ngũ lãnh đạo cơ sở đào tạo Đặc biệt đầu vào tuyển sinh của một trường Đại học còn phụ thuộc vào thành tích của các thế hệ cựu sinh viên cơ sở đào tạo Danh tiếng của cơ sở đào tạo càng lớn thì số lượng sinh viên đăng ký thi tuyển vào học sẽ càng cao
Tuy nhiên với đặc thù của một trường Đại học thì phương án này không được chọn vì số đặc trưng chung chung có quan hệ không rõ với mục đích lựa chọn của sinh viên Ngoài ra, số các đặc trưng ảnh hưởng đến số liệu tuyển sinh quá ít
Phương án 2: Chọn 1 đặc trưng đó là số sinh viên tuyển vào trong một số năm của cơ sở đào tạo
Số lượng sinh viên tuyển vào cơ sở đào tạo trong một số năm có nhiều biến động, có ảnh hưởng đến số liệu trong những năm tiếp theo Ngoài ra, do số liệu trải dài trong nhiều năm nên số đặc trưng là tương đối đủ để dự báo
Sử dụng 1 đặc trưng theo thời gian làm cấu trúc dữ liệu cho bài toán nên phương án giải bài toán sẽ là dự báo chuỗi thời gian Tức là sử dụng dữ liệu của những năm trước để dự báo cho những năm tiếp theo Đây cũng là hướng tiếp cận được lựa chọn trong luận văn Chính vì vậy, phần tiếp theo của luận văn sẽ trình bày các kiến thức tổng quan chung về dự báo dữ liệu chuỗi thời gian.
Dự báo dữ liệu chuỗi thời gian
1.4.1 Giới thiệu Để thực hiện bài toán dự báo tuyển sinh, việc lựa chọn các mô hình dự báo dựa trên dự báo số liệu chuỗi thời gian được cho là phù hợp hơn cả Vì vậy, phần này của chương sẽ tập trung phân tích một số phương pháp dự báo chuỗi thời gian cơ bản để làm căn cứ lựa chọn thiết kế hệ thống dự báo tuyển sinh
Phương pháp dự báo theo chuỗi thời gian được xây dựng trên một giả thiết về sự tồn tại và lưu lại các nhân tố quyết định đại lượng dự báo từ quá khứ đến tương lai Trong phương pháp này đại lượng cần dự báo được xác định trên cơ sở phân tích chuỗi các số liệu thống kê được trong quá khứ
Như vậy, thực chất của phương pháp dự báo theo dãy số thời gian là kéo dài quy luật phát triển của đối tượng dự báo đã có trong quá khứ và hiện tại sang tương lai với giả thiết quy luật đó vẫn còn phát huy tác dụng
Các yếu tố đặc trưng của dãy số theo thời gian gồm [4]:
- Tính xu hướng: Tính xu hướng của dòng nhu cầu thể hiện sự thay đổi của các dữ liệu theo thời gian (tăng, giảm )
- Tính mùa vụ: Thể hiện sự dao động hay biến đổi dữ liệu theo thời gian được lặp đi lặp lại theo những chu kỳ đều đặn do sự tác động của một hay nhiều nhân tố môi trường xung quanh như tập quán sinh hoạt, hoạt động kinh tế xã hội Ví dụ: Nhu cầu dịch vụ bưu chính viễn thông không đồng đều theo các tháng trong năm
- Biến đổi có chu kỳ: Chu kỳ là yếu tố lặp đi lặp lại sau một giai đoạn thời gian Ví dụ: Chu kỳ sinh học, chu kỳ phục hồi kinh tế
- Biến đổi ngẫu nhiên: Biến đổi ngẫu nhiên là sự dao động của dòng nhu cầu do các yếu tố ngẫu nhiên gây ra, không có quy luật
Hình 0.2 Phân loại các phương pháp dự báo chuỗi thời gian
Dự báo chuỗi thời gian
Các phương pháp dưa trên việc làm trơn
Các phương pháp dựa trên hồi quy
Hồi quy với xu hướng mùa vụ
Phương pháp dựa trên học máy
1.4.2 Tính dừng của chuỗi thời gian
Một quá trình ngẫu nhiên Yt được xem là dừng nếu như trung bình và phương sai của quá trình không thay đổi theo thời gian và giá trị của đồng phương sai giữa hai thời đoạn chỉ phụ thuộc vào khoảng cách hay độ trễ về thời gian giữa hai thời đoạn này (độ dài k) chứ không phụ thuộc vào thời điểm thực tế (thời điểm t) mà đồng phương sai được tính Cụ thể:
- Phương sai: Var (Yt) = E[(Yt - μ)]= σ 2 = const
- Đồng phương sai: Cov (Yt, Yt-k) =E[(Yt-k -μ),(Yt - μ)] =γk
Chuỗi thời gian không dừng nếu nó vi phạm bất kì điều nào ở trên Các chuỗi thời gian trong kinh tế thường là chuỗi không dừng Để làm chuỗi dừng người ta thường lấy sai phân một đến hai lần (thường gọi là trễ 1 thời kì, 2 thời kì; hoặc sai phân bậc 1, bậc 2)
- Chuỗi sai phân bậc 1: Wt = Yt– Yt-1
- Chuỗi sai phân bậc 2: Vt = Wt – Wt-1
Tính dừng của một chuỗi thời gian có thể được nhận biết dựa trên đồ thị của chuỗi thời gian, đồ thị của hàm tự tương quan mẫu hay kiểm định Dickey-Fuller [14]
1.4.3 Một số phương pháp dự báo chuỗi thời gian
Các mô hình dựa báo chuỗi thời gian được mô tả trong Hình 0.2 Trong thời điểm ban đầu, việc giải bài toán dự báo chuỗi thời gian, dự báo được thực hiện bằng phương pháp làm trơn và ngoại suy chuỗi dữ liệu thời gian thông qua việc làm khớp toàn cục (global fit) trên miền thời gian Sau này, phương pháp nói trên được thay thế bởi sự xuất hiện các mô hình chuỗi thời gian tuyến tính (linear) với các đặc điểm tích cực dễ hiểu để phân tích dữ liệu và rất dễ để thực hiện Điểm chưa tốt là chúng làm việc không hiệu quả với các chuỗi thời gian phi tuyến (non-linear) Do vậy, nhờ có những tiến bộ trong học máy, các mô hình phi tuyến dần được nghiên cứu và áp dụng đối với các chuỗi thời gian phi tuyến tính, với mức độ phức tạp cao
1.4.3.1 Một số phương pháp dự báo chuỗi thời gian đơn giản
Phương pháp trung bình đơn giản (Simple Average)
Phương pháp trung bình đơn giản là phương pháp dự báo trên cơ sở lấy trung bình của các dữ liệu đã qua, trong đó các nhu cầu của các giai đoạn trước đều có trọng số như nhau, nó được thể hiện bằng công thức:
Trong đó: F t - Nhu cầu dự báo cho thời điểm t
X t i - Giá trị thực ở thời điểm t-i n- Số thời điểm quan sát
Phương pháp này san bằng được tất cả mọi sự biến động ngẫu nhiên của đại lượng dự báo, vì vậy nó là mô hình dự báo rất kém nhạy bén với sự biến động của đại lượng dự báo Phương pháp này phù hợp với đại lượng dự báo đều, ổn định, sai số sẽ rất lớn nếu ta gặp đại lượng dự báo có tính chất thời vụ hoặc đại lượng dự báo có tính xu hướng
Phương pháp trung bình động
Trong trường hợp khi nhu cầu có sự biến động, trong đó thời gian gần nhất có ảnh hưởng nhiều nhất đến kết quả dự báo, thời gian càng xa thì ảnh hưởng càng nhỏ ta dùng phương pháp trung bình động sẽ thích hợp hơn
Phương pháp trung bình động dùng kết quả trên cơ sở thay đổi liên tục khoảng thời gian trước đây cho dự báo giai đoạn tiếp theo:
Khi sử dụng phương pháp trung bình động đòi hỏi phải xác định n sao cho sai số dự báo là nhỏ nhất, đó chính là công việc của người dự báo, n phải điều chỉnh thường xuyên tuỳ theo sự thay đổi tính chất của đại lượng dự báo Để chọn n hợp lý cũng như để đánh giá mức độ chính xác của dự báo người ta căn cứ vào sai lệch tuyệt đối trung bình (MAE)
Phương pháp trung bình động có trọng số Đây là phương pháp bình quân nhưng có tính đến ảnh hưởng của từng giai đoạn khác nhau đến nhu cầu, thông qua việc sử dụng các trọng số
Trong đó: F t - Nhu cầu dự báo cho thời điểm t
X t i - Mức nhu cầu thực ở thời điểm t-i n- Số thời điểm quan sát
t i được lựa chọn bởi người dự báo dựa trên cơ sở phân tích tính chất của dòng nhu cầu, thoả mãn điều kiện:
Trong phương pháp trung bình động có trọng số, độ chính xác của dự báo phụ thuộc vào khả năng xác định được các trọng số phù hợp Thực tế chỉ ra rằng, nhờ điều chỉnh thường xuyên hệ số t i của mô hình dự báo, phương pháp trung bình động có trọng số mang lại kết quả dự báo chính xác hơn phương pháp trung bình động
Các phương pháp trung bình giản đơn, trung bình động, trung bình động có trọng số đều có các đặc điểm sau:
Kết luận chương 1
Dự báo tuyển sinh một nhu cầu thiết yếu đối với công tác quản lý đào tạo vì nó mang tính định hướng cho tương lai, giúp đưa ra được những quyết định đúng đắn nhất
Có rất nhiều cách thức tiếp cận khác nhau cho bài toán dự báo tuyển sinh Trong đó, tiếp cận theo chuỗi thời gian là phù hợp hơn cả Tuy nhiên, trong dự báo chuỗi thời gian cũng tồn tại rất nhiều giải pháp Từ việc sử dụng các phương pháp đơn giản như phương pháp trung bình đơn giản, trung bình động, làm trơn có trọng số, hay các mô hình tuyến tính AR, MA cho đến việc sử dụng các mô hình phi tuyến có ứng dụng các phương pháp trong học máy, học sâu Do đó, cần phải cân nhắc, lựa chọn phương pháp phù hợp cho bài toán dự báo tuyển sinh
Qua khảo sát về các phương pháp dự báo chuỗi thời gian, mạng nơ-ron là một phương pháp khá hiệu quả Trong đó, bên cạnh mạng nơ ron MLP thì mạng nơ ron học sâu LSTM được xem là công cụ phù hợp cho bài toán dự báo tuyển sinh Các kiến thức cụ thể về mạng nơ-ron này cũng như cách thức sử dụng mạng nơ-ron LSTM cho bài toán tuyển sinh sẽ được trình bày rõ hơn trong các chương tiếp theo của luận văn.
MẠNG NƠ-RON VÀ ỨNG DỤNG TRONG BÀI TOÁN DỰ BÁO TUYỂN SINH
Giới thiệu chương
Nội dung chương 2 nhằm cung cấp các kiến thức cơ bản trong việc xây dựng mô hình dựa báo chuỗi thời gian sử dụng mạng nơ-ron để dự báo tuyển sinh Phần đầu chương 2 giới thiệu về cơ sở lý thuyết về mạng nơ-ron nhân tạo, cách thức hoạt động của mạng nơ-ron, mạng nơ ron MLP, các phiên bản mở rộng của mạng nơ-ron nhân tạo như mạng nơ-ron hồi quy (RNN), mạng RNR cải tiến Trong đó, mạng nơ- ron LSTM là một trong những mô hình Deep learning được đánh giá có nhiều ưu điểm trong dự báo chuỗi thời gian Phần tiếp theo của chương cập nhật các nghiên cứu trong nước và thế giới về việc sử dụng mạng nơ ron cho dự báo tuyển sinh Ở phần cuối chương, luận văn sẽ đề xuất kiến trúc mạng nơ ron LSTM phù hợp cho bài toán này.
Mạng nơ-ron nhân tạo
Hệ thống thần kinh là tổ chức vật chất cao cấp và có cấu tạo vô cùng phức tạp
Hệ thần kinh được cấu tạo bởi nhiều yếu tố trong đó nơ-ron là khái niệm cơ bản nhất Trong bộ não người có khoảng 10 11 - 10 12 tế bào thần kinh được gọi là các nơ-ron và mỗi nơ-ron lại liên kết với khoảng 10 4 nơ-ron khác thông qua các khớp nối thần kinh synapse [8]
Hình 0.1 Mô hình mạng nơ-ron sinh học
Cấu tạo của mỗi nơ-ron gồm các thành phần cơ bản như thân nơ-ron và liên kết giữa các nơ-ron Thân nơ-ron được giới hạn trong lớp màng và trong cùng là nhân Nơi đó là nơi tiếp nhận tổng hợp và phát ra các xung thần kinh hay các tín hiệu điện sinh Tại thân nơ-ron có rất nhiều đường rẽ nhánh gọi là rễ Rễ được chia làm hai loại là rễ đầu vào nhận thông tin từ các nơ-ron khác qua axon và rễ đầu ra đưa thông tin qua axon tới các nơ-ron khác Hình 0.1 mô tả thông tin được truyền từ nơ-ron 1 qua axon đến nơ-ron 2
Quá trình hoạt động của nơ-ron là một quá trình điện hóa tự nhiên Khi có tác động từ bên ngoài vào mạng nơ-ron sẽ phản ứng như sau: đầu vào của nơ-ron lớp đầu tiên sẽ xuất hiện một tín hiệu vượt quá mức cân bằng của nó và nó sẽ ở trạng thái kích thích Trong bản thân nơ-ron sẽ xảy ra hàng loạt những phản ứng tạo thành thế năng Thế năng được chuyển vào mạng thông qua axon để tới các nơ-ron tiếp theo Cứ như vậy thế năng được truyền từ nơ-ron này đến nơ-ron khác trong đó nó sẽ có khả năng kích thích hoặc kìm hãm tự nhiên các nơ-ron khác trong mạng
Một tính chất cơ bản của mạng nơ-ron sinh học là đáp ứng các kích thích, tác động từ bên ngoài và có khả năng thay đổi theo thời gian Qua các lớp nơ-ron thì thế năng kích thích có thể được tăng lên, giảm đi hoặc thậm chí là biến mất Chính sự liên kết chặt chẽ với nhau của các nơ-ron đã tạo ra mạng lưới đáp ứng, thay đổi không ngừng theo thời gian Sự thay đổi trạng thái của một neural dẫn thời sự thay đổi trạng thái của các nơ-ron khác và dẫn đến sự thay đổi của toàn bộ mạng
Các nhà khoa học đã tìm hiểu và lấy nguyên lý cấu trúc của mạng nơ-ron sinh học để xây dựng thành nơ-ron nhân tạo và mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo là một kỹ thuật mô hình hóa không tuyến tính được ứng dụng trong nhiều lĩnh vực Mạng nơ-ron cố gắng mô phỏng cấu trúc và chức năng của mạng nơ-ron sinh học trong bộ não của con người Thành phần cơ bản của tất cả các mạng nơ-ron nhân tạo chính là các nơ-ron nhân tạo Chúng ta có thể xem các nơ- ron này như là một mô hình toán học gồm 3 tính chất cơ bản: tính nhân, tính cộng và tính kích hoạt Tại lối vào của nơ-ron gồm nhiều giá trị đầu vào Các giá trị đầu vào được đánh trọng số điều này có ý nghĩa rằng mọi đầu vào được nhân với giá trị trọng số của riêng nó Tiếp theo, nơ-ron thực hiện lấy tổng tất cả các đầu vào đã được đánh trọng số và độ lệch Cuối cùng, tổng của cả các đầu vào đã được đánh trọng số và độ lệch được đi qua một hàm kích hoạt hay còn gọi là các hàm chuyển đổi (tranfer function) Hình 0.2 minh họa hoạt động của một nơ-ron nhân tạo
Hình 0.2 Hoạt động của một nơ-ron nhân tạo Để giải quyết các bài toán phức tạp hơn, ta cần kết nối các nơ-ron lại với nhau, tạo nên một mạng nơ-ron Tất nhiên, chúng ta không thể kết nối các nơ-ron một cách ngẫu nhiên Hiện nay, có khá nhiều kiến trúc mạng khác nhau như mạng nơ-ron truyền thẳng, mạng nơ-ron hồi quy, mạng nơ-ron tích chập, Tuy nhiên để giải quyết bài toán một cách hiệu quả, chúng ta phải lựa chọn 1 kiến trúc mạng phù hợp với bài toán đặt ra
2.2.3 Mô hình mạng nơ-ron nhân tạo
Hình 0.3 Kiến trúc mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) là một mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Nơ-ron được gắn kết để xử lý thông tin ANN hoạt động giống như bộ não của con người, được học bởi kinh nghiệm (thông qua việc huấn luyện), có khả năng lưu giữ các tri thức và sử dụng các tri thức đó trong việc dự đoán các dữ liệu chưa biết
Một mạng nơ-ron là một nhóm các nút nối với nhau, mô phỏng mạng nơron thần kinh của não người Mạng nơ-ron nhân tạo được thể hiện thông qua ba thành phần cơ bản: mô hình của nơ ron, cấu trúc và sự liên kết giữa các nơ ron Trong nhiều trường hợp, mạng nơ-ron nhân tạo là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chạy qua mạng trong quá trình học
Kiến trúc chung của một ANN gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer (Hình 0.3)
Trong đó, lớp ẩn (Hidden Layer) gồm các nơ-ron, nhận dữ liệu input từ các Nơ-ron ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một mạng ANN có thể có nhiều Hidden Layer
Lợi thế lớn nhất của các mạng ANN là khả năng được sử dụng như một cơ chế xấp xỉ hàm tùy ý mà “học” được từ các dữ liệu quan sát Tuy nhiên, sử dụng chúng không đơn giản như vậy, một số các đặc tính và kinh nghiệm khi thiết kế một mạng nơ-ron ANN
- Chọn mô hình: Điều này phụ thuộc vào cách trình bày dữ liệu và các ứng dụng
Mô hình quá phức tạp có xu hướng dẫn đến những thách thức trong quá trình học
- Cấu trúc và sự liên kết giữa các nơ-ron: Bao gồm số lớp ẩn, các nơ ron trong mỗi lớp ẩn
- Thuật toán học: Có hai vấn đề cần học đối với mỗi mạng ANN, đó là học tham số của mô hình (parameter learning) và học cấu trúc (structure learning) Học tham số là thay đổi trọng số của các liên kết giữa các nơron trong một mạng, còn học cấu trúc là việc điều chỉnh cấu trúc mạng bằng việc thay đổi số lớp ẩn, số nơ-ron mỗi lớp và cách liên kết giữa chúng Hai vấn đề này có thể được thực hiện đồng thời hoặc tách biệt
- Nếu các mô hình, hàm chi phí và thuật toán học được lựa chọn một cách thích hợp, thì mạng ANN sẽ cho kết quả có thể vô cùng mạnh mẽ và hiệu quả
2.2.4 Hoạt động của mạng nơ-ron nhân tạo
Inputs: Mỗi Input tương ứng với một đặc trưng của dữ liệu Ví dụ như với bài toán dự báo tuyển sinh hằng năm thì mỗi input là kết quả tuyển sinh của một trong các năm trước (tùy thuộc vào khoảng thời gian quan sát trước s)
Output: Kết quả của một ANN là một giải pháp cho một vấn đề, ví dụ như với bài toán với bài toán dự báo tuyển sinh output (có thể một hoặc nhiều đầu ra tùy thuộc vào cửa sổ dự báo n) là kết quả dự báo lượng thí sinh trong n năm tới
Mạng nơron MLP
Hình 0.6.Mạng Perceptron đa lớp (MLP)
Một mạng truyền thẳng nhiều lớp bao gồm một lớp vào (Input Layer), một lớp ra (OutputLayer) và một hoặc nhiều lớp ẩn (Hidden Layers) nằm giữa lớp vào và lớp ra Kiến trúc này được minh họa trong Hình 0.6
Các lớp đầu vào nhận tín hiệu vào và tái phân phối cho các nơron trong lớp ẩn Các nơron đầu vào không thực hiện bất kỳ một tính toán nào Các nơron lớp ẩn sẽ phát hiện các tính năng và trọng của các nơron đại diện cho các tính năng ẩn của lớp đầu vào Những tính năng này sẽ được sử dụng bởi các lớp ra để xác định mô hình đầu ra Luồng thông tin trong mạng nơron truyền thẳng sẽ đi từ trái qua phải, các giá trị đầu vào x được truyền tới các nơron lớp ẩn thông qua trọng số kết nối sau đó đưa tới lớp ra Trọng số kết nối từ phần tử vào thứ i tới nơron ẩn thứ j được ký hiệu là w ij , trọng số kết nối từ nơron ẩn thứ j tới các nơron ra thứ k được ký hiệu là v jk
Khi mạng MLP mới được đề xuất, Rosenblatt đã không giải quyết được vấn đề hiệu chỉnh ma trận trọng số của các lớp ẩn trong mạng Perceptron đa lớp MLP Cho đến năm 1986, một thuật toán khá hiệu quả để huấn luyện cho mạng MLP mới được đưa ra bởi Rumehart và McCelland Đó chính là luật học lan truyền ngược dùng cho mạng MLP
Nguyên lý của luật học này là việc lan truyền ngược sai số (còn gọi là lan truyền ngược độ nhạy-Backpropagating the sensitivitives) từ lớp ra trở lại các lớp ẩn và đến đầu vào mạng và từ đó tìm ra cách hiệu chỉnh ma trận trọng số và các hệ số bias để tối thiểu hoá sai số trung bình bình phương Để tính toán cho việc lan truyền ngược sai số ở đây phải sử dụng đạo hàm hàm hoạt hoá, và việc tính toán phải thực hiện lần lượt qua từng lớp từ đầu ra trở lại đầu vào Trước hết ta có các khái niệm
Sai số trung bình bình phương (mean squared error)
Cho tập mẫu vào huấn luyện mạng {(P K ,T K )} gồm có các mẫu p i đã được xác định trước tín hiệu ra yêu cầu t i Khi mẫu t i được lan truyền qua mạng và cho tín hiệu đầu ra là a i ta có thể định nghĩa sai số trung bình bình phương là như sau:
Trong đó x là vectơ trọng số và hệ số bias của mạng được viết như sau:
Mục tiêu của huấn luyện mạng là nhằm điều chỉnh W i và b sao cho F(x) đạt giá trị nhỏ nhất Đây chính là nguyên tắc huấn luyện mạng MLP Nguyên tắc này được thực hiện bằng cách lấy đạo hàm riêng của F(x) theo các trọng số w và hệ số bias và hiệu chỉnh trọng số và hệ số bias tại bước lặp thứ k+1 theo công thức sau: m j i m j i m j i w k F w k w
Với m là chỉ số lớp của mạng, còn là hệ số học (learning rate) Đây cũng chính là nguyên tắc hiệu chỉnh trọng số gần giống luật delta, tức là trị số hiệu chỉnh tỷ lệ thuận với vi phân từng phần của hàm sai số trung bình bình phương theo các trọng số để tối thiểu hoá hàm này
Vấn đề chính trong công thức trên là tính đạo hàm riêng của hàm F như thế nào Trong các lớp ẩn, F không phải là một hàm hiện mà là hàm gián tiếp của các trọng số, chính vì vậy mà ta phải sử dụng đến luật dây chuyền để tính các đạo hàm riêng Với luật dây chuyền, ta giả thiết hàm F là hàm hiện duy nhất của một biến n, khi đó có thể tính đạo hàm của hàm F theo một biến thứ 3 là w như sau: dw w dn dn n df dw w n df ( ( )) ( ) ( )
Sử dụng công thức 2.8 ta có thể tính đạo hàm riêng của F trong các công thức 2.6 và 2.7 Ta có tín hiệu n net của nơron thứ i của lớp m được tính như sau: m i
, (0.10) Đây là một hàm hiện của các trọng số và hệ số bias Theo đó ta có:
Sử dụng luật dây chuyền 2.8 ta có:
Luật học lan truyền ngược (Back-propagation)
Thuật học lan truyền ngược với mạng MLP được mô tả như sau:
- Bước 1: Cung cấp tập mẫu huấn luyện gồm K cặp mẫu vào và kết quả ra đích
- Bước 2: Khởi tạo giá trị ban đầu cho các trọng số và thiết lập các tham số của mạng
- Bước 3: Lần lượt cho K mẫu lan truyền qua mạng từ lớp vào tới lớp ra Ta có thể diễn tả việc tính toán tín hiệu ra ở từng lớp như sau: a 0 =P K (mẫu vào) a m+1 =f m+1 (W m+1 a m +b m+1 ) với chỉ số lớp m=0,1,2…M-1 a=a M (a-tín hiệu ra của mạng)
- Bước 4: Tính sai số trung bình bình phương và lan truyền ngược sai số này về các lớp trước
- Bước 5: Cập nhật các trọng số liên kết theo hướng giảm dốc nhất Gradient Quá trình lặp lại từ bước 3 cho đến khi giá trị sai số trung bình bình phương là nhỏ ở mức chấp nhận được
Thuật toán lan truyền ngược hội tụ đến một giải pháp mà nó tối thiểu hoá được sai số trung bình bình phương vì cách thức hiệu chỉnh trọng số và hệ số bias của thuật toán là ngược hướng với vectơ Gradient của hàm sai số trung bình bình phương đối với trọng số Tuy nhiên, đối với mạng MLP thì hàm sai số trung bình bình phương thường phức tạp và có nhiều cực trị cục bộ, vì thế các phép lặp huấn luyện mạng có thể chỉ đạt được đến cực trị cục bộ của hàm sai số trung bình bình phương mà không đạt đến được cực trị tổng thể
Vấn đề quá trình huấn luyện sẽ hội tụ như thế nào sẽ phụ thuộc vào các điều kiện ban đầu của quá trình huấn luyện Đặc biệt là việc chọn hệ số học như thế nào để tăng khả năng hội tụ của mạng Với mỗi bài toán ta lại có phương án chọn hệ số học khác nhau
Như vậy khi một quá trình huấn luyện theo thuật toán lan truyền ngược hội tụ, ta chưa thể khẳng định được nó đã hội tụ đến phương án tối ưu Ta cần phải thử với một số điều kiện ban đầu để đảm bảo thu được phương án tối ưu
2.3.3 Các yếu tố ảnh hưởng đến hoạt động của mạng MLP
Với mạng có một lớp ẩn có thể biểu diễn cho bất kỳ một tín hiệu đầu vào nào đó của lớp vào Với mạng có hai lớp ẩn có thể thể hiện các hàm với các dáng điệu bất kỳ.[17]
Mạng nơ-ron hồi quy
Mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) là một trong những mô hình học sâu được đánh giá có nhiều ưu điểm trong các tác vụ dự báo chuỗi thời gian Trong phần này, luận văn sẽ trình bày các đặc điểm quan trọng của RNN
2.4.1 Kiến trúc mạng Ý tưởng của RNN đó là thiết kế một Neural Network sao cho có khả năng xử lý được thông tin dạng chuỗi (sequential information), ví dụ một chuỗi thời gian là một dãy gồm nhiều kết quả được thống kê theo thời gian
Recurrent có nghĩa là thực hiện lặp lại cùng một tác vụ cho mỗi thành phần trong chuỗi Trong đó, kết quả đầu ra tại thời điểm hiện tại phụ thuộc vào kết quả tính toán của các thành phần ở những thời điểm trước đó
Nói cách khác, RNN là một mô hình có nhớ (memory), có khả năng nhớ được thông tin đã tính toán trước đó Không như các mô hình Neural Network truyền thống đó là thông tin đầu vào (input) hoàn toàn độc lập với thông tin đầu ra (output) Về lý thuyết, RNN có thể nhớ được thông tin của chuỗi có chiều dài bất kì, nhưng trong thực tế mô hình này chỉ nhớ được thông tin ở vài bước trước đó
Huấn luyện RNN tương tự như huấn luyện Neural Network truyền thống Chúng ta cũng sử dụng đến thuật toán backpropagation (lan truyền ngược) nhưng có một chút tinh chỉnh Gradient tại mỗi output không chỉ phụ thuộc vào kết quả tính toán của bước hiện tại mà còn phụ thuộc vào kết quả tính toán của các bước trước đó
Ví dụ, để tính gradient tại thời điểm t = 4, ta cần backpropagation 3 bước trước đó và cộng dồn các gradient này lại với nhau Kĩ thuật này gọi là Backpropagation Through Time (BPTT) Điểm hạn chế ở đây đó là hidden layer không có trí nhớ dài hạn Vấn đề này còn gọi là vanishing/exploding gradient problem và như vậy, LSTM được sinh ra để giải quyết vấn đề này
2.4.3 Các phiên bản mở rộng của RNN
Hình 0.8 Mạng RNN hai chiều
Trong vài năm qua, các nhà nghiên cứu đã phát triển nhiều loại mạng RNNs ngày càng tinh vi để giải quyết các mặt hạn chế của RNN Dưới đây, là một số phiên bản mở rộng của RNN
Bidirectional RNN (RNN hai chiều): dựa trên ý tưởng output tại thời điểm t không chỉ phụ thuộc vào các thành phần trước đó mà còn phụ thuộc vào các thành phần trong tương lai Ví dụ, để dự đoán một từ bị thiếu (missing word) trong chuỗi, ta cần quan sát các từ bên trái và bên phải xung quanh từ đó Mô hình này chỉ gồm hai RNNs nạp chồng lên nhau Trong đó, các hidden state được tính toán dựa trên cả hai thành phần bên trái và bên phải của mạng
Deep (Bidirectional) RNN: tương tự như Bidirectional RNN, điểm khác biệt đó là mô hình này gồm nhiều tầng Bidirectional RNN tại mỗi thời điểm Mô hình này sẽ cho ta khả năng thực hiện các tính toán nâng cao nhưng đòi hỏi tập huấn luyện của chúng ta phải đủ lớn
Hình 0.9 Mạng RNN nhiều tầng
Long short-term memory networks (LSTM): mô hình này có cấu trúc tương tự như RNNs nhưng có cách tính toán khác đối với các trạng thái ẩn Memory trong LSTMs được gọi là cells (hạt nhân) Ta có thể xem đây là một hộp đen nhận thông tin đầu vào gồm hidden state và giá trị Bên trong các hạt nhân này, chúng sẽ quyết định thông tin nào cần lưu lại và thông tin nào cần xóa đi, nhờ vậy mà mô hình này có thể lưu trữ được thông tin dài hạn Chi tiết mô hình mạng này được giới thiệu trong mục 2.4.
Mạng Long Short Term Memory
2.5.1 Vấn đề phụ thuộc quá dài Ý tưởng ban đầu của RNN là kết nối những thông tin trước đó nhằm hỗ trợ cho các xử lý hiện tại Nhưng đôi khi, chỉ cần dựa vào một số thông tin gần nhất để thực hiện tác vụ hiện tại Ví dụ, trong mô hình hóa ngôn ngữ, chúng ta cố gắng dự đoán từ tiếp theo dựa vào các từ trước đó Nếu chúng ta dự đoán từ cuối cùng trong câu “đám_mây bay trên bầu_trời”, thì chúng ta không cần truy tìm quá nhiều từ trước đó, ta có thể đoán ngay từ tiếp theo sẽ là “bầu_trời” Trong trường hợp này, khoảng cách tới thông tin liên quan được rút ngắn lại, nạng RNN có thể học và sử dụng các thông tin quá khứ
Hình 0.10 RNN phụ thuộc short-term
Nhưng cũng có trường hợp chúng ta cần nhiều thông tin hơn, nghĩa là phụ thuộc vào ngữ cảnh Ví dụ nhưng khi dự đoán từ cuối cùng trong đoạn văn bản “Tôi sinh ra và lớn lên ở Việt_Nam … Tôi có_thể nói thuần_thục Tiếng_Việt.” Từ thông tin gần nhất cho thấy rằng từ tiếp theo là tên một ngôn ngữ, nhưng khi chúng ta muốn biết cụ thể ngôn ngữ nào, thì cần quay về quá khứ xa hơn, để tìm được ngữ cảnh
Việt_Nam Và như vậy, RRN có thể phải tìm những thông tin có liên quan và số lượng các điểm đó trở nên rất lớn
Không được như mong đợi, RNN không thể học để kết nối các thông tin lại với nhau
Hình 0.11 RNN phụ thuộc long-term
Về lý thuyết, RNN hoàn toàn có khả năng xử lý “long-term dependencies”
[14], nghĩa là thông tin hiện tại có được là nhờ vào chuỗi thông tin trước đó Đáng buồn là, trong thực tế, RNN dường như không có khả năng này Vấn đề này đã được Hochreiter và Bengio (1991) đưa ra như một thách thức cho mô hình RNN Rất may là chúng ta đã có mạng LSTM giải quyết được vấn đề này!
Long Short Term Memory network (LSTM) là trường hợp đặc biệt của RNN, có khả năng học long-term dependencies Mô hình này được giới thiệu bởi Hochreiter
& Schmidhuber (1997) , và được cải tiến lại Sau đó, mô hình này dần trở nên phổ biến nhờ vào các công trình nghiên cứu gần đây Mô hình này có khả năng tương thích với nhiều bài toán nên được sử dụng rộng rãi ở các ngành liên quan
LSTM được thiết kế nhằm loại bỏ vấn đề phụ thuộc quá dài [14] Ta quan sát lại mô hình RNN bên dưới, các layer đều mắc nối với nhau thành các module neural network Trong RNN chuẩn, module repeating này có cấu trúc rất đơn giản chỉ gồm một lớp đơn giản tanh layer
Hình 0.12 Các mô-đun lặp của mạng RNN chứa một layer
LSTM cũng có cấu trúc mắt xích tương tự, nhưng các module lặp có cấu trúc khác hẳn Thay vì chỉ có một layer neural network, thì LSTM có tới bốn layer, tương tác với nhau theo một cấu trúc cụ thể
Hình 0.13 Các mô-đun lặp của mạng LSTM chứa bốn layer
Trong đó, các ký hiệu sử dụng trong mạng LSTM được giải nghĩa như Hình
• Hình chữ nhật nền vàng là các lớp ẩn của mạng nơ-ron
• Hình tròn nền hồng biểu diễn toán tử Pointwise
• Đường kẻ gộp lại với nhau biểu thị phép nối các toán hạng
• Và đường rẽ nhánh biểu thị cho sự sao chép từ vị trí này sang vị trí khác
Hình 0.14 Các kí hiệu sử dụng trong mạng LSTM
2.5.3 Phân tích mô hình LSTM
Có lẽ sau khi quan sát mô hình thiết kế của LSTM, chúng ta nhận ra ngay, đây là một bảng mạch số, gồm các mạch logic và các phép toán logic trên đó Thông tin, hay nói khác hơn là tần số của dòng điện di chuyển trong mạch sẽ được lưu trữ, lan truyền theo cách mà chúng ta thiết kế bảng mạch
Mấu chốt của LSTM là cell state (tế bào trạng thái), đường kẻ ngang chạy dọc ở trên top diagram Cell state giống như băng chuyền Nó chạy xuyên thẳng toàn bộ mắt xích, chỉ một vài tương tác nhỏ tuyến tính (minor linear interaction) được thực hiện Điều này giúp cho thông tin ít bị thay đổi xuyên suốt quá trình lan truyền
Hình 0.15 Tế bào trạng thái LSTM giống như một băng truyền
Hình 0.16 Cổng trạng thái LSTM
LSTM có khả năng thêm hoặc bớt thông tin vào cell state, được quy định một cách cẩn thận bởi các cấu trúc gọi là cổng (gate) Các cổng này là một cách (tuỳ chọn) để định nghĩa thông tin băng qua Chúng được tạo bởi hàm sigmoid và một toán tử nhân pointwise
Hàm kích hoạt Sigmoid có giá trị từ 0 – 1, mô tả độ lớn thông tin được phép truyền qua tại mỗi lớp mạng Nếu ta thu được zero điều này có nghĩa là “không cho bất kỳ cái gì đi qua”, ngược lại nếu thu được giá trị là một thì có nghĩa là “cho phép mọi thứ đi qua” Một LSTM có ba cổng như vậy để bảo vệ và điều khiển cell state
Quá trình hoạt động của LSTM được thông qua các bước cơ bản sau:
Bước đầu tiên của mô hình LSTM là quyết định xem thông tin nào chúng ta cần loại bỏ khỏi cell state Tiến trình này được thực hiện thông qua một sigmoid layer gọi là “forget gate layer” – cổng chặn Đầu vào là ℎ𝑡−1 và 𝑥𝑡, đầu ra là một giá trị nằm trong khoảng [0, 1] cho cell state 𝐶𝑡−1 1 tương đương với “giữ lại thông tin”, 0 tương đương với “loại bỏ thông tin”
Bước tiếp theo, ta cần quyết định thông tin nào cần được lưu lại tại cell state
Ta có hai phần Một, single sigmoid layer được gọi là “input gate layer” quyết định các giá trị chúng ta sẽ cập nhật Tiếp theo, một 𝑡𝑎𝑛ℎ layer tạo ra một vector ứng viên mới, được thêm vào trong ô trạng thái
Hình 0.18 LSTM focus i Ở bước kế tiếp , ta sẽ kết hợp hai thành phần này lại để cập nhật vào cell state Lúc cập nhật vào cell state cũ, , vào cell state mới Ta sẽ đưa state cũ hàm , để quên đi những gì trước đó Sau đó, ta sẽ thêm Đây là giá trị ứng viên mới, co giãn (scale) số lượng giá trị mà ta muốn cập nhật cho mỗi state
Cuối cùng, ta cần quyết định xem thông tin output là gì Output này cần dựa trên cell state của chúng ta, nhưng sẽ được lọc bớt thông tin Đầu tiên, ta sẽ áp dụng single sigmoid layer để quyết định xem phần nào của cell state chúng ta dự định sẽ output Sau đó, ta sẽ đẩy cell state qua (đẩy giá trị vào khoảng -1 và 1) và nhân với một output sigmoid gate, để giữ lại những phần ta muốn output ra ngoài
Mô hình LSTM là một bước đột phá mà chúng ta đạt được từ mô hình RNN
Một số hướng nghiên cứu về bài toán dự báo tuyển sinh sử dụng mạng nơ ron
Bài toán dự báo có nhiệm vụ phân tích và sử dụng số liệu đã có trong quá khứ để dự đoán giá trị tương lai Hiện nay, có rất nhiều phương pháp dự báo đã được sử dụng trên mô hình vật lý và mô hình toán học Trong nhiều trường hợp, kết quả nghiên cứu dự báo theo các mô hình trên đã đạt được những thành công nhất định Tuy nhiên, phương pháp nào cũng có những hạn chế, do vậy bài toán dự báo vẫn là nội dung được nghiên cứu hiện nay Trên thế giới, cũng như trong nước, các phương pháp khai phá dữ liệu (đặc biệt là các phương pháp học máy mạng nơron) cũng được áp dụng nhiều vào dự báo
2.6.1 Các nghiên cứu trên thế giới
Trên thế giới, các nghiên cứu về việc xây dựng mô hình dự báo tuyển sinh sử dụng kỹ thuật học máy đã bắt đầu từ cách đây rất lâu (1993) và hiện tại vẫn còn đang được nghiên cứu phát triển để giảm thiểu sai số dự báo Riêng trong lĩnh vực sâu là ứng dụng mạng nơ-ron cho dự báo tuyển sinh có thể kể đến một số công trình dưới đây [7], [13], [14]
Trong nghiên cứu về dự báo tuyển sinh tại Đại học Sebha ở Libya năm 2009, các tác giải so sánh một loạt các kỹ thuật của học máy như phân cụm, hồi quy, cây quyết định và mạng nơ ron trong việc dự báo Kết quả của nghiên cứu này cho thấy mạng nơ ron đã cho độ chính xác dự đoán tốt về dự báo tuyển sinh [15]
Borah và các cộng sự (2011) đã đề xuất một hàm đo lường lựa chọn thuộc tính mới (heuristic) trên thuật toán cây quyết định C4.5 hiện có C4.5 đưa ra giải pháp đầy hứa hẹn về thông tin phân tách của quá trình tuyển sinh tại trường cao đẳng kỹ thuật ở Ấn Độ Cách tiếp cận khác trong các nghiên cứu này là so sánh độ chính xác giữa thuật toán Cây quyết định C5.0 và thuật toán lan truyền ngược của mạng nơ ron MPL Kết quả cho thấy mạng MPL đã đưa ra độ chính xác dự báo cao nhất 15]
Năm 2018, Desmond Chekwube Bartholomew [7] cũng công bố công trình nghiên cứu về dự báo sinh viên nhập học tại Đại học Công nghệ Liên bang, Owerri (FUTO), bang Imo, Nigeria Mục tiêu xây dựng một mạng MLP dự báo sinh viên đăng ký vào FUTO và so sánh độ chính xác dự đoán mô hình Kết quả cũng được khẳng định là tốt hơn khi mô hình mạng MLP này được so sánh với các phương pháp truyền thống
Gần đây nhất, năm 2021, hai công trình của Bousnguar [13] và Friday James
[14] đã sử dụng mô hình mạng nơ ron học sâu LTSM để dự báo tuyển sinh và dự báo năng lực học tập của sinh viên Kết quả hoạt động của mạng LTSM được khẳng định là vượt trội so với phương pháp ARIMA
2.6.2 Các nghiên cứu trong nước
Trong những năm gần đây, đã có rất nhiều công trình một số công trình công bố về các phương pháp dự báo áp dụng trong giáo dục sử dụng mạng nơron như: Dự báo tỉ lệ nghỉ học của sinh viên, dự báo tỉ lệ đỗ tốt nghiệp, tỉ lệ đỗ đại học, số học sinh tuyển sinh vào của những năm tiếp theo…Tiêu biểu có thể liệt kê một số công trình nghiên cứu sau đây:
Luận văn “Dự báo kết quả đậu đại học” của tác giả Thái Trung Hải đã sử dụng mạng MLP với thuật toán lan truyền ngược Trong luận văn sử dụng mạng 3 lớp (1 lớp vào, 1 lớp ẩn, 1 lớp ra) với số nơron đầu vào là 13, lớp ẩn là 13 và đầu ra là 3 Đầu vào của luận văn là 13 yếu tố ảnh hưởng đến dự báo đó là kết quả học tập của
13 môn học 3 đầu ra là điểm thi đại học, điểm thi tốt nghiệp và nhóm trường đậu đại học [1]
Trong luận văn tốt nghiệp của tác giả Nguyễn Văn Trịnh [3] về “Ứng dụng mạng nơron trong dự báo tỷ lệ nghỉ học” lại xây dựng mô hình mạng nơron khác với luận văn trên Đồ án xây dựng ba mô hình là: Mô hình dự báo tình trạng nghỉ học của học viên với đầu vào của mạng là hồ sơ của những học viên đã tốt nghiệp và những học viên nghỉ học và đầu ra là trạng thái học viên đó là: Nghỉ học và tốt nghiệp Mô hình thứ hai là: Dự báo tình trạng học tập của học viên qua 1 kỳ xác định (ký hiệu là kỳ x=2, 3, 4) có đầu vào là hồ sơ của những học viên đã học qua kỳ x và những học viên đã nghỉ học trước kỳ x và đầu ra là trạng thái học viên là nghỉ học và học vượt qua kỳ x Mô hình thứ 3 là: Dự báo tiềm năng nghỉ học của học viên trong quá trình học có đầu vào là kỳ x, hồ sơ học viên, quy mô lớp, điểm tích lũy trung bình, số lần đăng nhập diễn đàn, tỉ lệ nghỉ học kỳ trước và đầu ra là trạng thái học viên với màu xanh là học thêm được ít nhất 2 kỳ nữa, màu vàng là kỳ tới sẽ nghỉ học và màu đỏ là kỳ này nghỉ học Đồ án luyện mạng sử dụng các quy tắc học là Delta, momen và delta-bar-delta
Trong [2], tác giả Dương Thu Trang cũng xây dựng mô hình dự báo kết quả tuyển sinh sử dụng một mạng MLP gồm 3 lớp Đầu vào gồm 10 nơ-ron ứng với kết quả tuyển sinh của 10 năm trước đó Lớp ẩn gồm 10 nơ-ron được chọn dựa trên quy tắc “thử và sai” Lớp ra chỉ có 1 đầu ra là kết quả dự báo tuyển sinh ở thời điểm tương lai
Trong [4], tác giả Nguyễn Thị Thơ cũng đã nghiên cứu mạng nơ-ron và ứng dụng trong bài toán Đầu vào n=6 và s=3 dựa trên phương pháp “thử và sai” Kết quả đầu ra cho kết quả dự báo tuyển sinh của năm tiếp theo
Việc sử dụng mạng LSTM cho dự báo chuỗi thời gian cũng đã được một số tác giả trong nước sử dụng Ở [5] tác giả Phạm Chí Hùng sử dụng mạng LSTM bài
Xây dựng mô hình dự báo tuyển sinh sử dụng mạng nơ-ron LSTM
Qua các công trình khảo sát ở trong và ngoài nước trên cho thấy việc áp dụng mạng LSTM cho việc xây dựng mô hình dự báo tuyển sinh tại trường Đại học Sư phạm – Đại học Thái Nguyên là khả thi và hứa hẹn sẽ cho kết quả tốt hơn các phương pháp truyền thống
2.7 Xây dựng mô hình dự báo tuyển sinh sử dụng mạng nơ-ron LSTM
Giả sử ta có chuỗi thời gian {x[t]), x[t-1],…, x[t-n-1],} tính đến thời điểm t , nhiệm vụ của chúng ta là dự báo giá trị của x tại một thời điểm trong tương lai xdb[t+s] =f(x[t], x[t−1],ããã x[t-n-1])
Trong đó n là khoảng thời gian quan sát trước, s là cửa sổ dự báo (horizon of prediction)
Trong trường hợp n=1, s = 1, nghĩa là ta chỉ dự báo 01 giá trị tại tương lai dựa theo kết quả của 01 năm trước đó Khi đó, bài toán rơi vào trường hợp tìm ra một hàm xấp xỉ (function approximation) biểu diễn chuỗi thời gian, nói cách khác là dự đoán giá trị tương lai từ các giá trị đã thu thập trước đó trong chuỗi thời gian Để giải quyết bài toán dự báo chuỗi thời gian nói chung và sử dụng mạng nơron LSTM nói riêng, cần thực hiện các bước tổng quát sau:
1) Chọn mô hình tổng quát, chọn khoảng thời gian quan sát trước n, cửa sổ dự báo s
2) Với mỗi x[t i ] trong quá khứ, huấn luyện mô hình với đầu vào là n giá trị trước đó và s đầu ra mong muốn, là chính t i
3) Sau khi huấn luyện mụ hỡnh, chạy mụ hỡnh với chuỗi {x[t], x[t−1],ããã
,x[t−n−1]} để thu được giỏ trị dự đoỏn { x db [t+1], x db [t+2],ããã , x db [t+s] }
Các bước xây dựng mô hình dự báo tuyển sinh bằng phương pháp sử dụng mạng nơ-ron LSTM như Hình 0.21 Bao gồm:
- Bước 1: Xây dựng bộ dữ liệu
- Bước 2: Phân tích và xử lý Bao gồm việc chuẩn hóa dữ liệu và xác định khoảng thời gian quan sát trước n, cửa sổ dự báo s
- Bước 3: Xây dựng mô hình mạng LSTM Bao gồm
Chia tập dữ liệu ban đầu thành các tập: huấn luyện (training) 90 % số mẫu), kiểm tra (test) (10% số mẫu)
Xây dựng tập dữ liệu với mẫu đầu tiên có đầu ra là y[s], y[s-1], y[s-2],…, y[1] các đầu vào là các x[1], x[2],…, x[n]
Lựa chọn các tham số kiến trúc mạng nơ-ron LSTM áp dụng cho dự báo (số feature, số nơ-ron trong mỗi lớp ẩn, hàm hoạt hóa, hàm tổn thất, luật tối ưu) Việc xác định cấu trúc tối ưu cần quá trình thử-sai
- Bước 4: Huấn luyện mô hình với các thông số khởi tạo trên các tập dữ liệu training, xác định lỗi với tập dữ liệu test để xác định khả năng tổng quát hóa
- Bước 5: Sau khi huấn luyện, thực hiện đánh giá kết quả phân tích dự báo của mô hình
Hình 0.21 Các bước thực hiện xây dựng mô hình LSTM cho dự báo tuyển sinh
Kết luận chương
Có thể thấy rằng, mạng nơ-ron là một công cụ hữu hiệu trong việc xử lý các lớp bài toán phi tuyến phức tạp Đặc biệt là trong bài toán dự báo Chính vì vậy, nội dung chương 2 đã trình bày các kiến thức tổng quan cho việc xây dựng các loại mạng nơ-ron MLP, RNN, LSTM và thực hiện các thuật toán học nhằm điều chỉnh trọng số của các node mạng sao cho hàm tổn thất là nhỏ nhất Trong đó, có thể nói rằng, mạng nơ ron học sâu LSTM vừa kế thừa được ưu điểm của mạng RNN ban đầu, vừa khắc phục được vấn đề “phụ thuộc quá dài’ của mạng RNN cổ điển Bên cạnh đó, để đưa ra quyết định hợp lý cho ứng dụng mạng nơ-ron học sâu LSTM giải quyết bài toán dự báo tuyển sinh, nội dung chương cũng đã cập nhật các công trình công bố gần đây nhất trong và ngoài nước, đề xuất cách thức xây dựng mạng LSTM cho bài toán dự báo tuyển sinh Trường ĐH Sư Phạm Thái Nguyên.
XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG
Giới thiệu chương
Trên cơ sở các phân tích lý thuyết đã thực hiện trong chương 1 và 2, trong chương này, học viên sẽ tiến hành cài đặt thử nghiệm chương trình mô phỏng dự báo số sinh viên tuyển vào Trường Đại học Sư phạm Thái Nguyên nhằm phục vụ công tác quản lý, hỗ trợ lên kế hoạch tuyển sinh Các kết quả thu được cũng được đối sánh với phương pháp ARIMA truyền thống, phương pháp sử dụng mnagj nơ ron MLP Chính vì vậy, phần đầu của chương sẽ giới thiệu đôi nét về Trường Đại học Sư phạm Thái Nguyên Phần tiếp theo sẽ phát biểu bài toán và dữ liệu tuyển sinh từ năm 1980 đến 2021 Tiếp đó, luận văn sẽ mô tả chi tiết các bước xây dựng chương trình mô phỏng trên Platform Matlab 2020b Phần cuối chương sẽ phân tích kết quả đạt được trên cơ sở đối sánh các phương pháp.
Phát biểu bài toán
3.2.1 Giới thiệu về Trường Đại học Sư phạm – Đại học Thái Nguyên
Trường Đại học Sư phạm – Đại học Thái Nguyên tiền thân là Trường Đại học
Sư phạm Việt Bắc được thành lập ngày 18/07/1966 theo Quyết định số 127/CP của Chính phủ Đến năm 1994, Chính phủ thành lập Đại học Thái Nguyên, Trường Đại học Sư phạm Việt Bắc trở thành cơ sở giáo dục đại học thành viên thuộc Đại học Thái Nguyên, có tên mới là Trường Đại học Sư phạm – Đại học Thái Nguyên (ĐHSP – ĐHTN) Đội ngũ giảng viên của Trường ngày một phát triển, đáp ứng tốt những yêu cầu đổi mới giáo dục hiện nay Tính đến 12/2020, Trường có 455 giảng viên, viên chức và người lao động Trong 308 giảng viên, giáo viên có 39 người có học hàm Giáo sư, Phó Giáo sư, 163 giảng viên có trình độ tiến sĩ (chiếm tỷ lệ trên 53%)
Có thể khẳng định trong hệ thống giáo dục đại học Việt Nam, Trường Đại học Sư phạm – Đại học Thái Nguyên là một trong các trường có vị trí quan trọng đối với sự nghiệp phát triển giáo dục Trong những năm tới, với chiến lược phát triển kinh tế - xã hội, văn hóa – giáo dục miền núi nhằm mục tiêu nâng cao chất lượng đào tạo nguồn nhân lực, đặc biệt chú trọng nhân lực khoa học – công nghệ trình độ cao, Trường Đại học Sư phạm nhận thức được nhiệm vụ đào tạo và chuẩn hóa đội ngũ giáo viên, cán bộ quản lý giáo dục để khẳng định vai trò cung cấp nguồn nhân lực phục vụ sự nghiệp công nghiệp hóa – hiện đại hóa, xứng đáng là Trường trọng điểm trong đào tạo giáo viên và cán bộ quản lý giáo dục đổi với các tỉnh Trung du, miền núi phía Bắc
Về cơ sở vật chất Trường có:
Bảng 0.1 Cơ sở vật chất của Trường
STT Nội dung Đơn vị tính
2 Tổng diện tích sàn xây dựng phục vụ đào tạo, nghiên cứu khoa học m2 102.252
3 Phòng học giảng đường gồm Phòng 167
4 Số phòng thí nghiệm, phòng thực hành phòng 70
7 Diện tích sân vận động m2 18.375
8 Diện tích sân tenis + bóng rổ + bóng chuyền m2 5.000
3.2.2 Bài toán dự báo tuyển sinh trường Đại học Sư phạm - ĐHTN
Qua phân tích trong chương 1 và chương 2, để xây dựng mô hình dự báo tuyển sinh cho Trường ĐH Sư Phạm - ĐHTN, luận văn sẽ lựa chọn dựa trên số học sinh tuyển vào trường trong một số năm của cơ sở đào tạo
Dữ liệu tuyển sinh của trường từ năm 1980 đến năm 2021 được thống kê trong Bảng 3.2 và được minh họa trên Hình 0.1 Dựa trên số liệu thống kê này, ta cần thiết kế phần mềm để xây dựng mô hình dự báo tuyển sinh ứng dụng các công cụ là mô hình
ARIMA, mạng nơ ron MLP và mạng nơ-ron LSTM Để thực hiện điều này, trước tiên dữ liệu tuyển sinh thực tế sẽ được chia làm hai phần
- Phần 1 từ năm 1980 đến 2010 được dùng để huấn luyện, xác định các mô hình
- Phần 2 từ năm 2011 đến 2021 được sử dụng để đánh giá sai số dự báo của ba mô hình ARIMA, MLP và LSTM
Bảng 3.2 Dữ liệu tuyển sinh của Trường Đại học Sư phạm Thái Nguyên
TT Năm Số SV được tuyển TT Năm Số SV được tuyển
Hình 0.1 Số liệu tuyển sinh của Trường ĐH Sư phạm – ĐH Thái nguyên (1980-
Các bước thực hiện
3.3.1 Dự báo tuyển sinh Trường Đại học Sư phạm sử dụng mô hình ARIMA
Theo [10] để xây dựng mô hình ARIMA theo phương pháp Box – Jenkins bao gồm các bước chung:
- Kiểm định độ chính xác
Xác định mô hình : Mô hình ARIMA chỉ được áp dụng đối với chuỗi dừng
Mô hình có thể trình bày theo dạng AR, MA hay ARMA Phương pháp xác định mô hình thường được thực hiện qua nghiên cứu chiều hướng biến đổi của hàm tự tương quan ACF hay hàm tự tương quan từng phần PACF
Chuỗi ARIMA không dừng cần phải được chuyển đồi thành chuỗi dừng trước khi tính ước lượng tham số bình phương tối thiểu Việc chuyển đổi này được thực hiện bằng cách tính sai phân giữa các giá trị quan sát dựa vào giả định các phần khác nhau của các chuỗi thời gian đều được xem xét tương tự, ngoại trừ các khác biệt ở giá trị trung bình Nếu việc chuyển đổi này không thành công, sẽ áp dụng tiếp các kiểu chuyển đổi khác (chuyển đồi logarithm chẳng hạn) Ước lượng tham số: tính những ước lượng khởi đầu cho các tham số a0, a1,
…, ap, b1, …, bq của mô hình dự định Sau đó xây dựng những ước lượng sau cùng bằng một quá trình lặp
Kiểm định độ chính xác : Sau khi các tham số của mô hình tổng quát đã xây dựng, ta kiểm tra mức độ chính xác và phù hợp của mô hình với dữ liệu Chúng ta kiểm định phần dư (Yt –Y^t) và có ý nghĩa cũng như mối quan hệ các tham số Nếu bất cứ kiểm định nào không thỏa mãn, mô hình sẽ nhận dạng lại các bước trên được thực hiện lại
Dự báo : Khi mô hình thích hợp với dữ liệu đã tìm được, ta sẽ thực hiện dự báo tại thời điểm tiếp theo t Do đó, mô hình ARMA(p,q) : y(t+1) = a0 + a1y(t) + … + apy(t – p + 1) + e(t+1) + b1e(t) + … + bqe( t – q + 1) Để tiến hành xây dựng modul dự báo tuyển sinh dùng ARIMA, luận văn sử dụng các công cụ có sẵn trong phần mềm Matlab Ta có thể dễ dàng xây dựng mô hình dự báo ARIMA với các tham số p , q, d nhập từ giao diện người dùng với các câu lệnh ngắn gọn như sau sys = arima(p,q,d);
Md1 = estimate(sys,train_data); yf = forecast(Md1,length(yeartest),'Y0',data);
Trên cơ sở đó, luận văn sẽ tạo giao diện GUI để người dùng có thể lựa chọn được các tham số p, q, d tốt nhất theo phương pháp “thử và sai”
3.3.2 Dự báo tuyển sinh Trường Đại học Sư phạm sử dụng mạng nơ ron
Mô hình dự báo tuyển sinh sử dụng mạng nơ ron MLP và LSTM cũng được thiết kế dựa trên Platform của Matlab Các công cụ của Matlab đủ mạnh để cho phép tích hợp ba modul dự báo trong một chương trình ứng dụng
Như đã phân tích trong các phần trước, sẽ là rất khó để xác định các tham số nhằm xây dựng mô hình MLP và LSTM dự báo chính xác nhất Phương pháp thông thường nhất là dựa trên “thử và sai” Chính vì vậy, phần mềm thiết kế phải linh hoạt để cho người dùng chọn lựa một số các tham số sau:
Về tham số của dự báo:
- Lựa chọn khoảng thời gian quan sát trước (n), là số mẫu cần thiết thu thập trước khi đưa ra kết quả dự báo hiện tại Ví dụ, nếu n thì để cho kết quả dự báo tuyển sinh của năm 2021 cần 10 mẫu của các năm trước từ 2012 đến 2021
- Lựa chọn cửa số dự báo (s) Đây chính là số thời điểm dự báo trong tương lai Ví dụ, nếu s=4 thì tại thời điểm có số liệu thực về tuyển sinh cập nhật đến năm
2021 cho phép ta dự báo kết quả của ba năm 2022, 2023, 2024, 2025
Về tham số của mạng nơ ron MLP
- Bao gồm các tham số như: Số lớp ẩn, số nơ-ron trong mỗi lớp ẩn, hàm hoạt hóa, thuật toán luyện mạng
Về tham số của mạng nơ ron LSTM:
- Bao gồm các tham số như: số feature, số nơ-ron trong mỗi lớp ẩn, hàm hoạt hóa, hàm tổn thất, luật tối ưu
- Bài toán dựa báo sẽ gồm 2 pha như sau:
Như đã nói ở trên, dữ liệu dùng để học sẽ lấy từ năm 1980 đến năm 2010 Tùy theo việc lựa chọn khoảng thời gian quan sát trước (n) và cửa số dự báo (s), ta sẽ chuẩn bị một tập các mẫu cho việc luyện mạng
Pha 2: Pha chạy đánh giá
Từ kết quả của pha 1, sau khi luyện mạng ta tìm được cấu trúc mạng với các trọng số W = [wij] phù hợp
Cho tập dữ liệu năm [2011 … 2021]
Xác định đầu ra của ba mô hình dựa báo theo ARIMA, MLP và LSTM qua các năm này
Tính các tham số RMSE và MAPE đối với mỗi phương pháp Từ đó khẳng định được phương pháp tốt hơn và lấy kết quả dự báo của phương pháp đó cho các năm tương lai như 2022, 2023, 2024, 2025.
Một số kết quả đạt được
Chương trình ứng dụng được xây dựng trên giao diện GUI của phần mềm Matlab 2020b Lý do học viên lựa chọn xây dựng phần mềm mô phỏng trên Matlab vì đây là phần mềm chuyên dụng cho tính toán số liệu dưới dạng ma trận Ngoài ra, Matlab cũng tích hợp công cụ hỗ trợ cho việc xây dựng và đánh giá hoạt động của ba mô hình ARIMA MLP và LSTM Các công bố về các phương pháp dự báo cũng đa phần sử dụng Matlab nên rất tiện cho việc so sánh và đánh giá hiệu quả của các phương pháp
3.4.1 Các chức năng con được cài đặt
Mã nguồn của chương trình bao gồm một số module chính như mô tả trong Bảng 0
Bảng 0.3 Các module chính của chương trình
Cài đặt giao diện chính của chương trình mô phỏng dự báo tuyển sinh sử dụng mạng LSTM Database.m
Tạo mẫu dữ liệu chuẩn cho luyện và kiểm thử mô hình
Khai báo các tham số luyện mạng nơ ron, tiến hành luyện mạng (pha 1)
Predict_para.fig Khai báo các tham số của mô hình dự báo (s và n) ARIMA_Predict.m
Chạy chạy các kết quả dự báo theo mô hình ARIMA
MLP_Predict.fig Chạy chạy các kết quả dự báo theo mô hình LSTM LSTM_Predict.m
LSTM_Predict.fig Chạy chạy các kết quả dự báo theo mô hình LSTM Enroll_Predict.m
Enroll_Predict.fig Chạy kết quả tuyển sinh với mô hình tốt nhất
Hình 0.2 minh họa giao diện của chương trình chính với các chức năng con tương ứng được mô tả trong Bảng 0 Để thực hiện chương trình, trước tiên, người dùng chọn chức năng Tạo mẫu dữ liệu để nhập các dữ liệu tuyển sinh trong Bảng 3.2 theo file hoặc nhập từng năm (Hình 0.3) Các mẫu dữ liệu dựa báo sẽ được lưu lại trong file data.mat
Hình 0.2 Giao diện chương trình chính
Hình 0.3 Nhập dữ liệu dự báo
Sau khi tạo xong mẫu dữ liệu, chương trình tự động quay về giao diện chương trình chính và cho phép người dùng nhập các tham số dự báo bằng cách chọn chức năng Nhập tham số dự báo Kết quả được thể hiện trên Hình 0.4 (bao gồm khoảng thời gian quan sát trước và cửa sổ dự báo) Các tham số này sẽ quyết định tới đầu vào và ra trong cấu trúc của mạng nơ-ron sau này Ví dụ với số liệu được mô tả ở Hình 0.4, mạng LSTM sẽ phải có 3 đầu vào và một đầu ra
Hình 0.4.Nhập tham số dự báo
Sau khi nhập tham số dự báo, giao diện chương trình chính xuất hiện cho phép người dùng có thể cấu hình các tham số cho việc xây dựng mô hình dự báo theo ARIMA Sau khi cấu hình tham số, người dùng lựa chọn lần lượt các chức năng khởi tạo mô hình và ước lượng mô hình để tạo ra mô hình ARIMA cho dự báo Cuối cùng, người dùng sử dụng chức năng đánh giá để xem kết quả thông qua các chỉ số RMSE, MAPE và đồ thị mô tả quá trình dự báo
Qua tiến hành thử sai nhiều lần, học viên nhận thấy mô hình ARIMA (2, 1, 2) cho kết quả dự báo tốt nhất Các kết quả này được thể hiện trong Hình 0.5, Hình 0.6
Hình 0.5 Giao diện dự báo theo ARIMA
Hình 0.6 Tham số mô hình ARIMA (2,1,2)
Trong giao diện chương trình chính ta có thể tiến hành cấu hình các tham số cho việc luyện mạng nơ ron MLP
Chương trình sẽ hiển thị sẵn số đầu vào và đầu ra của mạng MLP do người dùng đã chọn khoảng thời gian quan sát trước (n) và cửa sổ dự báo Người dùng có thể tùy chọn số lượng nơ ron của hai lớp ẩn rồi khởi tạo mạng nơ ron và huấn luyện mạng sử dụng các câu lệnh đơn giản của Matlab như sau:
%Khoi tao mang MLP net.trainParam.show = 50; % The result is shown at every 50th iteration (epoch) net.trainParam.lr = 0.001; % Learning rate used in some gradient schemes net.trainParam.epochs 00; % Max number of iterations net.trainParam.goal = 0; % Error tolerance; stopping criterion net.trainParam.max_fail; net.trainParam.min_grad= 1e-10; net.trainParam.time=inf; net1 = newff(XTrain,YTrain,[N1 N2],{'tansig','logsig'},'traingda', 'learngdm','mse'); view(net1); a =sim(net1, XTest);
Hình 0.7 Kết quả huấn luyện mạng MLP
Kết quả của quá trình luyện mạng được thể hiện như trong Hình 0.7 Sau khi huấn luyện, người dùng có thể đánh giá hiệu quả của mô hình dựa báo trên cùng bộ mẫu như phương pháp ARIMA Hình 0.8 minh họa kết quả của mộ trường hợp dựa báo với số nơ ron của hai lớp ẩn là 200
Hình 0.8 Minh họa một kết quả dự báo theo MLP
Tương tự, ta cũng có thể áp xây dựng modul đánh giá dự báo theo mạng LTSM với bằng việc áp dụng các câu lệnh của Matlab:
%Khởi tạo mạng LSTM numFeatures = n;% Khoảng thời gian quan sát trước numResponses = s;% Cửa sổ dự báo numHiddenUnits = N1;% Số lớp ẩn layers = [ sequenceInputLayer(numFeatures) lstmLayer(numHiddenUnits) fullyConnectedLayer(numResponses) regressionLayer];
%Tạo các tùy chọn khi luyện mạng LSTM options = trainingOptions('adam',
'Plots','training-progress'); net = trainNetwork(XTrain,YTrain,layers,options);
Hình 0.9 Luyện mạng nơ ron LSTM
Hình 0.9 minh họa quá trình thiết lập tham số luyện và đánh giá hoạt động của mạng nơ-ron LSTM, Hình 0.10 minh họa chi tiết quá trình luyện mạng LSTM cho bài toán dự báo tuyển sinh với tham số dự báo như Hình 0.4 Ở đây, người dùng tùy chọn số đặc trưng và nơ-ron cho lớp ẩn, dựa vào kết quả đánh giá (các tham số RMSE và MAPE) để từ đó xác định cấu trúc mạng nơ-ron LSTM phù hợp
Hình 0.10.Giao diện tiến trình luyện mạng
Trong quá trình luyện mạng, chương trình cho phép tự lưu lại các kết quả tốt nhất cuae quá trình thử sai vào file để lấy đó làm mô hình thực hiện dự báo Vì vậy, sau khi luyện mạng nơ-ron LSTM nhiều lần để xác định cấu trúc mạng cũng như các tham số của mạng, người dùng có thể sử dụng chức năng Dự báo tuyển sinh trên giao diện chương trình chính để kiểm thử Kết quả dự báo cũng như đồ thị dự báo sẽ cho người dùng đánh giá được tính chính xác của việc dự báo
Hình 0.11.Chạy kết quả dự báo
Một số kết quả và bàn luận
Trong quá trình xây dựng cấu trúc mạng nơ-ron cho bài toán dự báo,việc xác định số nơ-ron lớp ẩn là rất quan trọng Số nơ-ron lớp ẩn nhỏ sẽ dẫn đến sai số dự báo lớn Ngược lại, nếu số nơ-ron lớp ẩn mà lớn sẽ làm cho thời gian tính toán lâu hơn Sau khi xây dựng phần mềm mô phỏng, học viên đã thử nghiệm thay đổi một số giá trị số nơ-ron lớp ẩn Các kết quả được thể hiện trong Bảng 0 Từ kết quả này, học viên lựa chọn được mạng nơ-ron LSTM có cấu trúc phù hợp với số nơ-ron lớp ẩn là 400
Bảng 0.4 Kết quả thử nghiệm khi số nơ-ron lớp ẩn thay đổi
Tổng thời gian huấn luyện
Tổng số vòng huấn luyện Lỗi RMSE
8 2000 44 phút 43 giây 1000 437.130 Để kiểm thử khả năng hoạt động của phương pháp dự báo dùng mạng nơ ron, học viên đã tiến hành so sánh kết quả dự báo của phương pháp này với phương pháp ARIMA và MLP tốt nhất Kết quả kiểm chứng trên Bảng 0 và Bảng 3.2 cho thấy phương pháp dự báo sử dụng mạng nơ-ron học sâu LSTM cho kết quả chính xác hơn rất nhiều lần so với các phương pháp truyền thống Với kết quả này, dự báo tuyển sinh các năm từ 2022 đến 2025 của Nhà trường lần lượt là 1080, 1244, 1238 và 1319
Bảng 0.5 Kết quả thử nghiệm một số phương pháp dự báo
Năm Số thí sinh thực Phương pháp dự báo
Kết luận chương
Trong chương 3, trên cơ sở các kiến thức lý thuyết về dự báo chuỗi thời gian và mạng nơ-ron LSTM đã trình bày trong các chương trước, học viên đã tiến hành xây dựng thử nghiệm chương trình mô phỏng minh họa dự báo tuyển sinh cho trường Đại học Sư Phạm Thái Nguyên sử dụng mô hình ARIMA, mạng nơ ron MLP, mạng nơ-ron học sâu LSTM Từ đó, học viên đã thử nghiệm để tìm ra các tham số về cấu trúc mạng nơ-ron cũng như tham số thời gian quan sát trước phù hợp (cho sai số dự báo nhỏ nhất) Kết quả của dự báo tuyển sinh dùng mạng nơ-ron LSTM khi so sánh với mô hình ARIMA và MLP là tốt nhất Từ đó có thể thấy mạng nơ-ron học sâu LSTM là phương pháp ưu việt hơn cả và cần được sử dụng nhiều hơn, thay thế cho các phương pháp dự báo cũ trong các lớp bài toán dự báo tương tự
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Qua nghiên cứu cho thấy rằng dự báo dữ liệu chuỗi thời gian sử dụng mạng nơ ron là một bài toán gặp rất nhiều trong thực tế Làm chủ các kỹ thuật phân tích và giải quyết các bài toán dự báo chuỗi thời gian sử dụng mạng nơ ron MLP hay mạng nơ ron học sâu LSTM là một phương pháp tốt để triển khai bài toán dự báo tuyển sinh
Sau một thời gian tìm hiểu nghiên cứu, luận văn đã trình bày được các vấn đề sau:
- Nghiên cứu lý thuyết chung, cập nhật các nghiên cứu mới nhất về bài toán dự báo, kỹ thuật dự báo theo chuỗi thời gian Đặc biệt tập trung vào phương pháp dự báo tuyển sinh sử dụng mô hình mạng nơ ron MLP, mạng nơ ron học sâu LSTM
- Phát biểu bài toán dự báo tuyển sinh cho Trường Đại học Sư phạm Thái Nguyên; Xây dựng chương trình minh họa dự báo tuyển sinh sử dụng mô hình mạng nơ ron MLP, LSTM Xác định các tham số phù hợp So sánh đánh giá kết quả đạt được với thuật toán ARIMA
Trong quá trình thử nghiệm chương trình, các kết quả dựa báo là tương đối tốt Tuy nhiên, bài toán dự báo vẫn còn nhiều điểm cần khắc phục, đề tài còn có một số hướng phát triển sau:
- Nghiên cứu các phương pháp dò tìm thông số tự động cho quá trình luyện mạng MLP và LSTM
- Nghiên cứu các kiến trúc mạng học sâu hiệu quả hơn (kết hợp LSTM và các mạng học sâu khác) cho bài toán dự báo tuyển sinh theo tiếp cận dự báo chuỗi thời gian
Do giới hạn về thời gian nghiên cứu và kiến thức của bản thân, luận văn khó có thể tránh khỏi một số sai sót nhất định Học viên rất mong nhận được sự đóng góp ý kiến của các thầy cô, các bạn đọc quan tâm để luận văn được hoàn thiện hơn
Một lần nữa học viên xin được cảm ơn Thầy giáo TS Nguyễn Đức Bình đã tận tình giúp đỡ, hướng dẫn trong thời gian thực hiện đề tài, cảm ơn sự giúp đỡ của gia đình, bạn bè và các đồng nghiệp trong thời gian qua.