Tải bản đầy đủ (.pdf) (70 trang)

Tìm Hiểu Mô Hình Ann Và Ứng Dụng Trong Bài Toán Dự Báo Chuỗi Thời Gian.pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.96 MB, 70 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN

LÊ THỊ HỒNG NGA - 16110394
NGUYỄN NGỌC TRÚC LINH - 16110536
Đề Tài:

TÌM HIỂU MƠ HÌNH ANN VÀ ỨNG DỤNG
TRONG BÀI TỐN DỰ BÁO CHUỖI THỜI GIAN

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT

GIÁO VIÊN HƯỚNG DẪN
TS. NGUYỄN THÀNH SƠN

KHÓA 2016 - 2020


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN

LÊ THỊ HỒNG NGA - 16110394
NGUYỄN NGỌC TRÚC LINH - 16110536
Đề Tài:

TÌM HIỂU MƠ HÌNH ANN VÀ ỨNG DỤNG
TRONG BÀI TỐN DỰ BÁO CHUỖI THỜI GIAN

KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT



GIÁO VIÊN HƯỚNG DẪN
TS. NGUYỄN THÀNH SƠN

KHÓA 2016 - 2020


LỜI CẢM ƠN
Chúng tơi xin bày tỏ lịng biết ơn sâu sắc đến TS. Nguyễn Thành Sơn, thầy đã
hướng dẫn, chỉ bảo rất tận tình để chúng tơi có thể hồn thành khóa luận tốt nghiệp này.
Chúng tơi cũng xin chân thành cảm ơn các thầy, các cô của khoa Công nghệ thông tin –
Trường Đại học Sư phạm Kỹ thuật TPHCM nói chung và ngành Cơng nghệ thơng tin
của khoa nói riêng đã truyền thụ rất nhiều kiến thức, kỹ năng và hỗ trợ chúng tơi trong
suốt q trình học tập và thực hiện khóa luận vừa qua.


ĐH SƯ PHẠM KỸ THUẬT TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA CNTT

Độc lập - Tự do - Hạnh phúc

*******

*******

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ và tên Sinh viên 1: Lê Thị Hồng Nga


MSSV 1: 16110394

Họ và tên Sinh viên 2: Nguyễn Ngọc Trúc Linh

MSSV 2: 16110536

Thời gian làm luận văn: Từ 30/3/2020 đến 28/7/2020
Chuyên ngành: Hệ thống thông tin
Tên đề tài: Tìm hiểu mơ hình ANN và ứng dụng trong bài toán dự báo chuỗi
thời gian
Giáo viên hướng dẫn: TS. Nguyễn Thành Sơn
Nhiệm vụ của luận văn:
1. Tìm hiểu về mơ hình ANN.
2. Tìm hiểu về mơ hình Deep learning.
3. Cài đặt hai mơ hình trên
4. So sánh bằng thực nghiệm hai mơ hình trên nhiều tập dữ liệu.
KẾ HOẠCH THỰC HIỆN
STT

Thời gian

1

30/3/2020

2

Cơng việc


- 13/4/2020

Tìm hiểu mơ hình Deep learning
Tìm các tập dữ liệu để đánh giá

13/4/2020

Viết demo mơ hình ANN

- 20/4/2020
3

4

20/4/2020

Sửa lại chức năng, thêm vào chọn số nơ-ron

- 04/5/2020

lớp input, output, lớp ẩn

04/5/2020

Viết demo mơ hình Deep learning

- 11/5/2020

Ghi chú



5

11/5/2020

Chỉnh sửa lại chức năng cho người dùng

- 25/5/2020

được quyền chọn một trong hai mơ hình để
dự báo

6

25/5/2020

Chỉnh sửa giao diện kết quả gồm có ba biểu

- 01/6/2020

đồ mơ tả: toàn bộ chuỗi dữ liệu, chuỗi giá trị
thực dùng để test và chuỗi giá trị dự báo theo
mơ hình

7

01/6/2020

Tính sai số của hai mơ hình ANN và Deep


- 15/6/2020

learning
Thêm thời gian thực thi

8

9

10

15/6/2020

Đánh giá bằng thực nghiệm các mơ hình qua

- 29/6/2020

các tập dữ liệu

29/6/2020

Chỉnh sửa word hoành chỉnh, chỉnh lỗi chính

- 06/7/2020

tả, canh lề, size chữ.

06/7/2020

Làm powerpoint


- 24/7/2020

Tp. Hồ Chí Minh, ngày
Ý kiến của giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

tháng

Người viết đề cương

năm 2020


MỤC LỤC
Phần 1: MỞ ĐẦU ............................................................................................................1
1.1. Tính cấp thiết của đề tài........................................................................................1
1.2. Mục đích của đề tài...............................................................................................1
1.3. Cách tiếp cận và phương pháp nghiên cứu...........................................................1
1.4. Kết quả dự kiến đạt được......................................................................................1
Phần 2: NỘI DUNG ........................................................................................................2
Chương 1 BÀI TOÁN DỰ BÁO CHUỖI THỜI GIAN .................................................2
1.1. TỔNG QUAN VỀ CHUỖI THỜI GIAN .............................................................2
1.2. KHÁI QUÁT VỀ DỰ BÁO .................................................................................3
1.2.1. Định nghĩa dự báo .........................................................................................3
1.2.2. Xác định những gì cần dự báo, mục tiêu và kế hoạch...................................4
1.2.3. Dữ liệu và phương pháp dự báo ....................................................................4
1.3. CÁC BƯỚC CƠ BẢN TRONG MỘT NHIỆM VỤ DỰ BÁO ...........................5
1.3.1. Xác định vấn đề .............................................................................................5

