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

sử dụng mạng neural trong việc dự đoán kết quả đậu đại họ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 (1.42 MB, 40 trang )

GVHD: TS. Phạm Trần Vũ
HVTH: Thái Trung Hải
TRƯỜNG ĐẠI HỌC LẠC HỒNG
KHOA CÔNG NGHỆ THÔNG TIN
  
Sử dụng mạng neural trong việc
dự đoán kết quả đậu đại học
NỘI DUNG CHÍNH
Phần I: Tổng quan về mạng neural
Phần II: Giới thiệu về mạng neural đa lớp truyền thẳng và
giải thuật lan truyền ngược.
Phần III: Ứng dụng mạng neural xây dựng chương trình
dự đoán điểm và khối thi đại học.
Tổng quan về mạng neural
Định nghĩa Neural nhân tạo
Neural nhân tạo (ANN - Artificial Neural Networks) là
sự mô phỏng lại một cách đơn giản nhất của neural sinh học.
Mỗi một neural nhân tạo được tạo ra sẽ có nhiệm vụ tổng
hợp các thông tin đầu vào và chuyển đổi thành thông tin một
tín hiệu ở đầu ra.
Mô hình cấu trúc một Neural với đầu
vào là đại lƣợng vô hƣớng
Đầu vào một neural có thể là các đại lượng vô hướng
(p) hoặc có hướng, các đại lượng này được nhân với
các trọng số (w) tương ứng của nó mà trên từng
neural có sẵn và có thể cộng thêm một ngưỡng (b)
(bias) (thường b=1).
a = F(wp)
Neural không ngưỡng
F(x
)


P
W
n a
a = F(wp+b)
Neural có ngưỡng
F(x
)
P
W
n a
b
Hình 1.2. Cấu trúc một Neural với ngõ vào vô hướng
Cấu trúc một Neural với vectơ nhập

bpwn 
Một neural với vector nhập p = [p1, p2,…., pR], trọng
số W = w1,1, w1,2, …. W1,R, ngưỡng b và hàm truyền
f. Tổng đối số và ngưỡng tạo ở ngõ ra n là:
Hay
F(x)
n
a = F(wp+b)
Neural có ngưỡng
Pi
Wij
a
b
Hình 1.3. Cấu trúc một neural với vectơ nhập
Định nghĩa Mạng Neural nhân tạo
Mạng neural nhân tạo là sự liên kết giữa các neural nhân

tạo với nhau. Mỗi liên kết giữa các neural đi kèm theo một
trọng số nào đó mang một tính đặc trưng là tính kích thích
hay ức chế giữa các neural. Các neural còn được gọi là các
nút (node). Các nút này được sắp xếp theo một thứ tự nhất
định trong mạng và được chia thành ba lớp. Lớp đầu vào
(input player), lớp đầu ra (output player) và lớp ẩn (hiden
layer).
Mô hình mạng nhiều lớp Neural
Hình 1.5. Mô hình mạng nhiều lớp neural
 Chức năng phân loại mẫu: Phân loại mẫu là sự phân
chia các mẫu ra thành các nhóm khác nhau, các
nhóm này sẽ có chung một số đặc điểm nhất định nào
đó
 Học và tổng quát hóa: Học là việc mạng neural thu
thập đƣợc các thông tin, các mẫu, các tri thức ở đầu
vào và các thông tin, các mẫu, các tri thức tƣơng ứng
ở đầu ra và mạng có thể học để phân loại đƣợc
chúng cho thật là chính xác.
Một số chức năng của
mạng neural nhân tạo
Kiến trúc mạng neural nhân tạo
Kiến trúc mạng neural nhân tạo được xác định bởi:
 Số lượng các tín hiệu đầu vào/ đầu ra
 Số lượng tầng trong mạng
 Số lượng các neural trong mỗi tầng
 Số lượng các trọng số (các liên kết) đối với mỗi
neural
 Cách liên kết giữa các neural (trong một tầng hoặc
giữ các tầng) với nhau.
 Những neural nhận các tín hiệu điều chỉnh lỗi.

Các tầng của ANN
Input
Hidden layer
bias
Hidden output
Output
- Một tầng đầu vào (input layer): tiếp nhận các tín hiệu đầu
vào.
- Một tầng đầu ra (output layer): phát tín hiệu ra khi mạng
cho ra kết quả “đáp lại” tín hiệu nhận từ lớp đầu vào.
- Tầng ẩn (hidden layer): đóng vai trò như bộ lọc “thông
minh”.
Hình 1.6. Ví dụ một ANN với 1 tầng ẩn
Các dạng mạng neural của một ANN

 Mạng liên kết đầy đủ (fully connected): nếu mọi đầu ra từ
một tầng liên kết với mọi neural của tầng kế tiếp.
 Mạng lan truyền tiến (feedforward network): nếu không có
bất kỳ đầu ra của một nút là đầu vào của một nút khác
thuộc cùng tầng (hoặc thuộc một tầng phía trước).
 Mạng phản hồi (feedback network): nếu có đầu ra của một
nút liên kết ngược lại làm các đầu vào của một nút thuộc
cùng tầng (hoặc thuộc một tầng phía trước).
 Mạng hồi quy (recurrent network): nếu các mạng phản hồi
