SlideShare a Scribd company logo
1 of 65
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
DƢƠNG THU TRANG
ỨNG DỤNG MẠNG NƠRON NHÂN TẠO DỰ BÁO SỐ HỌC SINH
TUYỂN VÀO TRUNG TÂM GDNN – GDTX QUẬN ĐỐNG ĐA
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2017
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
DƢƠNG THU TRANG
ỨNG DỤNG MẠNG NƠRON NHÂN TẠO DỰ BÁO SỐ HỌC SINH
TUYỂN VÀO TRUNG TÂM GDNN – GDTX QUẬN ĐỐNG ĐA
Ngành : Công nghệ thông tin
Chuyên ngành: Quản lý hệ thống thông tin
Mã số :
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Ngƣời hƣớng dẫn khoa học: PGS.TS. NGUYỄN QUANG HOAN
HÀ NỘI - 2017
1
LỜI CAM ĐOAN
Em xin cam đoan:
Những nội dung trong luận văn là do em thực hiện dƣới sự hƣớng dẫn của thầy
giáo PGS.TS. Nguyễn Quang Hoan.
Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tác giả, tên công
trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian lận em xin chịu
hoàn toàn trách nhiệm.
Hà Nội, ngày tháng năm 2017
Học viên
` Dƣơng Thu Trang
2
LỜI CẢM ƠN
Em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS. Nguyễn Quang Hoan, thầy đã
hƣớng dẫn, chỉ bảo tận tình để em có thể hoàn thành luận văn này. Em cũng xin chân
thành cảm ơn các thầy, cô giáo của khoa Công nghệ thông tin – Trƣờng Đại học Công
nghệ - Đại học Quốc gia Hà Nội đã truyền thụ kiến thức, hỗ trợ em trong suốt quá
trình học tập vừa qua.
Em cũng xin chân thành cảm ơn bạn bè đồng nghiệp, gia đình và những ngƣời
thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để em hoàn thành
nhiệm vụ học tập và cuốn luận văn này.
Hà Nội, ngày tháng năm 2017
Học viên
Dƣơng Thu Trang
3
MỤC LỤC
LỜI CAM ĐOAN............................................................................................................1
LỜI CẢM ƠN..................................................................................................................2
MỤC LỤC .......................................................................................................................3
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT..................................................6
DANH MỤC CÁC BẢNG BIỂU....................................................................................7
DANH MỤC CÁC HÌNH VẼ.........................................................................................8
MỞ ĐẦU .........................................................................................................................9
1. Lý do chọn đề tài .....................................................................................................9
2. Mục tiêu và nhiệm vụ của luận văn.........................................................................9
3. Đối tƣợng và phạm vi nghiên cứu...........................................................................9
4. Phƣơng pháp nghiên cứu.........................................................................................9
5. Ý nghĩa khoa học và thực tiễn của luận văn............................................................9
6. Bố cục luận văn .......................................................................................................9
CHƢƠNG 1...................................................................................................................11
TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO.....................................................................11
1.1. Lịch sử của quá trình dự báo ..............................................................................11
1.1.1. Khái niệm về dự báo....................................................................................11
1.1.2. Mục đích của dự báo ...................................................................................11
1.1.3. Những thách thức trong phân tích dự báo ...................................................12
1.1.4. Các phƣơng pháp dự báo.............................................................................12
1.1.5. Quy trình thực hiện dự báo..........................................................................13
1.2. Phƣơng pháp dự báo sử dụng mạng nơron theo đề xuất của luận văn...............16
1.3. Đánh giá mô hình dự báo ...................................................................................16
1.4. Kết luận chƣơng 1...............................................................................................16
CHƢƠNG 2...................................................................................................................17
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO.......................................................17
2.1. Mạng nơron nhân tạo là gì?................................................................................17
2.2. Sự tƣơng đƣơng nơron nhân tạo với nơron sinh học..........................................18
2.3. Lịch sử phát triển của mạng nơron nhân tạo ......................................................18
2.4. Nơron sinh vật ....................................................................................................18
2.5. Nơron nhân tạo ...................................................................................................19
2.5.1. Cấu tạo nơron nhân tạo................................................................................19
2.5.2. Phân loại mạng nơron nhân tạo ...................................................................20
2.6. Luật học ..............................................................................................................22
4
2.6.1. Học tham số (Parameter Learning)..............................................................22
2.6.2. Học cấu trúc.................................................................................................23
2.7. Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngƣợc............................23
2.7.1. Kiến trúc mạng ............................................................................................23
2.7.2. Xác định cấu trúc mạng tối ƣu.....................................................................24
2.7.3. Cấu trúc của luật học lan truyền ngƣợc.......................................................25
2.7.4. Luật học lan truyền ngƣợc...........................................................................26
2.7.5. Một số vấn đề của mạng nơron nhiều lớp ...................................................31
2.7.6. Ƣu nhƣợc điểm của mạng truyền thẳng ......................................................31
2.8. Kết luận chƣơng 2...............................................................................................32
CHƢƠNG 3...................................................................................................................33
ỨNG DỤNG MẠNG NƠRON TRONG DỰ BÁO SỐ HỌC SINH............................33
TUYỂN VÀO TRUNG TÂM GDNN-GDTX ĐỐNG ĐA...........................................33
3.1. Giới thiệu về Trung tâm GDNN-GDTX Đống Đa.............................................34
3.2. Dữ liệu tuyển sinh của Trung tâm ......................................................................36
3.3. Các phƣơng án chọn cấu trúc dữ liệu.................................................................37
3.4. Phát biểu bài toán ...............................................................................................38
3.5. Thiết kế mạng nơron...........................................................................................39
3.5.1. Số lớp nơron ................................................................................................39
3.5.2 Cấu trúc mạng...............................................................................................39
3.5.3. Hàm tƣơng tác đầu ra ..................................................................................40
3.5.4. Giá trị trọng khởi đầu ..................................................................................40
3.6. Công cụ mô phỏng bài toán dự báo tuyển sinh ..................................................41
3.7. Chạy và thử nghiệm............................................................................................41
3.8. So sánh các phƣơng pháp dự báo. ......................................................................44
3.9 Kết luận chƣơng 3................................................................................................48
KẾT LUẬN ...................................................................................................................49
TÀI LIỆU THAM KHẢO .............................................................................................50
PHỤ LỤC A ..............................................................................................................52
GIỚI THIỆU CÔNG CỤ VÀ KẾT QUẢ DỰ BÁO .................................................52
1. Giao diện chính của phần mềm .........................................................................52
2. Giao diện huấn luyện.........................................................................................53
3. Giao diện Kiểm tra mạng...................................................................................54
4. Chức năng Dự báo.............................................................................................54
5. Chức năng Giới thiệu vào Thoát .......................................................................55
5
PHỤ LỤC B...............................................................................................................56
MỘT SỐ MÃ NGUỒN CỦA CÔNG CỤ.................................................................56
1. Huấn luyện mạng...............................................................................................56
2. Chuẩn hóa dữ liệu..............................................................................................59
3. Kiểm tra mạng ...................................................................................................60
4. Dự báo ...............................................................................................................61
PHỤ LỤC C...................................................................................................................63
BÀI BÁO KHOA HỌC.................................................................................................63
6
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
STT TÊN VIẾT TẮT TÊN ĐẦY ĐỦ DIỄN GIẢI
1 ANN Artificial Neural Network Mạng nơron nhân tạo
2 AR Autoregressive Tự hồi quy
3 BP Back Propagation Lan truyền ngƣợc
4 HIDDENNODE Hidden Node Số nơron lớp ẩn
5 INPUTNODE Input Node Số nơron lớp vào
6 LEARNING RATE Learning Rate Tốc độ học
7 MA Moving Average Đƣờng trung bình di động
8 MAE Mean Absolute Error Sai số tuyệt đối
9 MSE Mean Square Error Sai số trung bình
10 MFNN
Multi Feedforward Neural
Network
Mạng truyền thẳng nhiều lớp
11 MLP Multilayer Neural Network Mạng nơron nhiều lớp
12 NƠRON Neural Tế bào thần kinh
13 OUTPUTNODE Output Node Số nơron lớp ra
14 GA Genetic Algorithm Giải thuật di truyền
15 EP Evolutionary Programming Lập trình tiến hóa
7
DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1. Một số hàm phi tuyến thƣờng đƣợc sử dụng trong các mô hình nơron20
Bảng 3.1. Cơ sở vật chất của Trung tâm ...............................................................34
Bảng 3.2. Dữ liệu tuyển sinh của Trung tâm.........................................................36
Bảng 3.3. Dữ liệu tuyển sinh từ năm 1988 đến 2017 của Trung tâm....................38
Bảng 3.4. Bảng dữ liệu học ...................................................................................38
Bảng 3.5. Bảng trọng số ........................................................................................40
Bảng 3.6. Kết quả thử nghiệm dự báo tuyển sinh .................................................43
Bảng 3.7. Kết quả huấn luyện dự báo tuyển sinh..................................................44
Bảng 3.8. Kết quả dự báo bằng phƣơng pháp trung bình dài hạn.........................45
Bảng 3.9. Kết quả dự báo bằng phƣơng pháp trung bình động.............................45
Bảng 3.10. Kết quả dự báo bằng phƣơng pháp hồi quy tƣơng quan.....................46
Bảng 3.11. Kết quả dự báo bằng phƣơng pháp san bằng mũ................................47
8
DANH MỤC CÁC HÌNH VẼ
Hình 1.1.Quy trình thực hiện dự báo.............................................................................14
Hình 1.2.Quy trình lựa chọn mô hình dự báo................................................................15
Hình 2.1. Cấu trúc nơron sinh vật..................................................................................19
Hình 2.2. Mô hình một nơron nhân tạo .........................................................................19
Hình 2.3. Phân loại mạng nơron....................................................................................21
Hình 2.4.Các dạng học ..................................................................................................22
Hình 2.5.Mạng truyền thẳng nhiều lớp..........................................................................24
Hình 2.6. Cấu trúc mạng lan truyền ngƣợc. ..................................................................26
Hình 2.7. Tối thiểu cục bộ (Local Minimum) ...............................................................30
Hình 2.8. Tốc độ học của hằng số học η .......................................................................31
Hình 3.1. Kết quả huấn luyện mạng ..............................................................................42
Hình 3.2. Kết quả kiểm tra mạng...................................................................................43
Hình 3.3. Kết quả dự báo cho 3 năm 2018, 2019, 2020................................................44
Hình 3.4. Sơ đồ kết quả dự báo trung bình động...........................................................48
Hình 3.5. Kết quả dự báo san bằng mũ .........................................................................50
9
MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, công tác dự báo đƣợc ứng dụng rộng rãi ở hầu hết các lĩnh vực nhƣ:
Dự báo giá xăng dầu, dự báo chứng khoán, dự báo thời tiết… Công tác dự báo nhằm
mục đích dự báo trƣớc sự thay đổi của đối tƣợng đƣợc dự báo dựa trên cơ sở nghiên
cứu các quy luật của đối tƣợng dự báo.
Những năm gần đây ngành giáo dục cũng bắt đầu chú trọng đến công tác dự báo
nhằm đƣa ra đƣợc những chính sách đúng đắn nhất. Có rất nhiều tác giả đã đi vào
nghiên cứu dự báo các lĩnh vực khác nhau của giáo dục nhƣ: Dự báo nhu cầu giáo
viên, dự báo tỉ lệ học sinh đỗ tốt nghiệp, dự báo tỉ lệ học sinh đỗ Đại học…
Chính vì thấy đƣợc lợi ích của việc dự báo trong giáo dục nên em chọn đề tài:
“Ứng dụng mạng nơron nhân tạo dự báo số học sinh tuyển vào Trung tâm GDNN-
GDTX quận Đống Đa” để giúp đƣa ra đƣợc những chính sách đúng đắn nhất trong thời
gian tới cho Trung tâm của mình.
2. Mục tiêu và nhiệm vụ của luận văn
Luận văn tập trung khảo sát các mô hình mạng nơron, áp dụng phƣơng pháp
học máy mạng nơron và ứng dụng vào bài toán dự báo số học sinh tuyển vào Trung
tâm GDNN-GDTX Đống Đa. Luận văn phát triển công cụ thử nghiệm riêng và tiến
hành thử nghiệm trên bộ số liệu thu thập đƣợc trong 30 năm.
3. Đối tƣợng và phạm vi nghiên cứu
Luận văn nghiên cứu lý thuyết mạng nơron nhân tạo, mạng nơron lan truyền
thẳng và thuật toán lan truyền ngƣợc, áp dụng vào bài toán dự báo nói chung và dự
báo số học sinh tuyển vào Trung tâm GDNN – GDTX Đống Đa nói riêng.
4. Phƣơng pháp nghiên cứu
Nghiên cứu lý thuyết để nắm rõ các mô hình mạng nơron, các phƣơng pháp dự
báo, lý thuyết về mạng nơron nhân tạo, mạng nơron lan truyền thẳng và thuật toán lan
truyền ngƣợc. Trên cơ sở đó lựa chọn mô hình phù hợp và thử nghiệm để hiệu chỉnh
tối ƣu mô hình đã chọn.
5. Ý nghĩa khoa học và thực tiễn của luận văn
Luận văn chỉ ra khả năng ứng dụng mạng nơron nhân tạo trong công tác dự báo
nói chung và dự báo trong lĩnh vực giáo dục nói riêng là hoàn toàn khả thi và cho kết
quả đáng khích lệ.
6. Bố cục luận văn
Nội dung của luận văn đƣợc tổ chức thành ba chƣơng có nội dung nhƣ sau:
 Chƣơng 1: Nghiên cứu về bài toán dự báo, các phƣơng pháp dự báo và phƣơng
pháp dự báo mà luận văn áp dụng cho bài toán dự báo số học sinh tuyển vào
Trung tâm GDNN-GDTX quận Đống Đa.
 Chƣơng 2: Nghiên cứu về mạng nơron nhân tạo, tập trung vào mạng nơron
truyền thẳng nhiều lớp, chƣơng này cung cấp chi tiết các vấn đề về quá trình
10
huấn luyện và thuật toán học của mạng, với trọng tâm là thuật toán lan truyền
ngƣợc sai số.
 Chƣơng 3: Ứng dụng mạng nơron nhân tạo vào giải quyết bài toán dự báo số
học sinh tuyển vào Trung tâm GDNN – GDTX quận Đống Đa. Chƣơng này
giới thiệu về số liệu thu thập đƣợc, các phƣơng pháp đánh giá kết quả dự báo và
tập trung vào thử nghiệm để dự báo số học sinh tuyển sinh vào Trung tâm
GDNN – GDTX quận Đống Đa. Từ đó đánh giá khả năng ứng dụng phƣơng
pháp máy học vào dự báo chuỗi thời gian.
 Kết luận: Tổng kết các kết quả đã đạt đƣợc của luận văn và hƣớng nghiên cứu
tiếp theo. Phần phụ lục giới thiệu phần mềm ứng dụng và kết quả thực nghiệm
mà luận văn đã đạt đƣợc.
11
CHƢƠNG 1
TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO
1.1. Lịch sử của quá trình dự báo
Nhu cầu dự báo về một sự việc sẽ diến tiến thế nào trong tƣơng lai đã có từ
nhiều thế kỷ trƣớc. Những dự báo đầu tiên là dự báo về các hiện tƣợng tự nhiên, các
hiện tƣợng xã hội và hiện tƣợng về đời sống xã hội.
Ban đầu dự báo chỉ dựa vào những kinh nghiệm của ngƣời dự báo, dần dần dự
báo đã đƣợc hỗ trợ bởi công nghệ giúp cho kết quả dự báo chính xác hơn.
Có rất nhiều các phƣơng pháp dự báo đã đƣợc nghiên cứu và cho ra đời nhƣ:
Phƣơng pháp hồi quy bội, phƣơng pháp Delphi, phƣơng pháp Cross Impact Matrices,
phƣơng pháp ARIMA (kết hợp của AR – Autoregressive và MA – Moving
Average)…
Có rất nhiều cách phân loại dự báo nhƣ:
Dựa vào thời gian dự báo phân làm ba loại là: Dự báo dài hạn, dự báo trung hạn
và dự báo ngắn hạn.
Theo phƣơng pháp dự báo lại đƣợc phân thành: Dự báo bằng phƣơng pháp
chuyên gia, dự báo theo phƣơng trình hồi quy, dự báo dựa vào dãy số thời gian…
1.1.1. Khái niệm về 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.
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.
1.1.2. Mục đích của dự báo
Đƣ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.[18]
12
1.1.3. Những thách thức trong phân tích dự báo
Mục đích của dự báo là để giúp cải tiến về hiệu quả, hỗ trợ ra quyết định của
các nhà lãnh đạo. Tuy nhiên, không phải lúc nào dự báo cũng chính xác, một số yếu tố
ảnh hƣởng đế độ chính xác của dự báo là: Trở ngại trong quản lý, dữ liệu, xây dựng
mô hình và quá trình triển khai.[18]
Những trở ngại trong quản lý. Thông thƣờng để triển khai mô hình dự báo đòi
hỏi có sự chuyển đổi về các nguồn lực cho tổ chức nên cần có sự hỗ trợ từ các nhà
lãnh đạo để chuyển các mô hình từ nghiên cứu sang vận hành.
Những trở ngại về dữ liệu. Các mô hình thƣờng yêu cầu dữ liệu dƣới dạng một
bảng hoặc bảng có chứa hàng và cột (dữ liệu hai chiều). Nếu dữ liệu đƣợc lƣu trữ
trong các cơ sở dữ liệu thì cần phải kết nối các cơ sở dữ liệu để tạo ra một bảng.
Trở ngại trong việc xây dựng mô hình. Trở ngại lớn nhất là quá tải, tức là mô
hình quá phức tạp và yêu cầu phải ghi nhớ dữ liệu huấn luyện. Hai trở ngại với mô
hình là: Thứ nhất mô hình thực hiện kém với dữ liệu mới và việc giải thích mô hình
không đáng tin cậy. Thứ hai, các nhà xây dựng mô hình quá tham vọng vào mô hình
đƣợc xây dựng trên dữ liệu có sẵn trong khoảng thời gian nhất định. Cách tốt nhất để
khắc phục là xây dựng một mô hình đơn giản sau đó có thể đƣợc cải tiến sau khi chạy
thử nghiệm.
Trở ngại trong triển khai mô hình. Thông thƣờng các mô hình không quá phức
tạp về mặt tính toán. Tuy nhiên, các mô hình phải đƣợc kiểm tra bởi hệ thống hoạt
động và đƣa ra dự đoán phù hợp với hệ thống đó.[18]
1.1.4. Các phƣơng pháp dự báo
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.
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 này đƣợc sử dụng khi dữ liệu không có sẵn hoặc những dữ liệu có
sẵn nhƣng không đầy đủ để phân tích, đánh giá. Phƣơng pháp định tính thƣờng
đƣợc sử dụng khi đối tƣợng dự báo bị tác động bởi những yếu tố không thể lƣợng
hóa đƣợc. Nguyên tắc của phƣơng pháp này là sử dụng ý kiến đánh giá của một
hay nhiều chuyên gia trong lĩnh vực liên quan. Vì vậy, để đảm bảo tính chính xác
của dự báo thì phải loại trừ ý kiến chủ quan của ngƣời dự báo.
Phương pháp định lượng: Sử dụng các dữ liệu từ quá khứ hoặc thu thập số
liệu của các dối tƣợng ở hiện tại để dự báo. Với phƣơng pháp định lƣợng sẽ cho kết
quả dự báo nhanh và có thể đo đƣợc độ chính xác của dự báo. Tuy nhiên, phƣơng pháp
này chỉ áp dụng cho dự báo ngắn và trung hạn.
Để dự báo đạt đƣợc hiệu quả cao ngƣời ta thƣờng kết hợp cả phƣơng pháp định
tính và phƣơng pháp định lƣợng.
13
1.1.5. Quy trình thực hiện dự báo
Dự báo là một quá trình phức tạp nhƣng về cơ bản quy trình có thể thực hiện
theo các bƣớc sau:
14
Hình 1.1.Quy trình thực hiện dự báo
Bƣớc 1: Xác định mục tiêu
Xác định mục tiêu là xác định xem kết quả dự báo sẽ đƣợc sử dụng để làm gì.
Mục tiêu chung của dự báo là lập kế hoạch và có những quyết định hành động hợp lý.
Mục tiêu của dự báo tuyển sinh nhằm giúp các nhà lãnh đạo có những chiến lƣợc phát
triển một cách hợp lý nhất.
Bƣớc 2: Xác định nội dung dự báo
Xác định chính xác dự báo cái gì. Ví dụ, mục tiêu chung là dự báo tuyển sinh
nhƣng một hệ thống dự báo gồm có: Số lƣợng học sinh, số lƣợng lớp…Luận văn xây
dựng hệ thống thử nghiệm dự báo tuyển sinh với các thông số đầu vào là số liệu thu
đƣợc trong 30 năm liên tiếp tại Trung tâm GDNN-GDTX Đống Đa.
Bƣớc 3: Xác định khía cạnh thời gian
Xác định độ dài của dự báo nhƣ: Dự báo dài hạn hay dự báo ngắn hạn và dự
báo có tính cấp thiết nhƣ thế nào.
Bƣớc 4: Xem xét dữ liệu
Xác định mục tiêu
Xác định nội dung dự báo
Xác định khía cạnh thời gian
Xem xét dữ liệu
Lựa chọn mô hình
Đánh giá mô hình
Chuẩn bị dự báo
Trình bày kết quả dự báo
Theo dõi kết quả dự báo
15
Xem xét dữ liệu là xem xét đến các yếu tố của dữ liệu nhƣ: Nguồn cung cấp,
các bƣớc phân loại, đánh giá, xử lý dữ liệu trƣớc khi sử dụng. Trong luận văn này sử
dụng nguồn dữ liệu thu thập đƣợc từ Trung tâm. Vì vậy, dữ liệu là chính xác và đáng
tin cậy.
Bƣớc 5: Lựa chọn mô hình
Để lựa chọn mô hình thích hợp cho dự báo cần xem xét các yếu tố nhƣ: Dữ liệu đầu
vào, các yêu cầu về thời gian, yêu cầu về kết quả đầu ra, tài nguyên sẵn có…
Quy trình lựa chọn mô hình dự báo có thể đƣợc lựa chọn dựa trên một số chiến
lƣợc dự báo nhƣ sau:
1. Tiền định: Dựa trên mối quan hệ mật thiết giữa hiện tại và tƣơng lai.
2. Triệu chứng: Dựa trên những dấu hiệu hiện tại để dự báo cho tƣơng lai.
3. Hệ thống: Tức là cho rằng xu hƣớng phát triển trong tƣơng lai sẽ tuân thủ theo
một quy tắc nào đó, chẳng hạn các lý thuyết về giáo dục.
Luận văn sử dụng chiến lƣợc dự báo tiền định để dự báo tuyển sinh.
Hình 1.2.Quy trình lựa chọn mô hình dự báo
Bƣớc 6: Đánh giá mô hình
Với phƣơng pháp dự báo định tính thì cần quan tâm đến việc đánh giá mô hình
nhƣng với phƣơng pháp định lƣợng thì phải đánh giá mức độ phù hợp của mô hình và
độ chính xác của dự báo. Nếu mô hình không phù hợp thì quay lại bƣớc 5.
Để đánh giá độ phù hợp của mô hình luận văn sử dụng 2 tiêu chí MSE (Mean
Square Error - công thức 1-1) và MAE (Mean Absolute Error - công thức 1-2).
Bƣớc 7: Chuẩn bị dự báo
Nhận định và đánh giá chung
Lựa chọn mô hình
Xác định lập các mô hình sơ bộ
Xác định đầu vào
Xác định chiến lƣợc dự báo
Xác định yêu cầu về đầu ra
Xác định vấn đề dự báo cụ thể
16
Chuẩn bị các số liệu để phục vụ cho việc dự báo.
Bƣớc 8: Trình bày kết quả dự báo
Khi trình bày dự báo phải đảm bảo tính ngắn gọn, rõ ràng, chỉ ra đƣợc độ tin
cậy cảu dự báo. Có rất nhiều cách để trình bày kết quả dự báo nhƣ: Bảng biểu, đồ thị
hay hình ảnh minh họa và có thể trình bày ở dạng viết hoặc dạng nói.
Bƣớc 9: Theo dõi kết quả dự báo
Sau khi dự báo phải xem xét kết quả dự báo tức xem xét độ lệch giữa giá trị dự
báo và giá trị thực. Mục tiêu của việc theo dõi kết quả để tìm ra lý do tại sao lại có các
sai số và xác định độ lớn của các sai số, qua đó bảo trì và nâng cấp hệ thống dự báo.
1.2. Phƣơng pháp dự báo sử dụng mạng nơron theo đề xuất của luận văn
Mô hình mạng nơron là mô hình có khả năng “học” từ các dữ liệu quá khứ, có
thể cập nhật các tham số. Vì vậy nếu lựa chọn đƣợc các tham số tối ƣu thì nó sẽ là mô
hình xấp xỉ rất tốt đƣờng cong dịch chuyển của đối tƣợng cần dự báo. Kết quả dự báo
cũng có độ chính xác cao. Đây là mô hình đƣợc lựa chọn cho bài toán dự báo tuyển
sinh của luận văn, cụ thể các vấn đề liên quan đến mạng nơron sẽ đƣợc trình bày trong
chƣơng 2.
1.3. Đánh giá mô hình dự báo
Để đánh giá độ chính xác của mô hình dự báo luận văn sử dụng hai đánh giá sau:
Sai số bình phƣơng trung bình (Mean Square Error):
∑ ̂ (1-1)
Sai số tuyệt đối trung bình (Mean Absolute Error)
∑ | ̂ | (1-2)
Trong đó:
̂ Giá trị dự báo sinh ra bởi mô hình tại mẫu dữ liệu thứ i
: Giá trị quan sát tại mẫu dữ liệu thứ i
n: chiều dài chuỗi dự đoán
1.4. Kết luận chƣơng 1
Dự báo là một nhu cầu thiết yếu đối với công tác quản lý 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. Trong các
phƣơng pháp dự báo hiện nay, mạng nơron tỏ ra có nhiều ƣu điểm vì có mô hình tính
toán linh hoạt, dễ thích nghi.
Dựa trên mô hình đã lựa chọn sau khi huấn luyện có thể đánh giá đƣợc hiệu quả
của mô hình. Việc đánh giá chủ yếu dựa vào so sánh kết quả thực tế chứ chƣa có
phƣơng pháp chuẩn để đánh giá.
17
CHƢƠNG 2
TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO
Mạng nơron nhân tạo là một công cụ mạnh để giải quyết các bài toán có tính
phi tuyến, phức tạp, đặc biệt trong các trƣờng hợp mà yếu tố có mối quan hệ tác
động qua lại không rõ rệt. Có rất nhiều loại mạng nơron khác nhau [3], [6], [12], [16]
trong đó mạng nơron truyền thẳng nhiều lớp đƣợc sử dụng phổ biến nhất. Đã có
nhiều nghiên cứu sử dụng mạng nơron truyền thẳng nhiều lớp trong bài toán dự báo
[1], [2], [4], [5], [7], [8], [10], [13], [14], [15] và đã chứng tỏ đây là hƣớng tiếp cận
rất hiệu quả. Trong chƣơng này luận văn sẽ tìm hiểu những kiến thức về mạng nơron
nhân tạo, mạng nơron truyền thẳng nhiều lớp và khả năng ứng dụng của chúng trong
bài toán dự báo.
2.1. Mạng nơron nhân tạo là gì?
Một mạng nơron có thể đƣợc định nghĩa nhƣ một mô hình lý luận dựa trên bộ
não của con ngƣời. Não ngƣời bao gồm một tập hợp các kết nối của các tế bào thần
kinh. Bộ não con ngƣời có gần 10 tỷ tế bào thần kinh và 60 ngàn tỷ khớp thần kinh
(Shepherd và Koch, 1990). Bằng cách sử dụng đồng thời nhiều tế bào thần kinh mà bộ
não con ngƣời có thể thực hiện các chức năng nhanh hơn nhiều lần so với các máy tính
nhanh nhất hiện nay.
Não ngƣời đƣợc coi nhƣ một hệ thống xử lý thông tin rất phức tạp, phi tuyến và
song song. Não ngƣời có thể giải quyết rất nhiều vấn đề nhƣ: nghe, nói, nhìn, hồi ức
thông tin, nhận dạng các mẫu…Não thực hiện đƣợc những nhiệm vụ nhƣ vậy nhờ các
phần tử tính toán đó là nơron. Não sẽ phân bố viễ xử lý cho hàng tỷ nơron có liên
quan, điều khiển các mối liên hệ giữa các nơron. Nơron không ngừng nhận và truyền
thông tin cho nhau. Trong quá trình xử lý các nơron tự liên kết với nhau tạo thành
mạng. Mỗi mạng lại gồm hàng vạn các phần tử nơron khác nhau, mỗi nơron lại lại có
khả năng liên kết với hàng vạn nơron khác.[3]
Ngoài ra, do tính mềm dẻo của sự kết nối giữa các tế bào thần kinh mà não
ngƣời có khả năng học hỏi qua những kinh nghiệm từ quá khứ. Học là một đặc tính cơ
bản và thiết yếu của mạng nơron sinh học.[17]
Dựa vào các đặc trƣng cơ bản của nơron sinh học ngƣời ta đã xây dựng lên
mạng nơron nhân tạo.
Mạng nơron nhân tạo (ANN) ngày nay gần giống với bộ não con ngƣời nhƣ: Có
khả năng học, tức là sử dụng những kinh nghiệm để cải thiện hiệu suất. Khi thu thập
đƣợc đủ một lƣợng mẫu thì ANN có thể khái quát hóa rất cao. Một ANN có thể nhận
ra đƣợc một ký tự viết tay, có thể phát hiện bom ở sân bay…[17]
Chính vì vậy mà mạng nơron có thể giải quyết các vấn đề phức tạp và có quy
mô lớn, khó hiện nay.
18
2.2. Sự tƣơng đƣơng nơron nhân tạo với nơron sinh học
Một mạng nơron nhân tạo bao gồm một số bộ xử lý đơn giản và có liên quan
lẫn nhau, cũng đƣợc gọi là tế bào thần kinh, gần giống với bộ não của con ngƣời. Các
tế bào thần kinh đƣợc kết nối bằng các trọng qua các tín hiệu từ một tế bào thần kinh
khác. Mỗi tế bào thần kinh sẽ nhận đƣợc một số tín hiệu đầu vào thông qua các kết nối
của nó. Các tín hiệu đầu ra đƣợc truyền đi thông qua các tế bào thần kinh kết nối
(tƣơng ứng với các sợi thần kinh sinh học).[17]
2.3. Lịch sử phát triển của mạng nơron nhân tạo
Năm 1890 William đã nghiên cứu về tâm lý học với sự liên kết các nơron thần kinh.
Năm 1940, McCulloch và Pitts đã chỉ ra rằng các nơron có thể đƣợc mô hình hóa
nhƣ thiết bị ngƣỡng (giới hạn) để thực hiện các phép tính logic. Trong thời gian này
Wiener cũng nghiên cứu về mối liên hệ giữa nguyên lý phản hồi và chức năng của bộ não.
Vào những năm 1960 một số mô hình nơron đƣợc đƣa ra nhƣ: Perception của
Rosenbatt, Adaline của Widrow và ma trận học của Stinbuck. Trong đó mô hình
Perception đƣợc chú ý vì tính đơn giản. Nhƣng Minsky và Papert đã chứng mình rằng
mô hình Perception không dùng đƣợc cho các hàm logic phức.
Đầu những năm 80 có sự đóng góp của Grossberg, Kohonen và Hoppfield. Đặc
biệt là đóng góp lớn của Hoppfield khi đƣa ra mạng rời rạc (1982) và mạng liên tục
(1984). Từ đó làm cơ sở để Rumelhart và Hinton đề xuất thuật toán sai số truyền
ngƣợc để huấn luyện mạng nơron nhiều lớp nhằm giải những bài toán mà các mạng
khác không làm đƣợc.
Từ những năm 1987 đến nay, hàng năm trên thế giới đều mở hội nghị toàn cầu
chuyên ngành nơron IJCNN (International Joint Conference on Neural networks).
Ở Việt Nam mạng nơron đƣợc nghiên cứu từ những năm 1980 và đƣợc ứng dụng
trong các lĩnh vực nhƣ: Tin học viễn thông, đo lƣờng điều khiển…Một số chip nơron đã
đƣợc sử dụng trong kỹ thuật lọc và một số ứng dụng khác. [3]
2.4. Nơron sinh vật
Mô hình nơron nhân tạo có nguồn gốc từ mô hình tế bào thần kinh (hay còn gọi
là nơron) sinh vật.
Một tế bào nơron gồm bốn phần cơ bản là:
- Các nhánh và rễ: Là các bộ phận nhận thông tin. Các đầu nhậy hoặc các đầu
ra của các nơron khác bám vào rễ hoặc nhánh của một nơron. Khi các đầu vào từ ngoài
này có sự chênh lệch về nồng độ K+, Na+ hay Cl- so với nồng độ bên trong của nó thì
xảy ra hiện tƣợng thấm từ ngoài vào trong thông qua một cơ chế màng thấm đặc biệt.
Hiện tƣợng thẩm thấu tạo nên cơ chế truyền đạt thông tin. Mức độ thẩm thấu đƣợc đặc
trƣng bởi cơ chế màng tƣợng trƣng bằng một tỷ lệ. Tỷ lệ đó đƣợc gọi là tỷ trọng hoặc
là trọng (weight).[3]
- Thân Thần kinh (Soma): Chứa các nhân và cơ quan tổng hợp protein. Các
ion vào đƣợc tổng hợp và biến đổi. Khi nồng độ các ion đạt đến một giá trị nhất định,
19
xảy ra quá trình phát xung (hay kích thích). Xung đó đƣợc phát ở các đầu ra của
nơron. Dây dẫn đầu ra xung đƣợc gọi là dây thần kinh (axon).[3]
- Dây thần kinh (Axon): Là một nhánh dài mang tín hiệu đầu ra. Đó là phƣơng
tiện truyền dẫn tín hiệu. Dây thần kinh đƣợc cấu tạo gồm các đốt và có thể dài từ
micro mét đến vài mét tùy từng kết cấu cụ thể. Đầu ra này có thể truyền tín hiệu đến
các nơron khác.[3]
- Khớp thần kinh (Synape): Là bộ phận tiếp xúc của đầu ra nơron với rễ, nhánh
của các nơron khác. Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự
chênh lệch về nồng độ ion giữa bên trong và bên ngoài. Nếu nồng độ càng lớn thì việc
truyền các ion càng nhiều và ngƣợc lại.[3]
Hình 2.1. Cấu trúc nơron sinh vật
2.5. Nơron nhân tạo
2.5.1. Cấu tạo nơron nhân tạo
Hình 2.2. Mô hình một nơron nhân tạo
Một nơron nhân tạo đƣợc xây dựng từ ba thành phần chính: Bộ tổng các liên
kết đầu vào, động học tuyến tính và phi tuyến không động học.
Bộ tổng liên kết: Bộ tổng hợp các liên kết đầu vào của một phần tử nơron có thể mô tả
nhƣ sau:
1
( ) W. ( ) W ( )
m
k k
k
v t y t x t I

   (2-1)
Trong đó:
W1
W2
Wm
X1(t)
X2(t)
Xm(t)
H(.) g(.)
W

v(t) u(t) y(t)
I
..................
+1
20
- v(t): Tổng tất cả đầu vào mô tả toàn bộ thế năng tác động ở thân nơron;
- xk(t): Các đầu vào ngoài, mô tả tín hiệu vào từ các đầu nhạy thần kinh hoặc từ
các nơron khác đƣa vào;
- Wk: Trọng liên kết vào ngoài, là hệ số mô tả mức độ liên kết giữa các đầu vào
ngoài tới nơron hiện tại, m là số đầu vào; k = 1,…,m;
- y(t): Đầu ra nơron mô tả tín hiệu đƣa ra;
- I: Hằng số, còn gọi là ngƣỡng, xác định mức kích thích hay ức chế.
Phần động học tuyến tính: Đầu vào của phần động học là v(t). Đầu ra của nó là u(t)
gọi là đầu ra tƣơng tự. Hàm truyền tƣơng ứng của phần động học tuyến tính có thể mô
tả dƣới dạng biến đổi Laplace nhƣ sau:
( ) ( ). ( )U s H s V s (2-2)
Phần phi tuyến: Các đầu ra của các nơron sinh vật là các xung, có giới hạn chặn. Khi
mô phỏng để đảm bảo hệ ổn định đầu ra thƣờng gán hàm chặn ở lối ra cho các tín hiệu.
Tức là ở mỗi đầu ra của nơron phải đặt một hàm chặn, thƣờng ở dạng phi tuyến với hàm
g(.). Nhƣ vậy, đầu ra y có đặc trƣng của một hàm :
( ( ))y g u t (2-3)
Một số hàm phi tuyến thƣờng đƣợc sử dụng trong các mô hình nơron đƣợc mô
tả trong bảng 2.1.
Bảng 2.1. Một số hàm phi tuyến thường được sử dụng trong các mô hình nơron
Tên hàm Công thức Đặc tính
Bƣớc nhảy đơn vị {
Hàm dấu (sgn) {
Hàm tuyến tính
Hàm tuyến tính bão hòa
đối xứng
{
Hàm Sigmoid đơn cực
2.5.2. Phân loại mạng nơron nhân tạo
Có rất nhiều cách phân loại mạng nơron nhân tạo. Dựa vào các đặc trƣng mạng
nơron nhân tạo đƣợc phân loại nhƣ sau:[3]
21
Hình 2.3. Phân loại mạng nơron
(a) Mạng truyền thẳng một lớp, (b) Mạng truyền thẳng nhiều lớp.
(c) Nơron tự phản hồi, (d) Mạng phản hồi một lớp, (e) Mạng phản hồi nhiều lớp
2.5.2.1. Phân loại mạng theo số lớp trong mạng
- Mạng một lớp: Là tập hợp các phần tử nơron có đầu vào và đầu ra trên cùng
một phần tử. Nếu mạng nối đầu ra của các phần tử này với đầu vào của phần tử kia gọi
là mạng tự liên kết (Autoassociative).[3]
- Mạng nhiều lớp: Gồm một lớp đầu vào và một lớp đầu ra riêng biệt. Các lớp
nằm giữa lớp đầu vào và lớp đầu ra gọi là lớp ẩn (Hidden Layer).[3]
2.5.2.2. Phân loại theo đƣờng truyền tín hiệu
- Mạng truyền thẳng: Là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu
từ đầu ra lớp này đến đầu vào lớp kia theo một hƣớng.[3]
- Mạng phản hồi: Là mạng mà trong đó một hoặc nhiều đầu ra của các phần tử
lớp sau truyền ngƣợc tới đầu vào của lớp trƣớc.[3]
- Mạng tự tổ chức: Là mạng có khả năng sử dụng những kinh nghiệm của quá
khứ để thích ứng với những biến đổi của môi trƣờng (không dự báo trƣớc). Loại mạng
này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên ngoài.[3]
…
(c)…
X1
X2
Xm
Y1
Y2
Yn
Lớp vào Các lớp
ẩn
Lớp ra
(b)
…
X1
X2
X
Y1
Y2
Yn
(d)
…
…
X
X2
Xm
Y1
Y2
Yn
(e)
…
X2
X1
Xm
Y1
Y2
Yn
Wij
(a)
…
22
2.6. Luật học
2.6.1. Học tham số (Parameter Learning)
Học tham số tức là thay đổi, cập nhật các trọng liên kết. Hầu hết các luật học
tồn tại thuộc kiểu học tham số. Luật học tham số thƣờng đƣợc chia thành 3 dạng
chính: Học giám sát, học không giám sát và học củng cố. [3]
Hình 2.4.Các dạng học
(A): Học giám sát; (B): Học củng cố; (C): Học không giám sát
- Học giám sát (Supervised Learning): Đầu vào và đầu ra của mạng đƣợc cho sẵn.
Mạng đƣợc cung cấp một tập các mẫu {(x(1), d(1)); (x(2), d(2));…; (x(k), d(k))} là
các cặp đầu vào – đầu ra mong muốn. Khi một đầu vào x(k) đƣợc đƣa vào mạng, đầu ra
mong muốn d(k) cũng đƣợc đƣa vào mạng. Nhƣ hình 2.4 (A), khi có sự sai khác giữa giá
trị đầu ra thực sự y(k) và đầu ra mong muốn d(k) thì trọng sẽ đƣợc thay đổi sao cho giá trị
sai khác là nhỏ nhất.[3]
- Học củng cố (Reinforcement Learning): Mạng chỉ đƣợc biết là giá trị đầu ra
thực sự “quá cao” hay chỉ “chính xác 50%”, hoặc chỉ có đƣợc thông tin phản hồi là
đầu ra đúng hay sai. Nhƣ hình 2.4 (B), luật học củng cố là một dạng của luật học giám
sát vì mạng vẫn có đƣợc vài thông tin phản hồi từ môi trƣờng. Tuy nhiên, thông tin
phản hồi chỉ mang tính đánh giá chứ không mang tính chất dạy. [3]
- Học không giám sát (Unsupervised Learning): Không có bất kì một thông
tin phản hồi nào từ môi trƣờng. Mạng sẽ chỉ nhận đƣợc một số dữ liệu đầu vào và phải
tự tìm ra các mẫu, đặc tính, quy tắc, sự tƣơng quan trong dữ liệu đầu vào và tập hợp lại
để tạo đầu ra. [3]
Các luật học có thể đƣợc đánh giá thành dạng chung với lƣợng điều chỉnh trọng
nhƣ sau:
wij=rxj(t) (2-4)
Trong đó:
23
 i: Nơron thứ i;
 j: Là đầu vào thứ j;
 : Là hằng số học (dƣơng) xác định tốc độ học và đƣợc xác định bằng
thực nghiệm;
 R: Tín hiệu học. Tín hiệu học tổng quát là một hàm của w, x và d tức là
r=f(w, x, d).
Đối với các trọng biến đổi liên tục, có thể sử dụng dạng sau:
(2-5)
2.6.2. Học cấu trúc
Học cấu trúc tức là thay đổi cấu trúc mạng bằng cách thay đổi số nơron, kiểu
liên kết. Với học cấu trúc có thể sử dụng các kỹ thuật liên quan đến thuật toán Gen
(GAs: Genetic Algorithm) và lập trình tiến hóa (EP: Evolutionary Programming).[3]
2.7. Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngƣợc
2.7.1. Kiến trúc mạng
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
(Output Layer) và một hoặc nhiều lớp ẩn (Hidden Layers) nằm giữa lớp vào và lớp ra.
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.[17]
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à wij,
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à vjk. [17]
24
Hình 2.5.Mạng truyền thẳng nhiều lớp
Với lớp nơron ẩn thứ j:
ij
1
w , ( )
n
j i j i j
i
a x y f a

   (2-6)
Với nơron ra thứ k:
1
, ( )
k
k kj j k k k
j
a v y z f a

   (2-7)
Hàm kích hoạt:
(2-8)
Hàm f đơn điệu tăng, khả vi và cho giá trị thuộc [0; 1].
Với một mẫu đầu vào đƣợc cho trƣớc, mạng sẽ tạo ra giá trị đầu ra thực tế zk ,
giá trị này đƣợc so sánh với giá trị mẫu mong muốn ở đầu ra dk. Các trọng số của
mạng sau đó đƣợc hiệu chỉnh để giảm lỗi và đƣa ra các mẫu tiếp theo. Sau đó trọng số
sẽ tiếp tục đƣợc hiệu chỉnh tới khi tổng lỗi qua tất cả các mẫu học đƣợc giảm tới mức
cho phép. Thuật toán học này đƣợc hiểu nhƣ thuật toán lan truyền ngƣợc.
2.7.2. Xác định cấu trúc mạng tối ƣu
Dƣới đây luận văn trình bày một số vấn đề cần quan tâm khi thiết kế một mạng.
2.7.2.1. Số lớp ẩn
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]
Phần lớn các thuật toán huấn luyện mạng cho các nơron truyền thẳng đều dựa
trên phƣơng pháp Gradient. Các lớp thêm vào sẽ tăng thêm việc lan truyền các lỗi làm
cho vector Gradient không ổn định. [17]
25
Với thuật toán tối ƣu dựa trên Gradient chỉ có thể tìm ra tối thiểu cục bộ và rất
khó để tìm ra tối thiểu toàn cục vì xác suất bị tắc tại tối thiểu cục bộ là khá lớn.[17]
2.7.2.2. Số nơron trong lớp ẩn
Nếu số nơron trong lớp ẩn quá ít có thể dẫn đến việc không thể nhận dạng đƣợc
đầy đủ các tín hiệu trong một tập dữ liệu phức tạp, hay thiếu ăn khớp (Underfitting).
Nhƣng nếu có quá nhiều lại làm tăng thời gian huấn luyện mạng và có thể dẫn đến tình
trạng thừa ăn khớp (Overfitting). Tức là mạng có quá nhiều thông tin, hoặc lƣợng thông
tin trong tập dữ liệu mẫu (Training Set) không đủ các dữ liệu đặc trƣng để huấn luyện
mạng. Số lƣợng các đơn vị trong lớp ẩn phụ thuộc vào rất nhiều yếu tố nhƣ số đầu vào,
đầu ra của mạng, số trƣờng hợp trong tập mẫu, độ nhiễu của dữ liệu đích, độ phức tạp
của hàm lỗi, kiến trúc mạng và thuật toán huấn luyện mạng.
Thông thƣờng để xác định đƣợc số đơn vị tối ƣu trong lớp ẩn cần phải thông
qua huấn luyện mạng với một bộ số các đơn vị trong lớp ẩn và dự báo lỗi tổng quát
hóa của từng lựa chọn. Cách tốt nhất để tìm ra số đơn vị tối ƣu là sử dụng phƣơng
pháp thử sai (Trial – and – Error).
2.7.3. Cấu trúc của luật học lan truyền ngƣợc
Thuật toán lan truyền ngƣợc đƣợc quyết định bởi sự kết nối giữa các nơron (các
kiến trúc mạng), hàm kích hoạt và các thuật toán học (hay luật học) để điều chỉnh
trọng số.[17]
Thuật toán lan truyền ngƣợc thƣờng đƣợc sử dụng cho mạng đa lớp. Các lớp
trong mạng đƣợc kết nối đầy đủ với nhau, tức là nơron của một lớp sẽ kết nối với tất
cả các nơron khác trong lớp trƣớc.[17]
Luật học lan truyền ngƣợc thực hiện 2 pha.
-
Pha 1: Mẫu đầu vào x(k)
đƣợc truyền tiến (từ lớp vào tới lớp ra), kết quả của
luồng dữ liệu thẳng (forward) là đầu ra thực y(k).
- Pha 2: Tín hiệu lỗi đƣợc tính trên cơ sở sai khác giữa d(k)
và y(k)
đƣợc lan truyền
ngƣợc (từ lớp ra quay trở lại các lớp trƣớc đó) để hiệu chỉnh trọng số.[17]
Xét một mạng ba lớp: Lớp vào có m nơron, lớp ẩn có h nơron và lớp ra có n nơron
(Hình 2.6).
26
Hình 2.6. Cấu trúc mạng lan truyền ngược.
- Lớp ẩn: Với mẫu đầu vào x, tại nơron thứ q của lớp ẩn:
1
1
w
m
jq j
j
net x

  j=1,2,…,m; q=1, 2,..,h; (2-9)
 Với đầu ra:
1
1
( ) ( w )
m
q q jq j
j
z f net f x

  
(2-10)
 Trong đó, f(.) là hàm kích hoạt đầu ra.
- Lớp ra: Giả thiết dùng 1 hàm kích hoạt đầu ra f(.). Tín hiệu tổng đầu vào trên
nơron thứ i:
2 2 1
1 1 1
w w ( w )
h h m
i iq q iq qj j
q q j
net z f x
  
    (2-11)
Đầu ra:
2 2 2
1
1 1 1
( ) ( w ) ( w ( w ))
h h m
i iq q iq qj j
q q j
y f net f z f f x
  
     (2-12)
2.7.4. Luật học lan truyền ngƣợc
2.7.4.1. Thuật toán
Giải thuật lan truyền ngƣợc tìm kiếm một vector các trọng số (weights vectori)
giúp cực tiểu hóa lỗi tổng thể của hệ thống đối lập với tập học.
Giải thuật lan truyền ngƣợc bao gồm hai giai đoạn:
Giai đoạn lan truyền tiến tín hiệu (Signal Forward). Các tín hiệu đầu vào
(vector các giá trị đầu vào) đƣợc lan truyền tiến từ tầng đầu vào đến tầng đầu ra (đi
qua các tầng ẩn).
Giai đoạn lan truyền ngƣợc lỗi (Error Backward)
x1
x2
y1
xm
w
w
w
w
w
w
w
w
w
yn
y2
f(.)
neti zh
f(.)
f(.)
f(.)
f(.)
neti z1
27
- Căn cứ vào giá trị đầu ra mong muốn của vector đầu vào, hệ thống sẽ tính
toán giá trị lỗi.
- Giá trị lỗi đƣợc lan truyền ngƣợc từ tầng đầu ra đến tầng đầu vào.
- Các trọng sẽ đƣợc cập nhật đến khi lỗi có thể chấp nhận đƣợc.[17]
Ta sử dụng các ký hiệu sau:
- j: Nơron thứ J (hay nút thứ J);
- xj: Vector đầu vào của nơron thứ J;
- wj: Vector trọng số của nơron thứ J;
- xij: Trọng số trên xij;
- bj: Ngƣỡng tại nút thứ J;
- uj=xj*wj – bj: Tổng trọng số trên các đầu vào của nút thứ J;
- oj: Đầu vào của nút thứ J (với oj = f(uj);
- tj: Đầu ra mong muốn của nút thứ j;
- D(j): Tập các nút nhận đầu ra của nút thử J làm một giá trị đầu vào;
- Outputs: Tập các nút trong tầng ra;
- : Tốc độ học;
- f: Hàm truyền,
Ta tìm công thức tính wij. Sự thay đổi trong mỗi lần cập nhật với:

Trong đó E là hàm lỗi.
Do trọng số cập nhật sau mỗi mẫu huấn luyện, để đơn giản có thể coi tập huấn
luyện chỉ gồm một mẫu. Khi đó hàm lỗi đƣợc tính nhƣ sau :
21
( ( ))
2
k k
k Outputs
E t f u

  (2-13)
Theo quy tắc chuỗi ta có:
w w
j
ji j ji
uE E
u
 

  
(2-14)
Mặt khác :
w .j ji ji j
i
u x b  (2-15)
Do đó :
w
j
ji
ji
u
x



(2-16)
Thay vào (2-16) ta đƣợc :
w
ji
ji j
E E
x
u
 

 
(2-17)
Xét hai trƣờng hợp :
Trƣờng hợp 1: j là nơron tầng ra (j  Outputs)
28
Đặt : j
j
E
u


 

Ta có :
w
w
ji j ji
ji
E
x

   

(2-18)
Tất cả các nút đầu ra k  j là độ lập với wji, ta có thể coi :
21
( )
2
j jE t o 
(2-19)
Khi đó :
21
( )
2
( )
( ) ( )
( )(1 ( )) ( )
( )(1 )
j j j
j j
j
j j
j
j j j
j
j j j j
j j j j
E
t o
u u
o
t o
u
t o f u
u
t o f u f u
t o o o

 
   
 

 


 

  
  
Trƣờng hợp 2: j là nơron tầng ẩn
Ta có nhận xét sau :
1. Với mỗi nút k  D(j), uk là một hàm uj.
2. Việc tạo ra các lỗi của tất cả các nút 1  j trong cùng một tầng với J là
độc lập với wji.
3. Cũng theo quy tắc chuỗi :
( )
( )
w w
j jk
k D jji k j j ji
jk
ji
k D j k j j
o uuE E
u o u
ouE
x
u o u


  

    


  


Nếu đặt:
( )
jk
j
k D j k j j
ouE
u o u




  

Ta có:
w
w
ji j ji
ji
E
x 

   

(2-20)
Từ đó:
( ) ( )
( )
( )w (1 )
(1 ) w
jk
j k kj j j
k D j k D jk j j
j j k kj
k D j
ouE
o o
u o u
o o
 

 


     
  
 
 

29
Nhƣ vậy từ (2-18) và (2-20) ta thấy rằng trong mọi trƣờng hợp đều có:
w
w
ji j ji
ji
E
x 

   

(2-21)
Trong đó j đƣợc tính nhƣ sau:
Với j là nút xuất thì :
( )(1 )j j j j jt o o o    (2-22)
Với j là nút ẩn thì:
( )
(1 ) wj j j k kj
k D j
o o 

   (2-23)
Thuật toán lan truyền ngƣợc đƣợc mô tả lại nhƣ sau :
Input:
- Mạng feed-forward với ni đầu vào, nk nút ẩn vào nơron đầu ra.
- Hệ số học .
- Tập dữ liệu huấn luyện     1 2, | , , nX x t x x x x 
rr r
là vector đầu vào
1 2( , , )mt t t t
r
là vector đầu ra mong muốn
Output: Các vector trọng số w j
r
Thuật toán:
Bước 1: Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ.
Bước 2: Lặp lại cho tới khi thỏa mãn điều kiện kết thúc.
Với mỗi mẫu  ,x t X
rr
thực hiện các bước sau:
1. Tính đầu ra oj cho mỗi nốt j
2. Với mỗi nút k thuộc tầng ra, tính k theo công thức:
( )(1 )k k k k kt o o o   
3. Với mỗi nút h thuộc tầng ẩn, tính h theo công thức:
( )
(1 ) wh h h k kh
k D h
o o 

  
4. Cập nhật: wji = wji + wji
Trong đó w ji j jix 
2.7.4.2. Các yếu tố ảnh hƣởng đến quá trình học theo phƣơng pháp lan truyền ngƣợc sai số
Khởi tạo các trọng số
Xét trƣờng hợp sử dụng luật học Gradient, ta xem giá trị khởi tạo sẽ ảnh hƣởng
thế nào tới quá trình học (gồm tốc độ học, tính tối ƣu…)
Trong không gian tƣởng tƣợng 1 chiều:
Với tổng sai số:
∑ ( ) ∑ (2-24)
Phƣơng pháp hạ Gradient:
30
∑ ∑
∑
(2-25)
Hình 2.7. Tối thiểu cục bộ (Local Minimum)
Giả sử mô hình thực hiện giảm dần độ dốc (Gradient Descent) và đạt giá trị lỗi
tại điểm W1 mà không phải là Wg. Điểm W1 đƣợc gọi là điểm tối thiểu cục bộ (Local
Minimum). Điểm Wg đƣợc gọi là điểm tối thiểu toàn cục. Tuy nhiên mô hình chỉ có thể
đạt đến điểm tối thiểu toàn cục là điểm Wg khi và chỉ khi mô hình thoát khỏi điểm W1.
Giải thuật BP có nhƣợc điểm lớn là mô hình mạng có thể rơi vào điểm tối thiểu
cục bộ mà không phải là tối thiểu toàn cục. Để khắc phục nhƣợc điểm này ta đƣa thêm
vào một khái niệm là Momentum. Momentum là hệ số góp phần giúp cho quá trình
chỉnh sửa trọng số giảm khả năng rơi vào các điểm tối thiểu cục bộ, đồng thời làm giảm
thời gian huấn luyện. Giá trị trọng số ở lần huấn luyện thứ t+1 đƣợc tính dựa trên giá trị
của các trọng số ở các lần lặp trƣớc đó.
 (2-26)
Hệ số quán tính  có tác dụng điều chỉnh mức độ ảnh hƣởng của giá trị
ở bƣớc lặp trƣớc lên giá trị . Giúp cho giải thuật không bị dừng ở
hội tụ cục bộ.
Hằng số học η
Giả sử ta cho η=0.45. Mỗi lần thay đổi 1 lƣợng tỷ lệ với 0.45 và 1 lƣợng
tỷ lệ với 0.2 ta có thể mô tả trên hình 2.8 nhƣ sau :
31
Hình 2.8. Tốc độ học của hằng số học η
Đường màu đỏ η=0.2
Đường màu đen η=0.45
Nhƣ vậy ta nhận thấy với hằng số học càng lớn thì tốc độ học càng nhanh
nhƣng độ chính xác lại thấp. Ngƣợc lại hằng số học càng nhỏ thì tốc độ học càng lâu
nhƣng độ chính xác cao.
Hàm giá
Hàm giá hay còn gọi là hàm mục tiêu hoặc hàm sai số. Nếu E0 càng lớn thì sai
số càng cao và ngƣợc lại. Hàm giá đạt cực tiểu khi hai đối số di và yi bằng nhau. Thông
thƣờng hàm giá đƣợc chọn có dạng:
∑ ́ (2-27)
2.7.5. Một số vấn đề của mạng nơron nhiều lớp
Mạng nơron nhiều lớp có một số vấn đề cần đƣợc quan tâm nhƣ sau:
1. Thời gian huấn luyện lâu và không phải luôn hội tụ.
2. Không biết trƣớc đƣợc sự ràng buộc giữa lỗi huấn luyện và cấu trúc mạng.
3. Không biết trƣớc hiệu suất huấn luyện (thời gian huấn luyện, độ lỗi).
4. Khó xác định độ lỗi của mạng từ tập huấn luyện.
5. Khó xác định độ lớn của tập huấn luyện.
2.7.6. Ƣu nhƣợc điểm của mạng truyền thẳng
Ƣu điểm:
- Hỗ trợ tính toán song song ở mức rất cao.
- Có khả năng chịu nhiều lỗi, nhờ các tính toán song song.
- Có thể đƣợc thiết kế để tự thích nghi (Các trọng số, cấu trúc mạng).
Nhƣợc điểm:
- Không có quy tắc tổng quát để xác định cấu trúc mạng và các tham số học tối
ƣu cho một lớp, một bài toán xác định.
- Không có phƣơng pháp tổng quát để đánh giá hoạt động bên trong của ANN (vì
vậy hệ thống ANN đƣợc xem nhƣ là một “hộp đen”).
- Rất khó (không thể) để giải thích cho ngƣời dùng.
32
- Rất khó để dự đoán hiệu năng của hệ thống trong tƣơng lai (khả năng khái quát
hóa của hệ thống học)
2.8. Kết luận chƣơng 2
Chƣơng này nêu ra các khái niệm cơ bản nhất về mạng nơron sinh vật, làm
tham chiếu cho các khái niệm về mạng nơron nhân tạo mô tả sau đó. Chƣơng này đƣa
ra mô hình của mạng nơron và mạng liên kết các nơron cũng nhƣ các phƣơng pháp
huấn luyện mạng. Mạng nhiều lớp lan truyền thẳng cũng đƣợc mô tả kỹ để làm tiền đề
cho việc thiết kế phần mềm dự báo của luận văn.
33
CHƢƠNG 3
ỨNG DỤNG MẠNG NƠRON TRONG DỰ BÁO SỐ HỌC SINH
TUYỂN VÀO TRUNG TÂM GDNN-GDTX ĐỐNG ĐA
Dự báo giáo dục có thể chia làm nhiều loại 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 vào của những năm
tiếp theo…
Luận văn “Dự báo kết quả đậu đại học” của ThS. Thái Trung Hải cũng sử dụng
mạng nơron truyền thẳng 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 đồ án tốt nghiệp của tác giả Nguyễn Văn Trịnh 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.[7]
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 [1], [2], [4],
[5], [7], [8]. 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á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 [10], [11], [13], [14], [15].
Luận văn giải quyết bài toán dự báo số học sinh tuyển vào Trung tâm GDNN-
GDTX quận Đống Đa nhằm phục vụ công tác quản lý, hỗ trợ lên kế hoạch tuyển sinh.
Chƣơng này sẽ trình bày một số nội dung liên quan đến bài toán dự báo và một số thử
nghiệm sử dụng những nghiên cứu trong chƣơng 2 để dự báo số học sinh tuyển vào
Trung tâm.
34
3.1. Giới thiệu về Trung tâm GDNN-GDTX Đống Đa
Tháng 10 năm 1978, Sở GD&ĐT Hà Nội đã quyết định cho các quận đƣợc mở
trƣờng Bổ túc văn hóa thanh thiếu niên cấp III - Quận Đống Đa khi đó mở 3 trƣờng là:
Trƣờng số 3, số 4 và số 5 – cùng với hệ thống trƣờng vừa học – vừa làm và trƣờng Bổ
túc văn hóa Dân Chính đã có từ trƣớc tạo thành mạng lƣới trƣờng Bổ túc văn hóa. Mọi
hoạt động Dạy và Học cùng các hoạt động ngoại khóa đều đƣợc thực hiện nhƣ các
trƣờng trung học phổ thông khác. Riêng về chƣơng trình, học sinh chỉ học một số môn
khoa học cơ bản nhƣ: Văn, Toán, Lý, Hóa, Sinh, Chính trị và học nghề.
Những ngày đầu các trƣờng Bổ túc văn hóa số 3, số 4 và số 5 mới chỉ có 5-15
cán bộ, giáo viên biên chế từ các trƣờng cấp III chuyển về và một số giáo viên thỉnh
giảng, cơ sở vật chất vô cùng nghèo nàn: Chỉ có một phòng làm việc khoảng gần
20m2
, một số tủ đựng đồ thô sơ và vài bàn giáo viên, địa điểm phải học nhờ các trƣờng
vào buổi tối. Mặc dù vậy, số học sinh lại rất đông, mỗi trƣờng tuyển sinh đƣợc từ 400
đến 600 em.
Năm học 1998 – 1999, trƣờng Bổ túc văn hóa số 4 đƣợc đổi tên thành Trung
tâm GDTX Đống Đa. Chức năng, nhiệm vụ của Trung tâm GDTX là: Xóa mù chữ;
giáo dục tiếp tục sau biết chữ; phổ cập giáo dục cấp THCS; GDTX cấp THPT cho học
sinh, cán bộ và nhân dân; công tác dạy nghề (điện dân dụng, nấu ăn, cắt may…), dạy
vi tính, ngoại ngữ, tham gia tƣ vấn hoạt động cho các Trung tâm học tập cộng đồng
phƣờng góp phần nâng cao dân trí, nâng cao chất lƣợng nguồn nhân lực.
Tháng 11 năm 2009, trƣờng Bổ túc văn hóa số 3 và Trung tâm GDTX Đống Đa
hợp nhất thành Trung tâm GDTX Đống Đa theo quyết định số 5998/QĐ-UBND của
UBND thành phố Hà nội.
Về cơ sở vật chất Trung tâm có:
Bảng 3.1. Cơ sở vật chất của Trung tâm
STT Nội dung Đơn vị tính Số lƣợng
1 Tổng diện tích m2
4.487,3
2 Số phòng học phòng 19
3 Số phòng thí nghiệm, đa năng phòng 03
4 Phòng làm việc phòng 11
5 Phòng Tin hoc phòng 03
Đội ngũ cán bộ, giáo viên, nhân viên gồm 24 đồng chí với 3 tổ: Xã hội, Tự
nhiên, Hành chính – Tổng hợp; 100% đạt chuẩn, 7 đồng chí trên chuẩn (thạc sỹ).
Tỉ lệ học sinh đỗ tốt nghiệp của Trung tâm luôn cao hơn tỉ lệ đỗ tốt nghiệp
trung bình của thành phố Hà Nội.
35
Trung tâm GDTX Đống Đa là Trung tâm duy nhất trên toàn Quốc đã đƣa giáo
dục giá trị sống và kỹ năng sống vào giảng dạy chính thức.
Tháng 1 năm 2017 Trung tâm GDTX Đống Đa sát nhập với Trung tâm Dạy
nghề Đống Đa, Trung tâm giáo dục Kỹ thuật tổng hợp số 3 thành Trung tâm GDNN-
GDTX quận Đống Đa theo Quyết định số 5399/QĐ-UBND ngày 28 tháng 9 năm
2016. Trung tâm có 5 cơ sở dạy học và 50 cán bộ giáo viên, nhân viên.
36
3.2. Dữ liệu tuyển sinh của Trung tâm
Dữ liệu tuyển sinh của Trung tâm từ năm 1988 đến năm 2017 đƣợc thống kê trong
bảng 3.2 nhƣ sau:
Bảng 3.2. Dữ liệu tuyển sinh của Trung tâm
TT Năm
Số HS
tuyển sinh
Các đặc trƣng tuyển chọn
Số HS đỗ tốt nghiệp
Số hs đỗ
CĐ, ĐH
1 1988 396 394 15
2 1989 263 262 18
3 1990 341 339 26
4 1991 205 204 31
5 1992 197 194 18
6 1993 329 325 37
7 1994 412 400 31
8 1995 139 137 13
9 1996 348 344 37
10 1997 95 93 10
11 1998 345 340 45
12 1999 356 351 38
13 2000 307 305 26
14 2001 248 243 51
15 2002 147 139 36
16 2003 310 307 58
17 2004 421 415 67
18 2005 342 335 38
19 2006 142 139 36
20 2007 354 349 73
21 2008 277 275 55
22 2009 465 460 83
23 2010 187 184 40
24 2011 387 385 63
25 2012 254 250 71
26 2013 187 185 54
27 2014 150 143 61
28 2015 108 101 57
29 2016 230 211 49
30 2017 250 243 47
Các đặc trƣng có ảnh hƣởng đến số lƣợng học sinh tuyển vào Trung tâm nhƣ:
37
- Số học sinh thi đỗ tốt nghiệp hàng năm của Trung tâm.
- Số học sinh thi đỗ cao đẳng, đại học của Trung tâm.
- Các yếu tố khác: Ảnh hƣởng của quy chế thi cử, điều kiện kinh tế xã hội.
3.3. Các phƣơng án chọn cấu trúc dữ liệu
Để 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 nhƣ:
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ố học sinh
đỗ tốt nghiệp hàng năm; số học sinh thi đỗ cao đẳng, đại học.
Số lƣợng học sinh thi đỗ tốt nghiệp và cao đẳng, đại học thể hiện danh tiếng
hay chất lƣợng đào tạo của một cơ sở giáo dục. Danh tiếng của cơ sở đó càng lớn thì
số lƣợng học sinh đăng ký vào học sẽ càng cao.
Tuy nhiên với đặc thù của Trung tâm thì phƣơng án này không đƣợc chọn vì số
đặc trƣng quá ít có quan hệ không rõ với mục đích nhập học của học sinh.
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ố học sinh tuyển vào trong 30 năm của Trung tâm.
Số lƣợng học sinh tuyển vào Trung tâm trong 30 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 30
năm nên số đặc trƣng là tƣơng đối đủ để dự báo.
Sử dụng 1 đặc trƣng 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 dạng hồi quy. 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.
Ta có bảng dữ liệu sau:
38
Bảng 3.3. Dữ liệu tuyển sinh từ năm 1988 đến 2017 của Trung tâm
TT Năm Số HS tuyển sinh TT Năm Số HS tuyển sinh
1 1988 396 16 2003 310
2 1989 263 17 2004 421
3 1990 341 18 2005 342
4 1991 205 19 2006 142
5 1992 197 20 2007 354
6 1993 329 21 2008 277
7 1994 412 22 2009 465
8 1995 139 23 2010 187
9 1996 348 24 2011 387
10 1997 95 25 2012 254
11 1998 345 26 2013 187
12 1999 356 27 2014 150
13 2000 307 28 2015 108
14 2001 248 29 2016 230
15 2002 147 30 2017 250
3.4. Phát biểu bài toán
Từ bảng dữ liệu 3.3 luận văn đã xây dựng bài toán nhƣ sau:
- Lấy 10 năm đầu từ 1988 đến 1997 để dự báo cho năm 1998.
- Sau đó lại lấy tiến lên 1 năm từ 1989 đến 1998 để dự báo cho năm 1999.
- Cứ tiếp tục nhƣ vậy cho dự báo đến năm 2017.
Bài toán sẽ gồm 2 pha nhƣ sau:
Pha 1: Pha học
Dữ liệu dùng để học sẽ lấy từ năm 1988 đến năm 2011 nhƣ vậy ta sẽ có 14 mẫu
mỗi mẫu gồm 10 đầu vào là số học sinh của 10 năm. Mẫu 1 là số học sinh từ năm 1988
đến năm 1997 và đầu ra là số học sinh năm 1998. Mẫu 2 lấy tiến lên 1 năm là số học
sinh từ năm 1989 đến năm 1998 và đầu ra là số học sinh năm 1999. Cứ nhƣ vậy ta sẽ
có đến mẫu dữ liệu 14 là số học sinh từ năm 2001 đến năm 2011. Dữ liệu từ năm 2012
đến năm 2017 sẽ đƣợc sử dụng để làm dữ liệu kiểm tra độ chính xác của dự báo. Ta có
bảng dữ liệu học nhƣ sau :
Bảng 3.4. Bảng dữ liệu học
Đầu vào x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 Đầu ra
k=1 396 263 341 205 197 329 412 139 348 95 345
k=2 263 341 205 197 329 412 139 348 95 345 356
k=3 341 205 197 329 412 139 348 95 345 356 307
k=4 205 197 329 412 139 348 95 345 356 307 248
k=5 197 329 412 139 348 95 345 356 307 248 147
k=6 329 412 139 348 95 345 356 307 248 147 310
39
k=7 412 139 348 95 345 356 307 248 147 310 421
k=8 139 348 95 345 356 307 248 147 310 421 342
k=9 348 95 345 356 307 248 147 310 421 342 142
k=10 95 345 356 307 248 147 310 421 342 142 354
k=11 345 356 307 248 147 310 421 342 142 354 277
k=12 356 307 248 147 310 421 342 142 354 277 465
k=13 307 248 147 310 421 342 142 354 277 465 187
k=14 248 147 310 421 342 142 354 277 465 187 387
Ta có thể mô tả bài toán nhƣ sau:
y1 = w11x1 + w12x2 + … + w110x10 = x11 (1998) = d1
y2 = w21x1 + w22x2 + … + w210x10 = x12 (1999) = d2 (3-1)
….
y14 = w141x1 + w142x2 + … + w1410x10 = x14 (2011) = d14
Hay
Y = Wx = d (3-2)
Y = [y1, y2, …, y14]T
; x =[x1, x2,…,x10]T
; W = [wij]
Đây là pha học của mạng nơron. Tức là cần xác định wij.
Pha 2 : Pha chạy
Từ kết quả của pha 1 ta tìm đƣợc W = [wij].
Cho tập dữ liệu năm [1988 … 2017].
Cho tập dữ liệu số học sinh [396…250].
Bài toán xác định y là số học sinh năm 2018.
Nếu muốn dự báo số học sinh tuyển vào năm 2019 ta sẽ có 2 bƣớc nhƣ sau :
Bước 1 : Lấy dữ liệu năm 2018 cho học lại.
Bước 2 : Lấy dữ liệu 10 năm từ 2010 đến 2018 để tìm y của năm 2019.
Cứ nhƣ vậy chúng ta có thể sử dụng dữ liệu của 10 năm trƣớc để dự báo cho
năm sau.
3.5. Thiết kế mạng nơron
Trong bài toán, ta xác định cặp đầu vào (x(k)
, d(k)
) trong đó k=1…14 là giá trị dữ
liệu số lƣợng học sinh tuyển vào Trung tâm trong các năm 1988…2011.
3.5.1. Số lớp nơron
Luận văn lựa chọn mô hình mạng nơron với 3 lớp (1 lớp vào, 1 lớp ẩn, 1 lớp ra)
nhƣ trong cấu trúc bài toán ở trên.
3.5.2 Cấu trúc mạng
Số nơron lớp vào
Trong luận văn lựa chọn 10 nơron lớp vào cho từng tập mẫu ứng vào giá trị đầu
vào của mạng là số học sinh tuyển vào Trung tâm trong 10 năm liên tiếp.
Đầu ra của tập mẫu trƣớc sẽ là 1 đầu vào cho tập mẫu sau.
40
Số nơron lớp ẩn
Để lựa chọn đƣợc chính xác số nơron cho lớp ẩn là rất khó vì vậy số nơron lớp
ẩn sẽ đƣợc lựa chọn qua thực nghiệm của bài toán.
Qua thực nghiệm bài toán lựa chọn số nơron lớp ẩn là 10 nơron.
Số nơron lớp ra
Bài toán đặt ra là dự báo số lƣợng học sinh tuyển vào Trung tâm trong năm tiếp
theo. Do vậy sẽ có 1 đầu ra là: Số lƣợng học sinh tuyển vào Trung tâm trong năm tới.
Hằng số học
Hằng số học  đƣợc lựa chọn bằng phƣơng pháp thực nghiệm.
3.5.3. Hàm tƣơng tác đầu ra
Hàm kích hoạt đƣợc sử dụng trong lớp vào và lớp ẩn là hàm Log-sigmoid, hàm
này rất thuận lợi khi sử dụng cho các mạng huấn luyện bằng thuật toán lan truyền
ngƣợc BP, bởi nó rất dễ lấy đạo hàm.
y =
1
( )
1 i
i Net
f Net
e


Hàm log-sigmoid này phù hợp với các bài toán có đầu ra mong muốn rơi vào
khoảng [0,1].
Hàm kích hoạt đƣợc sử dụng trong lớp ra là hàm tổng SUM vì giá trị đầu ra là
giá trị thực tế đã chuẩn hóa theo đơn vị đầu ra.
3.5.4. Giá trị trọng khởi đầu
Giá trị trọng khởi đầu là giá trị khởi tạo ngẫu nhiên trong quá trình học của mạng.
Bằng thực nghiệm giá trị trọng khởi đầu của bài toán là:
Bảng 3.5. Bảng trọng số
Sau khi chạy chƣơng trình huấn luyện mạng để dự báo số học mạng đã tạo ra
đƣợc bộ trọng số. Bộ trọng số sẽ đƣợc thay đổi qua các vòng huấn luyện để sai số giữa
giá trị dự báo và giá trị thực tế là nhỏ nhất.
41
3.6. Công cụ mô phỏng bài toán dự báo tuyển sinh
Để thử nghiệm mô hình dự báo ở chƣơng 2 và thay đổi các thông số khác nhau
đối với mạng nơron nhân tạo, luận văn đã xây dựng một công cụ mô phỏng mạng
nơron truyền thẳng sử dụng thuật toán lan truyền ngƣợc sai số. Cách sử dụng và giao
diện của công cụ đƣợc trình bày trong phần phụ lục của luận văn.
Phần mềm đƣợc xây dựng bằng ngôn ngữ VB.NET trong bộ Microsoft Visual
Studio.NET 2012 chạy trên nền Net FrameWork 4.0. Cấu hình yêu cầu: CPU tƣơng
đƣơng Pentium 3, RAM 512MB, dung lƣợng ổ cứng còn trống trên 10MB.
3.7. Chạy và thử nghiệm
Chƣơng trình này đã ứng dụng mạng nơron nhân tạo sử dụng giải thuật lan
truyền ngƣợc sai số vào việc dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX
quận Đống Đa.
Qua các thử nghiệm cho kết quả dự báo nhƣ sau:
Bảng 3.6. Kết quả thử nghiệm dự báo tuyển sinh
Stt
Số
nơron
lớp ẩn
Tổng thời
gian
huấn luyện
Tổng số vòng
huấn luyện
Lỗi MAE
1 6 2.752 giây 1000 0.0040497845057569
2 7 2.375 giây 1000 0.00485736880308239
3 8 2.218 giây 1000 0.0055487184283217
4 9 2.52 giây 1000 0.00761645708861354
5 10 2.686 giây 1000 0.00254915503276571
6 11 2.753 giây 1000 0.00466860652219338
7 12 4.084 giây 1000 0.00528905213344223
8 13 2.778 giây 1000 0.0045620026164574
9 14 2.738 giây 1000 0.00586705619117314
10 15 3.28 giây 1000 0.00529373821264322
11 16 2.606 giây 1000 0.00509736590845608
12 17 2.556 giây 1000 0.00497131752813026
Ban đầu luận văn lựa chọn số nơron trong lớp ẩn là 6 thì thời gian huấn luyện
mạng là 2,752 giây và lỗi là 0,00404978 với số vòng huấn luyện là 1000 vòng. Sau đó
số nơron của lớp ẩn đƣợc tăng dần lên để kiểm tra thời gian huấn luyện của mạng và
lỗi MAE. Sau khi lựa chọn một số lớp ẩn thì ta nhận thấy với số nơron lớp ẩn là 10 thì
lỗi MAE là nhỏ nhất nên luận văn chọn số nơron lớp là 10 nơron là phù hợp nhất với
bài toán.
42
Hình 3.1. Kết quả huấn luyện mạng
Trong hình 3.1 là biểu đồ hiển thị kết quả huấn luyện mạng sau 1000 vòng với
số lỗi MSE và MAE tìm đƣợc trong qua trình huấn luyện. Các thông số của mạng
đƣợc khởi tạo là: Mạng hội tụ tại vòng huấn luyện thứ 1000; tốc độ học là 0,7; hệ số
quán tính là 0,4 và thời gian huấn luyện của mạng.
Bảng 3.7. Kết quả huấn luyện dự báo tuyển sinh
Mẫu Giá trị thực tế Giá trị dự báo Tỷ lệ % Lỗi MSE
0 345 346.04 99.7 0.0104
1 356 356.9 99.75 0.0045
2 307 307.49 99.84 0.0016
3 248 248.48 99.81 0.0012
4 147 144.2 98.1 0.0056
5 310 310.08 99.97 0.0001
6 421 424.55 99.16 0.0051
7 342 343.03 99.7 0.0013
8 142 142.17 99.88 0.0002
9 354 354.77 99.78 0.0008
10 277 277.84 99.7 0.0008
11 465 451.42 97.08 0.0113
12 187 187.15 99.92 0.0001
13 387 386.46 99.86 0.0004
14 254 253.81 99.93 0.0001
15 187 187.99 99.47 0.0006
16 150 149.24 99.5 0.0004
43
17 108 112.13 96.18 0.0023
18 230 229.69 99.86 0.0002
19 250 249.81 99.92 0.0001
Nhƣ vậy kết quả dự báo sử dụng công cụ là mạng nơron truyền thẳng với thuật
toán lan truyền ngƣợc sai số cho kết quả dự báo tƣơng đối chính xác, sai số là chấp
nhận đƣợc.
Hình 3.2. Kết quả kiểm tra mạng
Hình 3.2 mô tả kết quả kiểm tra mạng với bộ dữ liệu kiểm tra từ năm 2011 đến
2017. Đƣờng màu xanh mô ta giá trị thực tế thu thập đƣợc và đƣờng màu đỏ là đƣờng
thể hiện giá trị dự báo, ngoài ra giao diện còn thể hiện lỗi MSE của dự báo. Nhìn vào
biểu đồ kiểm tra kết quả của mạng ta nhận thấy kết quả dự báo của mạng là tƣơng đối
chính xác, tức là sai số của dự báo là nhỏ.
44
Hình 3.3. Kết quả dự báo cho 3 năm 2018, 2019, 2020
Trong bảng là kết quả dự báo của ba năm liên tiếp là 2018, 2019 và 2020. Số dự
báo là đƣờng màu đỏ. Kết quả dự báo của năm 2019 sẽ có 1 đầu vào là kết quả dự báo
của năm 2018 và năm 2020 sẽ lấy kết quả dự báo của năm 2019 làm 1 đầu vào.
3.8. So sánh các phƣơng pháp dự báo.
Hiện nay có rất nhiều các phƣơng pháp khác nhau đƣợc sử dụng để dự báo
nhw : Phƣơng pháp dự báo trung bình dài hạn, phƣơng pháp dự báo trung bình động,
phƣơng pháp hồi quy tuyến tính, phƣơng pháp san bằng số mũ…
Để đánh giá độ chính xác và tính ƣu việt của mạng nơron trong dự báo luận văn
có sử dụng các phƣơng pháp này để so sánh kết quả dự báo.
Phƣơng pháp dự báo trung bình dài hạn : là phƣơng pháp mà số dự báo
bằng trung bình cộng của các quan sát thực tế trƣớc đó. Ta có công thức :
∑
(3-3)
Trong đó :
Ft+1 : Số dự báo ở kỳ thứ t+1
Dt : Số quan sát ử kỳ thứ t
n : Tổng quan sát
Qua tính toán bằng phƣơng pháp cho giá trị sai số nhƣ sau :
45
Bảng 3.8. Kết quả dự báo bằng phương pháp trung bình dài hạn
STT
Giá trị thực
tế
Giá trị dự
báo
Tỷ lệ
%
1 345 273 78.99
2 356 279 78.40
3 307 286 93.00
4 248 287 86.36
5 147 284 51.70
6 310 275 88.77
7 421 277 65.88
8 342 286 83.57
9 142 289 49.14
10 354 281 79.44
11 277 285 97.24
12 465 284 61.18
13 187 293 63.89
14 387 288 74.44
15 254 292 86.92
16 187 291 64.33
17 150 287 52.32
18 108 282 38.35
19 230 275 83.51
20 250 274 91.29
Phƣơng pháp trung bình động : Số dự báo ở kỳ thứ t+1 bằng trung bình cộng
của n kỳ trƣớc đó. Cứ mỗi kỳ dự báo sẽ bỏ đi số liệu xa nhất trong quá khứ và thêm
vào số liệu mới nhất. Ta có công thức :
(3-4)
Bảng 3.9. Kết quả dự báo bằng phương pháp trung bình động
STT
Giá trị thực
tế
Giá trị dự
báo
Tỷ lệ
%
1 345 194 56.23
2 356 263 73.78
3 307 265 86.43
4 248 336 73.81
5 147 304 48.41
6 310 234 75.48
7 421 235 55.82
8 342 293 85.58
46
9 142 358 39.70
10 354 302 85.22
11 277 279 99.16
12 465 258 55.41
13 187 365 51.19
14 387 310 80.02
15 254 346 73.34
16 187 276 67.75
17 150 276 54.35
18 108 197 54.82
19 230 148 64.49
20 250 163 65.07
Phƣơng pháp này có sử dụng công cụ dự báo Moving Average và cho ra sơ đồ
dự báo nhƣ sau :
Hình 3.4. Sơ đồ kết quả dự báo trung bình động
Phƣơng pháp hồi quy tƣơng quan : Phƣơng pháp này sử dụng mối phụ thuộc
của một biến (biến phụ thuộc) với một hay nhiều biến khác (biến độc lập) để ƣớc
lƣợng và dự báo giá trị trung bình của biến phụ thuộc với các giá trị đã biết của biến
độc lập.
Ta có kết quả dự báo nhƣ sau :
Bảng 3.10. Kết quả dự báo bằng phương pháp hồi quy tương quan
STT
Giá trị thực
tế
Giá trị dự
báo
Tỷ lệ
%
1 345 345 99.91
2 356 356 99.92
3 307 310 99.13
4 248 248 99.86
5 147 144 97.69
6 310 312 99.46
7 421 420 99.70
8 342 340 99.33
9 142 144 98.88
47
10 354 354 99.92
11 277 280 99.05
12 465 465 99.95
13 187 189 99.14
14 387 390 99.30
15 254 255 99.74
16 187 190 98.61
17 150 148 98.40
18 108 106 97.76
19 230 216 93.76
20 250 248 99.06
Phƣơng pháp dự báo san bằng mũ đơn giản : Phƣơng pháp này sẽ dự báo giá
trị mới bằng giá trị cũ cộng với khoảng chênh lệch giữa nhu cầu dự báo thực và nhu
cầu dự báo của kỳ trƣớc, có điều chỉnh hệ số.
Ta có công thức sau :
(3-5)
Trong đó :
Ft : Nhu cầu dự báo kỳ t
Ft-1 : Nhu cầu dự báo kỳ t-1
Dt-1 : Nhu cầu thực kỳ t-1
α : Hệ số san bằng mũ
Ta có bảng kết quả dự báo nhƣ sau :
Bảng 3.11. Kết quả dự báo bằng phương pháp san bằng mũ
STT
Giá trị thực
tế
Giá trị dự
báo
Tỷ lệ
%
1 345 289 83.78
2 356 336 94.36
3 307 316 97.25
4 248 268 92.43
5 147 183 80.16
6 310 272 87.75
7 421 376 89.38
8 342 352 97.08
9 142 205 69.24
10 354 309 87.38
11 277 287 96.62
12 465 412 88.50
48
13 187 254 73.52
14 387 347 89.72
15 254 282 90.08
16 187 215 86.78
17 150 170 88.42
18 108 126 85.38
19 230 199 86.50
20 250 165 65.87
Sơ đồ biểu diễn độ sai số của dự báo :
Hình 3.5. Kết quả dự báo san bằng mũ
Qua các kết quả của các phƣơng pháp dự báo thì kết quả dự báo bằng công cụ
mạng nơron cho kết quả chính xác và đáng tin cậy nhất. Vì vậy, luận văn lựa chọn dự
báo tuyển sinh bằng mạng nơron truyền thẳng với thuật toán lan truyền ngƣợc sai số
là hoàn toàn có cơ sở.
3.9 Kết luận chƣơng 3
Qua các kết quả thực nghiệm thu đƣợc trong quá trình thử nghiệm trên công cụ
dự báo trong luận văn đã chỉ ra đƣợc những điều sau:
 Mạng nơron nhân tạo có tính ứng dụng rất đa dạng, khá hiệu quả trong các bài
toán dự báo.
 Mức độ chính xác của mô hình phụ thuộc vào rất nhiều thông số, tuy nhiên lại
chƣa có một phƣơng pháp nào để xác định đƣợc chính xác định tính cũng nhƣ
định lƣợng của các thông số. Ta phải thông qua phƣơng pháp thực nghiệm để
xác định giá trị thông số tối ƣu.
 Số liệu của mỗi đơn vị tuyển sinh có đặc trƣng riêng và thông số tối ƣu thay đổi
theo mức độ đặc trƣng của số liệu.
49
KẾT LUẬN
Luận văn nghiên cứu mạng nơron nhân tạo, mô hình mạng nơron truyền thẳng
đƣợc huấn luyện với giải thuật lan truyền ngƣợc cho bài toán dự báo số học sinh tuyển
vào Trung tâm GDNN-GDTX quận Đống Đa.
Các đóng góp của luận văn:
1. Luận văn đã nghiên cứu tổng quan về mạng nơron nhân tạo, đi sâu vào nghiên
cứu mạng nơron lan truyền thẳng huấn luyện bằng thuật toán lan truyền ngƣợc
sai số nhằm đạt tới một kết quả tốt nhất cho bài toán tối ƣu trọng số mạng nơron
nhân tạo.
2. Luận văn cũng đã xây dựng đƣợc phần mềm dự báo số học sinh tuyển vào
Trung tâm GDNN-GDTX quận Đống Đa trong năm tiếp theo.
Hƣớng phát triển tiếp theo
Những kết quả thực nghiệm khả quan dựa trên nghiên cứu về ứng dụng mạng
nơron nhân tạo với thuật toán học là lan truyền ngƣợc sai số trong bài toán dự báo số
học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa trong năm tới cho thấy
đây là một mô hình hiệu quả.
Vì vậy, hƣớng phát triển tiếp theo của luận văn là cải tiến phƣơng pháp dự báo
để có kết quả chính xác nhất.
Ngoài ra, có thể sử dụng kết hợp với logic mờ và giải thuật di truyền (GA) để
cho kết quả dự báo chính xác hơn.
50
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Thái Trung Hải (2014), Sử dụng mạng nơron trong việc dự đoán kết quả đậu
đại học, Luận văn Thạc sỹ, Đại học Lạc Hồng.
2. Nguyễn Quang Hoan, Hoàng Thị Lan Phƣơng (2006), “Dự báo giá chứng
khoán sử dụng công nghệ mạng nơron”, Kỷ yếu hội nghị khoa học lần 3 về
nghiên cứu, phát triển và ứng dụng công nghệ thông tin và truyền thông Hà Nội
ICT.rda’06 (20-21/5/2006) tr 157 -164
3. Nguyễn Quang Hoan (2005), Giáo trình mạng nơron nhân tạo, Học viện công
nghệ bƣu chính viễn thông.
4. Hoàng Phúc Lâm, Nguyễn Hƣớng Điền, Công Thanh, Hoàng Thanh Vân
(2007), “Sử dụng mạng nơron đa lớp truyền thẳng và mạng truy hồi dự báo
tổng lƣợng bức xạ ngày cho một số trạm ở đồng bằng phía Bắc Việt Nam”, Tạp
chí Khí tượng Thủy văn số 10 (559).
5. Trần Đức Minh (2002), Ứng dụng mạng nơron truyền thẳng trong dự báo dữ
liệu, Luận văn thạc sỹ, Viện Công nghệ Thông tin.
6. Nguyễn Đình Thúc (2000), Mạng nơron nhân tạo – phương pháp và ứng dụng,
Nhà xuất bản Giáo dục.
7. Nguyễn Văn Trịnh (2012), Ứng dụng mạng nơron trong dự báo tỷ lệ nghỉ học,
Luận văn thạc sỹ ,Viện Toán Ứng dụng và Tin học – Đại học Bách khoa Hà
Nội.
8. Phạm Thị Hoàng Nhung (2007), Nghiên cứu, ứng dụng các phương pháp học
máy tiên tiến trong công tác dự báo, vận hành hồ Hòa Bình, Luận văn thạc sỹ,
trƣờng Đại học Công nghệ (ĐHQGHN).
Tiếng Anh
9. John C. Chambers, Satinder K. Mullick and Donald D. Smith (1971), How to
Choose the Right Forecasting Technique, https://hbr.org/1971/07/how-to-
choose-the-right-forecasting-technique.
10.Petar Halachev (2012), “Prediction of e-Learning Efficiency by Neural
Networks”, Cybernetics And Information Technologies – volume 12 – Nơron
12, Bulgarian Academy of Sciences.
11.Hopfield, J.J (1982), “Neural Networks and Physical Systems with Emergent
Collective Computational Abilities”, Proceeding of Natural Academic Sciences,
USA, vol. 79, pp. 2.554 – 2.558.
12.Robert J. Schallkoff (1997), Artificial Neural Networks, The McGraw – Hill
Companies, Inc 1997.
13.David Silverman, Jonh A. Dracup (2000), “Artificial Neural Networks and
Long-Range Precipitation Prediction in California”, Journal of Applied
Meteorology, vol 39 (Jan 2000), pp. 57-66.
51
14.Dipti Srinivasan, A.C. Liew, Jonh S., P. Chen (1991), “Short Term Forecasting
Using Neural Networks Approach”, IEEE 91TH0374-9/91/0000-0012, pp 12-
16, 1991.
15.Morioka Y., Sakurai K., Yokoyama A. Sekine Y. (1993), “Next Day Peak Load
Forecasting Using a Multilayer Neural Network with an Additional Learning”,
IEEE, 0-7803-1217-1/93, 1993.
16.Michael Negnevitsky (2005), Artificial Intelligence, Addison Wesley.
17. Fico Corporation (2009), Understanding Predictive Analytics.
18.Dean Abbott (2014), Applied Predictive Analytics: Principles and Techniques
for the Professional Data Analyst, Wiley.
52
PHỤ LỤC A
GIỚI THIỆU CÔNG CỤ VÀ KẾT QUẢ DỰ BÁO
1. Giao diện chính của phần mềm
Chức năng Cấu hình mạng:
- Nút lệnh Nhập từ tệp: Cho phép ngƣời dùng nạp dữ liệu từ tệp dữ liệu.
- Nút lệnh Tạo thông số mạng: Để tạo mới một mạng nơron lan truyền
ngƣợc. Thông số mạng đƣợc tạo bao gồm: Số nơron lớp vào, số nơron
lớp ẩn, số nơron lớp ra, tốc độ học, hệ số quán tính, số lần học tối đa, sai
số cực tiểu.
- Nút lệnh Sửa: Để sửa các thông số của mạng.
53
2. Giao diện huấn luyện
Trƣớc khi huấn luyện phải Nhập dữ liệu cho mạng.
- Nút lệnh Huấn luyện: Dùng để huấn luyện mạng, màn hình hiển thị
thông số huấn luyện mạng gồm Tập dữ liệu huấn luyện và dữ liệu đã
chuẩn hóa.
- Nút lệnh Chuẩn hóa: Dùng để chuẩn hóa dữ liệu huấn luyện.
- Nút lệnh Xóa dữ liệu: Để xóa các dữ liệu.
54
3. Giao diện Kiểm tra mạng
Trƣớc khi kiểm tra mạng phải Nhập dữ liệu cho mạng.
Nút lệnh Kiểm tra mạng: Để kiểm tra độ chính xác kết quả huấn luyện của mạng.
Giao diện hiển thị tập dữ liệu đƣợc kiểm tra và dữ liệu đã chuẩn hóa của mạng.
4. Chức năng Dự báo
Trƣớc khi nhấn nút lệnh Dự báo phải chọn số năm định dự báo.
55
5. Chức năng Giới thiệu vào Thoát
Chức năng Giới thiệu: Hiện các thông tin tên đề tài, tác giả, giáo viên hƣớng dẫn
luận văn.
Chức năng Thoát: Dùng để thoát chƣơng trình
56
PHỤ LỤC B
MỘT SỐ MÃ NGUỒN CỦA CÔNG CỤ
1. Huấn luyện mạng
public void Bp_Run(List<double> sampleSeries, double learnRate, double momentum, int
theEpoches = 10000, double residual = 0.00001)
{
InitForTrain();
int i, j, k, n;
int epoch = 0;
double MAE = Double.MaxValue;
double LastError = Double.MaxValue;
List<double> MAError = new List<double>();
double[,] deltaInputHidden = new double[s_Network.m_iNumInputNodes + 1,
s_Network.m_iNumHiddenNodes];
double[,] deltaHiddenOutput = new double[s_Network.m_iNumHiddenNodes + 1,
s_Network.m_iNumOutputNodes];
double[,] lagDeltaInputHidden = new double[s_Network.m_iNumInputNodes + 1,
s_Network.m_iNumHiddenNodes];
double[,] lagDeltaHiddenOutput = new double[s_Network.m_iNumHiddenNodes +
1, s_Network.m_iNumOutputNodes];
for (j = 0; j < s_Network.m_iNumHiddenNodes; j++) // initialize weight-
step of Input Hidden connection
{
for (i = 0; i <= s_Network.m_iNumInputNodes; i++)
{
deltaInputHidden[i, j] = 0.0;
lagDeltaInputHidden[i, j] = 0.0;
}
}
for (k = 0; k < s_Network.m_iNumOutputNodes; k++) // initialize weight-
step of Hidden Output connection
{
for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++)
{
deltaHiddenOutput[j, k] = 0.0;
lagDeltaHiddenOutput[j, k] = 0.0;
}
}
TraningProgress frmTraningProgress = new TraningProgress();
frmTraningProgress.SetInit(sampleSeries.Count(), theEpoches , 1);
System.Windows.Forms.Application.DoEvents();
frmTraningProgress.Show();
bool isUserStop = false;
RunTime BeginRunTime = new RunTime();
BeginRunTime.GetCurrTime();
while (epoch < theEpoches)
{
MAE = 0.0;
57
for (n = s_Network.m_iNumInputNodes; n < sampleSeries.Count; n++)
{
// forward
double[] lstTemp = new double[s_Network.m_iNumInputNodes];
for (i = s_Network.m_iNumInputNodes; i > 0; i--)
{
lstTemp[s_Network.m_iNumInputNodes - i] = sampleSeries[n - i];
}
s_Network.CalculateOutput(lstTemp);
for (k = 0; k < s_Network.m_iNumOutputNodes; k++)
{
MAE += Math.Abs(sampleSeries.ElementAt(n + k) -
s_Network.m_arOutputNodes[k].GetOutput());
}
// backward
/*calculate weight-step for weights connecting from hidden nodes
to output nodes*/
for (k = 0; k < s_Network.m_iNumOutputNodes; k++)
{
for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++)
{
double parDerv = -s_Network.m_arOutputNodes[k].GetOutput()
* (1 - s_Network.m_arOutputNodes[k].GetOutput()) *
s_Network.m_arHiddenNodes[j].GetOutput() * (sampleSeries.ElementAt(n) -
s_Network.m_arOutputNodes[k].GetOutput());
deltaHiddenOutput[j, k] = -learnRate * parDerv + momentum
* lagDeltaHiddenOutput[j, k];
lagDeltaHiddenOutput[j, k] = deltaHiddenOutput[j, k];
}
}
/*calculate weight-step for weights connecting from input nodes to
hidden nodes*/
for (j = 0; j < s_Network.m_iNumHiddenNodes; j++)
{
double temp = 0.0;
for (k = 0; k < s_Network.m_iNumOutputNodes; k++)
{
temp += -(sampleSeries.ElementAt(n) -
s_Network.m_arOutputNodes[k].GetOutput()) * s_Network.m_arOutputNodes[k].GetOutput() *
(1 - s_Network.m_arOutputNodes[k].GetOutput()) * s_Network.m_arHiddenOutputConn[j, k];
}
for (i = 0; i <= s_Network.m_iNumInputNodes; i++)
{
double parDerv = s_Network.m_arHiddenNodes[j].GetOutput()
* (1 - s_Network.m_arHiddenNodes[j].GetOutput()) *
s_Network.m_arInputNodes[i].GetInput() * temp;
deltaInputHidden[i, j] = -learnRate * parDerv + momentum *
lagDeltaInputHidden[i, j];
lagDeltaInputHidden[i, j] = deltaInputHidden[i, j];
}
}
/*updating weight from Input to Hidden*/
for (j = 0; j < s_Network.m_iNumHiddenNodes; j++)
58
{
for (i = 0; i <= s_Network.m_iNumInputNodes; i++)
{
s_Network.m_arInputHiddenConn[i, j] += deltaInputHidden[i,
j];
}
}
/*updating weight from Hidden to Output*/
for (k = 0; k < s_Network.m_iNumOutputNodes; k++)
{
for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++)
{
s_Network.m_arHiddenOutputConn[j, k] +=
deltaHiddenOutput[j, k];
}
}
} // end outer for
MAE = MAE / (sampleSeries.Count - s_Network.m_iNumInputNodes); //
caculate mean square error
if (Math.Abs(MAE - LastError) < residual) // if the Error is not
improved significantly, halt training process and rollback
{
RollBack();
break;
}
else
{ //else backup the current configuration and continue training
LastError = MAE;
BackUp();
MAError.Add(MAE);
epoch++;
}
frmTraningProgress.SetStep(epoch);
System.Windows.Forms.Application.DoEvents();
if (frmTraningProgress.isStop == true)
{
isUserStop = true;
break;
}
//Thread.Sleep(10);
}
frmTraningProgress.OnClose();
RunTime EndRunTime = new RunTime();
EndRunTime.GetCurrTime();
RunTime RunTimeUse = new RunTime();
RunTimeUse = BeginRunTime.Subtraction(EndRunTime);
/* output training result */
TrainingResult result = new TrainingResult();
result.trainResult.AppendText("Số vòng huấn luyện tối đa: " + theEpoches +
"n");
result.trainResult.AppendText("Mạng hội tụ tại lần huấn luyện: " + epoch +
Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx
Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx
Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx
Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx
Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx

More Related Content

What's hot

What's hot (20)

Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAYĐề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
Đề tài: Xây dựng ứng dụng Android truy xuất cơ sở dữ liệu, HAY
 
Ứng dụng mô hình ARIMA để dự báo lượng mưa vụ đông xuân, 9đ
Ứng dụng mô hình ARIMA để dự báo lượng mưa vụ đông xuân, 9đỨng dụng mô hình ARIMA để dự báo lượng mưa vụ đông xuân, 9đ
Ứng dụng mô hình ARIMA để dự báo lượng mưa vụ đông xuân, 9đ
 
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SENĐề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
Đề tài: Xây Dựng Chương Trình Quản Lý Nhà Hàng Coffee SEN
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Luận văn: Biên soạn câu hỏi trắc nghiệm khách quan phần Địa lí tự nhiên
Luận văn: Biên soạn câu hỏi trắc nghiệm khách quan phần Địa lí tự nhiênLuận văn: Biên soạn câu hỏi trắc nghiệm khách quan phần Địa lí tự nhiên
Luận văn: Biên soạn câu hỏi trắc nghiệm khách quan phần Địa lí tự nhiên
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.
 
Đề tài: Hệ thống giúp tư vấn nghề nghiệp cho học sinh THPT, HAY
Đề tài: Hệ thống giúp tư vấn nghề nghiệp cho học sinh THPT, HAYĐề tài: Hệ thống giúp tư vấn nghề nghiệp cho học sinh THPT, HAY
Đề tài: Hệ thống giúp tư vấn nghề nghiệp cho học sinh THPT, HAY
 
Đồ án tốt nghiệp: Triển khai CRM thực tế
Đồ án tốt nghiệp: Triển khai CRM thực tếĐồ án tốt nghiệp: Triển khai CRM thực tế
Đồ án tốt nghiệp: Triển khai CRM thực tế
 
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAYLuận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
Luận văn: Xây dựng ứng dụng Android xem video trực tuyến, HAY
 
Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT
Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOTLuận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT
Luận văn: Tìm hiểu chuẩn mật mã dữ liệu (DES) và ứng dụng, HOT
 
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOTLuận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
Luận văn: Xây dựng ứng dụng Android nghe nhạc offline, HOT
 
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAYĐề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
 
Quản lý hoạt động kiểm tra đánh giá kết quả học tập của học sinh các trường t...
Quản lý hoạt động kiểm tra đánh giá kết quả học tập của học sinh các trường t...Quản lý hoạt động kiểm tra đánh giá kết quả học tập của học sinh các trường t...
Quản lý hoạt động kiểm tra đánh giá kết quả học tập của học sinh các trường t...
 
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESSĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
ĐỒ ÁN XÂY DỰNG WEBSITE BÁN HÀNG BẰNG WORDPRESS
 
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOTĐề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
Đề tài: Hệ thống giao thông thông minh và ứng dụng của nó, HOT
 
Nâng cao hoạt động công tác văn thư – lưu trữ tại trường đại học Y
Nâng cao  hoạt động công tác văn thư – lưu trữ tại trường đại học YNâng cao  hoạt động công tác văn thư – lưu trữ tại trường đại học Y
Nâng cao hoạt động công tác văn thư – lưu trữ tại trường đại học Y
 
Đề tài: Xây dựng ứng dụng game Android đoán lá bài đã chọn
Đề tài: Xây dựng ứng dụng game Android đoán lá bài đã chọnĐề tài: Xây dựng ứng dụng game Android đoán lá bài đã chọn
Đề tài: Xây dựng ứng dụng game Android đoán lá bài đã chọn
 
Báo cáo tiểu luận xây dựng, chứng minh và tìm luận cứ giả thuyết nghiên cứu...
Báo cáo tiểu luận   xây dựng, chứng minh và tìm luận cứ giả thuyết nghiên cứu...Báo cáo tiểu luận   xây dựng, chứng minh và tìm luận cứ giả thuyết nghiên cứu...
Báo cáo tiểu luận xây dựng, chứng minh và tìm luận cứ giả thuyết nghiên cứu...
 
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAYĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
 

Similar to Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx

Similar to Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx (20)

Kiểm chứng giao diện phần mềm bằng mô hình hóa event – B
Kiểm chứng giao diện phần mềm bằng mô hình hóa event – BKiểm chứng giao diện phần mềm bằng mô hình hóa event – B
Kiểm chứng giao diện phần mềm bằng mô hình hóa event – B
 
Luận văn: Quản lý ứng dụng công nghệ thông tin trong hoạt động dạy học
Luận văn: Quản lý ứng dụng công nghệ thông tin trong hoạt động dạy họcLuận văn: Quản lý ứng dụng công nghệ thông tin trong hoạt động dạy học
Luận văn: Quản lý ứng dụng công nghệ thông tin trong hoạt động dạy học
 
Luận văn: Biện pháp quản lý ứng dụng công nghệ thông tin trong hoạt động dạy ...
Luận văn: Biện pháp quản lý ứng dụng công nghệ thông tin trong hoạt động dạy ...Luận văn: Biện pháp quản lý ứng dụng công nghệ thông tin trong hoạt động dạy ...
Luận văn: Biện pháp quản lý ứng dụng công nghệ thông tin trong hoạt động dạy ...
 
Luận văn: Mối liên hệ giữa các vấn đề sức khỏe tâm thần và bắt nạt trực tuyến...
Luận văn: Mối liên hệ giữa các vấn đề sức khỏe tâm thần và bắt nạt trực tuyến...Luận văn: Mối liên hệ giữa các vấn đề sức khỏe tâm thần và bắt nạt trực tuyến...
Luận văn: Mối liên hệ giữa các vấn đề sức khỏe tâm thần và bắt nạt trực tuyến...
 
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
 
Luận văn: Ý kiến của người dân về ô nhiễm môi trường tỉnh Tiền Giang
Luận văn: Ý kiến của người dân về ô nhiễm môi trường tỉnh Tiền GiangLuận văn: Ý kiến của người dân về ô nhiễm môi trường tỉnh Tiền Giang
Luận văn: Ý kiến của người dân về ô nhiễm môi trường tỉnh Tiền Giang
 
Luận văn: Ý kiến của người dân về hành vi ô nhiễm môi trường, 9đ
Luận văn: Ý kiến của người dân về hành vi ô nhiễm môi trường, 9đLuận văn: Ý kiến của người dân về hành vi ô nhiễm môi trường, 9đ
Luận văn: Ý kiến của người dân về hành vi ô nhiễm môi trường, 9đ
 
Luận văn: Xử lý văn bản tiếng việt và xây dựng hệ mật kép an toàn
Luận văn: Xử lý văn bản tiếng việt và xây dựng hệ mật kép an toànLuận văn: Xử lý văn bản tiếng việt và xây dựng hệ mật kép an toàn
Luận văn: Xử lý văn bản tiếng việt và xây dựng hệ mật kép an toàn
 
Nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối t...
Nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối t...Nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối t...
Nghiên cứu về mạng neural convolutional, áp dụng vào bài toán nhận dạng đối t...
 
Thực Hiện Đăng Ký Hộ Tịch Trên Địa Bàn Huyện Đan Phượng, Thành Phố Hà Nội.doc
Thực Hiện Đăng Ký Hộ Tịch Trên Địa Bàn Huyện Đan Phượng, Thành Phố Hà Nội.docThực Hiện Đăng Ký Hộ Tịch Trên Địa Bàn Huyện Đan Phượng, Thành Phố Hà Nội.doc
Thực Hiện Đăng Ký Hộ Tịch Trên Địa Bàn Huyện Đan Phượng, Thành Phố Hà Nội.doc
 
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đLuận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
Luận văn: Nghiên cứu mô hình phân lớp câu hỏi và ứng dụng, 9đ
 
Công Tác Xã Hội Trong Hỗ Trợ Sinh Kế Đối Với Người Khuyết Tật Tại Thành Phố B...
Công Tác Xã Hội Trong Hỗ Trợ Sinh Kế Đối Với Người Khuyết Tật Tại Thành Phố B...Công Tác Xã Hội Trong Hỗ Trợ Sinh Kế Đối Với Người Khuyết Tật Tại Thành Phố B...
Công Tác Xã Hội Trong Hỗ Trợ Sinh Kế Đối Với Người Khuyết Tật Tại Thành Phố B...
 
Luận văn: Ứng dụng hệ thống thông tin địa lý (gis) vào công tác quản lý, thu ...
Luận văn: Ứng dụng hệ thống thông tin địa lý (gis) vào công tác quản lý, thu ...Luận văn: Ứng dụng hệ thống thông tin địa lý (gis) vào công tác quản lý, thu ...
Luận văn: Ứng dụng hệ thống thông tin địa lý (gis) vào công tác quản lý, thu ...
 
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏLuận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
Luận văn: Kỹ thuật dự báo thời tiết tại khu vực có phạm vi nhỏ
 
Luận Văn Giải Pháp Nâng Cao Sự Gắn Kết Của Người Lao Động Tại Trường Thpt Hồn...
Luận Văn Giải Pháp Nâng Cao Sự Gắn Kết Của Người Lao Động Tại Trường Thpt Hồn...Luận Văn Giải Pháp Nâng Cao Sự Gắn Kết Của Người Lao Động Tại Trường Thpt Hồn...
Luận Văn Giải Pháp Nâng Cao Sự Gắn Kết Của Người Lao Động Tại Trường Thpt Hồn...
 
Luận văn: Thực hiện chính sách xây dựng nông thôn mới, HOT
Luận văn: Thực hiện chính sách xây dựng nông thôn mới, HOTLuận văn: Thực hiện chính sách xây dựng nông thôn mới, HOT
Luận văn: Thực hiện chính sách xây dựng nông thôn mới, HOT
 
Đề tài: Chính sách xây dựng nông thôn mới ở huyện U Minh Thượng
Đề tài: Chính sách xây dựng nông thôn mới ở huyện U Minh ThượngĐề tài: Chính sách xây dựng nông thôn mới ở huyện U Minh Thượng
Đề tài: Chính sách xây dựng nông thôn mới ở huyện U Minh Thượng
 
Quản Lý Ứng Dụng Công Nghệ Thông Tin Trong Giáo Dục Trẻ Tại Trường Mầm Non B ...
Quản Lý Ứng Dụng Công Nghệ Thông Tin Trong Giáo Dục Trẻ Tại Trường Mầm Non B ...Quản Lý Ứng Dụng Công Nghệ Thông Tin Trong Giáo Dục Trẻ Tại Trường Mầm Non B ...
Quản Lý Ứng Dụng Công Nghệ Thông Tin Trong Giáo Dục Trẻ Tại Trường Mầm Non B ...
 
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đHệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
Hệ thống tự động phân luồng câu hỏi và giải đáp yêu cầu, 9đ
 
Luan van quan li nha nuoc ve co so giao duc mam non ngoai cong lap
Luan van quan li nha nuoc ve co so giao duc mam non ngoai cong lapLuan van quan li nha nuoc ve co so giao duc mam non ngoai cong lap
Luan van quan li nha nuoc ve co so giao duc mam non ngoai cong lap
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864 (20)

Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.docYếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
 
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.docTừ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
 
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
 
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
 
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.docTác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
 
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.docSong Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
 
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.docỨng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
 
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.docVai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
 
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.docThu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
 

Recently uploaded

Recently uploaded (20)

1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 

Luận văn: Dự báo số học sinh tuyển vào trung tâm gdnn – gdtx

  • 1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ DƢƠNG THU TRANG ỨNG DỤNG MẠNG NƠRON NHÂN TẠO DỰ BÁO SỐ HỌC SINH TUYỂN VÀO TRUNG TÂM GDNN – GDTX QUẬN ĐỐNG ĐA LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN HÀ NỘI - 2017
  • 2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ DƢƠNG THU TRANG ỨNG DỤNG MẠNG NƠRON NHÂN TẠO DỰ BÁO SỐ HỌC SINH TUYỂN VÀO TRUNG TÂM GDNN – GDTX QUẬN ĐỐNG ĐA Ngành : Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thông tin Mã số : LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN Ngƣời hƣớng dẫn khoa học: PGS.TS. NGUYỄN QUANG HOAN HÀ NỘI - 2017
  • 3. 1 LỜI CAM ĐOAN Em xin cam đoan: Những nội dung trong luận văn là do em thực hiện dƣới sự hƣớng dẫn của thầy giáo PGS.TS. Nguyễn Quang Hoan. Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tác giả, tên công trình, thời gian, địa điểm công bố. Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo hay gian lận em xin chịu hoàn toàn trách nhiệm. Hà Nội, ngày tháng năm 2017 Học viên ` Dƣơng Thu Trang
  • 4. 2 LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS. Nguyễn Quang Hoan, thầy đã hƣớng dẫn, chỉ bảo tận tình để em có thể hoàn thành luận văn này. Em cũng xin chân thành cảm ơn các thầy, cô giáo của khoa Công nghệ thông tin – Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền thụ kiến thức, hỗ trợ em trong suốt quá trình học tập vừa qua. Em cũng xin chân thành cảm ơn bạn bè đồng nghiệp, gia đình và những ngƣời thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để em hoàn thành nhiệm vụ học tập và cuốn luận văn này. Hà Nội, ngày tháng năm 2017 Học viên Dƣơng Thu Trang
  • 5. 3 MỤC LỤC LỜI CAM ĐOAN............................................................................................................1 LỜI CẢM ƠN..................................................................................................................2 MỤC LỤC .......................................................................................................................3 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT..................................................6 DANH MỤC CÁC BẢNG BIỂU....................................................................................7 DANH MỤC CÁC HÌNH VẼ.........................................................................................8 MỞ ĐẦU .........................................................................................................................9 1. Lý do chọn đề tài .....................................................................................................9 2. Mục tiêu và nhiệm vụ của luận văn.........................................................................9 3. Đối tƣợng và phạm vi nghiên cứu...........................................................................9 4. Phƣơng pháp nghiên cứu.........................................................................................9 5. Ý nghĩa khoa học và thực tiễn của luận văn............................................................9 6. Bố cục luận văn .......................................................................................................9 CHƢƠNG 1...................................................................................................................11 TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO.....................................................................11 1.1. Lịch sử của quá trình dự báo ..............................................................................11 1.1.1. Khái niệm về dự báo....................................................................................11 1.1.2. Mục đích của dự báo ...................................................................................11 1.1.3. Những thách thức trong phân tích dự báo ...................................................12 1.1.4. Các phƣơng pháp dự báo.............................................................................12 1.1.5. Quy trình thực hiện dự báo..........................................................................13 1.2. Phƣơng pháp dự báo sử dụng mạng nơron theo đề xuất của luận văn...............16 1.3. Đánh giá mô hình dự báo ...................................................................................16 1.4. Kết luận chƣơng 1...............................................................................................16 CHƢƠNG 2...................................................................................................................17 TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO.......................................................17 2.1. Mạng nơron nhân tạo là gì?................................................................................17 2.2. Sự tƣơng đƣơng nơron nhân tạo với nơron sinh học..........................................18 2.3. Lịch sử phát triển của mạng nơron nhân tạo ......................................................18 2.4. Nơron sinh vật ....................................................................................................18 2.5. Nơron nhân tạo ...................................................................................................19 2.5.1. Cấu tạo nơron nhân tạo................................................................................19 2.5.2. Phân loại mạng nơron nhân tạo ...................................................................20 2.6. Luật học ..............................................................................................................22
  • 6. 4 2.6.1. Học tham số (Parameter Learning)..............................................................22 2.6.2. Học cấu trúc.................................................................................................23 2.7. Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngƣợc............................23 2.7.1. Kiến trúc mạng ............................................................................................23 2.7.2. Xác định cấu trúc mạng tối ƣu.....................................................................24 2.7.3. Cấu trúc của luật học lan truyền ngƣợc.......................................................25 2.7.4. Luật học lan truyền ngƣợc...........................................................................26 2.7.5. Một số vấn đề của mạng nơron nhiều lớp ...................................................31 2.7.6. Ƣu nhƣợc điểm của mạng truyền thẳng ......................................................31 2.8. Kết luận chƣơng 2...............................................................................................32 CHƢƠNG 3...................................................................................................................33 ỨNG DỤNG MẠNG NƠRON TRONG DỰ BÁO SỐ HỌC SINH............................33 TUYỂN VÀO TRUNG TÂM GDNN-GDTX ĐỐNG ĐA...........................................33 3.1. Giới thiệu về Trung tâm GDNN-GDTX Đống Đa.............................................34 3.2. Dữ liệu tuyển sinh của Trung tâm ......................................................................36 3.3. Các phƣơng án chọn cấu trúc dữ liệu.................................................................37 3.4. Phát biểu bài toán ...............................................................................................38 3.5. Thiết kế mạng nơron...........................................................................................39 3.5.1. Số lớp nơron ................................................................................................39 3.5.2 Cấu trúc mạng...............................................................................................39 3.5.3. Hàm tƣơng tác đầu ra ..................................................................................40 3.5.4. Giá trị trọng khởi đầu ..................................................................................40 3.6. Công cụ mô phỏng bài toán dự báo tuyển sinh ..................................................41 3.7. Chạy và thử nghiệm............................................................................................41 3.8. So sánh các phƣơng pháp dự báo. ......................................................................44 3.9 Kết luận chƣơng 3................................................................................................48 KẾT LUẬN ...................................................................................................................49 TÀI LIỆU THAM KHẢO .............................................................................................50 PHỤ LỤC A ..............................................................................................................52 GIỚI THIỆU CÔNG CỤ VÀ KẾT QUẢ DỰ BÁO .................................................52 1. Giao diện chính của phần mềm .........................................................................52 2. Giao diện huấn luyện.........................................................................................53 3. Giao diện Kiểm tra mạng...................................................................................54 4. Chức năng Dự báo.............................................................................................54 5. Chức năng Giới thiệu vào Thoát .......................................................................55
  • 7. 5 PHỤ LỤC B...............................................................................................................56 MỘT SỐ MÃ NGUỒN CỦA CÔNG CỤ.................................................................56 1. Huấn luyện mạng...............................................................................................56 2. Chuẩn hóa dữ liệu..............................................................................................59 3. Kiểm tra mạng ...................................................................................................60 4. Dự báo ...............................................................................................................61 PHỤ LỤC C...................................................................................................................63 BÀI BÁO KHOA HỌC.................................................................................................63
  • 8. 6 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT TÊN VIẾT TẮT TÊN ĐẦY ĐỦ DIỄN GIẢI 1 ANN Artificial Neural Network Mạng nơron nhân tạo 2 AR Autoregressive Tự hồi quy 3 BP Back Propagation Lan truyền ngƣợc 4 HIDDENNODE Hidden Node Số nơron lớp ẩn 5 INPUTNODE Input Node Số nơron lớp vào 6 LEARNING RATE Learning Rate Tốc độ học 7 MA Moving Average Đƣờng trung bình di động 8 MAE Mean Absolute Error Sai số tuyệt đối 9 MSE Mean Square Error Sai số trung bình 10 MFNN Multi Feedforward Neural Network Mạng truyền thẳng nhiều lớp 11 MLP Multilayer Neural Network Mạng nơron nhiều lớp 12 NƠRON Neural Tế bào thần kinh 13 OUTPUTNODE Output Node Số nơron lớp ra 14 GA Genetic Algorithm Giải thuật di truyền 15 EP Evolutionary Programming Lập trình tiến hóa
  • 9. 7 DANH MỤC CÁC BẢNG BIỂU Bảng 2.1. Một số hàm phi tuyến thƣờng đƣợc sử dụng trong các mô hình nơron20 Bảng 3.1. Cơ sở vật chất của Trung tâm ...............................................................34 Bảng 3.2. Dữ liệu tuyển sinh của Trung tâm.........................................................36 Bảng 3.3. Dữ liệu tuyển sinh từ năm 1988 đến 2017 của Trung tâm....................38 Bảng 3.4. Bảng dữ liệu học ...................................................................................38 Bảng 3.5. Bảng trọng số ........................................................................................40 Bảng 3.6. Kết quả thử nghiệm dự báo tuyển sinh .................................................43 Bảng 3.7. Kết quả huấn luyện dự báo tuyển sinh..................................................44 Bảng 3.8. Kết quả dự báo bằng phƣơng pháp trung bình dài hạn.........................45 Bảng 3.9. Kết quả dự báo bằng phƣơng pháp trung bình động.............................45 Bảng 3.10. Kết quả dự báo bằng phƣơng pháp hồi quy tƣơng quan.....................46 Bảng 3.11. Kết quả dự báo bằng phƣơng pháp san bằng mũ................................47
  • 10. 8 DANH MỤC CÁC HÌNH VẼ Hình 1.1.Quy trình thực hiện dự báo.............................................................................14 Hình 1.2.Quy trình lựa chọn mô hình dự báo................................................................15 Hình 2.1. Cấu trúc nơron sinh vật..................................................................................19 Hình 2.2. Mô hình một nơron nhân tạo .........................................................................19 Hình 2.3. Phân loại mạng nơron....................................................................................21 Hình 2.4.Các dạng học ..................................................................................................22 Hình 2.5.Mạng truyền thẳng nhiều lớp..........................................................................24 Hình 2.6. Cấu trúc mạng lan truyền ngƣợc. ..................................................................26 Hình 2.7. Tối thiểu cục bộ (Local Minimum) ...............................................................30 Hình 2.8. Tốc độ học của hằng số học η .......................................................................31 Hình 3.1. Kết quả huấn luyện mạng ..............................................................................42 Hình 3.2. Kết quả kiểm tra mạng...................................................................................43 Hình 3.3. Kết quả dự báo cho 3 năm 2018, 2019, 2020................................................44 Hình 3.4. Sơ đồ kết quả dự báo trung bình động...........................................................48 Hình 3.5. Kết quả dự báo san bằng mũ .........................................................................50
  • 11. 9 MỞ ĐẦU 1. Lý do chọn đề tài Hiện nay, công tác dự báo đƣợc ứng dụng rộng rãi ở hầu hết các lĩnh vực nhƣ: Dự báo giá xăng dầu, dự báo chứng khoán, dự báo thời tiết… Công tác dự báo nhằm mục đích dự báo trƣớc sự thay đổi của đối tƣợng đƣợc dự báo dựa trên cơ sở nghiên cứu các quy luật của đối tƣợng dự báo. Những năm gần đây ngành giáo dục cũng bắt đầu chú trọng đến công tác dự báo nhằm đƣa ra đƣợc những chính sách đúng đắn nhất. Có rất nhiều tác giả đã đi vào nghiên cứu dự báo các lĩnh vực khác nhau của giáo dục nhƣ: Dự báo nhu cầu giáo viên, dự báo tỉ lệ học sinh đỗ tốt nghiệp, dự báo tỉ lệ học sinh đỗ Đại học… Chính vì thấy đƣợc lợi ích của việc dự báo trong giáo dục nên em chọn đề tài: “Ứng dụng mạng nơron nhân tạo dự báo số học sinh tuyển vào Trung tâm GDNN- GDTX quận Đống Đa” để giúp đƣa ra đƣợc những chính sách đúng đắn nhất trong thời gian tới cho Trung tâm của mình. 2. Mục tiêu và nhiệm vụ của luận văn Luận văn tập trung khảo sát các mô hình mạng nơron, áp dụng phƣơng pháp học máy mạng nơron và ứng dụng vào bài toán dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX Đống Đa. Luận văn phát triển công cụ thử nghiệm riêng và tiến hành thử nghiệm trên bộ số liệu thu thập đƣợc trong 30 năm. 3. Đối tƣợng và phạm vi nghiên cứu Luận văn nghiên cứu lý thuyết mạng nơron nhân tạo, mạng nơron lan truyền thẳng và thuật toán lan truyền ngƣợc, áp dụng vào bài toán dự báo nói chung và dự báo số học sinh tuyển vào Trung tâm GDNN – GDTX Đống Đa nói riêng. 4. Phƣơng pháp nghiên cứu Nghiên cứu lý thuyết để nắm rõ các mô hình mạng nơron, các phƣơng pháp dự báo, lý thuyết về mạng nơron nhân tạo, mạng nơron lan truyền thẳng và thuật toán lan truyền ngƣợc. Trên cơ sở đó lựa chọn mô hình phù hợp và thử nghiệm để hiệu chỉnh tối ƣu mô hình đã chọn. 5. Ý nghĩa khoa học và thực tiễn của luận văn Luận văn chỉ ra khả năng ứng dụng mạng nơron nhân tạo trong công tác dự báo nói chung và dự báo trong lĩnh vực giáo dục nói riêng là hoàn toàn khả thi và cho kết quả đáng khích lệ. 6. Bố cục luận văn Nội dung của luận văn đƣợc tổ chức thành ba chƣơng có nội dung nhƣ sau:  Chƣơng 1: Nghiên cứu về bài toán dự báo, các phƣơng pháp dự báo và phƣơng pháp dự báo mà luận văn áp dụng cho bài toán dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa.  Chƣơng 2: Nghiên cứu về mạng nơron nhân tạo, tập trung vào mạng nơron truyền thẳng nhiều lớp, chƣơng này cung cấp chi tiết các vấn đề về quá trình
  • 12. 10 huấn luyện và thuật toán học của mạng, với trọng tâm là thuật toán lan truyền ngƣợc sai số.  Chƣơng 3: Ứng dụng mạng nơron nhân tạo vào giải quyết bài toán dự báo số học sinh tuyển vào Trung tâm GDNN – GDTX quận Đống Đa. Chƣơng này giới thiệu về số liệu thu thập đƣợc, các phƣơng pháp đánh giá kết quả dự báo và tập trung vào thử nghiệm để dự báo số học sinh tuyển sinh vào Trung tâm GDNN – GDTX quận Đống Đa. Từ đó đánh giá khả năng ứng dụng phƣơng pháp máy học vào dự báo chuỗi thời gian.  Kết luận: Tổng kết các kết quả đã đạt đƣợc của luận văn và hƣớng nghiên cứu tiếp theo. Phần phụ lục giới thiệu phần mềm ứng dụng và kết quả thực nghiệm mà luận văn đã đạt đƣợc.
  • 13. 11 CHƢƠNG 1 TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO 1.1. Lịch sử của quá trình dự báo Nhu cầu dự báo về một sự việc sẽ diến tiến thế nào trong tƣơng lai đã có từ nhiều thế kỷ trƣớc. Những dự báo đầu tiên là dự báo về các hiện tƣợng tự nhiên, các hiện tƣợng xã hội và hiện tƣợng về đời sống xã hội. Ban đầu dự báo chỉ dựa vào những kinh nghiệm của ngƣời dự báo, dần dần dự báo đã đƣợc hỗ trợ bởi công nghệ giúp cho kết quả dự báo chính xác hơn. Có rất nhiều các phƣơng pháp dự báo đã đƣợc nghiên cứu và cho ra đời nhƣ: Phƣơng pháp hồi quy bội, phƣơng pháp Delphi, phƣơng pháp Cross Impact Matrices, phƣơng pháp ARIMA (kết hợp của AR – Autoregressive và MA – Moving Average)… Có rất nhiều cách phân loại dự báo nhƣ: Dựa vào thời gian dự báo phân làm ba loại là: Dự báo dài hạn, dự báo trung hạn và dự báo ngắn hạn. Theo phƣơng pháp dự báo lại đƣợc phân thành: Dự báo bằng phƣơng pháp chuyên gia, dự báo theo phƣơng trình hồi quy, dự báo dựa vào dãy số thời gian… 1.1.1. Khái niệm về 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. 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. 1.1.2. Mục đích của dự báo Đƣ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.[18]
  • 14. 12 1.1.3. Những thách thức trong phân tích dự báo Mục đích của dự báo là để giúp cải tiến về hiệu quả, hỗ trợ ra quyết định của các nhà lãnh đạo. Tuy nhiên, không phải lúc nào dự báo cũng chính xác, một số yếu tố ảnh hƣởng đế độ chính xác của dự báo là: Trở ngại trong quản lý, dữ liệu, xây dựng mô hình và quá trình triển khai.[18] Những trở ngại trong quản lý. Thông thƣờng để triển khai mô hình dự báo đòi hỏi có sự chuyển đổi về các nguồn lực cho tổ chức nên cần có sự hỗ trợ từ các nhà lãnh đạo để chuyển các mô hình từ nghiên cứu sang vận hành. Những trở ngại về dữ liệu. Các mô hình thƣờng yêu cầu dữ liệu dƣới dạng một bảng hoặc bảng có chứa hàng và cột (dữ liệu hai chiều). Nếu dữ liệu đƣợc lƣu trữ trong các cơ sở dữ liệu thì cần phải kết nối các cơ sở dữ liệu để tạo ra một bảng. Trở ngại trong việc xây dựng mô hình. Trở ngại lớn nhất là quá tải, tức là mô hình quá phức tạp và yêu cầu phải ghi nhớ dữ liệu huấn luyện. Hai trở ngại với mô hình là: Thứ nhất mô hình thực hiện kém với dữ liệu mới và việc giải thích mô hình không đáng tin cậy. Thứ hai, các nhà xây dựng mô hình quá tham vọng vào mô hình đƣợc xây dựng trên dữ liệu có sẵn trong khoảng thời gian nhất định. Cách tốt nhất để khắc phục là xây dựng một mô hình đơn giản sau đó có thể đƣợc cải tiến sau khi chạy thử nghiệm. Trở ngại trong triển khai mô hình. Thông thƣờng các mô hình không quá phức tạp về mặt tính toán. Tuy nhiên, các mô hình phải đƣợc kiểm tra bởi hệ thống hoạt động và đƣa ra dự đoán phù hợp với hệ thống đó.[18] 1.1.4. Các phƣơng pháp dự báo 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. 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 này đƣợc sử dụng khi dữ liệu không có sẵn hoặc những dữ liệu có sẵn nhƣng không đầy đủ để phân tích, đánh giá. Phƣơng pháp định tính thƣờng đƣợc sử dụng khi đối tƣợng dự báo bị tác động bởi những yếu tố không thể lƣợng hóa đƣợc. Nguyên tắc của phƣơng pháp này là sử dụng ý kiến đánh giá của một hay nhiều chuyên gia trong lĩnh vực liên quan. Vì vậy, để đảm bảo tính chính xác của dự báo thì phải loại trừ ý kiến chủ quan của ngƣời dự báo. Phương pháp định lượng: Sử dụng các dữ liệu từ quá khứ hoặc thu thập số liệu của các dối tƣợng ở hiện tại để dự báo. Với phƣơng pháp định lƣợng sẽ cho kết quả dự báo nhanh và có thể đo đƣợc độ chính xác của dự báo. Tuy nhiên, phƣơng pháp này chỉ áp dụng cho dự báo ngắn và trung hạn. Để dự báo đạt đƣợc hiệu quả cao ngƣời ta thƣờng kết hợp cả phƣơng pháp định tính và phƣơng pháp định lƣợng.
  • 15. 13 1.1.5. Quy trình thực hiện dự báo Dự báo là một quá trình phức tạp nhƣng về cơ bản quy trình có thể thực hiện theo các bƣớc sau:
  • 16. 14 Hình 1.1.Quy trình thực hiện dự báo Bƣớc 1: Xác định mục tiêu Xác định mục tiêu là xác định xem kết quả dự báo sẽ đƣợc sử dụng để làm gì. Mục tiêu chung của dự báo là lập kế hoạch và có những quyết định hành động hợp lý. Mục tiêu của dự báo tuyển sinh nhằm giúp các nhà lãnh đạo có những chiến lƣợc phát triển một cách hợp lý nhất. Bƣớc 2: Xác định nội dung dự báo Xác định chính xác dự báo cái gì. Ví dụ, mục tiêu chung là dự báo tuyển sinh nhƣng một hệ thống dự báo gồm có: Số lƣợng học sinh, số lƣợng lớp…Luận văn xây dựng hệ thống thử nghiệm dự báo tuyển sinh với các thông số đầu vào là số liệu thu đƣợc trong 30 năm liên tiếp tại Trung tâm GDNN-GDTX Đống Đa. Bƣớc 3: Xác định khía cạnh thời gian Xác định độ dài của dự báo nhƣ: Dự báo dài hạn hay dự báo ngắn hạn và dự báo có tính cấp thiết nhƣ thế nào. Bƣớc 4: Xem xét dữ liệu Xác định mục tiêu Xác định nội dung dự báo Xác định khía cạnh thời gian Xem xét dữ liệu Lựa chọn mô hình Đánh giá mô hình Chuẩn bị dự báo Trình bày kết quả dự báo Theo dõi kết quả dự báo
  • 17. 15 Xem xét dữ liệu là xem xét đến các yếu tố của dữ liệu nhƣ: Nguồn cung cấp, các bƣớc phân loại, đánh giá, xử lý dữ liệu trƣớc khi sử dụng. Trong luận văn này sử dụng nguồn dữ liệu thu thập đƣợc từ Trung tâm. Vì vậy, dữ liệu là chính xác và đáng tin cậy. Bƣớc 5: Lựa chọn mô hình Để lựa chọn mô hình thích hợp cho dự báo cần xem xét các yếu tố nhƣ: Dữ liệu đầu vào, các yêu cầu về thời gian, yêu cầu về kết quả đầu ra, tài nguyên sẵn có… Quy trình lựa chọn mô hình dự báo có thể đƣợc lựa chọn dựa trên một số chiến lƣợc dự báo nhƣ sau: 1. Tiền định: Dựa trên mối quan hệ mật thiết giữa hiện tại và tƣơng lai. 2. Triệu chứng: Dựa trên những dấu hiệu hiện tại để dự báo cho tƣơng lai. 3. Hệ thống: Tức là cho rằng xu hƣớng phát triển trong tƣơng lai sẽ tuân thủ theo một quy tắc nào đó, chẳng hạn các lý thuyết về giáo dục. Luận văn sử dụng chiến lƣợc dự báo tiền định để dự báo tuyển sinh. Hình 1.2.Quy trình lựa chọn mô hình dự báo Bƣớc 6: Đánh giá mô hình Với phƣơng pháp dự báo định tính thì cần quan tâm đến việc đánh giá mô hình nhƣng với phƣơng pháp định lƣợng thì phải đánh giá mức độ phù hợp của mô hình và độ chính xác của dự báo. Nếu mô hình không phù hợp thì quay lại bƣớc 5. Để đánh giá độ phù hợp của mô hình luận văn sử dụng 2 tiêu chí MSE (Mean Square Error - công thức 1-1) và MAE (Mean Absolute Error - công thức 1-2). Bƣớc 7: Chuẩn bị dự báo Nhận định và đánh giá chung Lựa chọn mô hình Xác định lập các mô hình sơ bộ Xác định đầu vào Xác định chiến lƣợc dự báo Xác định yêu cầu về đầu ra Xác định vấn đề dự báo cụ thể
  • 18. 16 Chuẩn bị các số liệu để phục vụ cho việc dự báo. Bƣớc 8: Trình bày kết quả dự báo Khi trình bày dự báo phải đảm bảo tính ngắn gọn, rõ ràng, chỉ ra đƣợc độ tin cậy cảu dự báo. Có rất nhiều cách để trình bày kết quả dự báo nhƣ: Bảng biểu, đồ thị hay hình ảnh minh họa và có thể trình bày ở dạng viết hoặc dạng nói. Bƣớc 9: Theo dõi kết quả dự báo Sau khi dự báo phải xem xét kết quả dự báo tức xem xét độ lệch giữa giá trị dự báo và giá trị thực. Mục tiêu của việc theo dõi kết quả để tìm ra lý do tại sao lại có các sai số và xác định độ lớn của các sai số, qua đó bảo trì và nâng cấp hệ thống dự báo. 1.2. Phƣơng pháp dự báo sử dụng mạng nơron theo đề xuất của luận văn Mô hình mạng nơron là mô hình có khả năng “học” từ các dữ liệu quá khứ, có thể cập nhật các tham số. Vì vậy nếu lựa chọn đƣợc các tham số tối ƣu thì nó sẽ là mô hình xấp xỉ rất tốt đƣờng cong dịch chuyển của đối tƣợng cần dự báo. Kết quả dự báo cũng có độ chính xác cao. Đây là mô hình đƣợc lựa chọn cho bài toán dự báo tuyển sinh của luận văn, cụ thể các vấn đề liên quan đến mạng nơron sẽ đƣợc trình bày trong chƣơng 2. 1.3. Đánh giá mô hình dự báo Để đánh giá độ chính xác của mô hình dự báo luận văn sử dụng hai đánh giá sau: Sai số bình phƣơng trung bình (Mean Square Error): ∑ ̂ (1-1) Sai số tuyệt đối trung bình (Mean Absolute Error) ∑ | ̂ | (1-2) Trong đó: ̂ Giá trị dự báo sinh ra bởi mô hình tại mẫu dữ liệu thứ i : Giá trị quan sát tại mẫu dữ liệu thứ i n: chiều dài chuỗi dự đoán 1.4. Kết luận chƣơng 1 Dự báo là một nhu cầu thiết yếu đối với công tác quản lý 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. Trong các phƣơng pháp dự báo hiện nay, mạng nơron tỏ ra có nhiều ƣu điểm vì có mô hình tính toán linh hoạt, dễ thích nghi. Dựa trên mô hình đã lựa chọn sau khi huấn luyện có thể đánh giá đƣợc hiệu quả của mô hình. Việc đánh giá chủ yếu dựa vào so sánh kết quả thực tế chứ chƣa có phƣơng pháp chuẩn để đánh giá.
  • 19. 17 CHƢƠNG 2 TỔNG QUAN VỀ MẠNG NƠRON NHÂN TẠO Mạng nơron nhân tạo là một công cụ mạnh để giải quyết các bài toán có tính phi tuyến, phức tạp, đặc biệt trong các trƣờng hợp mà yếu tố có mối quan hệ tác động qua lại không rõ rệt. Có rất nhiều loại mạng nơron khác nhau [3], [6], [12], [16] trong đó mạng nơron truyền thẳng nhiều lớp đƣợc sử dụng phổ biến nhất. Đã có nhiều nghiên cứu sử dụng mạng nơron truyền thẳng nhiều lớp trong bài toán dự báo [1], [2], [4], [5], [7], [8], [10], [13], [14], [15] và đã chứng tỏ đây là hƣớng tiếp cận rất hiệu quả. Trong chƣơng này luận văn sẽ tìm hiểu những kiến thức về mạng nơron nhân tạo, mạng nơron truyền thẳng nhiều lớp và khả năng ứng dụng của chúng trong bài toán dự báo. 2.1. Mạng nơron nhân tạo là gì? Một mạng nơron có thể đƣợc định nghĩa nhƣ một mô hình lý luận dựa trên bộ não của con ngƣời. Não ngƣời bao gồm một tập hợp các kết nối của các tế bào thần kinh. Bộ não con ngƣời có gần 10 tỷ tế bào thần kinh và 60 ngàn tỷ khớp thần kinh (Shepherd và Koch, 1990). Bằng cách sử dụng đồng thời nhiều tế bào thần kinh mà bộ não con ngƣời có thể thực hiện các chức năng nhanh hơn nhiều lần so với các máy tính nhanh nhất hiện nay. Não ngƣời đƣợc coi nhƣ một hệ thống xử lý thông tin rất phức tạp, phi tuyến và song song. Não ngƣời có thể giải quyết rất nhiều vấn đề nhƣ: nghe, nói, nhìn, hồi ức thông tin, nhận dạng các mẫu…Não thực hiện đƣợc những nhiệm vụ nhƣ vậy nhờ các phần tử tính toán đó là nơron. Não sẽ phân bố viễ xử lý cho hàng tỷ nơron có liên quan, điều khiển các mối liên hệ giữa các nơron. Nơron không ngừng nhận và truyền thông tin cho nhau. Trong quá trình xử lý các nơron tự liên kết với nhau tạo thành mạng. Mỗi mạng lại gồm hàng vạn các phần tử nơron khác nhau, mỗi nơron lại lại có khả năng liên kết với hàng vạn nơron khác.[3] Ngoài ra, do tính mềm dẻo của sự kết nối giữa các tế bào thần kinh mà não ngƣời có khả năng học hỏi qua những kinh nghiệm từ quá khứ. Học là một đặc tính cơ bản và thiết yếu của mạng nơron sinh học.[17] Dựa vào các đặc trƣng cơ bản của nơron sinh học ngƣời ta đã xây dựng lên mạng nơron nhân tạo. Mạng nơron nhân tạo (ANN) ngày nay gần giống với bộ não con ngƣời nhƣ: Có khả năng học, tức là sử dụng những kinh nghiệm để cải thiện hiệu suất. Khi thu thập đƣợc đủ một lƣợng mẫu thì ANN có thể khái quát hóa rất cao. Một ANN có thể nhận ra đƣợc một ký tự viết tay, có thể phát hiện bom ở sân bay…[17] Chính vì vậy mà mạng nơron có thể giải quyết các vấn đề phức tạp và có quy mô lớn, khó hiện nay.
  • 20. 18 2.2. Sự tƣơng đƣơng nơron nhân tạo với nơron sinh học Một mạng nơron nhân tạo bao gồm một số bộ xử lý đơn giản và có liên quan lẫn nhau, cũng đƣợc gọi là tế bào thần kinh, gần giống với bộ não của con ngƣời. Các tế bào thần kinh đƣợc kết nối bằng các trọng qua các tín hiệu từ một tế bào thần kinh khác. Mỗi tế bào thần kinh sẽ nhận đƣợc một số tín hiệu đầu vào thông qua các kết nối của nó. Các tín hiệu đầu ra đƣợc truyền đi thông qua các tế bào thần kinh kết nối (tƣơng ứng với các sợi thần kinh sinh học).[17] 2.3. Lịch sử phát triển của mạng nơron nhân tạo Năm 1890 William đã nghiên cứu về tâm lý học với sự liên kết các nơron thần kinh. Năm 1940, McCulloch và Pitts đã chỉ ra rằng các nơron có thể đƣợc mô hình hóa nhƣ thiết bị ngƣỡng (giới hạn) để thực hiện các phép tính logic. Trong thời gian này Wiener cũng nghiên cứu về mối liên hệ giữa nguyên lý phản hồi và chức năng của bộ não. Vào những năm 1960 một số mô hình nơron đƣợc đƣa ra nhƣ: Perception của Rosenbatt, Adaline của Widrow và ma trận học của Stinbuck. Trong đó mô hình Perception đƣợc chú ý vì tính đơn giản. Nhƣng Minsky và Papert đã chứng mình rằng mô hình Perception không dùng đƣợc cho các hàm logic phức. Đầu những năm 80 có sự đóng góp của Grossberg, Kohonen và Hoppfield. Đặc biệt là đóng góp lớn của Hoppfield khi đƣa ra mạng rời rạc (1982) và mạng liên tục (1984). Từ đó làm cơ sở để Rumelhart và Hinton đề xuất thuật toán sai số truyền ngƣợc để huấn luyện mạng nơron nhiều lớp nhằm giải những bài toán mà các mạng khác không làm đƣợc. Từ những năm 1987 đến nay, hàng năm trên thế giới đều mở hội nghị toàn cầu chuyên ngành nơron IJCNN (International Joint Conference on Neural networks). Ở Việt Nam mạng nơron đƣợc nghiên cứu từ những năm 1980 và đƣợc ứng dụng trong các lĩnh vực nhƣ: Tin học viễn thông, đo lƣờng điều khiển…Một số chip nơron đã đƣợc sử dụng trong kỹ thuật lọc và một số ứng dụng khác. [3] 2.4. Nơron sinh vật Mô hình nơron nhân tạo có nguồn gốc từ mô hình tế bào thần kinh (hay còn gọi là nơron) sinh vật. Một tế bào nơron gồm bốn phần cơ bản là: - Các nhánh và rễ: Là các bộ phận nhận thông tin. Các đầu nhậy hoặc các đầu ra của các nơron khác bám vào rễ hoặc nhánh của một nơron. Khi các đầu vào từ ngoài này có sự chênh lệch về nồng độ K+, Na+ hay Cl- so với nồng độ bên trong của nó thì xảy ra hiện tƣợng thấm từ ngoài vào trong thông qua một cơ chế màng thấm đặc biệt. Hiện tƣợng thẩm thấu tạo nên cơ chế truyền đạt thông tin. Mức độ thẩm thấu đƣợc đặc trƣng bởi cơ chế màng tƣợng trƣng bằng một tỷ lệ. Tỷ lệ đó đƣợc gọi là tỷ trọng hoặc là trọng (weight).[3] - Thân Thần kinh (Soma): Chứa các nhân và cơ quan tổng hợp protein. Các ion vào đƣợc tổng hợp và biến đổi. Khi nồng độ các ion đạt đến một giá trị nhất định,
  • 21. 19 xảy ra quá trình phát xung (hay kích thích). Xung đó đƣợc phát ở các đầu ra của nơron. Dây dẫn đầu ra xung đƣợc gọi là dây thần kinh (axon).[3] - Dây thần kinh (Axon): Là một nhánh dài mang tín hiệu đầu ra. Đó là phƣơng tiện truyền dẫn tín hiệu. Dây thần kinh đƣợc cấu tạo gồm các đốt và có thể dài từ micro mét đến vài mét tùy từng kết cấu cụ thể. Đầu ra này có thể truyền tín hiệu đến các nơron khác.[3] - Khớp thần kinh (Synape): Là bộ phận tiếp xúc của đầu ra nơron với rễ, nhánh của các nơron khác. Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu khi có sự chênh lệch về nồng độ ion giữa bên trong và bên ngoài. Nếu nồng độ càng lớn thì việc truyền các ion càng nhiều và ngƣợc lại.[3] Hình 2.1. Cấu trúc nơron sinh vật 2.5. Nơron nhân tạo 2.5.1. Cấu tạo nơron nhân tạo Hình 2.2. Mô hình một nơron nhân tạo Một nơron nhân tạo đƣợc xây dựng từ ba thành phần chính: Bộ tổng các liên kết đầu vào, động học tuyến tính và phi tuyến không động học. Bộ tổng liên kết: Bộ tổng hợp các liên kết đầu vào của một phần tử nơron có thể mô tả nhƣ sau: 1 ( ) W. ( ) W ( ) m k k k v t y t x t I     (2-1) Trong đó: W1 W2 Wm X1(t) X2(t) Xm(t) H(.) g(.) W  v(t) u(t) y(t) I .................. +1
  • 22. 20 - v(t): Tổng tất cả đầu vào mô tả toàn bộ thế năng tác động ở thân nơron; - xk(t): Các đầu vào ngoài, mô tả tín hiệu vào từ các đầu nhạy thần kinh hoặc từ các nơron khác đƣa vào; - Wk: Trọng liên kết vào ngoài, là hệ số mô tả mức độ liên kết giữa các đầu vào ngoài tới nơron hiện tại, m là số đầu vào; k = 1,…,m; - y(t): Đầu ra nơron mô tả tín hiệu đƣa ra; - I: Hằng số, còn gọi là ngƣỡng, xác định mức kích thích hay ức chế. Phần động học tuyến tính: Đầu vào của phần động học là v(t). Đầu ra của nó là u(t) gọi là đầu ra tƣơng tự. Hàm truyền tƣơng ứng của phần động học tuyến tính có thể mô tả dƣới dạng biến đổi Laplace nhƣ sau: ( ) ( ). ( )U s H s V s (2-2) Phần phi tuyến: Các đầu ra của các nơron sinh vật là các xung, có giới hạn chặn. Khi mô phỏng để đảm bảo hệ ổn định đầu ra thƣờng gán hàm chặn ở lối ra cho các tín hiệu. Tức là ở mỗi đầu ra của nơron phải đặt một hàm chặn, thƣờng ở dạng phi tuyến với hàm g(.). Nhƣ vậy, đầu ra y có đặc trƣng của một hàm : ( ( ))y g u t (2-3) Một số hàm phi tuyến thƣờng đƣợc sử dụng trong các mô hình nơron đƣợc mô tả trong bảng 2.1. Bảng 2.1. Một số hàm phi tuyến thường được sử dụng trong các mô hình nơron Tên hàm Công thức Đặc tính Bƣớc nhảy đơn vị { Hàm dấu (sgn) { Hàm tuyến tính Hàm tuyến tính bão hòa đối xứng { Hàm Sigmoid đơn cực 2.5.2. Phân loại mạng nơron nhân tạo Có rất nhiều cách phân loại mạng nơron nhân tạo. Dựa vào các đặc trƣng mạng nơron nhân tạo đƣợc phân loại nhƣ sau:[3]
  • 23. 21 Hình 2.3. Phân loại mạng nơron (a) Mạng truyền thẳng một lớp, (b) Mạng truyền thẳng nhiều lớp. (c) Nơron tự phản hồi, (d) Mạng phản hồi một lớp, (e) Mạng phản hồi nhiều lớp 2.5.2.1. Phân loại mạng theo số lớp trong mạng - Mạng một lớp: Là tập hợp các phần tử nơron có đầu vào và đầu ra trên cùng một phần tử. Nếu mạng nối đầu ra của các phần tử này với đầu vào của phần tử kia gọi là mạng tự liên kết (Autoassociative).[3] - Mạng nhiều lớp: Gồm một lớp đầu vào và một lớp đầu ra riêng biệt. Các lớp nằm giữa lớp đầu vào và lớp đầu ra gọi là lớp ẩn (Hidden Layer).[3] 2.5.2.2. Phân loại theo đƣờng truyền tín hiệu - Mạng truyền thẳng: Là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu từ đầu ra lớp này đến đầu vào lớp kia theo một hƣớng.[3] - Mạng phản hồi: Là mạng mà trong đó một hoặc nhiều đầu ra của các phần tử lớp sau truyền ngƣợc tới đầu vào của lớp trƣớc.[3] - Mạng tự tổ chức: Là mạng có khả năng sử dụng những kinh nghiệm của quá khứ để thích ứng với những biến đổi của môi trƣờng (không dự báo trƣớc). Loại mạng này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên ngoài.[3] … (c)… X1 X2 Xm Y1 Y2 Yn Lớp vào Các lớp ẩn Lớp ra (b) … X1 X2 X Y1 Y2 Yn (d) … … X X2 Xm Y1 Y2 Yn (e) … X2 X1 Xm Y1 Y2 Yn Wij (a) …
  • 24. 22 2.6. Luật học 2.6.1. Học tham số (Parameter Learning) Học tham số tức là thay đổi, cập nhật các trọng liên kết. Hầu hết các luật học tồn tại thuộc kiểu học tham số. Luật học tham số thƣờng đƣợc chia thành 3 dạng chính: Học giám sát, học không giám sát và học củng cố. [3] Hình 2.4.Các dạng học (A): Học giám sát; (B): Học củng cố; (C): Học không giám sát - Học giám sát (Supervised Learning): Đầu vào và đầu ra của mạng đƣợc cho sẵn. Mạng đƣợc cung cấp một tập các mẫu {(x(1), d(1)); (x(2), d(2));…; (x(k), d(k))} là các cặp đầu vào – đầu ra mong muốn. Khi một đầu vào x(k) đƣợc đƣa vào mạng, đầu ra mong muốn d(k) cũng đƣợc đƣa vào mạng. Nhƣ hình 2.4 (A), khi có sự sai khác giữa giá trị đầu ra thực sự y(k) và đầu ra mong muốn d(k) thì trọng sẽ đƣợc thay đổi sao cho giá trị sai khác là nhỏ nhất.[3] - Học củng cố (Reinforcement Learning): Mạng chỉ đƣợc biết là giá trị đầu ra thực sự “quá cao” hay chỉ “chính xác 50%”, hoặc chỉ có đƣợc thông tin phản hồi là đầu ra đúng hay sai. Nhƣ hình 2.4 (B), luật học củng cố là một dạng của luật học giám sát vì mạng vẫn có đƣợc vài thông tin phản hồi từ môi trƣờng. Tuy nhiên, thông tin phản hồi chỉ mang tính đánh giá chứ không mang tính chất dạy. [3] - Học không giám sát (Unsupervised Learning): Không có bất kì một thông tin phản hồi nào từ môi trƣờng. Mạng sẽ chỉ nhận đƣợc một số dữ liệu đầu vào và phải tự tìm ra các mẫu, đặc tính, quy tắc, sự tƣơng quan trong dữ liệu đầu vào và tập hợp lại để tạo đầu ra. [3] Các luật học có thể đƣợc đánh giá thành dạng chung với lƣợng điều chỉnh trọng nhƣ sau: wij=rxj(t) (2-4) Trong đó:
  • 25. 23  i: Nơron thứ i;  j: Là đầu vào thứ j;  : Là hằng số học (dƣơng) xác định tốc độ học và đƣợc xác định bằng thực nghiệm;  R: Tín hiệu học. Tín hiệu học tổng quát là một hàm của w, x và d tức là r=f(w, x, d). Đối với các trọng biến đổi liên tục, có thể sử dụng dạng sau: (2-5) 2.6.2. Học cấu trúc Học cấu trúc tức là thay đổi cấu trúc mạng bằng cách thay đổi số nơron, kiểu liên kết. Với học cấu trúc có thể sử dụng các kỹ thuật liên quan đến thuật toán Gen (GAs: Genetic Algorithm) và lập trình tiến hóa (EP: Evolutionary Programming).[3] 2.7. Mạng truyền thẳng nhiều lớp và thuật toán lan truyền ngƣợc 2.7.1. Kiến trúc mạng 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 (Output Layer) và một hoặc nhiều lớp ẩn (Hidden Layers) nằm giữa lớp vào và lớp ra. 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.[17] 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à wij, 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à vjk. [17]
  • 26. 24 Hình 2.5.Mạng truyền thẳng nhiều lớp Với lớp nơron ẩn thứ j: ij 1 w , ( ) n j i j i j i a x y f a     (2-6) Với nơron ra thứ k: 1 , ( ) k k kj j k k k j a v y z f a     (2-7) Hàm kích hoạt: (2-8) Hàm f đơn điệu tăng, khả vi và cho giá trị thuộc [0; 1]. Với một mẫu đầu vào đƣợc cho trƣớc, mạng sẽ tạo ra giá trị đầu ra thực tế zk , giá trị này đƣợc so sánh với giá trị mẫu mong muốn ở đầu ra dk. Các trọng số của mạng sau đó đƣợc hiệu chỉnh để giảm lỗi và đƣa ra các mẫu tiếp theo. Sau đó trọng số sẽ tiếp tục đƣợc hiệu chỉnh tới khi tổng lỗi qua tất cả các mẫu học đƣợc giảm tới mức cho phép. Thuật toán học này đƣợc hiểu nhƣ thuật toán lan truyền ngƣợc. 2.7.2. Xác định cấu trúc mạng tối ƣu Dƣới đây luận văn trình bày một số vấn đề cần quan tâm khi thiết kế một mạng. 2.7.2.1. Số lớp ẩn 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] Phần lớn các thuật toán huấn luyện mạng cho các nơron truyền thẳng đều dựa trên phƣơng pháp Gradient. Các lớp thêm vào sẽ tăng thêm việc lan truyền các lỗi làm cho vector Gradient không ổn định. [17]
  • 27. 25 Với thuật toán tối ƣu dựa trên Gradient chỉ có thể tìm ra tối thiểu cục bộ và rất khó để tìm ra tối thiểu toàn cục vì xác suất bị tắc tại tối thiểu cục bộ là khá lớn.[17] 2.7.2.2. Số nơron trong lớp ẩn Nếu số nơron trong lớp ẩn quá ít có thể dẫn đến việc không thể nhận dạng đƣợc đầy đủ các tín hiệu trong một tập dữ liệu phức tạp, hay thiếu ăn khớp (Underfitting). Nhƣng nếu có quá nhiều lại làm tăng thời gian huấn luyện mạng và có thể dẫn đến tình trạng thừa ăn khớp (Overfitting). Tức là mạng có quá nhiều thông tin, hoặc lƣợng thông tin trong tập dữ liệu mẫu (Training Set) không đủ các dữ liệu đặc trƣng để huấn luyện mạng. Số lƣợng các đơn vị trong lớp ẩn phụ thuộc vào rất nhiều yếu tố nhƣ số đầu vào, đầu ra của mạng, số trƣờng hợp trong tập mẫu, độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng và thuật toán huấn luyện mạng. Thông thƣờng để xác định đƣợc số đơn vị tối ƣu trong lớp ẩn cần phải thông qua huấn luyện mạng với một bộ số các đơn vị trong lớp ẩn và dự báo lỗi tổng quát hóa của từng lựa chọn. Cách tốt nhất để tìm ra số đơn vị tối ƣu là sử dụng phƣơng pháp thử sai (Trial – and – Error). 2.7.3. Cấu trúc của luật học lan truyền ngƣợc Thuật toán lan truyền ngƣợc đƣợc quyết định bởi sự kết nối giữa các nơron (các kiến trúc mạng), hàm kích hoạt và các thuật toán học (hay luật học) để điều chỉnh trọng số.[17] Thuật toán lan truyền ngƣợc thƣờng đƣợc sử dụng cho mạng đa lớp. Các lớp trong mạng đƣợc kết nối đầy đủ với nhau, tức là nơron của một lớp sẽ kết nối với tất cả các nơron khác trong lớp trƣớc.[17] Luật học lan truyền ngƣợc thực hiện 2 pha. - Pha 1: Mẫu đầu vào x(k) đƣợc truyền tiến (từ lớp vào tới lớp ra), kết quả của luồng dữ liệu thẳng (forward) là đầu ra thực y(k). - Pha 2: Tín hiệu lỗi đƣợc tính trên cơ sở sai khác giữa d(k) và y(k) đƣợc lan truyền ngƣợc (từ lớp ra quay trở lại các lớp trƣớc đó) để hiệu chỉnh trọng số.[17] Xét một mạng ba lớp: Lớp vào có m nơron, lớp ẩn có h nơron và lớp ra có n nơron (Hình 2.6).
  • 28. 26 Hình 2.6. Cấu trúc mạng lan truyền ngược. - Lớp ẩn: Với mẫu đầu vào x, tại nơron thứ q của lớp ẩn: 1 1 w m jq j j net x    j=1,2,…,m; q=1, 2,..,h; (2-9)  Với đầu ra: 1 1 ( ) ( w ) m q q jq j j z f net f x     (2-10)  Trong đó, f(.) là hàm kích hoạt đầu ra. - Lớp ra: Giả thiết dùng 1 hàm kích hoạt đầu ra f(.). Tín hiệu tổng đầu vào trên nơron thứ i: 2 2 1 1 1 1 w w ( w ) h h m i iq q iq qj j q q j net z f x        (2-11) Đầu ra: 2 2 2 1 1 1 1 ( ) ( w ) ( w ( w )) h h m i iq q iq qj j q q j y f net f z f f x         (2-12) 2.7.4. Luật học lan truyền ngƣợc 2.7.4.1. Thuật toán Giải thuật lan truyền ngƣợc tìm kiếm một vector các trọng số (weights vectori) giúp cực tiểu hóa lỗi tổng thể của hệ thống đối lập với tập học. Giải thuật lan truyền ngƣợc bao gồm hai giai đoạn: Giai đoạn lan truyền tiến tín hiệu (Signal Forward). Các tín hiệu đầu vào (vector các giá trị đầu vào) đƣợc lan truyền tiến từ tầng đầu vào đến tầng đầu ra (đi qua các tầng ẩn). Giai đoạn lan truyền ngƣợc lỗi (Error Backward) x1 x2 y1 xm w w w w w w w w w yn y2 f(.) neti zh f(.) f(.) f(.) f(.) neti z1
  • 29. 27 - Căn cứ vào giá trị đầu ra mong muốn của vector đầu vào, hệ thống sẽ tính toán giá trị lỗi. - Giá trị lỗi đƣợc lan truyền ngƣợc từ tầng đầu ra đến tầng đầu vào. - Các trọng sẽ đƣợc cập nhật đến khi lỗi có thể chấp nhận đƣợc.[17] Ta sử dụng các ký hiệu sau: - j: Nơron thứ J (hay nút thứ J); - xj: Vector đầu vào của nơron thứ J; - wj: Vector trọng số của nơron thứ J; - xij: Trọng số trên xij; - bj: Ngƣỡng tại nút thứ J; - uj=xj*wj – bj: Tổng trọng số trên các đầu vào của nút thứ J; - oj: Đầu vào của nút thứ J (với oj = f(uj); - tj: Đầu ra mong muốn của nút thứ j; - D(j): Tập các nút nhận đầu ra của nút thử J làm một giá trị đầu vào; - Outputs: Tập các nút trong tầng ra; - : Tốc độ học; - f: Hàm truyền, Ta tìm công thức tính wij. Sự thay đổi trong mỗi lần cập nhật với:  Trong đó E là hàm lỗi. Do trọng số cập nhật sau mỗi mẫu huấn luyện, để đơn giản có thể coi tập huấn luyện chỉ gồm một mẫu. Khi đó hàm lỗi đƣợc tính nhƣ sau : 21 ( ( )) 2 k k k Outputs E t f u    (2-13) Theo quy tắc chuỗi ta có: w w j ji j ji uE E u       (2-14) Mặt khác : w .j ji ji j i u x b  (2-15) Do đó : w j ji ji u x    (2-16) Thay vào (2-16) ta đƣợc : w ji ji j E E x u      (2-17) Xét hai trƣờng hợp : Trƣờng hợp 1: j là nơron tầng ra (j  Outputs)
  • 30. 28 Đặt : j j E u      Ta có : w w ji j ji ji E x       (2-18) Tất cả các nút đầu ra k  j là độ lập với wji, ta có thể coi : 21 ( ) 2 j jE t o  (2-19) Khi đó : 21 ( ) 2 ( ) ( ) ( ) ( )(1 ( )) ( ) ( )(1 ) j j j j j j j j j j j j j j j j j j j j j E t o u u o t o u t o f u u t o f u f u t o o o                        Trƣờng hợp 2: j là nơron tầng ẩn Ta có nhận xét sau : 1. Với mỗi nút k  D(j), uk là một hàm uj. 2. Việc tạo ra các lỗi của tất cả các nút 1  j trong cùng một tầng với J là độc lập với wji. 3. Cũng theo quy tắc chuỗi : ( ) ( ) w w j jk k D jji k j j ji jk ji k D j k j j o uuE E u o u ouE x u o u                   Nếu đặt: ( ) jk j k D j k j j ouE u o u         Ta có: w w ji j ji ji E x        (2-20) Từ đó: ( ) ( ) ( ) ( )w (1 ) (1 ) w jk j k kj j j k D j k D jk j j j j k kj k D j ouE o o u o u o o                     
  • 31. 29 Nhƣ vậy từ (2-18) và (2-20) ta thấy rằng trong mọi trƣờng hợp đều có: w w ji j ji ji E x        (2-21) Trong đó j đƣợc tính nhƣ sau: Với j là nút xuất thì : ( )(1 )j j j j jt o o o    (2-22) Với j là nút ẩn thì: ( ) (1 ) wj j j k kj k D j o o      (2-23) Thuật toán lan truyền ngƣợc đƣợc mô tả lại nhƣ sau : Input: - Mạng feed-forward với ni đầu vào, nk nút ẩn vào nơron đầu ra. - Hệ số học . - Tập dữ liệu huấn luyện     1 2, | , , nX x t x x x x  rr r là vector đầu vào 1 2( , , )mt t t t r là vector đầu ra mong muốn Output: Các vector trọng số w j r Thuật toán: Bước 1: Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ. Bước 2: Lặp lại cho tới khi thỏa mãn điều kiện kết thúc. Với mỗi mẫu  ,x t X rr thực hiện các bước sau: 1. Tính đầu ra oj cho mỗi nốt j 2. Với mỗi nút k thuộc tầng ra, tính k theo công thức: ( )(1 )k k k k kt o o o    3. Với mỗi nút h thuộc tầng ẩn, tính h theo công thức: ( ) (1 ) wh h h k kh k D h o o      4. Cập nhật: wji = wji + wji Trong đó w ji j jix  2.7.4.2. Các yếu tố ảnh hƣởng đến quá trình học theo phƣơng pháp lan truyền ngƣợc sai số Khởi tạo các trọng số Xét trƣờng hợp sử dụng luật học Gradient, ta xem giá trị khởi tạo sẽ ảnh hƣởng thế nào tới quá trình học (gồm tốc độ học, tính tối ƣu…) Trong không gian tƣởng tƣợng 1 chiều: Với tổng sai số: ∑ ( ) ∑ (2-24) Phƣơng pháp hạ Gradient:
  • 32. 30 ∑ ∑ ∑ (2-25) Hình 2.7. Tối thiểu cục bộ (Local Minimum) Giả sử mô hình thực hiện giảm dần độ dốc (Gradient Descent) và đạt giá trị lỗi tại điểm W1 mà không phải là Wg. Điểm W1 đƣợc gọi là điểm tối thiểu cục bộ (Local Minimum). Điểm Wg đƣợc gọi là điểm tối thiểu toàn cục. Tuy nhiên mô hình chỉ có thể đạt đến điểm tối thiểu toàn cục là điểm Wg khi và chỉ khi mô hình thoát khỏi điểm W1. Giải thuật BP có nhƣợc điểm lớn là mô hình mạng có thể rơi vào điểm tối thiểu cục bộ mà không phải là tối thiểu toàn cục. Để khắc phục nhƣợc điểm này ta đƣa thêm vào một khái niệm là Momentum. Momentum là hệ số góp phần giúp cho quá trình chỉnh sửa trọng số giảm khả năng rơi vào các điểm tối thiểu cục bộ, đồng thời làm giảm thời gian huấn luyện. Giá trị trọng số ở lần huấn luyện thứ t+1 đƣợc tính dựa trên giá trị của các trọng số ở các lần lặp trƣớc đó.  (2-26) Hệ số quán tính  có tác dụng điều chỉnh mức độ ảnh hƣởng của giá trị ở bƣớc lặp trƣớc lên giá trị . Giúp cho giải thuật không bị dừng ở hội tụ cục bộ. Hằng số học η Giả sử ta cho η=0.45. Mỗi lần thay đổi 1 lƣợng tỷ lệ với 0.45 và 1 lƣợng tỷ lệ với 0.2 ta có thể mô tả trên hình 2.8 nhƣ sau :
  • 33. 31 Hình 2.8. Tốc độ học của hằng số học η Đường màu đỏ η=0.2 Đường màu đen η=0.45 Nhƣ vậy ta nhận thấy với hằng số học càng lớn thì tốc độ học càng nhanh nhƣng độ chính xác lại thấp. Ngƣợc lại hằng số học càng nhỏ thì tốc độ học càng lâu nhƣng độ chính xác cao. Hàm giá Hàm giá hay còn gọi là hàm mục tiêu hoặc hàm sai số. Nếu E0 càng lớn thì sai số càng cao và ngƣợc lại. Hàm giá đạt cực tiểu khi hai đối số di và yi bằng nhau. Thông thƣờng hàm giá đƣợc chọn có dạng: ∑ ́ (2-27) 2.7.5. Một số vấn đề của mạng nơron nhiều lớp Mạng nơron nhiều lớp có một số vấn đề cần đƣợc quan tâm nhƣ sau: 1. Thời gian huấn luyện lâu và không phải luôn hội tụ. 2. Không biết trƣớc đƣợc sự ràng buộc giữa lỗi huấn luyện và cấu trúc mạng. 3. Không biết trƣớc hiệu suất huấn luyện (thời gian huấn luyện, độ lỗi). 4. Khó xác định độ lỗi của mạng từ tập huấn luyện. 5. Khó xác định độ lớn của tập huấn luyện. 2.7.6. Ƣu nhƣợc điểm của mạng truyền thẳng Ƣu điểm: - Hỗ trợ tính toán song song ở mức rất cao. - Có khả năng chịu nhiều lỗi, nhờ các tính toán song song. - Có thể đƣợc thiết kế để tự thích nghi (Các trọng số, cấu trúc mạng). Nhƣợc điểm: - Không có quy tắc tổng quát để xác định cấu trúc mạng và các tham số học tối ƣu cho một lớp, một bài toán xác định. - Không có phƣơng pháp tổng quát để đánh giá hoạt động bên trong của ANN (vì vậy hệ thống ANN đƣợc xem nhƣ là một “hộp đen”). - Rất khó (không thể) để giải thích cho ngƣời dùng.
  • 34. 32 - Rất khó để dự đoán hiệu năng của hệ thống trong tƣơng lai (khả năng khái quát hóa của hệ thống học) 2.8. Kết luận chƣơng 2 Chƣơng này nêu ra các khái niệm cơ bản nhất về mạng nơron sinh vật, làm tham chiếu cho các khái niệm về mạng nơron nhân tạo mô tả sau đó. Chƣơng này đƣa ra mô hình của mạng nơron và mạng liên kết các nơron cũng nhƣ các phƣơng pháp huấn luyện mạng. Mạng nhiều lớp lan truyền thẳng cũng đƣợc mô tả kỹ để làm tiền đề cho việc thiết kế phần mềm dự báo của luận văn.
  • 35. 33 CHƢƠNG 3 ỨNG DỤNG MẠNG NƠRON TRONG DỰ BÁO SỐ HỌC SINH TUYỂN VÀO TRUNG TÂM GDNN-GDTX ĐỐNG ĐA Dự báo giáo dục có thể chia làm nhiều loại 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 vào của những năm tiếp theo… Luận văn “Dự báo kết quả đậu đại học” của ThS. Thái Trung Hải cũng sử dụng mạng nơron truyền thẳng 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 đồ án tốt nghiệp của tác giả Nguyễn Văn Trịnh 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.[7] 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 [1], [2], [4], [5], [7], [8]. 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á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 [10], [11], [13], [14], [15]. Luận văn giải quyết bài toán dự báo số học sinh tuyển vào Trung tâm GDNN- GDTX quận Đống Đa nhằm phục vụ công tác quản lý, hỗ trợ lên kế hoạch tuyển sinh. Chƣơng này sẽ trình bày một số nội dung liên quan đến bài toán dự báo và một số thử nghiệm sử dụng những nghiên cứu trong chƣơng 2 để dự báo số học sinh tuyển vào Trung tâm.
  • 36. 34 3.1. Giới thiệu về Trung tâm GDNN-GDTX Đống Đa Tháng 10 năm 1978, Sở GD&ĐT Hà Nội đã quyết định cho các quận đƣợc mở trƣờng Bổ túc văn hóa thanh thiếu niên cấp III - Quận Đống Đa khi đó mở 3 trƣờng là: Trƣờng số 3, số 4 và số 5 – cùng với hệ thống trƣờng vừa học – vừa làm và trƣờng Bổ túc văn hóa Dân Chính đã có từ trƣớc tạo thành mạng lƣới trƣờng Bổ túc văn hóa. Mọi hoạt động Dạy và Học cùng các hoạt động ngoại khóa đều đƣợc thực hiện nhƣ các trƣờng trung học phổ thông khác. Riêng về chƣơng trình, học sinh chỉ học một số môn khoa học cơ bản nhƣ: Văn, Toán, Lý, Hóa, Sinh, Chính trị và học nghề. Những ngày đầu các trƣờng Bổ túc văn hóa số 3, số 4 và số 5 mới chỉ có 5-15 cán bộ, giáo viên biên chế từ các trƣờng cấp III chuyển về và một số giáo viên thỉnh giảng, cơ sở vật chất vô cùng nghèo nàn: Chỉ có một phòng làm việc khoảng gần 20m2 , một số tủ đựng đồ thô sơ và vài bàn giáo viên, địa điểm phải học nhờ các trƣờng vào buổi tối. Mặc dù vậy, số học sinh lại rất đông, mỗi trƣờng tuyển sinh đƣợc từ 400 đến 600 em. Năm học 1998 – 1999, trƣờng Bổ túc văn hóa số 4 đƣợc đổi tên thành Trung tâm GDTX Đống Đa. Chức năng, nhiệm vụ của Trung tâm GDTX là: Xóa mù chữ; giáo dục tiếp tục sau biết chữ; phổ cập giáo dục cấp THCS; GDTX cấp THPT cho học sinh, cán bộ và nhân dân; công tác dạy nghề (điện dân dụng, nấu ăn, cắt may…), dạy vi tính, ngoại ngữ, tham gia tƣ vấn hoạt động cho các Trung tâm học tập cộng đồng phƣờng góp phần nâng cao dân trí, nâng cao chất lƣợng nguồn nhân lực. Tháng 11 năm 2009, trƣờng Bổ túc văn hóa số 3 và Trung tâm GDTX Đống Đa hợp nhất thành Trung tâm GDTX Đống Đa theo quyết định số 5998/QĐ-UBND của UBND thành phố Hà nội. Về cơ sở vật chất Trung tâm có: Bảng 3.1. Cơ sở vật chất của Trung tâm STT Nội dung Đơn vị tính Số lƣợng 1 Tổng diện tích m2 4.487,3 2 Số phòng học phòng 19 3 Số phòng thí nghiệm, đa năng phòng 03 4 Phòng làm việc phòng 11 5 Phòng Tin hoc phòng 03 Đội ngũ cán bộ, giáo viên, nhân viên gồm 24 đồng chí với 3 tổ: Xã hội, Tự nhiên, Hành chính – Tổng hợp; 100% đạt chuẩn, 7 đồng chí trên chuẩn (thạc sỹ). Tỉ lệ học sinh đỗ tốt nghiệp của Trung tâm luôn cao hơn tỉ lệ đỗ tốt nghiệp trung bình của thành phố Hà Nội.
  • 37. 35 Trung tâm GDTX Đống Đa là Trung tâm duy nhất trên toàn Quốc đã đƣa giáo dục giá trị sống và kỹ năng sống vào giảng dạy chính thức. Tháng 1 năm 2017 Trung tâm GDTX Đống Đa sát nhập với Trung tâm Dạy nghề Đống Đa, Trung tâm giáo dục Kỹ thuật tổng hợp số 3 thành Trung tâm GDNN- GDTX quận Đống Đa theo Quyết định số 5399/QĐ-UBND ngày 28 tháng 9 năm 2016. Trung tâm có 5 cơ sở dạy học và 50 cán bộ giáo viên, nhân viên.
  • 38. 36 3.2. Dữ liệu tuyển sinh của Trung tâm Dữ liệu tuyển sinh của Trung tâm từ năm 1988 đến năm 2017 đƣợc thống kê trong bảng 3.2 nhƣ sau: Bảng 3.2. Dữ liệu tuyển sinh của Trung tâm TT Năm Số HS tuyển sinh Các đặc trƣng tuyển chọn Số HS đỗ tốt nghiệp Số hs đỗ CĐ, ĐH 1 1988 396 394 15 2 1989 263 262 18 3 1990 341 339 26 4 1991 205 204 31 5 1992 197 194 18 6 1993 329 325 37 7 1994 412 400 31 8 1995 139 137 13 9 1996 348 344 37 10 1997 95 93 10 11 1998 345 340 45 12 1999 356 351 38 13 2000 307 305 26 14 2001 248 243 51 15 2002 147 139 36 16 2003 310 307 58 17 2004 421 415 67 18 2005 342 335 38 19 2006 142 139 36 20 2007 354 349 73 21 2008 277 275 55 22 2009 465 460 83 23 2010 187 184 40 24 2011 387 385 63 25 2012 254 250 71 26 2013 187 185 54 27 2014 150 143 61 28 2015 108 101 57 29 2016 230 211 49 30 2017 250 243 47 Các đặc trƣng có ảnh hƣởng đến số lƣợng học sinh tuyển vào Trung tâm nhƣ:
  • 39. 37 - Số học sinh thi đỗ tốt nghiệp hàng năm của Trung tâm. - Số học sinh thi đỗ cao đẳng, đại học của Trung tâm. - Các yếu tố khác: Ảnh hƣởng của quy chế thi cử, điều kiện kinh tế xã hội. 3.3. Các phƣơng án chọn cấu trúc dữ liệu Để 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 nhƣ: 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ố học sinh đỗ tốt nghiệp hàng năm; số học sinh thi đỗ cao đẳng, đại học. Số lƣợng học sinh thi đỗ tốt nghiệp và cao đẳng, đại học thể hiện danh tiếng hay chất lƣợng đào tạo của một cơ sở giáo dục. Danh tiếng của cơ sở đó càng lớn thì số lƣợng học sinh đăng ký vào học sẽ càng cao. Tuy nhiên với đặc thù của Trung tâm thì phƣơng án này không đƣợc chọn vì số đặc trƣng quá ít có quan hệ không rõ với mục đích nhập học của học sinh. 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ố học sinh tuyển vào trong 30 năm của Trung tâm. Số lƣợng học sinh tuyển vào Trung tâm trong 30 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 30 năm nên số đặc trƣng là tƣơng đối đủ để dự báo. Sử dụng 1 đặc trƣng 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 dạng hồi quy. 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. Ta có bảng dữ liệu sau:
  • 40. 38 Bảng 3.3. Dữ liệu tuyển sinh từ năm 1988 đến 2017 của Trung tâm TT Năm Số HS tuyển sinh TT Năm Số HS tuyển sinh 1 1988 396 16 2003 310 2 1989 263 17 2004 421 3 1990 341 18 2005 342 4 1991 205 19 2006 142 5 1992 197 20 2007 354 6 1993 329 21 2008 277 7 1994 412 22 2009 465 8 1995 139 23 2010 187 9 1996 348 24 2011 387 10 1997 95 25 2012 254 11 1998 345 26 2013 187 12 1999 356 27 2014 150 13 2000 307 28 2015 108 14 2001 248 29 2016 230 15 2002 147 30 2017 250 3.4. Phát biểu bài toán Từ bảng dữ liệu 3.3 luận văn đã xây dựng bài toán nhƣ sau: - Lấy 10 năm đầu từ 1988 đến 1997 để dự báo cho năm 1998. - Sau đó lại lấy tiến lên 1 năm từ 1989 đến 1998 để dự báo cho năm 1999. - Cứ tiếp tục nhƣ vậy cho dự báo đến năm 2017. Bài toán sẽ gồm 2 pha nhƣ sau: Pha 1: Pha học Dữ liệu dùng để học sẽ lấy từ năm 1988 đến năm 2011 nhƣ vậy ta sẽ có 14 mẫu mỗi mẫu gồm 10 đầu vào là số học sinh của 10 năm. Mẫu 1 là số học sinh từ năm 1988 đến năm 1997 và đầu ra là số học sinh năm 1998. Mẫu 2 lấy tiến lên 1 năm là số học sinh từ năm 1989 đến năm 1998 và đầu ra là số học sinh năm 1999. Cứ nhƣ vậy ta sẽ có đến mẫu dữ liệu 14 là số học sinh từ năm 2001 đến năm 2011. Dữ liệu từ năm 2012 đến năm 2017 sẽ đƣợc sử dụng để làm dữ liệu kiểm tra độ chính xác của dự báo. Ta có bảng dữ liệu học nhƣ sau : Bảng 3.4. Bảng dữ liệu học Đầu vào x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 Đầu ra k=1 396 263 341 205 197 329 412 139 348 95 345 k=2 263 341 205 197 329 412 139 348 95 345 356 k=3 341 205 197 329 412 139 348 95 345 356 307 k=4 205 197 329 412 139 348 95 345 356 307 248 k=5 197 329 412 139 348 95 345 356 307 248 147 k=6 329 412 139 348 95 345 356 307 248 147 310
  • 41. 39 k=7 412 139 348 95 345 356 307 248 147 310 421 k=8 139 348 95 345 356 307 248 147 310 421 342 k=9 348 95 345 356 307 248 147 310 421 342 142 k=10 95 345 356 307 248 147 310 421 342 142 354 k=11 345 356 307 248 147 310 421 342 142 354 277 k=12 356 307 248 147 310 421 342 142 354 277 465 k=13 307 248 147 310 421 342 142 354 277 465 187 k=14 248 147 310 421 342 142 354 277 465 187 387 Ta có thể mô tả bài toán nhƣ sau: y1 = w11x1 + w12x2 + … + w110x10 = x11 (1998) = d1 y2 = w21x1 + w22x2 + … + w210x10 = x12 (1999) = d2 (3-1) …. y14 = w141x1 + w142x2 + … + w1410x10 = x14 (2011) = d14 Hay Y = Wx = d (3-2) Y = [y1, y2, …, y14]T ; x =[x1, x2,…,x10]T ; W = [wij] Đây là pha học của mạng nơron. Tức là cần xác định wij. Pha 2 : Pha chạy Từ kết quả của pha 1 ta tìm đƣợc W = [wij]. Cho tập dữ liệu năm [1988 … 2017]. Cho tập dữ liệu số học sinh [396…250]. Bài toán xác định y là số học sinh năm 2018. Nếu muốn dự báo số học sinh tuyển vào năm 2019 ta sẽ có 2 bƣớc nhƣ sau : Bước 1 : Lấy dữ liệu năm 2018 cho học lại. Bước 2 : Lấy dữ liệu 10 năm từ 2010 đến 2018 để tìm y của năm 2019. Cứ nhƣ vậy chúng ta có thể sử dụng dữ liệu của 10 năm trƣớc để dự báo cho năm sau. 3.5. Thiết kế mạng nơron Trong bài toán, ta xác định cặp đầu vào (x(k) , d(k) ) trong đó k=1…14 là giá trị dữ liệu số lƣợng học sinh tuyển vào Trung tâm trong các năm 1988…2011. 3.5.1. Số lớp nơron Luận văn lựa chọn mô hình mạng nơron với 3 lớp (1 lớp vào, 1 lớp ẩn, 1 lớp ra) nhƣ trong cấu trúc bài toán ở trên. 3.5.2 Cấu trúc mạng Số nơron lớp vào Trong luận văn lựa chọn 10 nơron lớp vào cho từng tập mẫu ứng vào giá trị đầu vào của mạng là số học sinh tuyển vào Trung tâm trong 10 năm liên tiếp. Đầu ra của tập mẫu trƣớc sẽ là 1 đầu vào cho tập mẫu sau.
  • 42. 40 Số nơron lớp ẩn Để lựa chọn đƣợc chính xác số nơron cho lớp ẩn là rất khó vì vậy số nơron lớp ẩn sẽ đƣợc lựa chọn qua thực nghiệm của bài toán. Qua thực nghiệm bài toán lựa chọn số nơron lớp ẩn là 10 nơron. Số nơron lớp ra Bài toán đặt ra là dự báo số lƣợng học sinh tuyển vào Trung tâm trong năm tiếp theo. Do vậy sẽ có 1 đầu ra là: Số lƣợng học sinh tuyển vào Trung tâm trong năm tới. Hằng số học Hằng số học  đƣợc lựa chọn bằng phƣơng pháp thực nghiệm. 3.5.3. Hàm tƣơng tác đầu ra Hàm kích hoạt đƣợc sử dụng trong lớp vào và lớp ẩn là hàm Log-sigmoid, hàm này rất thuận lợi khi sử dụng cho các mạng huấn luyện bằng thuật toán lan truyền ngƣợc BP, bởi nó rất dễ lấy đạo hàm. y = 1 ( ) 1 i i Net f Net e   Hàm log-sigmoid này phù hợp với các bài toán có đầu ra mong muốn rơi vào khoảng [0,1]. Hàm kích hoạt đƣợc sử dụng trong lớp ra là hàm tổng SUM vì giá trị đầu ra là giá trị thực tế đã chuẩn hóa theo đơn vị đầu ra. 3.5.4. Giá trị trọng khởi đầu Giá trị trọng khởi đầu là giá trị khởi tạo ngẫu nhiên trong quá trình học của mạng. Bằng thực nghiệm giá trị trọng khởi đầu của bài toán là: Bảng 3.5. Bảng trọng số Sau khi chạy chƣơng trình huấn luyện mạng để dự báo số học mạng đã tạo ra đƣợc bộ trọng số. Bộ trọng số sẽ đƣợc thay đổi qua các vòng huấn luyện để sai số giữa giá trị dự báo và giá trị thực tế là nhỏ nhất.
  • 43. 41 3.6. Công cụ mô phỏng bài toán dự báo tuyển sinh Để thử nghiệm mô hình dự báo ở chƣơng 2 và thay đổi các thông số khác nhau đối với mạng nơron nhân tạo, luận văn đã xây dựng một công cụ mô phỏng mạng nơron truyền thẳng sử dụng thuật toán lan truyền ngƣợc sai số. Cách sử dụng và giao diện của công cụ đƣợc trình bày trong phần phụ lục của luận văn. Phần mềm đƣợc xây dựng bằng ngôn ngữ VB.NET trong bộ Microsoft Visual Studio.NET 2012 chạy trên nền Net FrameWork 4.0. Cấu hình yêu cầu: CPU tƣơng đƣơng Pentium 3, RAM 512MB, dung lƣợng ổ cứng còn trống trên 10MB. 3.7. Chạy và thử nghiệm Chƣơng trình này đã ứng dụng mạng nơron nhân tạo sử dụng giải thuật lan truyền ngƣợc sai số vào việc dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa. Qua các thử nghiệm cho kết quả dự báo nhƣ sau: Bảng 3.6. Kết quả thử nghiệm dự báo tuyển sinh Stt Số nơron lớp ẩn Tổng thời gian huấn luyện Tổng số vòng huấn luyện Lỗi MAE 1 6 2.752 giây 1000 0.0040497845057569 2 7 2.375 giây 1000 0.00485736880308239 3 8 2.218 giây 1000 0.0055487184283217 4 9 2.52 giây 1000 0.00761645708861354 5 10 2.686 giây 1000 0.00254915503276571 6 11 2.753 giây 1000 0.00466860652219338 7 12 4.084 giây 1000 0.00528905213344223 8 13 2.778 giây 1000 0.0045620026164574 9 14 2.738 giây 1000 0.00586705619117314 10 15 3.28 giây 1000 0.00529373821264322 11 16 2.606 giây 1000 0.00509736590845608 12 17 2.556 giây 1000 0.00497131752813026 Ban đầu luận văn lựa chọn số nơron trong lớp ẩn là 6 thì thời gian huấn luyện mạng là 2,752 giây và lỗi là 0,00404978 với số vòng huấn luyện là 1000 vòng. Sau đó số nơron của lớp ẩn đƣợc tăng dần lên để kiểm tra thời gian huấn luyện của mạng và lỗi MAE. Sau khi lựa chọn một số lớp ẩn thì ta nhận thấy với số nơron lớp ẩn là 10 thì lỗi MAE là nhỏ nhất nên luận văn chọn số nơron lớp là 10 nơron là phù hợp nhất với bài toán.
  • 44. 42 Hình 3.1. Kết quả huấn luyện mạng Trong hình 3.1 là biểu đồ hiển thị kết quả huấn luyện mạng sau 1000 vòng với số lỗi MSE và MAE tìm đƣợc trong qua trình huấn luyện. Các thông số của mạng đƣợc khởi tạo là: Mạng hội tụ tại vòng huấn luyện thứ 1000; tốc độ học là 0,7; hệ số quán tính là 0,4 và thời gian huấn luyện của mạng. Bảng 3.7. Kết quả huấn luyện dự báo tuyển sinh Mẫu Giá trị thực tế Giá trị dự báo Tỷ lệ % Lỗi MSE 0 345 346.04 99.7 0.0104 1 356 356.9 99.75 0.0045 2 307 307.49 99.84 0.0016 3 248 248.48 99.81 0.0012 4 147 144.2 98.1 0.0056 5 310 310.08 99.97 0.0001 6 421 424.55 99.16 0.0051 7 342 343.03 99.7 0.0013 8 142 142.17 99.88 0.0002 9 354 354.77 99.78 0.0008 10 277 277.84 99.7 0.0008 11 465 451.42 97.08 0.0113 12 187 187.15 99.92 0.0001 13 387 386.46 99.86 0.0004 14 254 253.81 99.93 0.0001 15 187 187.99 99.47 0.0006 16 150 149.24 99.5 0.0004
  • 45. 43 17 108 112.13 96.18 0.0023 18 230 229.69 99.86 0.0002 19 250 249.81 99.92 0.0001 Nhƣ vậy kết quả dự báo sử dụng công cụ là mạng nơron truyền thẳng với thuật toán lan truyền ngƣợc sai số cho kết quả dự báo tƣơng đối chính xác, sai số là chấp nhận đƣợc. Hình 3.2. Kết quả kiểm tra mạng Hình 3.2 mô tả kết quả kiểm tra mạng với bộ dữ liệu kiểm tra từ năm 2011 đến 2017. Đƣờng màu xanh mô ta giá trị thực tế thu thập đƣợc và đƣờng màu đỏ là đƣờng thể hiện giá trị dự báo, ngoài ra giao diện còn thể hiện lỗi MSE của dự báo. Nhìn vào biểu đồ kiểm tra kết quả của mạng ta nhận thấy kết quả dự báo của mạng là tƣơng đối chính xác, tức là sai số của dự báo là nhỏ.
  • 46. 44 Hình 3.3. Kết quả dự báo cho 3 năm 2018, 2019, 2020 Trong bảng là kết quả dự báo của ba năm liên tiếp là 2018, 2019 và 2020. Số dự báo là đƣờng màu đỏ. Kết quả dự báo của năm 2019 sẽ có 1 đầu vào là kết quả dự báo của năm 2018 và năm 2020 sẽ lấy kết quả dự báo của năm 2019 làm 1 đầu vào. 3.8. So sánh các phƣơng pháp dự báo. Hiện nay có rất nhiều các phƣơng pháp khác nhau đƣợc sử dụng để dự báo nhw : Phƣơng pháp dự báo trung bình dài hạn, phƣơng pháp dự báo trung bình động, phƣơng pháp hồi quy tuyến tính, phƣơng pháp san bằng số mũ… Để đánh giá độ chính xác và tính ƣu việt của mạng nơron trong dự báo luận văn có sử dụng các phƣơng pháp này để so sánh kết quả dự báo. Phƣơng pháp dự báo trung bình dài hạn : là phƣơng pháp mà số dự báo bằng trung bình cộng của các quan sát thực tế trƣớc đó. Ta có công thức : ∑ (3-3) Trong đó : Ft+1 : Số dự báo ở kỳ thứ t+1 Dt : Số quan sát ử kỳ thứ t n : Tổng quan sát Qua tính toán bằng phƣơng pháp cho giá trị sai số nhƣ sau :
  • 47. 45 Bảng 3.8. Kết quả dự báo bằng phương pháp trung bình dài hạn STT Giá trị thực tế Giá trị dự báo Tỷ lệ % 1 345 273 78.99 2 356 279 78.40 3 307 286 93.00 4 248 287 86.36 5 147 284 51.70 6 310 275 88.77 7 421 277 65.88 8 342 286 83.57 9 142 289 49.14 10 354 281 79.44 11 277 285 97.24 12 465 284 61.18 13 187 293 63.89 14 387 288 74.44 15 254 292 86.92 16 187 291 64.33 17 150 287 52.32 18 108 282 38.35 19 230 275 83.51 20 250 274 91.29 Phƣơng pháp trung bình động : Số dự báo ở kỳ thứ t+1 bằng trung bình cộng của n kỳ trƣớc đó. Cứ mỗi kỳ dự báo sẽ bỏ đi số liệu xa nhất trong quá khứ và thêm vào số liệu mới nhất. Ta có công thức : (3-4) Bảng 3.9. Kết quả dự báo bằng phương pháp trung bình động STT Giá trị thực tế Giá trị dự báo Tỷ lệ % 1 345 194 56.23 2 356 263 73.78 3 307 265 86.43 4 248 336 73.81 5 147 304 48.41 6 310 234 75.48 7 421 235 55.82 8 342 293 85.58
  • 48. 46 9 142 358 39.70 10 354 302 85.22 11 277 279 99.16 12 465 258 55.41 13 187 365 51.19 14 387 310 80.02 15 254 346 73.34 16 187 276 67.75 17 150 276 54.35 18 108 197 54.82 19 230 148 64.49 20 250 163 65.07 Phƣơng pháp này có sử dụng công cụ dự báo Moving Average và cho ra sơ đồ dự báo nhƣ sau : Hình 3.4. Sơ đồ kết quả dự báo trung bình động Phƣơng pháp hồi quy tƣơng quan : Phƣơng pháp này sử dụng mối phụ thuộc của một biến (biến phụ thuộc) với một hay nhiều biến khác (biến độc lập) để ƣớc lƣợng và dự báo giá trị trung bình của biến phụ thuộc với các giá trị đã biết của biến độc lập. Ta có kết quả dự báo nhƣ sau : Bảng 3.10. Kết quả dự báo bằng phương pháp hồi quy tương quan STT Giá trị thực tế Giá trị dự báo Tỷ lệ % 1 345 345 99.91 2 356 356 99.92 3 307 310 99.13 4 248 248 99.86 5 147 144 97.69 6 310 312 99.46 7 421 420 99.70 8 342 340 99.33 9 142 144 98.88
  • 49. 47 10 354 354 99.92 11 277 280 99.05 12 465 465 99.95 13 187 189 99.14 14 387 390 99.30 15 254 255 99.74 16 187 190 98.61 17 150 148 98.40 18 108 106 97.76 19 230 216 93.76 20 250 248 99.06 Phƣơng pháp dự báo san bằng mũ đơn giản : Phƣơng pháp này sẽ dự báo giá trị mới bằng giá trị cũ cộng với khoảng chênh lệch giữa nhu cầu dự báo thực và nhu cầu dự báo của kỳ trƣớc, có điều chỉnh hệ số. Ta có công thức sau : (3-5) Trong đó : Ft : Nhu cầu dự báo kỳ t Ft-1 : Nhu cầu dự báo kỳ t-1 Dt-1 : Nhu cầu thực kỳ t-1 α : Hệ số san bằng mũ Ta có bảng kết quả dự báo nhƣ sau : Bảng 3.11. Kết quả dự báo bằng phương pháp san bằng mũ STT Giá trị thực tế Giá trị dự báo Tỷ lệ % 1 345 289 83.78 2 356 336 94.36 3 307 316 97.25 4 248 268 92.43 5 147 183 80.16 6 310 272 87.75 7 421 376 89.38 8 342 352 97.08 9 142 205 69.24 10 354 309 87.38 11 277 287 96.62 12 465 412 88.50
  • 50. 48 13 187 254 73.52 14 387 347 89.72 15 254 282 90.08 16 187 215 86.78 17 150 170 88.42 18 108 126 85.38 19 230 199 86.50 20 250 165 65.87 Sơ đồ biểu diễn độ sai số của dự báo : Hình 3.5. Kết quả dự báo san bằng mũ Qua các kết quả của các phƣơng pháp dự báo thì kết quả dự báo bằng công cụ mạng nơron cho kết quả chính xác và đáng tin cậy nhất. Vì vậy, luận văn lựa chọn dự báo tuyển sinh bằng mạng nơron truyền thẳng với thuật toán lan truyền ngƣợc sai số là hoàn toàn có cơ sở. 3.9 Kết luận chƣơng 3 Qua các kết quả thực nghiệm thu đƣợc trong quá trình thử nghiệm trên công cụ dự báo trong luận văn đã chỉ ra đƣợc những điều sau:  Mạng nơron nhân tạo có tính ứng dụng rất đa dạng, khá hiệu quả trong các bài toán dự báo.  Mức độ chính xác của mô hình phụ thuộc vào rất nhiều thông số, tuy nhiên lại chƣa có một phƣơng pháp nào để xác định đƣợc chính xác định tính cũng nhƣ định lƣợng của các thông số. Ta phải thông qua phƣơng pháp thực nghiệm để xác định giá trị thông số tối ƣu.  Số liệu của mỗi đơn vị tuyển sinh có đặc trƣng riêng và thông số tối ƣu thay đổi theo mức độ đặc trƣng của số liệu.
  • 51. 49 KẾT LUẬN Luận văn nghiên cứu mạng nơron nhân tạo, mô hình mạng nơron truyền thẳng đƣợc huấn luyện với giải thuật lan truyền ngƣợc cho bài toán dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa. Các đóng góp của luận văn: 1. Luận văn đã nghiên cứu tổng quan về mạng nơron nhân tạo, đi sâu vào nghiên cứu mạng nơron lan truyền thẳng huấn luyện bằng thuật toán lan truyền ngƣợc sai số nhằm đạt tới một kết quả tốt nhất cho bài toán tối ƣu trọng số mạng nơron nhân tạo. 2. Luận văn cũng đã xây dựng đƣợc phần mềm dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa trong năm tiếp theo. Hƣớng phát triển tiếp theo Những kết quả thực nghiệm khả quan dựa trên nghiên cứu về ứng dụng mạng nơron nhân tạo với thuật toán học là lan truyền ngƣợc sai số trong bài toán dự báo số học sinh tuyển vào Trung tâm GDNN-GDTX quận Đống Đa trong năm tới cho thấy đây là một mô hình hiệu quả. Vì vậy, hƣớng phát triển tiếp theo của luận văn là cải tiến phƣơng pháp dự báo để có kết quả chính xác nhất. Ngoài ra, có thể sử dụng kết hợp với logic mờ và giải thuật di truyền (GA) để cho kết quả dự báo chính xác hơn.
  • 52. 50 TÀI LIỆU THAM KHẢO Tiếng Việt 1. Thái Trung Hải (2014), Sử dụng mạng nơron trong việc dự đoán kết quả đậu đại học, Luận văn Thạc sỹ, Đại học Lạc Hồng. 2. Nguyễn Quang Hoan, Hoàng Thị Lan Phƣơng (2006), “Dự báo giá chứng khoán sử dụng công nghệ mạng nơron”, Kỷ yếu hội nghị khoa học lần 3 về nghiên cứu, phát triển và ứng dụng công nghệ thông tin và truyền thông Hà Nội ICT.rda’06 (20-21/5/2006) tr 157 -164 3. Nguyễn Quang Hoan (2005), Giáo trình mạng nơron nhân tạo, Học viện công nghệ bƣu chính viễn thông. 4. Hoàng Phúc Lâm, Nguyễn Hƣớng Điền, Công Thanh, Hoàng Thanh Vân (2007), “Sử dụng mạng nơron đa lớp truyền thẳng và mạng truy hồi dự báo tổng lƣợng bức xạ ngày cho một số trạm ở đồng bằng phía Bắc Việt Nam”, Tạp chí Khí tượng Thủy văn số 10 (559). 5. Trần Đức Minh (2002), Ứng dụng mạng nơron truyền thẳng trong dự báo dữ liệu, Luận văn thạc sỹ, Viện Công nghệ Thông tin. 6. Nguyễn Đình Thúc (2000), Mạng nơron nhân tạo – phương pháp và ứng dụng, Nhà xuất bản Giáo dục. 7. Nguyễn Văn Trịnh (2012), Ứng dụng mạng nơron trong dự báo tỷ lệ nghỉ học, Luận văn thạc sỹ ,Viện Toán Ứng dụng và Tin học – Đại học Bách khoa Hà Nội. 8. Phạm Thị Hoàng Nhung (2007), Nghiên cứu, ứng dụng các phương pháp học máy tiên tiến trong công tác dự báo, vận hành hồ Hòa Bình, Luận văn thạc sỹ, trƣờng Đại học Công nghệ (ĐHQGHN). Tiếng Anh 9. John C. Chambers, Satinder K. Mullick and Donald D. Smith (1971), How to Choose the Right Forecasting Technique, https://hbr.org/1971/07/how-to- choose-the-right-forecasting-technique. 10.Petar Halachev (2012), “Prediction of e-Learning Efficiency by Neural Networks”, Cybernetics And Information Technologies – volume 12 – Nơron 12, Bulgarian Academy of Sciences. 11.Hopfield, J.J (1982), “Neural Networks and Physical Systems with Emergent Collective Computational Abilities”, Proceeding of Natural Academic Sciences, USA, vol. 79, pp. 2.554 – 2.558. 12.Robert J. Schallkoff (1997), Artificial Neural Networks, The McGraw – Hill Companies, Inc 1997. 13.David Silverman, Jonh A. Dracup (2000), “Artificial Neural Networks and Long-Range Precipitation Prediction in California”, Journal of Applied Meteorology, vol 39 (Jan 2000), pp. 57-66.
  • 53. 51 14.Dipti Srinivasan, A.C. Liew, Jonh S., P. Chen (1991), “Short Term Forecasting Using Neural Networks Approach”, IEEE 91TH0374-9/91/0000-0012, pp 12- 16, 1991. 15.Morioka Y., Sakurai K., Yokoyama A. Sekine Y. (1993), “Next Day Peak Load Forecasting Using a Multilayer Neural Network with an Additional Learning”, IEEE, 0-7803-1217-1/93, 1993. 16.Michael Negnevitsky (2005), Artificial Intelligence, Addison Wesley. 17. Fico Corporation (2009), Understanding Predictive Analytics. 18.Dean Abbott (2014), Applied Predictive Analytics: Principles and Techniques for the Professional Data Analyst, Wiley.
  • 54. 52 PHỤ LỤC A GIỚI THIỆU CÔNG CỤ VÀ KẾT QUẢ DỰ BÁO 1. Giao diện chính của phần mềm Chức năng Cấu hình mạng: - Nút lệnh Nhập từ tệp: Cho phép ngƣời dùng nạp dữ liệu từ tệp dữ liệu. - Nút lệnh Tạo thông số mạng: Để tạo mới một mạng nơron lan truyền ngƣợc. Thông số mạng đƣợc tạo bao gồm: Số nơron lớp vào, số nơron lớp ẩn, số nơron lớp ra, tốc độ học, hệ số quán tính, số lần học tối đa, sai số cực tiểu. - Nút lệnh Sửa: Để sửa các thông số của mạng.
  • 55. 53 2. Giao diện huấn luyện Trƣớc khi huấn luyện phải Nhập dữ liệu cho mạng. - Nút lệnh Huấn luyện: Dùng để huấn luyện mạng, màn hình hiển thị thông số huấn luyện mạng gồm Tập dữ liệu huấn luyện và dữ liệu đã chuẩn hóa. - Nút lệnh Chuẩn hóa: Dùng để chuẩn hóa dữ liệu huấn luyện. - Nút lệnh Xóa dữ liệu: Để xóa các dữ liệu.
  • 56. 54 3. Giao diện Kiểm tra mạng Trƣớc khi kiểm tra mạng phải Nhập dữ liệu cho mạng. Nút lệnh Kiểm tra mạng: Để kiểm tra độ chính xác kết quả huấn luyện của mạng. Giao diện hiển thị tập dữ liệu đƣợc kiểm tra và dữ liệu đã chuẩn hóa của mạng. 4. Chức năng Dự báo Trƣớc khi nhấn nút lệnh Dự báo phải chọn số năm định dự báo.
  • 57. 55 5. Chức năng Giới thiệu vào Thoát Chức năng Giới thiệu: Hiện các thông tin tên đề tài, tác giả, giáo viên hƣớng dẫn luận văn. Chức năng Thoát: Dùng để thoát chƣơng trình
  • 58. 56 PHỤ LỤC B MỘT SỐ MÃ NGUỒN CỦA CÔNG CỤ 1. Huấn luyện mạng public void Bp_Run(List<double> sampleSeries, double learnRate, double momentum, int theEpoches = 10000, double residual = 0.00001) { InitForTrain(); int i, j, k, n; int epoch = 0; double MAE = Double.MaxValue; double LastError = Double.MaxValue; List<double> MAError = new List<double>(); double[,] deltaInputHidden = new double[s_Network.m_iNumInputNodes + 1, s_Network.m_iNumHiddenNodes]; double[,] deltaHiddenOutput = new double[s_Network.m_iNumHiddenNodes + 1, s_Network.m_iNumOutputNodes]; double[,] lagDeltaInputHidden = new double[s_Network.m_iNumInputNodes + 1, s_Network.m_iNumHiddenNodes]; double[,] lagDeltaHiddenOutput = new double[s_Network.m_iNumHiddenNodes + 1, s_Network.m_iNumOutputNodes]; for (j = 0; j < s_Network.m_iNumHiddenNodes; j++) // initialize weight- step of Input Hidden connection { for (i = 0; i <= s_Network.m_iNumInputNodes; i++) { deltaInputHidden[i, j] = 0.0; lagDeltaInputHidden[i, j] = 0.0; } } for (k = 0; k < s_Network.m_iNumOutputNodes; k++) // initialize weight- step of Hidden Output connection { for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++) { deltaHiddenOutput[j, k] = 0.0; lagDeltaHiddenOutput[j, k] = 0.0; } } TraningProgress frmTraningProgress = new TraningProgress(); frmTraningProgress.SetInit(sampleSeries.Count(), theEpoches , 1); System.Windows.Forms.Application.DoEvents(); frmTraningProgress.Show(); bool isUserStop = false; RunTime BeginRunTime = new RunTime(); BeginRunTime.GetCurrTime(); while (epoch < theEpoches) { MAE = 0.0;
  • 59. 57 for (n = s_Network.m_iNumInputNodes; n < sampleSeries.Count; n++) { // forward double[] lstTemp = new double[s_Network.m_iNumInputNodes]; for (i = s_Network.m_iNumInputNodes; i > 0; i--) { lstTemp[s_Network.m_iNumInputNodes - i] = sampleSeries[n - i]; } s_Network.CalculateOutput(lstTemp); for (k = 0; k < s_Network.m_iNumOutputNodes; k++) { MAE += Math.Abs(sampleSeries.ElementAt(n + k) - s_Network.m_arOutputNodes[k].GetOutput()); } // backward /*calculate weight-step for weights connecting from hidden nodes to output nodes*/ for (k = 0; k < s_Network.m_iNumOutputNodes; k++) { for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++) { double parDerv = -s_Network.m_arOutputNodes[k].GetOutput() * (1 - s_Network.m_arOutputNodes[k].GetOutput()) * s_Network.m_arHiddenNodes[j].GetOutput() * (sampleSeries.ElementAt(n) - s_Network.m_arOutputNodes[k].GetOutput()); deltaHiddenOutput[j, k] = -learnRate * parDerv + momentum * lagDeltaHiddenOutput[j, k]; lagDeltaHiddenOutput[j, k] = deltaHiddenOutput[j, k]; } } /*calculate weight-step for weights connecting from input nodes to hidden nodes*/ for (j = 0; j < s_Network.m_iNumHiddenNodes; j++) { double temp = 0.0; for (k = 0; k < s_Network.m_iNumOutputNodes; k++) { temp += -(sampleSeries.ElementAt(n) - s_Network.m_arOutputNodes[k].GetOutput()) * s_Network.m_arOutputNodes[k].GetOutput() * (1 - s_Network.m_arOutputNodes[k].GetOutput()) * s_Network.m_arHiddenOutputConn[j, k]; } for (i = 0; i <= s_Network.m_iNumInputNodes; i++) { double parDerv = s_Network.m_arHiddenNodes[j].GetOutput() * (1 - s_Network.m_arHiddenNodes[j].GetOutput()) * s_Network.m_arInputNodes[i].GetInput() * temp; deltaInputHidden[i, j] = -learnRate * parDerv + momentum * lagDeltaInputHidden[i, j]; lagDeltaInputHidden[i, j] = deltaInputHidden[i, j]; } } /*updating weight from Input to Hidden*/ for (j = 0; j < s_Network.m_iNumHiddenNodes; j++)
  • 60. 58 { for (i = 0; i <= s_Network.m_iNumInputNodes; i++) { s_Network.m_arInputHiddenConn[i, j] += deltaInputHidden[i, j]; } } /*updating weight from Hidden to Output*/ for (k = 0; k < s_Network.m_iNumOutputNodes; k++) { for (j = 0; j <= s_Network.m_iNumHiddenNodes; j++) { s_Network.m_arHiddenOutputConn[j, k] += deltaHiddenOutput[j, k]; } } } // end outer for MAE = MAE / (sampleSeries.Count - s_Network.m_iNumInputNodes); // caculate mean square error if (Math.Abs(MAE - LastError) < residual) // if the Error is not improved significantly, halt training process and rollback { RollBack(); break; } else { //else backup the current configuration and continue training LastError = MAE; BackUp(); MAError.Add(MAE); epoch++; } frmTraningProgress.SetStep(epoch); System.Windows.Forms.Application.DoEvents(); if (frmTraningProgress.isStop == true) { isUserStop = true; break; } //Thread.Sleep(10); } frmTraningProgress.OnClose(); RunTime EndRunTime = new RunTime(); EndRunTime.GetCurrTime(); RunTime RunTimeUse = new RunTime(); RunTimeUse = BeginRunTime.Subtraction(EndRunTime); /* output training result */ TrainingResult result = new TrainingResult(); result.trainResult.AppendText("Số vòng huấn luyện tối đa: " + theEpoches + "n"); result.trainResult.AppendText("Mạng hội tụ tại lần huấn luyện: " + epoch +