1.3.2. Thu thập thơng tin .........................................................................................5
1.3.3. Phân tích sơ bộ ..............................................................................................5
1.3.4. Chọn lựa các mơ hình phù hợp ......................................................................6
1.3.5. Sử dụng và đánh giá mơ hình dự báo ............................................................6
Chương 2 TỔNG QUAN VỀ ARTIFICIAL NEURAL NETWORK.............................7
2.1. GIỚI THIỆU VỀ ARTIFICIAL NEURAL NETWORK .....................................7
2.2. PERCEPTRON.....................................................................................................9
2.3. MULTI-LAYER PERCEPTRON ......................................................................12
2.4. QUY TRÌNH DỰ BÁO CHUỖI THỜI GIAN SỬ DỤNG ANN ......................14
2.4.1. Thu thập dữ liệu...........................................................................................14


2.4.2. Phân tích và xử lý dữ liệu ............................................................................14
2.4.3. Xây dựng cấu trúc ANN ..............................................................................15
2.4.3.1. Số lượng các nơ-ron lớp input ..............................................................15
2.4.3.2. Số lượng các lớp ẩn và nơ – ron lớp ẩn ................................................15
2.4.3.3. Số lượng các nơ-ron output ..................................................................16
2.4.4. Lựa chọn hàm kích hoạt ..............................................................................16
2.4.4.1. Sigmoid.................................................................................................16
2.4.4.2. Tanh ......................................................................................................17
2.4.4.3. ReLU ....................................................................................................18
2.4.5. Thiết lập dữ liệu dùng để huấn luyện, kiểm tra ...........................................18
2.4.5.1. Vấn đề Overfiting và Underfiting ........................................................19
2.4.5.2. Validation [8]........................................................................................20
2.4.5.3. Cross-validation ....................................................................................21
2.4.6. Huấn luyện mạng ANN ...............................................................................22
2.4.6.1. Thuật toán lan truyền tiến [9] ...............................................................22
2.4.6.2. Thuật toán lan truyền ngược [10] .........................................................23
2.4.6.3. Ví dụ về thuật tốn Forward propagation và Backpropagation [11] ....24
2.4.7. Đánh giá mơ hình ........................................................................................28

Chương 3 TỔNG QUAN VỀ DEEP LEARNING ........................................................30
3.1. GIỚI THIỆU VỀ DEEP LEARNING ................................................................30
3.2. LỊCH SỬ HÌNH THÀNH ..................................................................................32
3.3. YẾU TỐ LÀM NÊN SỰ THÀNH CÔNG CỦA DEEP LEARNING ...............35
Chương 4 ĐÁNH GIÁ BẰNG THỰC NGHIỆM .........................................................36
4.1. MÔI TRƯỜNG THỰC NGHIỆM .....................................................................36
4.2. CÁC TẬP DỮ LIỆU ..........................................................................................36


4.2.1. Google stock ................................................................................................36
4.2.2. Gold prices...................................................................................................37
4.2.3. Temperature LA ..........................................................................................38
4.2.4. Brent oil prices ............................................................................................39
4.3. CÁC TRƯỜNG HỢP THỰC NGHIỆM ............................................................41
4.4. ĐÁNH GIÁ THỰC NGHIỆM ...........................................................................42
4.4.1. Thực nghiệm với tập dữ liệu Google stock .................................................42
4.4.2. Thực nghiệm với tập dữ liệu Gold price .....................................................45
4.4.3. Thực nghiệm với tập dữ liệu Temperature LA ...........................................48
4.4.4. Thực nghiệm với tập dữ liệu Brent oil prices..............................................51
Phần 3: KẾT LUẬN ......................................................................................................56
3.1. Kết quả đạt được .................................................................................................56
3.2. Ưu điểm ..............................................................................................................56
3.3. Nhược điểm ........................................................................................................56
3.4. Hướng phát triển .................................................................................................56
TÀI LIỆU THAM KHẢO .............................................................................................57


DANH MỤC HÌNH ẢNH
Hình 1.1 Doanh số bán thuốc trị bệnh tiểu đường hàng tháng ở Úc [2] .........................2
Hình 2.1 Cấu tạo của nơ - ron sinh học [5] .....................................................................9

Hình 2.2 Linear Threshold Unit ....................................................................................10
Hình 2.3 Mơ hình Perceptron ........................................................................................10
Hình 2.4 Vấn đề phân loại XOR và MLP giải quyết nó [4] ..........................................12
Hình 2.5 Multi-Layer Perceptron ..................................................................................13
Hình 2.6 Đồ thị hàm Sigmoid........................................................................................17
Hình 2.7 Đồ thị hàm Tanh .............................................................................................17
Hình 2.8 Đồ thị hàm ReLU ...........................................................................................18
Hình 2.9 Lựa chọn mơ hình dựa trên validation [8] ......................................................21
Hình 2.10 Cấu trúc ANN sử dụng cho ví dụ .................................................................25
Hình 3.1 Mối quan hệ giữa AI, Machine Learning và Deep Learning [13] ..................30
Hình 3.2 Lịch sử Deep Learning [15] ...........................................................................32
Hình 4.1 Biểu đồ biểu thị tập dữ liệu Google stock ......................................................36
Hình 4.2 Biểu đồ biểu thị tập dữ liệu Gold prices .........................................................37
Hình 4.3 Biểu đồ biểu thị tập dữ liệu Temperature LA.................................................38
Hình 4.4 Biểu đồ biểu thị tập dữ liệu Brent oil prices ...................................................39


DANH MỤC BẢNG BIỂU
Bảng 4.1 Bảng tóm tắt thơng tin các tập dữ liệu dùng trong thử nghiệm .....................40
Bảng 4.2 Kết quả thực nghiệm trên tập Google stock với số nơ-ron lớp ẩn thay đổi ...42
Bảng 4.3 Kết quả thực nghiệm trên tập Google stock với số nơ-ron lớp input thay đổi
.......................................................................................................................................43
Bảng 4.4 Kết quả thực nghiệm trên tập Google stock với epoch thay đổi ....................43
Bảng 4.5 Kết quả thực nghiệm trên tập Google stock với số lớp ẩn thay đổi ...............44
Bảng 4.6 Kết quả thực nghiệm trên tập dữ liệu Gold price với số nơ-ron lớp ẩn thay đổi
.......................................................................................................................................45
Bảng 4.7 Kết quả thực nghiệm trên tập dữ liệu Gold prices với số nơ-ron lớp input thay
đổi ..................................................................................................................................46
Bảng 4.8 Kết quả thực nghiệm trên tập dữ liệu Gold prices với epoch thay đổi ..........47
Bảng 4.9 Kết quả thực nghiệm trên tập dữ liệu Gold prices với số lớp ẩn thay đổi .....47

