LỜI CAM ĐOAN . 01
LỜI CẢM ƠN . 02
MỤC LỤC. 03
DANH MỤC CÁC TỪ VIẾT TẮT . 05
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ . 06
LỜI NÓI ĐẦU . 08
CHưƠNG 1. TIẾP CẬN VẤN ĐỀ THEO HỌC TRONG CÁC CƠ SỞ
ĐÀO TẠO TỪ XA. 10
1.1. Nguyên nhân dẫn đến tình trạng thôi học ở các cơ sở đào tạo từ xa . 11
1.2. Tổng quan về khai phá dữ liệu. 13
1.3. Một số hướng giải quyết cho vấn đề theo học của học viên đào tạo từ
xa . 14
1.4. Phân tích khả năng theo học của các học viên hệ đào tạo từ xa . 15
CHưƠNG 2. MẠNG NƠRON TRONG KHAI PHÁ DỮ LIỆU. 17
2.1. Nguồn gốc, ý tưởng của mạng Nơron. 17
2.2. Mô hình và quá trình xử lý trong nơron nhân tạo . 18
2.2.1. Nơron nhân tạo . 18
2.2.2. Hàm truyền trong nơron . 20
2.3. Cấu trúc và phân loại mạng nơron . 25
2.4. Học và lan truyền trong mạng . 36
2.4.1. Học và tổng quát hoá . 36
2.4.2. Phương pháp học. 37
2.5. Thuật toán luyện mạng. 43
2.6. Cách thức huấn luyện. 45
2.7. Mạng Perceptron và qui tắc học Perceptron . 45
103 trang |
Chia sẻ: honganh20 | Ngày: 03/03/2022 | Lượt xem: 333 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu áp dụng kĩ thuật mạng nơron để dự báo khả năng theo học của học viên đào tạo từ xa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
chọn đặc
trƣng nhƣ Stopword remover, tính độ tƣơng quan giữa tần suất của từ và
nhãn, thì từ bình luận ban đầu ta sẽ thu đƣợc một vector X có k chiều với
các chiều đƣợc tính theo công thức sau:
Việc huấn luyện mạng Perceptron thực chất là quá trình thay đổi các
trọng số của mạng (weights) để có đƣợc kết quả mong muốn. Quá trình huấn
luyện mạng Perceptron đƣợc em thực hiện theo phƣơng pháp Online-learning,
nghĩa là các trọng số của mạng (weights) đƣợc cập nhật ngay lập tức sau khi
một input pattern đƣợc đƣa vào mạng. Với mỗi một đầu vào là một vector X k
chiều nhƣ ở trên, trọng số của mạng Perceptron đƣợc cập nhật theo các bƣớc
sau: Xét các cặp huấn luyện (Xi, si):
Tính đầu ra thực tế
48
Cập nhật từng trọng số
Sau khi duyệt tất cả tập huấn luyện ta tính đƣợc tổng lỗi trung bình
Lặp lại quá trình cho đến khi tổng lỗi trung bình nhỏ hơn e, lƣu lại giá
trị của các trọng số ta thu đƣợc mô hình học máy theo Perceptrons.
Cấu trúc của mạng Perceptron nhiều lớp
Mạng Perceptron nhiều lớp là mạng nơron có cấu trúc nhiều lớp, nghĩa
là các nơron đƣợc phân thành nhiều lớp (số nơron ở mỗi lớp có thể khác
nhau), các lớp đƣợc sắp xếp theo một thứ tự nào đó, các nơron ở lớp trƣớc
đƣợc liên kết đầy đủ với cái nơron ở ngay lớp phía sau.
49
Hình 17: Mô hình mạng Perceptron nhiều lớp
2.8. T uật to n l n tru ền n ợ
Các mạng nơron truyền thẳng nhiều lớp đƣợc huấn luyện bằng phƣơng
pháp học có giám sát. Phƣơng pháp này căn bản dựa trên việc yêu cầu mạng
thực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết quả này với
các đầu ra mong muốn để điều chỉnh các tham số của mạng [12].
Về căn bản, thuật toán lan truyền ngƣợc là dạng tổng quát của thuật
toán trung bình bình phƣơng tối thiếu (Least Means Square - LMS) bởi lẽ nó
cùng sử dụng kỹ thuật giảm theo hƣớng véctơ gradient nhƣng với độ phức tạp
của hàm lỗi lớn hơn. Thuật toán này thuộc dạng thuật toán xấp xỉ để tìm các
điểm mà tại đó hiệu năng của mạng là tối ƣu. Chỉ số tối ƣu (performance
index) thƣờng đƣợc xác định bởi một hàm số của ma trận trọng số và các đầu
vào nào đó mà trong quá trình tìm hiểu bài toán đặt ra
2.8.1 Mô tả thuật toán
Ta sẽ sử dụng dạng tổng quát của mạng nơron truyền thẳng nhiều lớp.
Khi đó đầu ra của một lớp trở thành đầu vào của lớp kế tiếp:
50
ở đây M là số lớp trong mạng, các nơron lớp thứ nhất nhận tín hiệu từ bên
ngoài: a
0
=p
đầu ra của lớp cuối cùng là đầu ra của mạng: a=am
Chỉ số hiệu năng (performance index)
Thuật toán lan truyền ngƣợc sử dụng chỉ số hiệu năng là trung bình
bình phƣơng lỗi của đầu ra so với giá trị đích. Đầu vào của mạng là tập ví dụ
huấn luyện: {(p1,t1),(p2,t2), . . .(pq,tq)}
ở đây pi là đầu vào và ti là đầu ra đích tƣơng ứng (với i=1,2,...q). Mỗi đầu vào
đƣa vào mạng, sau khi tính toán cho đầu ra, đầu ra này đƣợc đem so sánh với
đầu ra mong muốn. Thuật toán sẽ điều chỉnh các tham số của mạng để tối
thiểu hoá trung bình bình phƣơng lỗi:
ở đây x là biến đƣợc tạo thành bởi các trọng số và độ lệch, E là ký hiệu kỳ
vọng toán học. Nếu nhƣ mạng có nhiều đầu ra, ta có thể viết lại phƣơng trình
trên ở dạng ma trận nhƣ sau:
Ký hiệu ̂(x) là giá trị xấp xỉ của F(x) thì ta có xấp xỉ của trung bình bình
phƣơng lỗi nhƣ sau:
Trong đó kỳ vọng toán học của bình phƣơng lỗi đƣợc thay bởi bình phƣơng
lỗi tại bƣớc thứ k.
Thuật toán giảm theo hƣớng cho trung bình bình phƣơng lỗi xấp xỉ là:
51
ở đây α là hệ số học
Luật xích (Chain Rule)
Đối với mạng nơron truyền thẳng nhiều lớp, lỗi không chỉ là một hàm của
chỉ các trọng số trong lớp n, do vậy việc tính các đạo hàm từng phần này là
không đơn giản. Chính vì lý do đó mà ta phải sử dụng luật xích để tính. Luật
này đƣợc mô tả nhƣ sau:
Giả sử ta có f là hàm của biến n, ta muốn đạo hàm của f có liên quan đến một
biến w khác, luật xích này nhƣ sau:
Vậy đạo hàm trong (1) và (2) sẽ là :
Trong đó hạng thức thứ hai ở vế phải của phƣơng trình (1’) và (2’)
đƣợc tính một cách dễ dàng, bởi vì đầu vào của lớp m của mạng là một hàm
của trọng số và độ lệch trong tầng đó:
Do vậy :
52
Ta ký hiệu độ nhạy cảm của ̂ đối với các thay đổi của phần tử thứ j
của đầu vào của mạng tại lớp thứ m là
Khi đó ta có:
Thuật toán giảm theo hƣớng đƣợc biểu diễn nhƣ sau:
Ở dạng ma trận :
Ở đây :
53
Lan truyền ngược độ nhạy cảm
Bây giờ ta cần tính toán nốt ma trận độ nhạy cảm sm . Để thực hiện điều này
cần sử dụng một áp dụng khác của luật xích. Quá trình này cho ta khái niệm
về sự “Lan truyền ngƣợc” bởi vì nó mô tả mối quan hệ hồi qui trong đó độ
nhạy cảm sm đƣợc tính qua độ nhạy cảm sm+1 của lớp m+1.
Để dẫn đến quan hệ đó, ta sẽ sử dụng ma trận Jacobian:
54
Xét thành phần thứ j,i của ma trận trên :
Ở đây :
Nhƣ vậy ma trận Jacobian có thể viết lại nhƣ sau:
Ở đây :
Bây giờ ta viết lại quan hệ hồi qui cho độ nhạy cảm dƣới dạng ma trận:
Bây giờ ta có thể thấy độ nhạy cảm đƣợc lan truyền ngƣợc qua mạng từ lớp
cuối cùng trở về lớp đầu tiên:
Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngƣợc lỗi sử dụng cùng một
55
kỹ thuật giảm theo hƣớng nhƣ thuật toán LMS. Sự phức tạp duy nhất là ở chỗ
để tính gradient ta cần phải lan truyền ngƣợc độ nhạy cảm từ các lớp về các
lớp trƣớc. Bây giờ ta cần biết điểm bắt đầu lan truyền ngƣợc, xét độ nhạy cảm
s
m
tại lớp cuối cùng:
Do :
Nên ta có thể viết :
Biểu diễn dƣới dạng ma trận :
Thuật toán lan truyền ngược có thể biểu diễn như sau :
Xem xét một mạng với Q lớp lan truyền ngƣợc, q=1,2,...,Q; với qneti và
q
yi lần lƣợt là đầu vào và đầu ra của khối trong lớp thứ q. Mạng có m nơron
đầu vào, l nơron ở lớp n, và n nơron đầu ra. Với qwij là trọng số nối từ
q-1
wj
đến qyi.
Đầu vào: các cặp huấn luyện {x(k), d(k) | k=1,2,...,p}, ở đó giá trị đầu vào
của phần tử cuối cùng bằng -1, tức là 1)( 1
k
mx .
ớ 0 (Đặt giá trị n ầu)
- Lựa chọn bƣớc tính (Hằng số học) 0<η<1 và Emax (sai số lớn nhất
cho phép).
56
- Chọn các trọng số ban đầu nối từ phần tử thứ j của lớp (q – 1) đến
phần tử thứ i của lớp q là qwij có giá trị nhỏ và ngẫu nhiên.
- Cho sai số E = 0 và k = 1.
ớc 1 (Vòng lặp huấn luyện)
Áp dụng mẫu vào thứ k, cho lớp đầu vào q=1. Khi đó ta có:
q
yi =
1
yi = xi
(k)
cho tất cả các i = 1,2,3,,m.
ớc 2 (Lan truyền thẳng)
Lan truyền tín hiệu thẳng xuyên suốt mạng sử dụng công thức (1.35) cho
mỗi i và q cho tới khi các đầu ra của lớp đầu ra Qyi đƣợc thực hiện.
).()( 1
j
j
q
ij
q
i
q
i
q ywanetay
ớ 3 (Đo l ờng sai số ầu ra)
Tính toán giá trị sai lệch và tín hiệu sai lệch i
Q cho lớp đầu ra nhƣ sau:
EydE i
Q
n
i
k
i
2
1
)( )(
2
1
;
)'().( )( i
Q
i
Qk
ii
Q netayd
Trong đó: i
Q là tín hiệu sai lệch của nơron thứ i cho lớp ra Q;
là đạo hàm của hàm truyền a(.) theo tổng trọng số của phần tử i của
lớp đầu ra là .
)(
)'(
i
Qi
Q
netd
da
neta
ớc 4 (lan truyền n ợc sai số)
57
Các sai số lan truyền ngƣợc với mục đích để cập nhật các trọng số và
tính toán các tín hiệu sai lệch i
q 1 cho các lớp xử lý:
j
q
i
q
ij
q yw 1.. ; ij
qold
ij
qnew
ij
q www
j
j
q
ji
q
i
q
i
q wneta )( 1'1 ; với q=Q,Q-1,...,2
Trong đó:
- là sai lệch tại thời điểm tính của giá trị trọng số liên kết cập
nhật mới và cũ, liên kết từ phần tử thứ j của lớp q-1 đến phần tử i của lớp q.
- là giá trị trọng số liên kết cập nhật mới từ phần tử thứ j
của lớp (q-1) đến phần tử i của lớp q.
- là giá trị trọng số liên kết cũ từ phần tử thứ j của lớp (q-1) đến
phần tử i của lớp q.
- là tín hiệu ra của phần tử j của lớp (q-1).
ớc 5 (Sau mỗi vòng lặp)
Kiểm tra xem đã lặp hết các giá trị mẫu huấn luyện chƣa, nếu chƣa quay
vòng hết (tức là k<p) tăng k=k+1, và nhảy tới bƣớc 1, ngƣợc lại (tức k=p) thì
chuyển sang bƣớc 6.
ớc 6 (Kiểm tra tổng sai số)
Kiểm tra sự khác nhau giữa tổng sai số và sai số cho phép:
- Nếu tổng sai số nhỏ hơn sai số cho phép (tức là E<Emax) thì kết thúc
quá trình huấn luyện, và ghi lại các giá trị trọng số cuối cùng.
- Trái lại, thì lại gán E=0, k=1 và bắt đầu một quá trình huấn luyện
mới bằng cách nhảy tới bƣớc 1.
58
2.8.2 Sử dụng thuật toán lan truyền ngược
Chọn lựa cấu trúc mạng
Thuật toán lan truyền ngƣợc có thể đƣợc sử dụng để xấp xỉ bất kỳ một hàm
số học nào nếu nhƣ ta có đủ số nơron trong các lớp n. mặc dù vậy, phát biểu
trên chƣa cho ta đƣợc một số cụ thể các lớp và số nơron trong mỗi lớp cần sử
dụng. Ta sẽ dùng một ví dụ để có cái nhìn chi tiết hơn về vấn đề này. Ví dụ, ta
muốn xấp xỉ hàm số sau:
Trong đó i nhận các giá trị 1,2,4 và 8. Khi i tăng thì hàm số cần xét sẽ trở nên
phức tạp hơn do ta sẽ nhận đƣợc nhiều chu kỳ của hình sin trong phạm vi [-
2,2]. Khi đó, mạng nơron với một số nơron cố định sẽ khó có thể xấp xỉ đƣợc
hàm nếu i tăng. Ta sẽ sử dụng ví dụ Function approximation trong thƣ viện
của bộ Matlab 6.0 (tệp nnd11fa.m). Ở đây mạng sử dụng có một lớp n, một
lớp ra, mạng có một đầu vào và một đầu ra.
Lớp n sử dụng hàm Sigmoid, lớp ra dùng hàm tuyến tính. Số nơron trong
lớp n là 3, kết quả xấp xỉ của mạng trong các trƣờng hợp i=1,2,4,8 nhƣ trong
các hình dƣới đây
59
Hình 18: Kết quả xấp xỉ của mạng trong các trường hợp i=1
Hình 19: Kết quả xấp xỉ của mạng trong các trường hợp i=2
60
Hình 20: Kết quả xấp xỉ của mạng trong các trường hợp i=4
Hình 21: Kết quả xấp xỉ của mạng trong các trường hợp i=8
Xấp xỉ hàm
với -2≤x≤2
Khi ta tăng số nơron trong lớp n lên thì khả năng xấp xỉ hàm số của mạng sẽ
61
tốt hơn. Chẳng hạn, xét trƣờng hợp sử dụng 8 nơron trong lớp n và i=8 ta có
đƣợc kết quả sau:
Hình 22: Kết quả xấp xỉ của mạng trong các trường hợp i=8, số nơron lớp ẩn
là 8
Xấp xỉ hàm với -2≤x≤2 khi tăng số nơron
Nhƣ vậy nếu ta muốn xấp xỉ một hàm số mà có số điểm cần xấp xỉ là lớn thì
ta sẽ cần số nơron lớn hơn trong lớp n.
2.9. Đ n về m n n ron
Mạng nơron là một công cụ hữu hiệu trong các mô hình tính toán thông
minh với những đặc điểm chính sau:
- Cho phép xây dựng một mô hình tính toán có khả năng học dữ liệu
cao: Chỉ cần đƣa cho mạng một tập dữ liệu sử dụng trong quá trình học là
mạng có thể phát hiện ra những mối liên kết trong dữ liệu, áp dụng và sử
dụng những mối liên kết này này mà không cần thêm bất kỳ tri thức nào
khác. Khả năng này của mạng nơron giúp cho việc xây dựng mô hình dữ liệu
dễ dàng.
62
- Xử lý các quá trình phi tuyến: Mạng nơron xấp xỉ những ánh xạ phi
tuyến tuỳ ý cho nên hoàn toàn có thể giải đƣợc các bài toán phi tuyến phức
tạp. Nó có thể thực hiện nhiều phép lọc mà những bộ lọc tuyến tính thông
thƣờng không thể thực hiện đƣợc. Đặc trƣng này của mạng nơron rất quan
trọng. Ví dụ nhƣ trong miễn nhiễu, phân lớp và xấp xỉ mạng.
- Khả năng của những quá trình xử song song và phân tán: Có thể đƣa
vào mạng nơron số lƣợng lớn các nơron liên kết với có kiến trúc khác nhau và
theo những lƣợc đồ khác nhau. Mạng nơron có cấu trúc song song rất lớn, nó
có khả năng tăng tốc độ tính toán và có thể sẽ đáp ứng đƣợc những yêu cầu
của các hệ thống cần có độ chính xác cao hơn so với các hệ thống truyền
thống.
- Mạng nơron có khả năng dung thứ lỗi cao: Mạng nơron đƣợc xây
dựng bằng cách mô phỏng hoạt động của não cho nên có thể bắt chƣớc khả
năng dung thứ lỗi của não, có nghĩa là hệ thống có thể tiếp tục làm việc và
điều chỉnh khi có một phần thông tin bị thiếu hoặc sai lệch trong tín hiệu vào.
- Mạng nơron có khả năng thích nghi và tự tổ chức
Dựa trên những đặc điểm trên thì mạng nơron có một số ƣu điểm đáng chú ý
nhƣ :
+ Mạng nơron có thể tự động tìm kiếm tất cả các mối quan hệ có thể có
giữa các nhân tố chính
+ Mô hình hóa tự động các bài toán phức tạp mà không cần biết trƣớc
độ phức tạp của nó nhƣ thế nào
+ Có khả năng đƣa ra những thông tin nhanh hơn nhiều so với các công
cụ khác
Tuy nhiên mạng nơron vẫn có một số nhƣợc điểm nhƣ:
+ Mạng nơron chỉ có thể làm việc với các dữ liệu số
+ Để đạt đƣợc hiệu quả thì cần bộ dữ liệu mẫu rất lớn phục vụ cho quá
trình học
+ Mạng nơron chỉ có tính chất nội suy, khả năng ngoại suy rất yếu
+ Không đƣa ra đƣợc cơ chế giải thích
63
CHƯƠNG 3
KẾT QUẢ NGHIÊN CỨU VÀ PHÁT TRIỂN
3.1. T u t ập ữ l ệu
Dựa theo các nghiên cứu về vấn đề theo học của học viên từ xa thì
chúng ta có thể phần chia các nguyên nhân ảnh hƣởng đến vấn đề theo học ra
thành nguyên nhân chung và nguyên nhân riêng. Nguyên nhân chung là các
nguyên nhân từ cơ sở đào tạo nhƣ chất lƣợng học tập, trình độ giảng dạy,
thiếu sót trong tổ chức . . . và các nguyên nhân ảnh hƣởng từ xã hội. Nguyên
nhân riêng là các nguyên nhân của chính học viên nhƣ vấn đề về tài chính, áp
lực gia đình, thành tích học tập . . . Bởi vì các nguyên nhân chung ảnh hƣởng
tới tất cả các học viên và các cơ sở đào tạo có thể tự chủ động thay đổi để
khắc phục tình trạng này. Do đó chúng ta sẽ sử dụng các dữ liệu liên quan
trực tiếp tới học viên để thực hiện dự báo khả năng theo học của học viên.
Do mặt hạn chế về thu thập dữ liệu, cho nên dữ liệu về hồ sơ học viên
đƣợc sử dụng gồm có 964 học viên bao gồm 14 thuộc tính về: Tuổi, giới tính,
đối tƣợng học, ngành học, ngành tốt nghiệp, tình trạng đóng học phí, các
thuộc tính về tình trạng học tập . . .
3.2. C m n ự o
Dựa theo quá trình tìm hiểu và nghiên cứu, có một số mô hình dự báo để triển
khai nhƣ sau:
Mô hình Đầu v o Đầu r
Dự báo tình trạng
thôi của học viên
Hồ sơ của những học
viên đã tốt nghiệp và
những học viên đã thôi
Tr n t ọ v n
0 – Thôi học
64
học
1 – Tốt nghiệp
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: kỳ x
=2,3,4)
Hồ sơ của những học
viên đã học qua kỳ x
và những học viên đã
THÔI HỌC trƣớc kỳ x
Tr n t ọ v n
0 – Thôi học
1 – Học vƣợt qua kỳ
x
Dự báo khả năng
theo học của học
viên trong quá trình
học
Kỳ x; Tr n t ọ v n
Hồ sơ học viên;
Màu xanh (Học thêm
đƣợc ít nhất 2 kỳ nữa)
Qui mô lớp;
Màu vàng (Kỳ tới sẽ
thôi học)
Điểm tích lũy trung
bình;
Màu đỏ (Kỳ này thôi
học)
Số lần đăng nhập
website, diễn đàn . . .
của cơ sở đào tạo
Tỉ lệ thôi học kỳ trƣớc
3.3. S n p m p ần mềm v ớ ử lý
3.3.1 Khái niệm tiền xử lý tập dữ liệu
Tiền xử lý dữ liệu là thay đổi giá trị của tập dữ liệu trƣớc khi đƣa vào
một mạng nơron. Tiền xử lý sẽ biến đổi dữ liệu để làm cho tập dữ liệu đó
thích hợp với hệ thống mạng nơron. Ví dụ, chuyển giá trị văn bản thành số.
Sau tiền xử lý (post-preprocessing) là thay đổi đầu ra của mạng nơron
để ngƣời dùng dễ hiểu hoặc phù hợp với môi trƣờng thế giới thực. Định lại tỉ
lệ giá trị hoặc mã hóa lại các danh mục (categories).
Mạng nơron chỉ làm việc với dữ liệu số. Cho nên những dữ liệu nhƣ
giống kiểu văn bản về thời gian nhƣ ngày tháng cần phải xử lý. Do đó,
chuyển đổi dữ liệu rất cần thiết trƣớc khi đƣa chúng tới đầu vào của mạng
(preprocessing) và sau đó nhận chúng tại đầu ra (post-preprocessing).
65
Giá trị văn bản có thể chỉ đƣợc sử dụng nếu giá trị văn bản đó đại diện
cho một tập giá trị cuối cùng. Cột có các giá trị đó đƣợc gọi là categories
columns. Chúng cần đƣợc chuyển thành giá trị số trƣớc khi đƣa vào luyện
mạng.
Cần định lại tỉ lệ của các giá trị số trƣớc khi đƣa chúng vào luyện
mạng, bởi vì các nơron nhân tạo có một khoảng giá trị giới hạn các giá trị tính
toán. Do đó, thông tin đầu vào nên đƣợc giảm xuống khoảng giá trị này và
thông tin đầu ra cũng nhận đƣợc từ mạng bằng việc biến đổi ngƣợc lại.
Các Cột với những thông tin về ngày tháng và thời gian thƣờng đƣợc
mã hóa theo chu kỳ, bởi vì trong nhiều trƣờng hợp các dữ liệu đó sẽ ảnh
hƣởng đến vấn đề định kỳ và xác định chu kỳ. Chu kỳ của các dữ liệu cần
phải đƣợc mã hóa thông thƣờng nhất cần đƣợc xác định một cách rõ ràng.
3.3.2 Các thao tác tiền xử lý
Định lại tỉ lệ cột dữ liệu số (Scaling Numeric Columns)
a) Cột dữ liệu số đƣợc định lại tỉ lệ theo công thức sau
( max min)
max min
min ( min)*
SR SR
SF
X X
Xp SR X X SF
Trong đó,
X – giá trị thực của dữ liệu
Xmin – giá trị thực nhỏ nhất của cột dữ liệu (minimum actual
value)
Xmax – giá trị thực lớn nhất của cột dữ liệu (maximum actual
value)
SRmin – giới hạn dƣới của khoảng tỉ lệ mới (lower scaling range)
Srmax – giới hạn trên của khoảng tỉ lệ mới (upper scaling range)
SF – Hệ số tỉ lệ
66
b) Khoảng định tỉ lệ
Đối với cột dữ liệu vào đƣợc định lại tỉ lệ trong khoảng [-1 .. 1].
Đối với cột đích khoảng định tỉ lệ phụ thuộc vào hàm kích hoạt sử
dụng ở lớp xuất (output layer):
Output layer activation function Scaling range
Linear [-1 .. 1]
Logistic [0 .. 1]
Hyperbolic Tangent [-1 .. 1]
Softmax [0 .. 1]
Cột đích sẽ đƣợc tiền xử lý lại tự động nếu hàm kích hoạt thay đổi
trong bƣớc tinh chỉnh mạng ở lớp xuất (output layer).
c) Mặc định, Xmin và Xmax đƣợc lấy từ tập dữ liệu đầu vào.
3.3.3 Mã hóa cột dữ liệu văn bản (Encoding Categorical Columns)
Cột dữ liệu văn bản đƣợc tự động mã hóa trong quá trình tiền xử lý dữ
liệu sử dụng mã hóa dạng One-of-N, Binary hoặc Numeric.
Mã hóa dạng One-of-N nghĩa là 1 cột với N giá trị văn bản (categories
values) khác nhau đƣợc mã thành tập N cột số, với mỗi một cột tƣơng ứng
mỗi giá trị trong N giá trị. Ví dụ, có cột Capacity với các giá trị “Low”,
“Medium” and “High”. Vậy “Low” sẽ đƣợc biểu diễn (mã hóa) thành {1, 0,
0}, “Medium” thành {0, 1, 0}, “High” thành {0, 0, 1}.
Mã hóa dạng Binary nghĩa là 1 cột với N giá trị văn bản (categories
values) khác nhau đƣợc mã thành tập M cột nhị phân, trong đó M bằng với độ
dài số nhị phân đƣợc dùng có thể biểu diễn đƣợc N giá trị khác nhau. Ví dụ,
cột Color có các giá trị “Red”, “Yellow”, “Green”, “Blue”, và “White” sẽ
đƣợc mã thành 3 cột nhị phân. Và Red sẽ đƣợc biểu diễn thành {0, 0, 0},
67
Yellow là {0, 0, 1}, Green là {0, 1, 0}, Blue là {0, 1, 1}, và White là {1, 0,
0}. Ta luôn có đƣợc M <= N (dấu bằng xảy ra khi M = N = 1).
Mã hóa dạng Numeric nghĩa là 1 cột với N giá trị văn bản (categories
values) khác nhau đƣợc mã thành 1 cột số, với 1 số nguyên sẽ đƣợc gán cho 1
giá trị văn bản. Ví dụ, cột Capacity có các giá trị “Low”, “Medium”, và
“High”. Vậy Low đƣợc đại diện bởi giá trị {1}, Medium là {2}, và High là
{3}.
Kiểu mã hóa dạng One-of-N đƣợc khuyến cáo sử dụng bởi tính trực
quan hóa. Mã hóa dạng Binary là lựa chọn tốt để giảm số nút nhập và mã hóa
dạng Numeric có thể đƣợc sử dụng cho dữ liệu văn bản có thứ tự (ordered
categories). Chú ý: trong mã hóa dạng One-of-N và Binary thì -1 có thể đƣợc
sử dụng thay cho 0 phụ thuộc vào hàm kích hoạt.
3.3.4 Mã hóa cột dữ liệu Date/Time (Encoding Date/Time Columns)
Thƣờng thì cột date/time chỉ là các trƣờng hợp định danh và không hữu
ích cho việc nâng cao tính chính xác dự báo. Tuy nhiên, đôi khi chúng lại thể
hiện thống tin quan trọng hữu ích cho việc giảm lỗi dự báo. Ví dụ, doanh số
bán hàng có thể phụ thuộc vào ngày trong tuần hoặc theo mùa.
Nếu nhƣ chúng ta mã giá trị date/time bằng những con số, thì chúng ta
mất thông tin quan trọng về tính chu kỳ. Ví dụ, nếu chúng ta mã Sunday là 1
và Saturday là 7, mạng nơron sẽ “nghĩ” rằng Sunday và Saturday một cách
mơ màng, điều đó là sai. Chúng ta cần mã hóa chu kỳ để đƣa giá trị date/time
một cách chính xác cho mạng nơron sử dụng.
Các cột Date và time đƣợc tự động mã hóa trong quá trình tiền xử lý.
Kiểu dữ liệu Date/Time đƣợc mã trong 2 cột. Các giá trị trong các cột mới
đƣợc tính bởi công thức sau:
68
_1 sin(2 )
_ 2 os(2 )
X
Column
P
X
Column c
P
Trong đó,
X – cột giá trị
P – tính chu kỳ
Ví dụ, để mã hóa một chu kỳ theo tuần P nên đƣợc gán là 7. Đối với cột
Time thì P luôn đƣợc gán là 24.
Các cột dữ liệu kiểu Date cũng có thể đƣợc mã nhƣ kiểu dữ liệu văn
bản (categories) bằng cách sử dụng mã hóa dạng One-of-N.
3.3.5 ản phẩm ph n mềm
Mục đích của chƣơng trình là chạy kiểm thử tập dữ liệu đã thu thập
đƣợc, kiểm chứng độ chính xác của các kết quả mà những mô hình thực hiện
trong đề tài đã đƣa ra. Với mục đích là giải quyết vấn đề của thế giới thực,
cho nên chƣơng trình chỉ bao gồm một số tính năng cơ bản dễ sử dụng nhƣ
phân tích tập dữ liệu, tiền xử lý dữ liệu, luyện mạng, thiết lập kiến trúc mạng,
kiểm tra kết quả luyện mạng . . .
69
Hình 23: Giao diện chính của chương trình
Ch c năng phân t ch
Dữ liệu thu thập đƣợc sẽ đƣợc đƣa vào chƣơng trình tại tab Analysis,
những bản ghi nhiễu, thiếu hoặc dị thƣờng sẽ đƣợc chƣơng trình tự động lọc ở
đây trƣớc khi chuyển sang bƣớc tiền xử lý dữ liệu. Tại tab này các cột (thuộc
tính) dữ liệu sẽ tự động nhận dạng kiểu dữ liệu (cũng có thể tùy chỉnh bằng
tay). Đồng thời tập dữ liệu sẽ đƣợc chia thành ba phần dữ liệu tƣơng ứng với
tập dữ liệu luyện mạng màu xanh nhạt, tập dữ liệu đánh giá mạng màu xanh
đậm, và tập dữ liệu kiểm tra mạng màu đỏ, đồng thời đƣợc mặc định chia tỉ lệ
0.68:0.16:0.16.
70
Hình 24: hức năng phân tích tập d liệu
Ch c năng Tiền xử lý
Các dữ liệu đã đƣợc xử lý tự động từ quá trình phân tích tập dữ liệu tại
bƣớc trƣớc, sẽ đƣợc chuyển đổi từ các kiểu dữ liệu phổ thông thành những
kiểu dữ liệu phù hợp với mạng. Ví dụ nhƣ xác định lại tỉ lệ của kiểu dữ liệu
có thứ tự, mã hóa các dữ liệu văn bản, dữ liệu ngày tháng . . .
71
Hình 25: hức năng tiền xử l d liệu
Ch c năng Huấn luyện
Sau khi phân tích và xử lý bộ dữ liệu đã thu thập đƣợc. Chƣơng trình sẽ
tự động thiết kế cấu trúc mạng mặc định, các tham số mạng và kiến trúc mạng
có thể đƣợc thay đổi bởi ngƣời dùng từ trƣớc khi bắt đầu luyện mạng, điều
này giúp cho mạng có thể hoạt động hiệu quả nhất.
Hình 26: Tùy chỉnh tham số mạng
Sau khi ngƣời dùng thiếp lập các tham số mạng thì mạng sẽ đƣợc tự
động luyện. Kết quả của quá trình luyện màn sẽ đƣợc thể hiện trực quan bằng
72
đồ thị hàm lỗi của mạng dựa trên các tập dữ liệu đã tham gia trong quá trình
luyện mạng.
Có thể thấy đƣợc rằng đồ thị hàm lỗi của tập dữ liệu luyện mạng
(training set) thấp hơn nhiều só với đồ thị hàm lỗi của tập dữ liệu kiểm tra
mạng (validation set). Bởi vì mạng có khả năng làm cho các bộ trọng của
mạng khớp nhất với những gì mà mạng đã đƣợc học. Chính vì thế cần đƣa
thêm vào mạng tập dữ liệu kiểm tra mạng. Khi lỗi trên tập dữ liệu kiểm tra
mạng không giảm mà bắt đầu tăng thì sẽ có đƣợc mạng với bộ trọng tốt nhất,
và có khả năng dự báo với độ chính xác cao nhất.
Hình 27: Đồ thị hàm lỗi của mạng trên các tập d liệu
Ch c năng Thi t lập ki n trúc mạng
73
Hình 28: Thiết lập kiến trúc mạng
Ch c năng Ki m tra k t quả luyện mạng
Với mạng đƣợc chọn thì kết quả dự báo trên các tập dữ liệu là khác
nhai. Phần trăm đúng trên tập dữ liệu Test sẽ đƣợc sử dụng để dự báo trên dữ
liệu của các học viên mới.
Hình 29: Phần trăm đúng trên các tập d liệu tham gia luyện mạng
74
Ch c năng ki m tra t nh ph hợp của mạng
Hình 30: Phần trăm đúng dựa trên d liệu xác minh
Ch c năng Ki m tra
Hình 31: Phần trăm đúng dựa trên tập d liệu Test
Ch c năng Truy vấn k t quả
Nếu muốn dự báo trạng thái của một học viên tại kỳ 4 nhƣ thế nào
75
Ví dụ1: ta có hồ sơ của một học viên nhƣ sau.
Tuổi 34
Giới tính Nam
Đối tƣợng Văn bằng 2
Khác ngành Yes
Ngành Kinh tế
Số môn thi lại kỳ 1 0
Số môn học lại kỳ 1 0
Số môn thi lại kỳ 2 1
Số môn học lại kỳ 2 1
Số môn thi lại kỳ 3 2
Số môn học lại kỳ 3 1
Tình trạng hôn nhân Đã kết hôn
Kết quả PTTH Trung bình
Tình trạng học phí Nợ học phí
Hình 32: ết quả truy vấn
Ví dụ2: Ta có hồ sơ của một học viên nhƣ sau.
Tuổi 34
Giới tính Nam
Đối tƣợng Cao đẳng
Khác ngành No
Ngành Kinh tế
Số môn thi lại kỳ 1 0
Số môn học lại kỳ 1 0
Số môn thi lại kỳ 2 1
Số môn học lại kỳ 2 1
Số môn thi lại kỳ 3 0
Số môn học lại kỳ 3 0
Tình trạng hôn nhân Chƣa kết hôn
Kết quả PTTH Giỏi
76
Tình trạng học phí Không nợ học phí
Hình 33: ết quả truy vấn 2
3.4 o o p n t ữ l ệu
Dựa trên các dữ liệu đã thu thập đƣợc, sau quá trình tiền xử lý và đƣa
vào mô hình mạng nơron để luyện thì nhận đƣợc kết quả nhƣ sau:
Dữ l ệu m u Tỷ lệ m u
THÔI
HỌC
YN
THÔI HỌC SAU KỲ
Kỳ 2 Kỳ 3 Kỳ 4
Tập ữ l ệu t u t ập 100% 52 964 930 912
Tập ữ l ệu lu ện 68% 36 654 632 620
Tập ữ l ệu ểm tr
p ù ợp 16% 8 155 149 146
Tập ữ l ệu ểm tr 16% 8 155 149 146
Kết qu ự o ún 91.67% 68.81% 77.68% 86.00%
77
KẾT LUẬN VÀ KIẾN NGHỊ
Kết qu t ợc
Phƣơng pháp ứng dụng khai phá dữ liệu để dự báo khả năng theo học
của học viên đào tạo từ xa giúp tự động hóa quá trình phát hiện khả năng theo
học của học viên trong tƣơng lai. Thay vì phải sàng lọc thủ công từng hồ sơ
của học viên mất rất nhiều thời gian công sức thì ngƣời dùng chỉ cần đƣa
thông tin hồ sơ của học viên vào chƣơng trình để kiểm tra xem học viên đó có
khả năng theo học hay không. Phƣơng pháp này giúp cho các cơ sở đào tạo
chủ động trong việc tƣ vấn và hỗ trợ cho học viên để họ có thể hoàn thành
khóa học.
H ớng nghiên cứu
Tích hợp với các hệ thống thu thập dữ liệu của cơ sở đào tạo để có thể
Các file đính kèm theo tài liệu này:
- luan_van_nghien_cuu_ap_dung_ki_thuat_mang_noron_de_du_bao_kh.pdf