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

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

pdf103 trang | Chia sẻ: honganh20 | Ngày: 03/03/2022 | Lượt xem: 333 | Lượt tải: 3download
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:

  • pdfluan_van_nghien_cuu_ap_dung_ki_thuat_mang_noron_de_du_bao_kh.pdf
Tài liệu liên quan