Bảng 4.10 Kết quả thực nghiệm trên tập dữ liệu Temperature LA với số nơ-ron lớp ẩn
thay đổi ..........................................................................................................................48
Bảng 4.11 Kết quả thực nghiệm trên tập dữ liệu Temperature LA với số nơ-ron lớp input
thay đổi ..........................................................................................................................49
Bảng 4.12 Kết quả thực nghiệm trên tập dữ liệu Temperature LA với epoch thay đổi 50
Bảng 4.13 Kết quả thực nghiệm trên tập dữ liệu Temperature LA với số lớp ẩn thay đổi
.......................................................................................................................................51
Bảng 4.14 Kết quả thực nghiệm trên tập dữ liệu Brent oil prices với số nơ-ron lớp ẩn
thay đổi ..........................................................................................................................52
Bảng 4.15 Kết quả thực nghiệm trên tập dữ liệu Brent oil prices với số nơ-ron lớp input
thay đổi ..........................................................................................................................52
Bảng 4.16 Kết quả thực nghiệm trên tập dữ liệu Brent oil prices với epoch thay đổi ..53
Bảng 4.17 Kết quả thực nghiệm trên tập dữ liệu Brent oil prices với số lớp ẩn thay đổi
.......................................................................................................................................54


DANH MỤC CHỮ VIẾT TẮT
STT Chữ viết tắt

Tên đầy đủ

Diễn giải

1

AI

Artificial Intelligence

Trí tuệ nhân tạo


2

ANN

Artificial Neural Network

Mạng nơ-ron nhân tạo

3

CNN

Convolutional Neural
Network

Mạng nơ-ron tích chập

4

CV

Coefficient of variation of
the RMSE

Hệ số biến thiên của RMSE

5

DNN


Deep Neural Network

Mạng nơ-ron sâu

6

LTU

Linear Threshold Unit

Đơn vị ngưỡng tuyến tính

7

MAE

Mean absolute error

Sai số tuyệt đối trung bình

8

MAPE

Mean absolute percentage
error

Trung bình sai số phần trăm
tuyệt đối


9

MLP

Multi-Layer Perceptron

Perceptron nhiều lớp

10

MSE

Mean squared error

Sai số bình phương trung bình

11

RMSE

Root mean squared error

Căn bậc hai của sai số bình
phương trung bình

12

SE


Squared error

Sai số bình phương

13

SSE

Sum of squared error

Tổng sai số bình phương

14

SVM

Support Vector Machines

Máy véc-tơ hỗ trợ


Phần 1: MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
Ngày nay, việc dự báo được ứng dụng rộng rãi trên nhiều phương diện khác nhau
như kinh tế, giáo dục, xã hội,... Ví dụ như dự báo giá cổ phiếu, dự báo thời tiết, dự báo
động đất, thiên tai, dự báo về tỷ lệ tuyển sinh… Việc dự báo nhằm mục đích 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, phân tích các quy luật
thơng tin của đối tượng dự báo đưa ra.
Chính vì những lợi ích thiết thực của việc dự báo mang lại mà vì thế nhóm chúng
tơi đã quyết định chọn đề tài: “Tìm hiểu mơ hình ANN và ứng dụng trong bài toán dự

báo chuỗi thời gian” nhằm phân tích và hiểu rõ về mơ hình ANN trong bài tốn dự báo
chuỗi thời gian.
1.2. Mục đích của đề tài
Đề tài tập trung nghiên cứu mơ hình ANN và mơ hình Deep learning, đánh giá hai
mơ hình trên dựa vào bài toán dự báo trên tập dữ liệu chuỗi thời gian cụ thể.
1.3. Cách tiếp cận và phương pháp nghiên cứu
Nghiên cứu lý thuyết để nắm rõ các mơ hình ANN và Deep learning, các phương
pháp dự báo về mạng nơ-ron nhân tạo và các thuật toán lan truyền; trên cơ sở đó có thể
ứng dụng vào bài tốn dự báo chuỗi thời gian.
1.4. Kết quả dự kiến đạt được
Dựa trên những kiến thức tìm hiểu nghiên cứu về mơ hình ANN và mơ hình Deep
leaning để xây dựng ứng dụng demo bài toán dự báo trên các tập dữ liệu chuỗi thời gian
cụ thể.

1


Phần 2: NỘI DUNG
Chương 1
BÀI TOÁN DỰ BÁO CHUỖI THỜI GIAN
1.1. TỔNG QUAN VỀ CHUỖI THỜI GIAN
Một chuỗi thời gian có thể được coi là một danh sách các số và một số thông tin
về thời gian mà các số đó được ghi lại. Ngồi ra cũng có một định nghĩa khác về chuỗi
thời gian là “chuỗi thời gian là một chuỗi các quan sát được thu thập một cách tuần tự
theo thời gian” [1].
Các thành phần của dữ liệu chuỗi thời gian bao gồm xu hướng, thời vụ, chu kỳ.
Mơ hình chuỗi thời gian theo xu hướng tồn tại khi có sự tăng hoặc giảm dài hạn trong
dữ liệu nhưng nó khơng phải là mơ hình tuyến tính. Mơ hình theo mùa xảy ra khi chuỗi
thời gian bị ảnh hưởng bởi các yếu tố theo mùa chẳng hạn như thời gian trong năm, ngày
trong tuần. Tính theo mùa ln có tần số cố định và ta đã biết nó trước. Dữ liệu bán

thuốc trị bệnh tiểu đường được thể hiện trong Hình 1.1 Doanh số bán thuốc trị bệnh tiểu
đường hàng tháng ở Úc có một xu hướng rõ ràng và ngày càng tăng. Ngồi ra cịn có
một mơ hình theo mùa cũng được thể hiện một cách rõ rệt trong Hình 1.1 này.

