Chính vì vậy việc nghiên cứu ứng dụng kỹ thuật này cho dữ liệu giáo dục sẽ giúp giải quyết được các vấn đề hạn chế của các kỹ thuật học máy đã nêu trên.Đó là lý do vì sao chúng tôi nghiê
QUANDE TÀI VÀ GIẢI PHÁPÁp dụng giải thuật SFAChúng ta sử dụng tập dữ liệu dưới đây để minh họa các bước thực hiện với thuật giải SFA.
Bang 7: Dữ liệu cho thuật toan SFA Tập dữ liệu sinh viên khoa khoa học máy tính (CS)
Sv3 10.0 | 6.0 78 9.0 46 6.0 8.0 70 1 Tập dữ liệu sinh viên khoa kỹ thuật may tinh (CE)
Như vậy số thuộc tinh của ca hai lĩnh vực là 11 thuộc tính Ta biểu diễn tập dữ liệu theo tập thuộc tính chung cho cả hai lĩnh vực, những thuộc tính không có giá trị được thay bởi giá trị 0:
Bang 8: Dữ liệu chung cho cả hai lĩnh vực A B C D E F G H | J K | Status Sv[ |5.3 |70 [81 |75 15.0 190 1427 /5.0 |0 |0 0 | Ssv2 |25 |45 [00 (53 |56 134 |3.8 |5.0 |0 |0 0 -l Sv3 |10.0 16.0 |76 190 146 16.0 |80 |70 |0 |0 0 | Sv4 |73 16.0 |88 |53 13.0 |0 0 0 95|6./ |8.0 | 1 Sv5 |3.5 |232 |43 |45 |80 |0 0 0 4515.0140 | -l Sv6 |10 |40 {368 |40 |66 | 0 0 0 3.4/5.0 140 | -1
4.4.1 Lựa chon tap các thuộc tính đặc trưng chung (pivot feature) Do đặc thù của tập dữ liệu của chúng ta, khi mỗi chuyên ngành có chung tập các môn học (các môn học đại cương) và tập các môn học riêng (các môn học chuyên ngành) Nên một cách chủ quan, chúng ta có thể chọn tập pivot là tập các môn học đại cương này Hoặc để khách quan, chúng ta có thé sử dụng độ đo thông tin tương hỗ (Mutual Information) dé lựa chon pivot. Độ đo MI được sử dụng để lựa chọn thuộc tính pivot trong giải thuật SCL. Đây là một cải tiễn của giải thuật SCL được gọi là SCL-MI Thay vì dùng số lần xuất hiện của một thuộc tính trên tập dữ liệu để lựa chọn pivot, người ta sẽ dùng độ đo MI để lựa chọn Trong lý thuyết thống kê, độ đo MI được dùng để tính toán sự phụ thuộc lẫn nhau giữa hai biến ngẫu nhiên Độ đo này có công thức tính như sau:
- Trong đó p(x.y) là xác suất đồng thời xảy ra của x và y - p(x), p(y) là xác suất giới han của mỗi giá trị x và y Trong [13] người ta dé xuất cách lựa chọn pivot bang cách tính MI giữa thuộc tính với nhãn lĩnh vực nguồn Cách làm này sẽ giúp tìm ra được những thuộc tính ít phụ thuộc vào nhãn của lĩnh vực nguồn nhất, và người ta xem những thuộc tính này là pivot Tuy nhiên điều này không đảm bảo răng một thuộc tính là pivot trong lĩnh vực nguồn (có giá trị MI nhỏ) cũng là pivot trong lĩnh vực dich Ví dụ dưới day minh họa cách tính MI giữa thuộc tính A (mang hai giá trị 0 hoặc khác 0) với nhãn của lĩnh vực L (mang giá tri 1 hoặc -1) trong bang dữ liệu ở trên ( Bang 8)
Rõ ràng nếu dùng độ đo MI ta cũng lựa chọn được tập thuộc tinh pivot là {A, B, C D+;)
4.4.2 Xây dựng đồ thị phân đôi Cũng giống như giải thuật SCL, giải thuật SFA cũng cần có một tập các phần tu pivot dé thực hiện việc điều chỉnh giữa hai lĩnh vực nguồn và đích Giống như
SCL, chúng ta lựa chọn pivot là tập các môn học đại cương chung cho cả hai ngànhCS và CE Như vay, p = {A, B, C, D, E} Và ta có 2 tập thuộc tính độc lập S,, = {F,G, H} vaS = {I, J, K}
Một van dé đối với việc xây dựng d6 thị phân đôi đối với tập dữ liệu của chúng ta đó là gán trọng số cho một liên kết giữa một thuộc tính trong pivot và một thuộc tính trong lĩnh vực độc lập Đối với bài toán phân loại văn bản người ta sử dụng số lần xuất hiện cùng nhau cua một thuộc tính pivot va một thuộc tính độc lập để đánh trọng số cho liên kết Ở đây, nếu chúng ta sử dụng cách đánh trọng số như vậy sẽ không đạt kết quả tốt vì tần số xuất hiện băng nhau cho các thuộc tính ( băng 3 đối với tập dữ liệu như trên) Ý tưởng của việc xây dựng đồ thị phân đôi chính là gom nhóm 2 thuộc tính ở hai lĩnh vực khác nhau lại khi nó có cùng độ tương tự với
1 thuộc tính pivot Chính vì vậy, chúng ta sẽ sử dụng khoảng cách giữa chúng dé đánh trọng số Ví dụ, một liên kết giữa A và F sẽ có trọng số là khoảng cách giữa 2 vector x¡(5.3, 2.5, 10.0) và xa(9.0, 3.4, 6.0) Cuối cùng từ tập dữ liệu trên ta xây dựng được một đồ thị phân đôi như hình dưới đây
Hình 9: Đồ thị phân đôi biểu diễn liên kết giữa tập pivot và tập lĩnh vực độc lập và bảng trọng số giữa các đỉnh.
Biêu diễn do thị trên dưới dạng ma trận ooo ©
Xây dựng ma trận chéo D với Dị = 3; 4;;
2.89 3.12) 2.78 2.50 2.52 0.87 1.57 2.62 3.80 5.64 ooo co oO ooo co oO
Tiếp theo ta xây dựng ma trận L theo công thức: L = DA D7 Ta được ma trận L
Gia sử ta muôn gom cụm với sô cụm K = 3 Khi đó ta sẽ tìm 3 vector riêng lớn nhat u¡, Us, Uz của ma trận L Từ đó biêu diễn ma trận U = [u¡usus | c R trận U:
Sau đó ta lây ra 6 hang dau tiên của ma trận U dé lam ma trận ánh xa Ta được ma trân U' như sau:
4.4.3 Ánh xạ tập dữ liệu các lĩnh vực vào lĩnh vực chung
Cách ánh xạ tập các vector vào lĩnh vực mới sẽ như sau:
- Doi với môi vector, ta sẽ loại bỏ các thuộc tính pivot Tức là môi vector sv; sẽ có dạng (F, G, H, 1, J, K)
- - Nhân sv; với U' dé có được ma trận giá trị các thuộc tính mới O đây nêu | giá tri trong ma trận nay là am, ta sẽ lây giá tri tuyệt đôi của nó.
Sau cùng, ta có được tập dữ liệu mới như sau:
Bang 9: Dữ liệu mới sau khi được anh xạ A |BIC|ID|IEIEF|IGIH|IlI J | K | new | new | new | Statu
Sv1 [53 |7.0|8.1127515.0190147|15010 |0 |0 |589] 141 1303 | 1 Sv2 |2.5 |4510.015315.6|134135|15.010 |0 |0 | 3.76 | 2.23 |025 |-I Sv3 | 10 |6.0|178190146|16.0180127010 |0 |0 | 483 | 2.54 )}234 | 1 Sv4 |73 |6.0188515515.010 10 10 |95 | 6.7 | 8.0 | 5.65 | 3.21} 145 | 1 Sv5 [35 |25|1431485|80|10 10 |0 |45 | 5.0] 4.0 | 4.13 234404985 |-I Sv6 | 1.0 |4.0|381404166|10 10 10 |34] 5.0} 4.0 | 3.24 | 2.32 | 1.23 | -l
Sau đó ta sẽ tién hành huấn luyện trên tập dữ liệu mới này.
Áp dụng giải thuật SCLChúng ta sử dụng lại tập dữ liệu của giải thuật SFA để minh hoa cho SCL
Bang 10: Dữ liệu cho giải thuật SCL Tập dữ liệu sinh viên khoa khoa học máy tính (CS)
Tập dữ liệu sinh viên khoa kỹ thuật may tinh (CE)
Bước đầu tiên của giải thuật chúng ta cần phải xây dựng bộ phân lớp dự đoán các phan tử pivot với 5 phan tử trong tập pivot (A, B, C, D, E) chúng ta cần 5 bộ phân lớp tương ứng với mỗi phân tử.
Gia sử chúng ta muốn tính vector trọng số w cho pivot A Khi đó tập dữ liệu được huấn luyện để dự đoán A sẽ như sau (các thuộc tính NA được cho là 0, nếu vector có giá tri A != 0 sẽ có status bang 1 và ngược lại nêu A = 0 sẽ có status băng -1):
Bang 11: Dữ liệu dùng dé xây dung bộ huấn luyện dự đoán pivot A
Dat w = (Wy , Wo, W3,W4,W5, Wo W7,W7,Wg ,Wo, Wio, Wịi) Khi đó chung ta sé di giai phuong trinh sau: w` =argmin Qí-; L(w sv; , p(sv;)) + A||W ||?) Œ
Trong đó p(sv,) là các giá trị của status ở bảng trên Hằng số chuẩn hóa  10° như trong [17], [18].
` 2 2 2 2 2 2 2 2 2 2 2 và ||W||f = wi + wo + W4“ + wa +Wws + We + W2 + We + Wo + Win + Wi]
Giá tri của hàm lost function L sẽ được tính theo công thức cua Huber như sau: [mục 5.1 - 17]
— 4 wsv;.p(sv;) ,néu wsv;.p(sv;) < —1 L=4(1— wsv; p(sv;)? , rếu — 1< (1— wsv;.p(sv;) < 1
0 neu wsy;.p(sv;) 3 1 Đề giải phương trình tối ưu (*) chúng ta sẽ sử dụng kết hợp giữa ham Lost function được tính theo công thức Huber ở trên và giải thuật Stochastic Gradient
Descent (SGD) như đã dé cập trong phan tìm hiểu giải thuật SCL Chương 2.
Với tập dữ liệu như trên, sau bước này ta được một ma trận trọng số Wixs- Và bước tiếp theo của giải thuật, ta sẽ tiễn hành thu giảm số chiêu của ma trận trọng số băng phương pháp SVD (singular value decomposition) Dé minh hoa cho phương pháp SVD nay, tôi xin lay một vi dụ đơn giản hơn chứ không tinh toán trên ma trận chúng ta thu được ở kết quả trên (ma trận Wj, x5 ), tức là ma trận W có
Sau đây là các bước khai triển SVD cho ma trận W dạng như sau:
- Ta tìm các giá trị riêng của ma trận W7W
- Giải phương trình det (W- 2.1) = 0 ta được các giá trị riêng của ma trận W“W/ là A, =2 A, =1,^2s=0.
- Với mỗi giá trị riêng A;, giải phương trình (W - A; Dx = 0 ta được các vec tơ riêng tương ứng là:
F142 1/42 0 Ta được ma trận VÌ = 0 0 |NGHIỆM VÀ DANH GIAChuẩn bị dữ liệu chạy thực nghiệmTập dữ liệu điểm của sinh viên ngành Khoa Học Máy Tính (CS) từ năm 2005 đến năm 2008 và ngành Kỹ Thuật Máy Tính (CE) từ năm 2008 đến năm 2009, khoa Khoa Hoc va Kỹ Thuật May Tính, trường Đại hoc Bách Khoa TP.HCM CS và CE cùng đi theo chương trình 2008 Tập dữ liệu ngành CS gồm 1334 sinh viên với 43 thuộc tính điểm va 1 thuộc tính nhãn lớp, tương ứng với 3 bộ dữ liệu cho năm 2, năm 3 và năm 4 Tập dữ liệu ngành CE gồm 187 sinh viên với 43 thuộc tính điểm và | thuộc tính nhãn lớp, tương ứng với 3 bộ dữ liệu cho năm 2, năm 3 và năm
Bước 1: Chuẩn bị dữ liệu thực nghiệm.
Bước 2: Xây dựng không gian chung Ô cho tập dữ liệu nguồn va dir liệu đích dùng giải thuật SCL,SFA.
Bước 3: Chuyển đổi dữ liệu nguồn và dit liệu đích theo 0 với thông số h thay đối.
Bước 4: Hoc mô hình phân lớp với từng tập nguồn đã chuyển đôi ở bước 3.
Bước 5: Đánh giá các mô hình phân lớp.Chọn kết quả tốt nhất dé tiễn hành chạy xử lý với dữ liệu ngăn và thưa
Bước 6: Xử lý với kỹ thuật dữ liệu ngăn và thưa trên tập dữ liệu ở bước 3 Lap lại bước 4,5Hình 10: Quy trình chạy thực nghiệm
5.2.1 Dinh dạng tập dữ liệu
Dữ liệu được thu thập từ kết quả học tập của sinh viên ngành CS và ngành CE Mỗi cột trong tập tin là một môn học (ký hiệu băng mã môn học), cột cuối cùng là cột xếp loại sinh viên (có 3 loại sinh viên xem xét trạng thái học tập của sinh viên: đang theo học, đã tốt nghiệp và bị thôi học), mỗi hàng là dữ liệu về điểm của một inh viên đại học thuộc một trong hai ngành CS và CE Môn học nào sinh viên chưa học thì điểm sẽ được gán giá trị 0, môn học nào sinh viên đã học rồi thì điểm chính là điểm tổng kết của môn học đó Dữ liệu điểm ngành CS và CE có 43 thuộc tính điểm đại diện cho 43 môn học và 1 thuộc tính nhãn lớp Trong đó, có 28 môn học chung và mỗi ngành có 15 môn học khác nhau.
Tập dữ liệu này được lưu trong các tập tin excel có khuôn dạng như sau:
Bang 12: Khuôn dạng cua tap dữ liệu ee2 s001001 s001004 s001025 " Status
7.7 6.6 5 3.4 wee studying 5.5 5 4.6 6.7 wee graduating 8.1 7 74 6.4 wee graduating 10 8.4 5.8 7.2 bee graduating 5.5 5.8 7.2 74 bee graduating 0.6 7.2 6.7 7.7 wee studying 5.3 48 5.8 6.3 bee graduating
5.2.2 Dic điểm của tập dữ liệu Chúng tôi tiễn hành thực nghiệm trên 3 bộ dữ liệu: Year2 (dữ liệu điểm của sinh viên năm thứ hai), Year3 (dữ liệu điểm của sinh viên năm thứ ba), Year4 (dữ liệu điểm của sinh viên năm thứ tư).
Nhìn chung, đến năm thứ tư, sinh viên học được nhiều môn hơn các năm ba, năm hai Do đó, dữ liệu điểm của sinh viên năm thứ 4 có day đủ cột điểm hon năm 3 và điểm của sinh viên năm 3 đầy đủ hơn năm 2.
5.2.3 Các trường hợp chạy thực nghiệm với tập dữ liệu
Trong phan này chúng tôi trình bày các cách chúng tôi chạy thực nghiệm với bộ dữ liệu, phần này chúng tôi sử dụng cách chia tập dữ liệu giống như trong [21] - tức là chia tap CE thành các fold và thử nghiệm với các trường hợp khác nhau.
Chúng tôi sử dụng hàm được xây dựng sẵn của Matlab để việc chia này được làm một cách tự động.
5.2.5.1 Chi dùng tập dữ liệu CE
Trong trường hợp này chúng tôi chỉ dùng tập dữ liệu CE để huấn luyện mô hình và kiểm tra Chúng tôi chia tập CE làm 5 fold và luân phiên dùng 4 fold xây dựng mô hình và kiểm tra trên fold còn lại Sau đó lẫy trung bình trên 5 lần chạy 5.2.3.2 Toàn bộ tập dữ liệu nguôn không qua chuyển đổi
Trong trường hợp này chúng tôi sẽ dùng tập dữ liệu CS để huấn luyện mô hình và dùng nó dự đoán cho tập dữ liệu CE Chúng tôi không áp dụng kỹ thuật học chuyển đổi trong trường hợp này Đây là trường hợp chúng tôi giả định chúng ta sử dụng trực tiếp mô hình đã được xây dựng bởi dữ liệu CS, mục đích của việc kiểm nghiệm này là để xem nếu chúng ta không áp dụng kỹ thuật học chuyển đổi liệu chúng ta có thé sử dụng trực tiếp mô hình của ngành CS cho ngành CE được hay không Dé sử dụng lai được mô hình thì yêu cầu 2 tập dữ liệu CE và CS phải có số chiều băng nhau - số chiều bằng 43 Chúng tôi ánh xạ các thuộc tính của 2 tập dữ liệu như sau:
- Các môn học chung của 2 ngành sẽ có thuộc tính là như nhau
- Các môn học khác sẽ được ánh xạ theo cảm tính chủ quan dé đánh gia su tương đương cua 2 môn hoc.
4.2.3.3 Toàn bộ dữ liệu nguôn có gia tăng
Trong trường hợp này, chúng tôi xây dựng không gian chung từ toàn bộ tập dữ liệu nguồn và một phan dữ liệu đích. Để tránh tình trạng chồng lap dữ liệu, chúng tôi chia tập CE thành 5 fold khác nhau rồi luân phiên dùng 4 fold tham gia vào quá trình xây dựng không gian chung và fold còn lại chúng tôi dùng dé kiểm tra bộ phân lớp. Đầu vào của thuật toán: tập dữ liệu điểm ngành CS và một phần dữ liệu điểm ngành CE (4 fold/ 5 fold)
Tập dữ liệu huấn luyện: ánh xạ toàn bộ tập dữ liệu ngành CS vào trong không gian chung, lay kết quả đạt được gộp với phan dữ liệu ngành CS ban dau.
Tập dữ liệu kiểm tra: ánh xạ phan còn lại cua tap dir liệu ngành CE vào trong không gian chung, lay kết quả dat duoc gộp với phan dữ liệu ngành CE ban dau dé tạo tập dữ liệu kiểm tra Dùng tập dữ liệu này để kiểm tra mô hình phân lớp.
Chúng tôi lẫy trung bình của các độ đo qua 5 lần kiểm tra để làm kết quả cuối cùng.
4.2.3.4, Toàn bộ tập dữ liệu nguồn không có gia tăng
Trong trường hop này, xây dựng không gian chung tu toàn bộ tập dữ liệu nguôn va một phan dữ liệu đích.
Chúng tôi chia tập CE thành 5 fold khác nhau rồi luân phiên dùng 4 fold tham gia vào quá trình xây dựng không gian chung, va fold còn lại dùng dé kiểm tra bộ phân lớp Khác với trường hợp Toàn bộ dữ liệu nguồn có gia tăng trường hợp này chúng tôi không dùng 4 fold của CE vào việc xây dựng mô hinh huấn luyện Chúng tôi cũng lần lượt dùng các fold để kiểm tra và lẫy trung bình của các độ đo.
5.2.3.5, Chi dung khong gian chung
Trong trường hop này, không gian chung của dữ liệu nguồn va dữ liệu dich chính là những chiều chung của hai tập dữ liệu Tức là chúng tôi chỉ giữ lại những môn học chung của hai ngành, những môn học khác nhau sẽ được cắt bỏ Như vậy tập dữ liệu CS và CE đều có cùng 29 thuộc tính bao gồm 28 thuộc tính môn học chung và | thuộc tính nhãn lớp.
Sau đó chúng tôi đi xây dựng mo hình phân lớp trên tập dữ liệu CS và dùng nó dé kiểm tra trên tập dữ liệu CE Mục đích của việc làm này chúng tôi muốn kiểm tra xem không gian chung có ảnh hưởng như thế nào trong việc huấn luyện mô hình phân loại.
5.2.3.6 Xử lý dữ liệu ngắn và thưa
Chúng tôi sẽ lay tập dữ liệu trong những trường hợp tốt nhất của trường hợp Toàn bộ tập dữ liệu nguồn có gia tăng để tiến hành xử lý với dữ liệu ngăn và thưa Trong trường hợp này, chúng tôi xem như toàn bộ tập dữ liệu CE là chưa được gán nhãn, chúng tôi cũng chia tập dữ liệu CE thành 5 phần
Chúng tôi sẽ luân phiên lẫy toàn bộ tập dữ liệu CS và 4 fold dữ liệu CE cho việc huấn luyện mô hình Fold còn lại chúng tôi dùng để kiểm tra và lay trung bình của 5 lần chạy.
5.3 Giải thuật phân lớp dùng trong chạy thực nghiệm
TONG KET6.1 Đóng góp cua luận van
Chúng tôi đã tìm hiểu về kỹ thuật học chuyển đổi, các hướng tiếp cận kỹ thuật học chuyển đổi thông qua các giải thuật tiêu biểu Bên cạnh đó, chúng tôi cũng tìm hiểu nhiều công trình về kỹ thuật học chuyển đổi, bài toán phân lớp với dữ liệu giáo dục, giải quyết được nhiệm vụ mà mục tiêu của đề tài Ngoài ra, chúng tôi còn dé xuất cách xử lý van dé đối với dữ liệu ngăn và thưa, dé xuất giải thuật phân loại dựa trên giải thuật Co-Training.
Chúng tôi cũng đã trình bày một cách chi tiết về cách áp dụng của hai cách tiếp cận cơ bản của học chuyền đổi đối với bài toán phân lớp giáo dục tại khoa đó là tiếp cận dựa trên đối tượng và thuộc tính Áp dụng hai giải thuật tiêu biểu của kỹ thuật học chuyển đổi là SFA và SCL vào bài toán phân loại dữ liệu giáo dục.
Chúng tôi cũng đã đưa ra được các cách xử lý để có thể tạo ra mô hình huấn luyện hiệu quả trong tình huống chúng ta có tập dữ liệu trong lĩnh vực nguồn đã được gan nhãn, tập dữ liệu trong lĩnh vực đích có hoặc không có dữ liệu gan nhãn.
Trong trường hợp tập dữ liệu trong lính vực đích đã được gán nhãn chúng ta có thể lựa chọn giải pháp tạo ra mô hình với dữ liệu nguồn có gia tăng như mô tả trong 5.2.3.3 Còn nếu tập dữ liệu trong lĩnh vực đích chưa được gán nhãn chúng ta có thể lựa chọn giải pháp xử lý với dữ liệu ngắn và thưa 5.2.3.6 - vì đây là một kỹ thuât phân loại bán giám sát.
Cách đánh giá của kỹ thuật chuyển đổi cho bài toán của dé tài là cải biên phương pháp cross-validation Trong cách đánh giá nay, tập dữ liệu kiểm tra được tách riêng so với tập dữ liệu huấn luyện, và chúng tôi đánh giá xoay vòng các fold của tập dữ liệu để có được kết quả đánh giá một cách toàn diện trên tập dữ liệu. Đối với tiêu chí đánh giá mức độ hiệu quả của quá trình xây dựng mô hình phân lớp, chúng tôi đi theo cách tiếp cận là cải tiến độ chính xác của mô hình phân lớp Chúng tôi cũng đã phát triển một công cụ cho phép chạy tự động các thử nghiệm với các thông số khác nhau Từ đó chúng ta có thể dễ dàng lựa chọn ra mô hình tốt nhất.
6.2 Hướng phát triển tiếp theo
Nhăm mục tiêu hiểu và áp dụng các kỹ thuật học chuyên đối nên chúng tôi bỏ qua một số bước cơ bản của quá trình tiền xử lý dữ liệu chăng hạn khi xử lý dữ liệu điểm môn học bị thiếu do sinh viên không học, chúng tôi đã gan giá tri băng 0.
Chúng ta cần có bước xử lý những vấn đề này để cho ra kết quả tốt hơn.
Mở rộng bài toán không những chi áp dụng kỹ thuật học chuyển đổi cho hai ngành của cùng một khoa mà chúng tôi sẽ mở rộng cho các khoa khác nhau Ngoài ra sẽ áp dụng kỹ thuật học chuyển đổi khi có sự thay đổi về chương trình dao tao trong tương lai.