có các vòng lặp kín (closed loops).
Hoạt động của một mạng neural
Xi
Wi
F(net)
Mỗi neural nhận dữ liệu đầu vào (từ dữ liệu gốc hoặc từ các

neural khác trong mạng). Mỗi kết nối đến ngõ vào được gán
một cường độ (hay trọng số). Các trọng số này có thể nhận
giá trị âm, khi đó các synapse có tác dụng kiềm chế hơn là
kích hoạt neural. Tín hiệu được truyền qua hàm kích hoạt
(hay gọi là hàm truyền) tạo ra giá trị ngõ ra neural.
Hình 1.7. Cấu tạo 1 neural
Các phƣơng pháp học trong ANN
 Học có giám sát (Supervised Learning)
 Học không có giám sát (Unsupervised Learning)
 Học tăng cƣờng (Hydrid Learning)


Chƣơng II. GIỚI THIỆU MẠNG
NEURAL ĐA LỚP TRUYỀN THẲNG
VÀ GIẢI THUẬT LAN TRUYỀN
NGƢỢC
Tổng quan về mạng neural đa lớp truyền
thẳng(Multilayer Perceptrons - MLP)
ANN là mô hình học từ dữ liệu có trước dựa trên cơ chế
tổ chức và xử lý thông tin giống trong bộ não người.
Thông qua quá trình học các mẫu dữ liệu trong tập dữ liệu
cho trước thu thập được, ANN tự thay đổi chính minh và
càng lúc càng tích lũy thêm nhiều kinh nghiệm để giải
quyết tất cả các vấn đề.
Kiến trúc mạng
 Mạng Perceptron là mạng neural có kiến trúc truyền
thẳng và đa lớp: có thể có một hoặc nhiều lớp ẩn. Mỗi
lớp trong mạng có một ma trận trọng số W, vectơ bias
b, vectơ net input n và vectơ đầu ra a.
Mạng lan truyền ngƣợc

(Neural Backpropagation)
 Năm 1986, Rumelhart và McClelland giới thiệu thuật
toán lan truyền ngược (BP) cho mô hình mạng nhiều
lớp. Mô hình mạng lan truyền ngược thường dùng có
dạng: một lớp nhập – một lớp ẩn – một lớp xuất. Giả
sử cho một tập luyện K mẫu {(xi,yi),…, (xk,yk) }, thuật
toán lan truyền ngược cung cấp kỹ thuật hiệu chỉnh
các trọng số Wij trong mạng nhằm phân lớp các giá trị
đầu vào một cách chính xác, hay nói cách khác: mạng
có thể “học” và “hiểu” được dữ liệu đưa vào.
Lan truyền tiến
 Lan truyền tiến: là quá trình tính giá trị đầu ra {z1, z2, …,
zN} dựa trên những trọng số có sẵn. Giả sử tại một nút
mạng, giá trị xuất Zj được tính:
Zj = f(u); với u = x1.w1j + x2.w2j + … + xn.wnj + w0
Hàm f() được gọi là hàm truyền có dạng chữ S nếu có các
tính chất sau:
 Bị chặn
 Đơn điệu tăng
 Hàm liên tục trơn
Lan truyền ngược: là quá trình cập nhật lại các trọng số
mạng W dựa trên sai số trung bình bình phương. Gọi
wt là trọng số tại bước thứ t, công thức cập nhật trọng
số là:


được tính theo công thức (2), công thức này cần xác
định giá trị:





trong đó w là giá trị đưa vào hàm truyền f(u) tương ứng
ở mỗi nút.
ttt
www 
1
w
u
w
u
u
E
w
E












t
w
(8)

(9)
Lan truyền ngƣợc
Với mạng đang xét là mạng 3 lớp, tại nút xuất z theo quy
tắc chuỗi:


Đạo hàm của sai số trung bình bình phương và hàm
logistic được tính:




u
z
z
E
u
E









tz
z
E




)1( zz
u
z



(10)
(11) (12)
Vậy giá trị tại nút xuất z được tính:

)1()( zztz
u
z
z
E
u
E
out












trong công thức (9) giá trị (theo công thức 3)
diễn tả sự thay đổi của u vào sự thay đổi của trọng số w.
i
x
w
u



(13)
w
E










j
yzztz
zztz
w
E
)1()(

)1()(






ij
j
xpb
pb
w
E
trọng ngưỡng
các nút ẩn y
j

trọng ngưỡng
các nút nhập x
i

Do đó, giá trị
tại nút xuất được tính:
tương tự cho nút ẩn thứ j:

(14)
(15)
với p = (z-t)z(1-z); bj là trọng số cung nối từ nút ẩn thứ j
đến nút xuất.
Nói tóm lại, khi quá trình lan truyền ngược thực hiện, các

trọng số sẽ được cập nhật sao cho sai số trung bình bình
phương có xu hướng giảm dần. Quá trình lan truyền tiến
và lan truyền ngược được thực hiện xen kẽ nhiều lần cho
đến khi đạt được giá trị sai số trung bình bình phương E
mong muốn.
Các kỹ thuật cải tiến thuật toán lan
truyền ngƣợc
 Khởi tạo và cố định tốc độ học (Fixed calculation of the
learning rate)
 Giảm tốc độ học theo quá trình học (Decreasing learning
rate)
 Điều chỉnh tốc độ học theo mỗi mẫu luyện (Learning rate
adaptation for each training pattern)
 Tiến hóa tốc độ học (Evolutionary adapted learning rate)
 Điều chỉnh tốc độ học bằng thay đổi tín hiệu gradient
(Learning rate adaptation by sign changes)
 Ngăn lỗi bão hòa (Error Saturation Prevention)

×