Hình 1.1 Doanh số bán thuốc trị bệnh tiểu đường hàng tháng ở Úc [2]

2


Chuỗi dữ liệu theo chu kỳ xảy ra khi có dấu hiệu tăng và giảm nhưng không theo
tần số cố định. Những biến động này thường do điều kiện kinh tế và thường liên quan
đến “chu kỳ kinh doanh”. Sau một thời kỳ suy thoái kinh tế sẽ là thời kỳ phục hồi và
bùng nổ kinh tế, kế tiếp tăng trưởng kinh tế sẽ khựng lại và khởi đầu cho một cuộc suy
thoái mới. Thời gian của những biến động này thường là ít nhất 2 năm [2].
Thực tế thì có nhiều dữ liệu chuỗi thời gian bao gồm cả ba yếu tố trên, do đó khi
chọn phương pháp dự báo, trước tiên chúng ta sẽ cần xác định các mơ hình chuỗi thời
gian trong dữ liệu và sau đó chọn phương pháp để có thể dự báo mơ hình chính xác.
1.2. KHÁI QUÁT VỀ DỰ BÁO
1.2.1. Định nghĩa dự báo
Dự báo là cần thiết trong nhiều tình huống. Dự báo có thể được yêu cầu trước vài
năm (đối với trường hợp đầu tư vốn), hoặc chỉ vài phút (đối với định tuyến viễn thơng).
Dù bất kỳ hồn cảnh hay thời gian nào có tính liên quan, dự báo là một trợ giúp quan
trọng để thiết lập một kế hoạch hiệu quả.
Khả năng dự đoán của mỗi sự kiện sẽ khác nhau và phụ thuộc vào một số yếu tố
nhất định như:
1. Hiểu được các yếu tố đóng góp cho nó;
2. Có bao nhiêu dữ liệu đã có sẵn;
3. Liệu các dự đốn có ảnh hưởng đến điều mà chúng ta đang cố gắng dự báo;
Trong thực tế, dự báo hiếm khi cho rằng mơi trường dự đốn là khơng thay đổi.
Đa phần mọi môi trường đều thay đổi và một mơ hình dự báo tốt sẽ nắm bắt cách mà

mọi thứ đang thay đổi. Một mơ hình dự báo được dự định để nắm bắt cách mọi thứ di
chuyển, không chỉ là nơi mọi thứ đang diễn ra, đồng thời nếu chúng ta có thể biết mình
đang ở đâu và chúng ta đang có xu hướng gì, chúng ta có thể phán đốn tốt hơn những
việc cần làm và cách thực hiện điều đó.
Như vậy các tình huống dự báo rất sẽ rất khác nhau trong các khoảng thời gian,
các yếu tố xác định kết quả thực tế, các loại tập dữ liệu và nhiều khía cạnh khác. Đồng
thời, các phương pháp dự báo có thể đơn giản hoặc rất phức tạp và đơi khi sẽ khơng có
dữ liệu nào cả. Và việc lựa chọn phương pháp nào sẽ phụ thuộc vào dữ liệu có sẵn và
khả năng dự đoán số lượng sẽ được dự báo.
3


1.2.2. Xác định những gì cần dự báo, mục tiêu và kế hoạch
Dự báo là dự đốn tương lai chính xác nhất có thể, dựa trên tất cả các thơng tin có
sẵn, bao gồm dữ liệu lịch sử và kiến thức về bất kỳ sự kiện nào trong tương lai có thể
ảnh hưởng đến dự báo [2]. Dựa theo thời gian thì có các loại dự báo như: dự báo ngắn
hạn, dự báo trung hạn, dự báo dài hạn.
Lập kế hoạch là xác định các hành động phù hợp được yêu cầu để làm cho dự báo
của bạn phù hợp với mục tiêu. Đồng thời, trong giai đoạn đầu của một dự báo, các quyết
định cần phải được đưa ra về những gì cần được dự báo. Tìm hiểu về những người sẽ
sử dụng các dự báo để đảm bảo rằng bạn hiểu nhu cầu của họ và cách sử dụng các dự
báo đó. Tìm hoặc thu thập dữ liệu mà dự báo sẽ dựa vào, định vị và đối chiếu dữ liệu có
sẵn trước khi phát triển các phương pháp dự báo phù hợp.
1.2.3. Dữ liệu và phương pháp dự báo
Các trường hợp về dữ liệu chuỗi thời gian bao gồm: giá cổ phiếu hàng ngày, lượng
mưa hàng tháng, kết quả bán hàng hàng quý cho Amazon cũng có thể là lợi nhuận hàng
năm của Google. Khi dự báo dữ liệu chuỗi thời gian, mục đích là ước tính chuỗi các
quan sát sẽ diễn biến như thế nào trong tương lai.
Các phương pháp dự báo chuỗi thời gian đơn giản nhất chỉ sử dụng thông tin về
biến được dự báo và không cố gắng khám phá các yếu tố ảnh hưởng đến hành vi của nó

[2].
Biến dự đốn và dự báo chuỗi thời gian:
Ví dụ: giả sử chúng tơi muốn dự báo nhu cầu điện hàng giờ (ED) của một khu vực
nóng trong thời gian mùa hè. Một mơ hình với các biến dự đốn có thể có dạng:
𝐸𝐷 = 𝑓(𝑐𝑢𝑟𝑒𝑛𝑡 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒, 𝑠𝑡𝑟𝑒𝑛𝑔𝑡ℎ 𝑜𝑓 𝑒𝑐𝑜𝑛𝑜𝑚𝑦, 𝑝𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛,
𝑡𝑖𝑚𝑒 𝑜𝑓 𝑑𝑎𝑦, 𝑑𝑎𝑦 𝑜𝑓 𝑤𝑒𝑒𝑘, 𝑒𝑟𝑟𝑜𝑟 )

