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

MẠNG NEURON NHÂN TẠO VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC

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 (781.81 KB, 21 trang )



TRƢỜNG ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN




TIỂU LUẬN
KHAI THÁC DỮ LIỆU

MẠNG NEURON NHÂN TẠO
VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC



GVHD: PGS. TS. ĐỖ PHÚC
SVTH: TRƢƠNG HỒNG THÁI
MSSV: CH1101041
KHÓA: K6-2011





TP.HCM, 11/2012
am6


1
MỤC LỤC


CHƯƠNG 1: GIỚI THIỆU 2
CHƯƠNG 2: GIỚI THIỆU MẠNG NEURON 3
2.1. Giới thiệu về mạng neuron nhân tạo 3
2.2. Perceptron 3
2.2.1. Quy tắc perceptron 5
2.2.2. Quy tắc delta 6
CHƯƠNG 3: GIẢI THUẬT LAN TRUYỀN NGƯỢC 9
3.1. Cấu tạo mạng neuron nhiều tầng 9
3.2. Giải thuật lan truyền ngƣợc 10
3.2.1. Hàm squashing 11
3.2.2. Chi tiết giải thuật lan truyền ngƣợc (sử dụng hàm sigmoid) 12
3.2.3. Một số lƣu ý trong việc áp dụng giải thuật 14
3.3. Nhận xét về giải thuật lan truyền ngƣợc 17
3.3.1. Sự hội tụ và cực tiểu cục bộ 17
3.3.2. Overfitting 17
CHƯƠNG 4: KẾT LUẬN 19
TÀI LIỆU THAM KHẢO 20

Chương 1: Giới thiệu


2
CHƯƠNG 1: GIỚI THIỆU
Phân lớp dữ liệu là 1 kỹ thuật quan trọng trong khai mỏ dữ liệu. Mục đích của quá
trình phân lớp dữ liệu là để rút trích các mô hình mô tả các lớp dữ liệu hoặc dự đoán
xu hƣớng của dữ liệu. Quá trình phân lớp dữ liệu gồm 2 bƣớc: bƣớc huấn luyện (xây
dựng bộ phân loại bằng việc phân tích, học các tập huấn luyện) và bƣớc phân loại
(phân loại dữ liệu mới hoặc dữ liệu chƣa biết).
Ta có nhiều phƣơng pháp để phân loại dữ liệu nhƣ: cây quyết định, mạng Naïve
Bayes, mạng neuron, luật kết hợp, giải thuật di truyền… Trong báo cáo này tôi sẽ trình

bày phƣơng pháp dùng mạng neuron, cụ thể là giải thuật lan truyền ngƣợc.
Chương 2: Giới thiệu mạng neuron


3
CHƯƠNG 2: GIỚI THIỆU MẠNG NEURON
2.1. Giới thiệu về mạng neuron nhân tạo
Theo các nghiên cứu khoa học, bộ não của con ngƣời chứa khoảng 10
11
neuron thần
kinh, mỗi neuron sẽ có nối kết với khoảng 10
4
neuron khác. Các neuron hoạt động
bằng cách truyền các rung động đên các neuron khác thông qua các kết nối. Mô phỏng
mạng neuron sinh học, mạng neuron nhân tạo cũng đƣợc tạo ra từ tập hợp những đơn
vị có liên kết nội với nhau, tại mỗi đơn vị đó sẽ mang một giá trị thực có thể là output
của một đơn vị khác để làm input và sinh ra một giá trị thực output có thể làm input
của nhiều đơn vị khác.
2.2. Perceptron
Perceptron là mạng neuron đầu tiên có khả năng học. Một perceptron nhận giá trị input
là một vector những giá trị thực, output đƣợc tính toán dựa trên một tổ hợp tuyến tính
của những giá trị input này:
 
 