Đây là mơ hình giải thích vì nó giúp giải thích ngun nhân gây ra sự thay đổi
trong nhu cầu điện. Bên cạnh đó, do dữ liệu nhu cầu điện tạo thành một chuỗi thời gian,
nên có thể sử dụng mơ hình chuỗi thời gian để dự báo.
𝐸𝐷𝑡+1 = 𝑓(𝐸𝐷𝑡 , 𝐸𝐷𝑡−1 , 𝐸𝐷𝑡−2 , 𝐸𝐷𝑡−3 , … , 𝑒𝑟𝑟𝑜𝑟)

Ngồi ra cịn có một loại mơ hình thứ ba kết hợp các tính năng của hai mơ hình
trên:

4


𝐸𝐷𝑡+1 = 𝑓(𝐸𝐷𝑡 , 𝑐𝑢𝑟𝑒𝑛𝑡 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒, 𝑡𝑖𝑚𝑒 𝑜𝑓 𝑑𝑎𝑦, 𝑑𝑎𝑦 𝑜𝑓 𝑤𝑒𝑒𝑘, 𝑒𝑟𝑟𝑜𝑟 )

Một mơ hình giải thích rất hữu ích vì nó kết hợp thơng tin về các biến khác, thay

vì chỉ các giá trị lịch sử của biến được dự báo. Tuy nhiên, có một số lý do một người dự
báo có thể chọn mơ hình chuỗi thời gian thay vì mơ hình giải thích hoặc hỗn hợp. Vì
đầu tiên, hệ thống có thể khơng được hiểu và ngay cả khi được hiểu, nó có thể cực kỳ
khó đo lường các mối quan hệ được giả định để chi phối hành vi của nó. Thứ hai, cần
phải biết hoặc dự báo các giá trị trong tương lai của các yếu tố dự đốn khác nhau để có
thể dự báo biến quan tâm và điều này có thể quá khó khăn. Thứ ba, mối quan tâm chính
có thể chỉ là dự đốn những gì sẽ xảy ra, khơng biết tại sao nó lại xảy ra. Cuối cùng, mơ
hình chuỗi thời gian có thể đưa ra dự báo chính xác hơn so với mơ hình giải thích hoặc

hỗn hợp. Như vậy, các biến dự đốn thường hữu ích trong dự báo chuỗi thời gian.
1.3. CÁC BƯỚC CƠ BẢN TRONG MỘT NHIỆM VỤ DỰ BÁO
1.3.1. Xác định vấn đề
Thường thì đây là phần khó nhất trong dự báo [2]. Xác định vấn đề một cách cẩn
thận đòi hỏi sự hiểu biết về: cách sử dụng các dự báo, ai yêu cầu dự báo và làm thế nào
để việc dự báo phù hợp với tổ chức yêu cầu dự báo. Một người dự báo cần dành thời
gian nói chuyện với tất cả những người sẽ tham gia vào việc thu thập dữ liệu, duy trì cơ
sở dữ liệu và sử dụng các dự báo cho kế hoạch trong tương lai.
1.3.2. Thu thập thơng tin
Ln có ít nhất hai loại thơng tin cần thiết: dữ liệu thống kê và chun mơn tích
lũy của những người thu thập dữ liệu để sử dụng các dự báo [2]. Thơng thường, sẽ rất
khó có đủ dữ liệu lịch sử để có thể phù hợp với một mơ hình thống kê tốt. Trong trường
hợp đó, các phương pháp dự báo phán đốn có thể được sử dụng. Đơi khi, dữ liệu cũ sẽ
ít hữu ích hơn do những thay đổi cấu trúc trong hệ thống được dự báo nên nhóm tác giả
có thể chọn chỉ sử dụng dữ liệu mới nhất [2]. Tuy nhiên, các mơ hình thống kê tốt sẽ xử
lý các thay đổi tiến hóa trong hệ thống do đó khơng nên bỏ dữ liệu tốt nếu khơng cần
thiết.
1.3.3. Phân tích sơ bộ
Ln ln bắt đầu bằng cách vẽ đồ thị dữ liệu. Mơ hình có nhất qn khơng? Mơ
hình có tính xu hướng đáng kể khơng? Hay tính mùa vụ có quan trọng khơng? Có bằng
5


chứng về sự hiện diện của chu kỳ kinh doanh khơng? Có bất kỳ ngoại lệ nào trong dữ
liệu cần được giải thích bởi những người có kiến thức chun mơn khơng? Làm thế nào
tìm ra mối quan hệ giữa các biến có sẵn để phân tích? Từ đó có nhiều cơng cụ đã được
phát triển để giúp phân tích những điều trên.
1.3.4. Chọn lựa các mơ hình phù hợp
Mơ hình tốt nhất để sử dụng phụ thuộc vào tính khả dụng của dữ liệu lịch sử, độ
mạnh của mối quan hệ giữa biến dự báo và bất kỳ biến giải thích nào và cách sử dụng

dự báo. Đó là cách phổ biến để so sánh hai hoặc ba mô hình tiềm năng. Mỗi mơ hình tự
nó là một cấu trúc nhân tạo dựa trên một tập hợp các giả định (rõ ràng và ẩn) và thường
liên quan đến một hoặc nhiều tham số phải được ước tính bằng cách sử dụng dữ liệu
lịch sử đã biết.
1.3.5. Sử dụng và đánh giá mơ hình dự báo
Khi một mơ hình đã được chọn và các thơng số của nó đã được ước tính, mơ hình
được sử dụng để đưa ra dự báo. Khả năng dự báo mơ hình chỉ có thể được đánh giá đúng
cách sau khi dữ liệu cho giai đoạn dự báo đã trở nên có sẵn [2]. Một số phương pháp đã
được phát triển để giúp đỡ trong việc đánh giá tính chính xác của dự báo.

6


Chương 2
TỔNG QUAN VỀ ARTIFICIAL NEURAL NETWORK
2.1. GIỚI THIỆU VỀ ARTIFICIAL NEURAL NETWORK
Artificial Neural Network (ANN) là một mơ hình tốn học hay mơ hình tính tốn
được xây dựng dựa trên các mạng nơ-ron sinh học [3]. ANN đã xuất hiện khá lâu, lần
đầu tiên chúng được giới thiệu trở lại vào năm 1943 bởi nhà sinh lý học thần kinh Warren
McCulloch và nhà toán học Walter Pitts [4]. Trong bài viết mang tính bước ngoặt của
họ, hai tính tốn hợp lý về ý tưởng trong hoạt động thần kinh, McCulloch đã trình bày
một mơ hình tính tốn đơn giản về cách các nơ-ron sinh học có thể phối hợp với nhau
trong não động vật để thực hiện các tính toán phức tạp bằng mệnh đề logic. Đây là kiến
trúc mạng nơ-ron nhân tạo đầu tiên. Kể từ đó, nhiều kiến trúc khác đã được phát minh
dựa trên nền tảng này.
Những thành công ban đầu của ANN cho đến những năm 1960 đã dẫn đến niềm
tin rộng rãi rằng chúng ta sẽ sớm trò chuyện với những cỗ máy thực sự thông minh.
Nhưng thực tế những điều này sẽ không được thực hiện (ít nhất là trong một thời gian
dài), ANN bước vào một kỷ nguyên đen tối [4]. Đầu những năm 1980, đã có một sự
quan tâm đến ANN khi các kiến trúc mạng mới được phát minh và các kỹ thuật huấn

luyện tốt hơn đã được phát triển [4]. Nhưng vào những năm 1990, các kỹ thuật Machine
Learning thay thế mạnh mẽ như Support Vector Machines đã được hầu hết các nhà
nghiên cứu ưa chuộng, vì chúng dường như mang lại kết quả tốt hơn và nền tảng lý
thuyết mạnh mẽ hơn [4]. Cuối cùng, một làn sóng quan tâm khác về ANN. Làn sóng
này sẽ chết như những lần trước hay sẽ phát triển hơn? Có một vài lý do chính đáng để
tin rằng lần này khác biệt và sẽ có tác động sâu sắc hơn nhiều đến cuộc sống của chúng
ta [4]:
-

Hiện tại có một lượng dữ liệu khổng lồ có sẵn để huấn luyện các mạng nơ-ron và
ANN, vượt trội hơn các kỹ thuật Machine Learning khác.

-

Sự gia tăng mạnh mẽ của sức mạnh tính toán kể từ những năm 1990 cho phép huấn
luyện các mạng lưới nơ-ron lớn trong một khoảng thời gian hợp lý. Điều này một
phần là do Moore’s Law, nhưng cũng nhờ vào ngành công nghiệp game, nơi đã
tạo ra hàng triệu thẻ GPU mạnh mẽ.

7


-

Các thuật tốn huấn luyện đã được cải thiện. Cơng bằng mà nói, chúng chỉ khác
một chút so với những cái được sử dụng trong những năm 1990, nhưng những điều
chỉnh tương đối nhỏ này có tác động rất lớn và vơ cùng tích cực.

-


Một số hạn chế về mặt lý thuyết của ANN đã trở nên lành tính trong thực tế. Ví
dụ, nhiều người nghĩ rằng các thuật tốn huấn luyện ANN đã bị tiêu diệt bởi vì
chúng có khả năng bị mắc kẹt trong tối ưu cục bộ, nhưng hóa ra điều này khá hiếm
trong thực tế.
ANN dường như đã bước vào một vịng trịn tài chính và tiến bộ. Các sản phẩm

tuyệt vời dựa trên ANN thường xuyên đưa ra các tin tức tiêu đề, thu hút ngày càng nhiều
sự chú ý và tài trợ cho chúng, dẫn đến ngày càng tiến bộ hơn và thậm chí nhiều sản
phẩm tuyệt vời hơn.
Như đã đề cập ở trên, ANN được xây dựng dựa trên các mạng nơ-ron sinh học do
đó trước khi thảo luận về các nơ-ron nhân tạo thì chúng tơi sẽ tìm hiểu về cấu trúc của
một nơ-ron sinh học trước (được biểu thị trong Hình 2.1). Nơ-ron là đơn vị cơ bản cấu
tạo hệ thống thần kinh và là một phần quan trọng nhất của não. Não con người gồm
khoảng 10 triệu nơ-ron và mỗi nơ-ron liên kết với 10.000 nơ-ron khác. Ở mỗi nơ-ron có
phần thân (soma) chứa nhân, các tín hiệu đầu vào qua sợi nhánh và các tín hiệu đầu ra
qua sợi trục (axon) kết nối với các nơ-ron khác. Hiểu đơn giản mỗi nơ-ron nhận dữ liệu
đầu vào qua sợi nhánh và truyền dữ liệu đầu ra qua sợi trục, đến các sợi nhánh của các
nơ-ron khác. Mỗi nơ-ron nhận xung điện từ các nơ-ron khác qua sợi nhánh. Nếu các
xung điện này đủ lớn để kích hoạt nơ-ron, thì tín hiệu này đi qua sợi trục đến các sợi
nhánh của các nơ-ron khác. Do vậy ở mỗi nơ-ron cần quyết định có kích hoạt nơ-ron
đấy hay khơng.

8


Hình 2.1 Cấu tạo của nơ - ron sinh học [5]

Do đó, các nơ-ron sinh học riêng lẻ dường như hoạt động theo một cách khá đơn
giản, nhưng chúng được tổ chức trong một mạng lưới rộng lớn hàng tỷ nơ-ron, mỗi nơron thường kết nối với hàng ngàn nơ-ron khác. Các tính tốn phức tạp cao có thể được
thực hiện bởi một mạng lưới các nơ-ron khá đơn giản, giống như một ổ kiến phức tạp

có thể xuất hiện từ những nỗ lực kết hợp của những con kiến đơn giản.
2.2. PERCEPTRON
Perceptron là một trong những kiến trúc ANN đơn giản nhất, được phát minh vào
năm 1957 bởi Frank Rosenblatt [4]. Nó dựa trên một nơ-ron nhân tạo có chút khác biệt
(xem Hình 2.2) được gọi là đơn vị ngưỡng tuyến tính - Linear Threshold Unit (LTU):
đầu vào và đầu ra là số (thay vì giá trị nhị phân) và mỗi kết nối đầu vào được liên kết
với một trọng số. LTU tính tổng của các đầu vào có trọng số (𝑧 = 𝑤1 𝑥1 + 𝑤2 𝑥2 + ⋯ +
𝑤𝑛 𝑥𝑛 = 𝒘𝑇 . 𝒙), sau đó áp dụng hàm bước cho tổng đó và đưa ra kết quả:
ℎ𝒘 (𝒙) = 𝑠𝑡𝑒𝑝 (𝑧) = 𝑠𝑡𝑒𝑝(𝒘𝑇 . 𝒙)