01
01
),,,(
110
110
21
nn
nn
n
xwxww
xwxww
xxxo




trong đó, trọng số
i
w
là các hằng giá trị thực, quyết định sự phân phối của input
i
x
đối
với output perceptron. Lƣợng -w
0
là ngƣỡng để sự tổ hợp trọng số của input
nn
1 1 2 2
w x + w x + + w x
phải vƣợt để cho output perceptron là 1.


Perceptron


Chương 2: Giới thiệu mạng neuron


4
Ví dụ: Ứng dụng perceptron cho phép tính logic AND:
x
1
x
2
Output
1
1
1
1
0
0
0
1
0
0
0
0

Để giải tìm kết quả cho hàm AND, ta có thể tạo 1 perceptron với 2 input, các
trọng số
8.0

0
w
,
5.0
21
 ww
.
-
1,1
21
 xx
:
102.0  oxw

: TRUE
-
0,1
21
 xx
:
103.0  oxw
: FALSE
-
1,0
21
 xx
:
103.0  oxw
: FALSE
-

0,0
21
 xx
:
108.0  oxw
: FALSE

Ứng dụng của perceptron rất hạn chế, nó chỉ có thể giải các bài toán tuyến tính
mà không thể giải quyết các bài toán không phân hoạch tuyến tính đƣợc.

Bài toán có thể phân hoạch tuyến tính
Chương 2: Giới thiệu mạng neuron


5

Bài toán không thể phân hoạch tuyến tính
Để xác định đƣợc các trọng số, ta có thể cho mạng neuron học tập huấn luyện. Ta
có thể áp dụng nhiều giải thuật để huấn luyện, tuy nhiên trong báo cáo này tôi chỉ đề
cập đến hai giải thuật là: qui tắc perceptron và qui tắc delta. Hai giải thuật này là nền
tảng cơ bản cho giải thuật lan truyền ngƣợc.
2.2.1. Quy tắc perceptron
Các trọng số sẽ đƣợc gán ngẫu nhiên ở trạng thái bắt đầu, sau đó đƣa vào perceptron
để lặp đi lặp lại cho mỗi mẫu huấn luyện; tiếp tục thay đổi trọng số perceptron cho đến
khi nó sắp xếp đƣợc mẫu này. Vòng lặp này đƣợc sử dụng nhiều lần cho toàn bộ mẫu
huấn luyện, cho đến khi perceptron phân loại đƣợc toàn bộ các mẫu huấn luyện một
cách chính xác. Các trọng số sẽ đƣợc thay đổi tại mỗi bƣớc theo luật huấn luyện
perceptron:

iii

www 

ii
xotw )( 


trong đó:
t: ngõ ra đích cho mẫu huấn luyện hiện tại,
o: ngõ ra đƣợc sinh ra bởi perceptron,
η: tỉ lệ học, là một hằng dƣơng, thƣờng rất nhỏ, là mức độ thay đổi của trọng số
sau mỗi bƣớc.
Phƣơng pháp huấn luyện này đƣợc chứng minh là hội tụ sau một số bƣớc hữu
hạn với điều kiện là những mẫu huấn luyện này phải là phân hoạch tuyến tính và một
Chương 2: Giới thiệu mạng neuron


6
hằng số η hiệu quả đƣợc sử dụng. Nếu dữ liệu không là phân hoạch tuyến tính thì sự
hội tụ không đƣợc đảm bảo.
2.2.2. Quy tắc delta
Qui tắc perceptron rất thành công trong việc tìm một vector trọng số khi mẫu huấn
luyện là phân hoạch tuyến tính, nhƣng nó lại không hội tụ trong trƣờng hợp dữ liệu
không là phân hoạch tuyến tính. Qui tắc delta đƣợc thiết kế để loại bỏ vấn đề trên. Nếu
mẫu huấn luyện không là phân hoạch tuyến tính, qui tắc delta sẽ hội tụ về một xấp xỉ
phù hợp nhất cho đối tƣợng.
Qui tắc delta sử dụng gradient descent để đƣa ra những trọng số mà phù hợp nhất
cho những mẫu huấn luyện. Đây là nền tảng cho giải thuật lan truyền ngƣợc – giải
thuật để học trong mạng có nhiều đơn vị liên kết nội.
Qui tắc huấn luyện delta có thể đƣợc xem nhƣ là một tác vụ huấn luyện một
perceptron không có ngƣỡng, đó là một đơn vị tuyến tính cho output o đƣợc tính theo

công thức:
xwxo

)(

Quá trình cập nhật trọng số dựa trên việc tính toán sai số giữa output và kết quả
mong muốn (target). Có nhiều cách để xác định sai số này, cách phổ biến nhất là:
 



Dd
dd
otwE
2
2
1
)(


trong đó:
D: tập hợp những mẫu huấn luyện,
t
d
: output đích cho mẫu huấn luyện d,
o
d
: output của đơn vị tuyến tính cho mẫu huấn luyện d.
Chúng ta có thể xem E nhƣ là một hàm số của
w


vì output đơn vị tuyến tính o lệ
thuộc vào vector trọng số này. Ngoài ra, E lệ thuộc vào các mẫu huấn luyện. Mục tiêu
của quá trình huấn luyện là xác định các trọng số để E là cực tiểu, đây là giả thuyết có
thể nhất trong dữ liệu huấn luyện.
Chương 2: Giới thiệu mạng neuron


7
Quá trình học là quá trình biến đổi các trọng số để đạt đƣợc E cực tiểu. Qua các
biến đổi toán học, ta có đƣợc công thức cập nhật trong số theo qui tắc huấn luyện
gradient descent:
www



idd
Dd
di
xotw )( 




trong đó:

: tỉ lệ học
x
id
biểu diễn một thành phần input đơn x

i
cho mẫu huấn luyện d
Chi tiết giải thuật Gradient-descent (training_example,

):
Mỗi mẫu huấn luyện là một cặp ở dạng (
x
, t), với
x
là vector của giá trị
input và t là giá trị ouput đích,

là tỉ lệ học (tỉ lệ học).
1. Khởi tạo mỗi w
i
với một giá trị nhỏ ngẫu nhiên.
2. Lặp cho đến khi gặp điều kiện kết thúc:
Khởi tạo gán mỗi
i
w
bằng 0.
For each (
x
, t), do:
Input
x
cho các đơn vị và tính toán output
For each
i
w

, do:
()
i i i
w w t o x

    

For each w
i
, do:
i i i
w w w  


Phƣơng pháp trên đƣợc áp dụng rộng rãi trong thực tế. Tuy nhiên, nó có hai vấn
đề chính. Thứ nhất là tốc độ hội tự trong một số trƣờng hợp chậm, cần đến hàng ngàn
bƣớc. Thứ hai là nếu có nhiều cực tiểu cục bộ trên mặt phẳng lỗi, phƣơng pháp này có
thể không tìm đƣợc điểm cục bộ toàn cục.
Chương 2: Giới thiệu mạng neuron


8

Cực tiểu cục bộ
Mạng neuron 1 tầng có thể sử dụng để giải quyết các vấn đề đơn giản. Đối với
các bài toán phức tạp, nó không đủ khả năng để tổng quát vấn đề. Mạng neuron nhiều
tầng đã ra đời để giải quyết các vấn đề phức tạp đó. Trong đó, giải thuật lan truyền
ngƣợc là một trong những giải thuật cơ bản dùng để học các trọng số cho mạng neuron
nhiều tầng.
Chương 3: Giải thuật lan truyền ngược



9
CHƯƠNG 3: GIẢI THUẬT LAN TRUYỀN NGƯỢC
Trong mạng neuron nhiều tầng, các giá trị output không còn là các tổ hợp tuyến tính
của các giá trị input nữa mà là kết quả của 1 hàm phức tạp hơn. Nhiều bài toán thực tế
nhƣ nhận diện giọng nói, nhận diện khuôn mặt… đã áp dụng giải thuật này để giúp
cho máy học một số ví dụ mẫu, sau đó tính toán output cho cho trƣờng hợp khác.







Ứng dụng mạng neuron nhiều tầng trong nhận diện giọng nói [3]
3.1. Cấu tạo mạng neuron nhiều tầng
Mạng neuron nhiều tầng cũng đƣợc cấu thành từ các phần tử cơ bản tƣơng tự nhƣ các
perceptron. Vì vậy, nó giải quyết đƣợc những bài toán phức tạp hơn.

Kiến trúc mạng neuron nhiều tầng [2]
Chương 3: Giải thuật lan truyền ngược


10
Ngoài ra, để tính toán output, ta thƣờng áp dụng 1 hàm số đặc biệt, gọi là hàm
squashing để output của từng tầng không còn là 1 phân hoạch tuyến tính. Ví dụ: nếu sử
dụng hàm sigmoid để giải quyết 1 bài toán gồm có 2 input, khi đó output sẽ có dạng là
đồ thị của hàm sigmoid trong hệ trục tọa độ Descarte. Kết hợp giữa việc sử dụng hàm
squashing và nhiều tầng, mạng neuron có thể giải quyết đƣợc các vấn đề rất phức tạp.


Thành phần cơ bản của mạng neuron nhiều tầng [3]
Mạng neuron nhiều tầng có cấu tạo gồm ít nhất là 3 tầng (1 tầng input, 1 hoặc
nhiều tầng hidden, 1 tầng output). Tầng input và tầng hidden ta thƣờng thêm 1 phần tử
gọi là bias (đóng vai trò nhƣ một trọng số kết nối giữa tầng trƣớc và tầng sau và luôn
có giá trị là 1). Sơ đồ mạng neuron này chỉ thể hiện đƣợc luồng thông tin từ tầng input
đến output, trong quá trình quay lui, thông tin sẽ đƣợc truyền ngƣợc lại.
3.2. Giải thuật lan truyền ngược
Giải thuật lan truyền ngƣơc là giải thuật dùng để học trọng số cho mạng neuron nhiều
tầng, dùng phƣơng pháp gradient descent để đạt đƣợc sai số nhỏ nhất. Giải thuật bao
gồm 3 giai đoạn: truyền thông tin input qua tầng hidden đến tầng output, truyền lỗi từ
tầng output qua tầng hidden đến tầng hidden, cập nhật lại các trọng số.
Trong giai đoạn đầu, các phần tử của tầng input sẽ đọc các các giá trị input, các
giá trị này sẽ đƣợc truyền đến tầng hidden. Dựa vào các trọng số của mạng và hàm
squashing ta sẽ tính đƣợc giá trị của các phần tử của tầng hidden. Tƣơng tự, tín hiệu sẽ
đƣợc truyền đến tầng output. Tại đây, các giá trị output tính đƣợc sẽ đƣợc so sánh với
các giá trị output mong muốn (giai đoạn 2). Từ đây các giá trị lỗi sẽ đƣợc tính toán và
truyền ngƣợc lại. Ở giai đoạn cuối cùng, dựa vào các giá trị lỗi đã tính đƣợc ở giai
Chương 3: Giải thuật lan truyền ngược


11
đoạn 2 và các giá trị ở giai đoạn 1, mỗi trọng số của mạng sẽ đƣợc điều chỉnh lại để
làm giảm các giá trị lỗi này.
3.2.1. Hàm squashing
Hàm squashing (còn gọi là hàm activation) đƣợc dùng trong giải thuật lan truyền
ngƣợc có các đặc điểm sau: liên tục, khả vi và không giảm. Ngoài ra, để tiện cho quá
trình tính toán, ta thƣờng chọn hàm squashing là những hàm dễ tính toán, dễ tính đạo
hàm. Trong giải thuật này, hàm squashing đƣợc dùng trong giai đoạn 1 (truyền input)
và đạo hàm của nó đƣợc dùng trong giai đoạn 3 (truyền lỗi).


Hàm sigmoid [2]
Một trong những hàm squashing thƣờng đƣợc sử dụng là hàm sigmoid với miền
giá trị là (0, 1):
x
e
xf



1
1
)(

 
)(1)()( xfxfxf 


Ngoài ra, ta cũng có thể sử dụng các hàm khác nhƣ hàm tanh với miền giá trị
1) 1,(
:
xx
xx
ee
ee
xf





)(

  
)(1)(1)( xfxfxf 


Chương 3: Giải thuật lan truyền ngược


12

Hàm tanh [2]
3.2.2. Chi tiết giải thuật lan truyền ngược (sử dụng hàm sigmoid)
Phần này sẽ trình bày chi tiết các bƣớc của giải thuật lan truyền ngƣợc sử dụng hàm
squashing là hàm sigmoid.
Mỗi mẫu là một cặp
),( tx


, trong đó,
x

là vector input của mạng neuron,
t


vector output mong muốn đạt đƣợc tƣơng ứng.

là tỉ lệ học (thƣờng là một hằng số nhỏ),
in

n
là số thành phần trong tầng input,
hidden
n
là số thành phần trong tầng hidden,
out
n
là số thành phần trong tầng output.
Input từ thành phần i đến thành phần j đƣợc kí hiệu là
ji
x
, và trọng số từ thành
phần i đến thành phần j đƣợc kí hiệu là
ji
w
.

Mạng neuron nhiều tầng sử dụng giải thuật lan truyền ngược



Chương 3: Giải thuật lan truyền ngược


13
1. Tạo một mạng neuron gồm
in
n
input,
hidden

n
hidden,
out
n
output.
2. Khởi tạo các trọng số trong mạng bằng các giá trị random (thƣờng là
các giá trị nhỏ trong khoảng -0.5 đến 0.5).
3. Cho đến khi đạt đƣợc sai số mong muốn hoặc đạt đến số lần lặp tối
đa, thực hiện các bƣớc sau:
For each
),( tx


do,
Gán
x

vào các thành phần của tầng input, tính các giá trị
output
u
o
cho mỗi thành phần
u
trong mạng.
Với mỗi thành phần output, tính các giá trị lỗi
k

:
))(1(
kkkkk

otoo 


Với mỗi thành phần của tầng hidden, tính các giá trị lỗi
h

:



outputsk
kkhhhh
woo

)1(

Tính toán lại các trọng số
ji
w
:
jijiji
www 

jijji
xw




Trong giải thuật này, mỗi lần lặp ta sẽ học trên toàn bộ các mẫu. Để đạt đƣợc độ

chính xác mong muốn, ta cần sử dụng một số lần lặp nhất định.
Cơ sở toán học cho giải thuật này là sử dụng hàm gradient descent để làm giảm
lỗi qua mỗi lần lặp. Tuy nhiên, một hạn chế lớn trong giải thuật này là trong không
gian lỗi có thể có nhiều điểm cực tiểu, giải thuật này chỉ đảm bảo là sẽ hội tụ về một
điểm cực tiểu nào đó nhƣng điểm này có thể không phải là giá trị lỗi nhỏ nhất. Điều
này phụ thuộc vào việc chọn kiến trúc cho mạng neuron (số tầng hidden, số phần tử
của mỗi tầng), tỉ lệ học, khởi tạo ngẫu nhiên các giá trị cho các trọng số. Tuy nhiên,
qua một số bài toán trong thực tế, giải thuật này thƣờng cho kết quả khá tốt.

Chương 3: Giải thuật lan truyền ngược


14
3.2.3. Một số lưu ý trong việc áp dụng giải thuật
a. Biểu diễn input, output
Trong giải thuật lan truyền ngƣợc, cách mã hóa các input và output của hệ thống
ảnh hƣởng rất lớn đến tốc độ hội tụ của giải thuật. Trong phần này sẽ trình bày 1 khảo
sát đối với bài toán XOR.
- Trƣờng hợp 1: TRUE = 1, FALSE = 0
- Trƣờng hợp 2: TRUE = 0.8, FALSE = -0.8

Tốc độ hội tụ khi sử dụng biểu diễn nhị phân [2]

Tốc độ hội tụ khi sử dụng biểu diễn (0.8, -0.8) [2]
Chương 3: Giải thuật lan truyền ngược


15
Nhƣ vây, với các mã hóa output khác nhau, tốc độ hội tụ cũng khác nhau. Tốc độ
hội tụ trong trƣờng hợp thứ hai nhanh hơn nhiều so với trƣờng hợp thứ nhất.

b. Khởi tạo các trọng số
Việc khởi tạo các giá trị cho các trọng số rất quan trọng, ảnh hƣởng trực tiếp đến
việc hội tụ cũng nhƣ tốc độ hội tụ. Nếu các giá trị này không thích hợp, thuật toán sẽ
không thể đạt đƣợc cực tiểu (rơi vào các điểm cực tiểu cục bộ). Thông thƣờng, các
trọng số đƣợc khởi tạo bằng các giá trị nhỏ (vì các hàm squashing thƣờng có giá trị
gần với giá trị tiệm cận khi input lớn).
Khi quá trình huấn luyện bị rơi vào cực tiểu cục bộ, ta có thể chọn giá trị ngẫu
nhiên khác cho các trọng số để tiến hành học lại. Đây cũng là cách giải quyết đối với
các bài toán phức tạp, có nhiểu điểm cực tiểu cục bộ.
c. Số ví dụ mẫu
Số lƣợng mẫu quá ít, mạng neuron sẽ không thể tổng quát hóa đƣợc bài toán:

Ảnh hưởng của số lượng mẫu [1]
Trong hình trên, đƣờng nét đứt là hàm số cần xấp xỉ, đƣờng nét liền là hàm số mà
mạng neuron đã học đƣợc. Trong hình A, số lƣợng mẫu quá ít, do đó dù mạng neuron
đã học đƣợc 1 kết quả khá chính xác (so với các mẫu đã cung cấp) nhƣng không thể
hiện đƣợc đúng hàm mong muốn.

Chương 3: Giải thuật lan truyền ngược


16
d. Số tầng hidden
Với nhiều hơn 1 tầng hidden, giá trị của các phần tử cũng nhƣ các giá trị lỗi cũng
đƣợc truyền từ tầng này sang tầng kia. Khi sử dụng nhiều tầng, mạng neuron sẽ có khả
năng thể hiện đƣợc nhiều hàm phức tạp hơn, do đó có thể giải quyết đƣợc nhiều bài
toán phức tạp. Tuy nhiên, lúc này quá trình học sẽ tốn nhiều thời gian hơn.
Nhiều nghiên cứu đã chỉ ra rằng, với 1 tầng hidden, mạng neuron có thể giải
quyết đƣợc đa số các bài toán trong thực tế với độ chính xác cao. Trong một số trƣờng
hợp, 2 tầng hidden có thể giúp giải quyết bài toán dễ dàng hơn.

e. Sử dụng momen
Đây là một kỹ thuật đƣợc áp dụng trong giai đoạn điều chỉnh các trong số. Theo
đó, trọng số ở lần lặp thứ n sẽ đƣợc tính toán theo công thức sau:
)1()(  nwxnw
jijijji


)()1()( nwnwnw
jijiji


trong đó,

là momen – hằng số có giá trị trong khoảng [0, 1). Khi không muốn sử
dụng momen, ta có thể cho
0

, khi đó ta sẽ có thuật toán nhƣ đã trình bày ở trên.
Trong giải thuật lan truyền ngƣợc cơ bản (không sử dụng momen), nếu ta sử
dụng tỉ lệ học nhỏ thì quá trình học sẽ tốn nhiều thời gian để đạt đƣợc cực tiểu. Ngƣợc
lại, khi sử dụng tỉ lệ học lớn, có thể sẽ không đạt đƣợc cực tiểu do dao động quá lớn.
Do đó, giải pháp sử dụng momen tƣơng đối hiệu quả khi tăng tốc độ hội tụ của giải
thuật.

a: tỉ lệ học nhỏ - b: là tỉ lệ học lớn - c: sử dụng momen, tỉ lệ học lớn
Ảnh hưởng của momen đến tốc độ hội tụ [1]
Chương 3: Giải thuật lan truyền ngược


17

3.3. Nhận xét về giải thuật lan truyền ngược
3.3.1. Sự hội tụ và cực tiểu cục bộ
Nhƣ đã trình bày ở trên, giải thuật lan truyền ngƣợc chỉ đảm bảo là hội tụ về cực tiểu
cục bộ, không phải là cực tiểu toàn cục.
Chúng ta có thể áp dụng phƣơng pháp sau để giảm bớt vấn đề cực tiểu cục bộ:
- Sử dụng momen để cập nhật trọng số.
- Huấn luyện nhiều mạng sử dụng cùng một dữ liệu, nhƣng khởi tạo khác nhau
cho mỗi mạng với những giá trị trọng số ngẫu nhiên.
3.3.2. Overfitting
Bản chất việc huấn luyện cho mạng neuron là điều chỉnh các trọng số để đạt đƣợc sai
số nhỏ nhất cho tập huấn luyện. Do đó, nếu tập huấn luyện không đủ tổng quát thì khi
áp dụng cho dự liệu thực sẽ không chính xác. Đây là vấn đề overfitting trong huấn
luyện mạng neuron.

Lỗi so với số lượng cập nhật trọng số [3]


♦ Lỗi trên tập huấn luyện
+ Lỗi trên tập kiểm tra

Chương 3: Giải thuật lan truyền ngược


18
Các nguyên nhân dẫn tới overfitting:
- Quá trình huấn luyện quá lâu nên tính tổng quát của mạng neuron giảm vì quá
gần với tập huấn luyện. Nếu tập huấn luyện không tốt, kết quả trên dữ liệu
thực sẽ không chính xác.
- Sử dụng quá nhiều đơn vị hidden: Nhiều đơn vị hidden có thê mô hình hóa
đƣợc những hàm phức tạp hơn và nhiều mẫu input hơn. Tuy nhiên, với quá

nhiều đơn vị hidden, quá trình mô hình hóa trên tập huấn luyện quá gần với
input, do đó làm cản trở sự tổng quát hóa trên toàn tập huấn luyện.

Ảnh hưởng của số đơn vị hidden đến quá trình huấn luyện [1]
Chương 4: Kết luận


19
CHƯƠNG 4: KẾT LUẬN
Nhƣ vậy, mạng neuron nhiều tầng có thể giải quyết đƣợc rất nhiều bài toán phức tạp
trong thực tế. Qua quá trình huấn luyện ta sẽ có đƣợc 1 hàm số phức tạp với đầu vào là
1 mẫu dữ liệu, đầu ra là lớp dữ liệu tƣơng ứng. Ngoài việc sử dụng để phân lớp dữ liệu
trong khai mỏ dữ liệu, ta có thể sử dụng mạng neuron và giải thuật lan truyền ngƣợc
để xây dựng các hệ thống nhận dạng, hệ chuyên gia… Tuy nhiên, để xây dựng đƣợc 1
mạng neuron chính xác, ứng với mỗi bài toán, ta phải khảo sát để xác định đƣợc các
thông số cho mạng neuron: số tầng hidden, tỉ lệ học, momen, tập huấn luyện. Với
thông số thích hợp, ta sẽ cải thiện đƣợc thời gian huấn luyện cũng nhƣ xây dựng đƣơc
hệ thống với độ chính xác cao.



Tài liệu tham khảo


20
TÀI LIỆU THAM KHẢO
1. Ben Kröse, Patrick Van Der Smagt, 1996, Introduction to Neural Network, The
University of Amsterdam.
2. Laurene Fausett, 1995, Fundamenteal of Neural Network.
3. Tom Mitchel, 1997, Machine Learning, McGraw Hill.



×