9


Hình 2.2 Linear Threshold Unit

Hàm bước được sử dụng trong perceptron là hàm bước Heaviside đôi khi hàm sign
được sử dụng để thay thế [4].
−1 𝑛ế𝑢 𝑧 < 0
𝑠𝑔𝑛 (𝑧) = { 0 𝑛ế𝑢 𝑧 = 0
1 𝑛ế𝑢 𝑧 > 0

0 𝑛ế𝑢 𝑧 < 0
ℎ𝑒𝑎𝑣𝑖𝑠𝑖𝑑𝑒 (𝑧) = {
;
1 𝑛ế𝑢 𝑧 ≥ 0

Một LTU duy nhất có thể được sử dụng để phân loại nhị phân tuyến tính đơn giản.
Nó tính tốn một tổ hợp tuyến tính của các đầu vào và nếu kết quả vượt quá ngưỡng, nó
đưa ra lớp dương hoặc nếu khơng phải là lớp âm. Ví dụ: có thể sử dụng một LTU duy
nhất để phân loại hoa iris dựa trên chiều dài và chiều rộng của cánh hoa. Huấn luyện

LTU có nghĩa là tìm các giá trị phù hợp cho 𝑤1 , 𝑤2 và 𝑤3 .

Một perceptron có hai đầu vào và ba đầu ra được biểu diễn trong Hình 2.3,

perceptron này có thể phân loại các thể hiện đồng thời thành ba lớp nhị phân khác nhau,
điều này làm cho nó trở thành một phân loại đa tham số.

Hình 2.3 Mơ hình Perceptron

10


Vậy một perceptron được huấn luyện như thế nào? Thuật toán huấn luyện
perceptron do Frank Rosenblatt đề xuất phần lớn lấy cảm hứng từ quy tắc Hebb. Trong
cuốn sách The Organization of Behavior, xuất bản năm 1949, Donald Hebb đã đề xuất
rằng khi một tế bào nơ-ron sinh học thường kích hoạt một tế bào nơ-ron khác, sự kết nối
giữa hai tế bào nơ-ron này phát triển mạnh mẽ hơn. Cụ thể hơn, perceptron được cung
cấp một trường hợp huấn luyện tại một thời điểm và đối với mỗi trường hợp, nó đưa ra
dự đốn của mình. Đối với mỗi nơ-ron đầu ra tạo ra một dự đốn sai, nó củng cố các
trọng số kết nối từ các đầu vào để từ đó có thể góp phần vào dự đốn chính xác hơn.
Quy tắc được thể hiện trong Cơng thức 2 [4].
(𝑛𝑒𝑥𝑡 𝑠𝑡𝑒𝑝)

𝑤𝑖,𝑗

= 𝑤𝑖,𝑗 + 𝜂(𝑦̂𝑗 − 𝑦𝑗 )𝑥𝑖

Công thức 2. Perceptron learning rule (cập nhật trọng số)
Trong đó:
+ 𝑤𝑖,𝑗 là trọng số kết nối giữa nơ-ron đầu vào thứ i và nơ-ron đầu ra thứ j.

+ 𝑥𝑖 là giá trị đầu vào thứ i của trường hợp huấn luyện hiện tại.

+ 𝑦̂𝑗 là đầu ra của nơ-ron đầu ra thứ j cho trường hợp huấn luyện hiện tại.

+ 𝑦𝑗 là đầu ra đích của nơ-ron đầu ra thứ j cho trường hợp huấn luyện hiện
tại.

+ 𝜂 là tốc độ học tập.

Ranh giới quyết định của mỗi nơ-ron đầu ra là tuyến tính, do đó perceptron khơng
có khả năng học các tập phức tạp (giống như các phân loại Hồi quy Logistic). Tuy nhiên,
nếu các trường hợp huấn luyện có thể phân tách tuyến tính, Rosenblatt đã chứng minh
rằng thuật toán này sẽ hội tụ thành một giải pháp. Đây được gọi là định lý hội tụ
Perceptron.
Lưu ý rằng trái với các phân loại Hồi quy Logistic, perceptron không đưa ra xác
suất lớp; thay vào đó, chúng chỉ đưa ra dự đoán dựa trên một ngưỡng cứng. Đây là một
trong những lý do tốt để giải thích việc thích dùng Hồi quy Logistic hơn perceptron.
Trong bài nghiên cứu năm 1969 của Marvin Minsky và Seymour Papert có tiêu đề
Perceptrons, nhóm tác giả đã nhấn mạnh một số điểm yếu nghiêm trọng của perceptron
là chúng khơng có khả năng giải quyết một số vấn đề bình thường (ví dụ: vấn đề phân
11


loại OR (XOR) (Hình 2.4). Tất nhiên điều này cũng đúng với bất kỳ mơ hình phân loại
tuyến tính nào khác (chẳng hạn như phân loại Hồi quy Logistic), nhưng các nhà nghiên
cứu đã mong đợi nhiều hơn từ perceptron, và sự thất vọng của họ là rất lớn. Kết quả là
nhiều nhà nghiên cứu đã bỏ hoàn toàn việc nghiên cứu của các mạng nơ-ron và ủng hộ
các vấn đề cấp cao hơn như logic, giải quyết vấn đề và tìm kiếm.
Tuy nhiên, nó chỉ ra rằng một số hạn chế của perceptron có thể được loại bỏ bằng
cách xếp chồng nhiều perceptron. ANN kết quả được gọi là perceptron nhiều lớp MultiLayer Perceptron (MLP). Cụ thể, MLP có thể giải quyết vấn đề XOR, vì bạn có thể xác

minh bằng cách tính tốn đầu ra của MLP được biểu thị ở bên phải của Hình 2.4, cho
mỗi kết hợp đầu vào: với đầu vào (0, 0) hoặc (1, 1 ) thì đầu ra là 0 và với đầu vào (0, 1)
hoặc (1, 0) thì đầu ra là 1.

Hình 2.4 Vấn đề phân loại XOR và MLP giải quyết nó [4]

2.3. MULTI-LAYER PERCEPTRON
Một Multi Layer Perceptron (MLP) bao gồm một lớp đầu vào, một hoặc nhiều lớp
LTU, được gọi là các lớp ẩn và một lớp LTU cuối cùng được gọi là lớp đầu ra (xem
Hình 2.5). Mỗi lớp ngoại trừ lớp đầu ra bao gồm một nơ-ron thiên vị (bias) và được kết
nối đầy đủ với lớp tiếp theo. Khi ANN có hai hoặc nhiều lớp ẩn, nó được gọi là Deep
Neural Network (DNN) [4].

12


Hình 2.5 Multi-Layer Perceptron

Trong nhiều năm, các nhà nghiên cứu đã vật lộn để tìm cách huấn luyện MLP,
nhưng khơng thành công. Nhưng vào năm 1986, D. E. Rumelhart đã xuất bản một bài
viết đột phá giới thiệu thuật toán huấn luyện backpropagation [4].
Đối với mỗi phương pháp huấn luyện, thuật tốn cung cấp nó cho mạng và tính
tốn đầu ra của mỗi nơ-ron trong mỗi lớp liên tiếp (đây là đường truyền chuyển tiếp,
giống như khi đưa ra dự đốn). Sau đó, nó tính sai số đầu ra của mạng (tức là sự khác
biệt giữa đầu ra mong muốn và đầu ra thực tế của mạng) và nó tính tốn mỗi nơ-ron
trong lớp ẩn cuối cùng đóng góp bao nhiêu cho mỗi sai số nơ-ron đầu ra. Sau đó, nó tiến
hành tính xem có bao nhiêu phần đóng góp sai số này đến từ mỗi nơ-ron trong lớp ẩn
trước đó và cứ thế cho đến khi thuật tốn chuyển tiếp đến lớp đầu vào. Truyền ngược
này tính tốn hiệu quả độ dốc sai số trên tất cả các trọng số kết nối trong mạng bằng
cách truyền độ dốc sai số về phía sau trong mạng (do đó là tên của thuật toán). Việc

chuyển tiếp và đảo ngược của truyền ngược lại chỉ đơn giản là thực hiện tự động chế độ
đảo ngược. Bước cuối cùng của thuật toán backpropagation là bước Gradient Descent
trên tất cả các trọng số kết nối trong mạng, sử dụng các gradient sai số đã được tính
trước đó.
Nói một cách ngắn gọn thì đối với mỗi trường hợp huấn luyện, thuật toán
backpropagation trước tiên đưa ra dự đốn (chuyển tiếp), tính sai số, sau đó đi qua từng
lớp để đảo ngược sự đóng góp sai số từ mỗi kết nối (vượt qua ngược lại) và cuối cùng
là điều chỉnh các trọng số kết nối để giảm sai số (bước Gradient Descent).
13


Để thuật tốn này hoạt động chính xác, các tác giả đã thực hiện một thay đổi quan
trọng đối với kiến trúc MLP, họ đã thay thế hàm bước bằng hàm kích hoạt. Điều này rất
cần thiết bởi vì hàm bước chỉ chứa các phân đoạn phẳng, do đó khơng có độ dốc để làm
việc (Gradient Descent khơng thể di chuyển trên một bề mặt phẳng), trong khi hàm kích
hoạt có đạo hàm khơng khác được xác định rõ ở mọi nơi, cho phép Gradient Descent
tạo ra một số tiến bộ ở mọi bước. Thuật tốn backpropagation có thể được sử dụng với
các hàm kích hoạt khác nhau.
2.4. QUY TRÌNH DỰ BÁO CHUỖI THỜI GIAN SỬ DỤNG ANN
2.4.1. Thu thập dữ liệu
Đây là bước đầu tiên và cơ bản nhất trong bất kì quy trình dự báo nào. Chúng ta
cần thu thập những dữ liệu gián tiếp hoặc trực tiếp liên quan đến vấn đề cần dự báo,
những dữ liệu này không yêu cầu cao về mặt giá trị ứng dụng hay tính chính xác về định
dạng. Chỉ cần những dữ liệu đó có tác động đến vấn đề cần dự báo chúng ta đều nên tập
hợp lại thành một nguồn dữ liệu chung để từ đó đi tiếp đến q trình xử lý và phân tích
dữ liệu sau đó.
2.4.2. Phân tích và xử lý dữ liệu
Chuẩn hóa dữ liệu thường được thực hiện trước khi quá trình huấn luyện bắt đầu.
Như đã đề cập trước đó, khi các hàm kích hoạt phi tuyến được sử dụng tại các nơ-ron
lớp output, các giá trị đầu ra mong muốn phải được chuyển đổi sang phạm vi của các

đầu ra thực tế. Ngay cả khi sử dụng hàm kích hoạt đầu ra tuyến tính, vẫn có thể thuận
lợi để chuẩn hóa các đầu ra cũng như các đầu vào để tránh các vấn đề tính tốn để đáp
ứng u cầu thuật tốn và tạo điều kiện học tập mạng.
Chuẩn hóa các giá trị đầu ra thường khơng phụ thuộc vào chuẩn hóa các giá trị đầu
vào. Tuy nhiên, đối với các vấn đề dự báo chuỗi thời gian, việc chuẩn hóa các giá trị
đầu ra thường được thực hiện cùng với các giá trị đầu vào. Việc lựa chọn phạm vi mà
giá trị đầu vào và đầu ra được chuẩn hóa phụ thuộc phần lớn vào hàm kích hoạt của các
nơ-ron lớp output, với [0, 1] điển hình cho hàm logistic và [-1, 1] cho hàm hyperbolic
tangent [6].

14


×