Trong số các giải thuật thường dùng cho bài tốn phân lớp, giải thuật Neural Network cĩ độ chính xác cao nhưng mơ hình khĩ hiểu đối với người dùng và thời gian chạy thường lớn; giải thuật
GIỚI THIỆU
Phát biểu vấn đề
Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ thông tin cũng như phần cứng máy tính đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh đáng kể Bên cạnh đó, việc ứng dụng công nghệ thông tin vào mọi lĩnh vực sản xuất, kinh doanh, quản lý, … đã tạo ra một lượng dữ liệu lưu trữ khổng lồ Bên cạnh việc tổ chức lưu trữ và quản lý dữ liệu, nảy sinh nhu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để chuyển đổi lượng dữ liệu khổng lồ trên thành các tri thức có ích Nhu cầu này đã dẫn đến một khuynh hướng kỹ thuật mới là
Khai phá dữ liệu (Data Mining), đôi khi còn được gọi là Khám phá Tri thức trong các Cơ sở dữ liệu (Knowledge Discovery in Databases – KDD), với nhiều phương pháp, giải thuật và mức độ hiệu quả khác nhau Khai phá dữ liệu (KPDL) là lĩnh vực khám phá những thông tin hữu ích và tiềm tàng từ những lượng dữ liệu lớn
KPDL đã được ứng dụng trong rất nhiều lĩnh vực, bao gồm cả những lĩnh vực như bán lẻ (retail sales), sinh tin học (bioinformatics), và chống khủng bố (counter- terrorism) Trong những năm gần đây, ngày càng nhiều người quan tâm đến việc sử dụng KPDL để giải đáp các vấn đề khoa học bên trong việc nghiên cứu về giáo dục, một lĩnh vực nghiên cứu gọi là Khai phá Dữ liệu Giáo dục (Educational Data Mining – EDM) EDM là quá trình chuyển đổi dữ liệu thô được sưu tập bởi các hệ thống giáo dục ra thành những thông tin hữu ích, có thể được dùng để trợ giúp việc đưa ra những quyết định sáng suốt và giải đáp một số vấn đề nghiên cứu trong lĩnh vực giáo dục
Trào lưu nghiên cứu EDM này lên đến đỉnh điểm vào năm 2008, với sự thành lập Tổ công tác về Khai phá Dữ liệu Giáo dục Quốc tế (International Working Group on
Educational Data Mining 1 ), và Tạp chí Khai phá Dữ liệu Giáo dục (Journal of
Một trong những bài toán KPDL hữu ích nhất (và có lẽ được nghiên cứu nhiều nhất) trong lĩnh vực giáo dục là phân lớp hay phân loại (classification) [1] Nhiều mục đích giáo dục khác nhau cần sử dụng phân lớp, chẳng hạn như: để khám phá những nhóm sinh viên tiềm năng, có những đặc điểm và phản ứng tương tự như nhau đối với một chiến lược sư phạm đặc biệt nào đó, để phát hiện việc sử dụng sai mục đích hoặc lạm dụng hệ thống học trực tuyến, để gom nhóm những sinh viên nào cần khuyên bảo hay có khuynh hướng bị điểm kém và tìm xem sinh viên đó có những nhận thức sai gì về các môn học, để nhận diện những học viên có ít động lực học tập và tìm kiếm những biện pháp khắc phục để hạ thấp tỷ lệ buộc thôi học, để dự đoán hay phân loại sinh viên khi sử dụng các hệ thống trợ giáo thông minh, v.v… Hiện nay, các kỹ thuật khai phá dữ liệu giáo dục (KPDLGD) đang được sử dụng trong các nghiên cứu về Hệ thống Trợ giáo Thông minh (Intelligent Tutoring System – ITS) và Trí tuệ Nhân tạo trong Giáo dục (Artificial Intelligence in Education – AIED) trên khắp thế giới [6] Ví dụ, các nhà nghiên cứu đã sử dụng KPDLGD để:
Tìm ra những yếu tố ảnh hưởng đến việc bỏ học của học sinh
Phát hiện những toan tính nghịch phá hoặc lạm dụng hệ thống học trực tuyến
Định hướng học tập cho sinh viên
Xây dựng hoặc điều chỉnh các mô hình sinh viên
Ước lượng ảnh hưởng của những can thiệp cá nhân vào quá trình học tập
Dự đoán kết quả học tập và cách hoạt động của sinh viên, v.v…
1 Tổ công tác này tổ chức các Hội nghị Quốc tế về Khai phá Dữ liệu Giáo dục (International
The annual EDM (Educational Data Mining) conferences are held in various countries, and the International Educational Data Mining Society (with a website at http://educationaldatamining.org) was established The JEDM Journal is published monthly.
Hiện tại, nhiều loại phương pháp để phân lớp sinh viên cùng với những giải thuật trí tuệ nhân tạo khác nhau đã được áp dụng để dự đoán kết quả học tập, điểm số hoặc xếp hạng của sinh viên Một số công trình ví dụ là: dự đoán kết quả cuối khóa bằng giải thuật cây quyết định (decision tree) ID3 đơn thuần [4], hoặc bằng giải thuật C4.5 rồi so sánh với ID3 [3]; phân tích dữ liệu năm học trước rồi dự đoán kết quả học tập của sinh viên năm học mới bằng giải thuật mạng Bayes (Bayesian network), phân thành hai lớp performer và underperformer [7]; dự đoán điểm số sinh viên (hai lớp: pass và fail) dùng các kỹ thuật hồi quy (regression) trong dữ liệu của trường Hellenic
Open University [8]; dự đoán điểm xếp hạng (grade) của sinh viên (phân thành các lớp low risk, medium risk và high risk) bằng cách dùng các phương pháp phân loại khác nhau [7]; phân loại sinh viên bằng các giải thuật di truyền để dự đoán điểm xếp hạng cuối khóa dựa trên dữ liệu của hệ thống quản học qua Web [10]
Một trong những vấn đề thường gặp đối với bài toán phân lớp dữ liệu là, nhiều giải thuật phân lớp cổ điển thu được kết quả không tốt (độ chính xác phân lớp không cao) đối với những tập dữ liệu không cân đối (imbalance data set) Vấn đề đối với dữ liệu không cân đối nảy sinh bởi vì các giải thuật học có khuynh hướng không chú ý đến các lớp ít phổ biến (gọi là lớp thiểu số – minority class), chỉ chú ý đến các lớp phổ biến nhất (gọi là lớp đa số – majority class) Hậu quả là mô hình phân lớp thu được sẽ không phân loại đúng đắn được những trường hợp dữ liệu tương ứng với các lớp có ít đại diện Dữ liệu kết quả xếp hạng cuối khóa, cuối năm, v.v… của sinh viên cũng thuộc loại dữ liệu không cân đối, bởi vì số sinh viên bị đánh rớt (fail) thường ít hơn nhiều so với số sinh viên được chấm đậu (pass), mà ta lại quan tâm đến các trường hợp bị đánh rớt hơn Đến nay, đã có một số công trình công phu và tỉ mỉ để giải quyết vấn đề tập dữ liệu không cân đối trong phân lớp dữ liệu giáo dục, ví dụ như:
Trong [1], người ta tiến hành lần lượt 25 giải thuật phân lớp khác nhau, thực nghiệm trên 7 môn học bậc đại học, dự đoán fail/pass cho từng môn học một, dữ liệu là điểm cuối kỳ và các hoạt động của sinh viên trong mỗi môn học, được tổ chức thành 3 tập dữ liệu: tập dữ liệu không cân đối với các thuộc tính số liên tục, cũng tập dữ liệu không cân đối đó nhưng đã được rời rạc hóa các thuộc tính số, và tập dữ liệu đó nhưng được rời rạc hóa và được tái cân đối (rebalanced);
Trong [2], người ta tiến hành lần lượt 10 giải thuật khác nhau trong công cụ
WEKA (5 giải thuật quy nạp luật và 5 giải thuật cây quyết định), cũng dự đoán fail/pass cho từng môn học, trên dữ liệu của 670 học sinh trung học 15 tuổi, dùng 77 thuộc tính tổng hợp từ điểm tổng kết cuối học kỳ 08-12/2010 của các môn học và kết quả của hai cuộc khảo sát các yếu tố kinh tế xã hội khác nhau; sau đó cũng thực nghiệm như vậy với một tập dữ liệu sao chép từ tập dữ liệu trên nhưng được lọc lại chỉ còn 15 thuộc tính
Để giải quyết vấn đề dữ liệu không cân bằng trong phân loại, một cách tiếp cận khác là sử dụng mô hình phân loại phối hợp (ensemble classifier) Mô hình này kết hợp một phương pháp phân loại với một hoặc nhiều kỹ thuật xử lý dữ liệu khác để đạt độ chính xác phân loại cao hơn Cách tiếp cận này cũng đã được áp dụng trong phân loại dữ liệu giáo dục, điển hình là sự kết hợp giữa hai thuật toán phân loại bổ sung cho nhau là Hidden Naive Bayes và Decision stump để đạt hiệu suất tốt trên cả lớp đa số và lớp thiểu số.
Với quốc sách tập trung cho giáo dục, số lượng cơ sở giáo dục bậc cao (từ cao đẳng trở lên) và lượng sinh viên ở nước ta trong những năm gần đây đang gia tăng nhanh chóng Nhu cầu về những giải pháp KPDLGD nói chung và bài toán phân lớp dữ liệu nói riêng ngày càng trở nên cấp bách Mong muốn của chúng tôi khi thực hiện đề tài này là góp một phần công sức nhỏ nhoi vào lĩnh vực cấp thiết và quan trọng ấy.
Tên đề tài
Tên đề tài là “Bài toán phân lớp không cân đối cho dữ liệu giáo dục”.
Mục tiêu và phạm vi nghiên cứu của đề tài
Đề tài nghiên cứu ảnh hưởng của các kỹ thuật tái cân đối dữ liệu trên tập dữ liệu không cân đối, sau đó xây dựng một giải pháp khả thi để giải quyết bài toán phân lớp đối với dữ liệu giáo dục, có độ chính xác và tính dễ hiểu so sánh được với các giải pháp phân lớp giáo dục đã được thực hiện trong các công trình đã nêu bên trên
Giải pháp được xây dựng áp dụng phương pháp quy hoạch di truyền (genetic programming – GP) Lý do chọn loại giải thuật này là: nhiều công trình nghiên cứu (ví dụ như [22]) đã chứng tỏ rằng áp dụng các giải thuật tiến hóa (evolutionary algorithm – EA) bao gồm giải thuật di truyền (genetic algorithm – GA) và GP trong bài toán phân lớp sẽ thu được mô hình có độ chính xác phân lớp cao (trên dưới 90%) và các luật phân lớp dạng IF–THEN dễ hiểu đối với người dùng Thời gian chạy của giải thuật không quá lâu để có thể chấp nhận được
Nghiên cứu được thực hiện trên tập dữ liệu kết quả học tập của sinh viên Khoa học và Kỹ thuật Máy tính - Đại học Bách Khoa TPHCM từ năm 2005 đến 2009 Giải thuật được tích hợp vào công cụ WEKA để thuận tiện so sánh với các giải thuật phân lớp khác và lưu trữ mô hình Mô hình sau khi áp dụng giải thuật sẽ được kiểm chứng bằng dữ liệu mới nằm ngoài tập dữ liệu nghiên cứu, nhằm đánh giá hiệu quả thực tế.
Ý nghĩa của đề tài
1.4.1 Ý nghĩa khoa học Đề tài đóng góp một biện pháp dễ thực hiện (với sự trợ giúp của máy tính) để dự đoán kết quả học tập của các sinh viên đại học theo hệ tín chỉ Kết quả, kinh nghiệm thu được khi thực hiện đề tài này sẽ giúp các tổ chức giáo dục, những người làm công tác giáo dục (trước hết là ở Việt Nam) đoán trước được những sinh viên nào có nhiều khả năng sẽ không đạt kết quả cuối cùng hoặc bị buộc thôi học Vấn đề dự đoán kết quả này không thể đạt được bằng việc phân tích dữ liệu hoặc truy vấn dữ liệu đơn giản
Kết quả thu được của đề tài này áp dụng được cho các tập dữ liệu kết quả học tập của các cơ sở giáo dục đại học và cao đẳng, cả các trường đã áp dụng hệ tín chỉ lẫn các trường còn duy trì hệ niên chế
Học đại học là một quá trình dài và khó khăn, đòi hỏi sinh viên phải đầu tư nhiều công sức, tiền bạc của cá nhân cũng như của gia đình; nếu thất bại có thể sẽ dẫn đến những tổn thất lớn về cả tinh thần lẫn vật chất cho sinh viên và gia đình họ Việc phát hiện sớm khả năng thất bại trong ngành học hoặc bậc học đang theo đuổi có thể giúp sinh viên đưa ra những quyết định điều chỉnh thích hợp, ví dụ như: tăng thêm quyết tâm học tập và nỗ lực hơn nhằm đạt kết quả tốt, hoặc chuyển sang một hướng đi khác phù hợp hơn với năng lực của mình (học nghề, học ngành khác, trường khác, hoặc cấp học khác)
Việc phát hiện sớm những sinh viên có khả năng thất bại trong ngành học mình phụ trách có thể giúp các giáo viên đưa ra những quyết định nhằm ngăn ngừa chuyện đó xảy ra, ví dụ như tăng cường nhắc nhở, khuyến khích sinh viên, hoặc tìm tòi những cách truyền đạt hay hơn, giúp sinh viên dễ tiếp thu hơn và đạt kết quả học tập cao hơn
Biết trước những sinh viên có nguy cơ thất bại trong học tập, các tổ chức giáo dục có thể đề ra những biện pháp thích hợp để tránh chuyện đó xảy ra, ví dụ như đề nghị những lộ trình học mà sinh viên nên theo, những môn học mà sinh viên nên chọn (đối với hệ tín chỉ) để có thể đạt kết quả tốt hơn
Đầu tư vào giáo dục đại học của sinh viên cũng đòi hỏi đầu tư rất lớn từ xã hội, cụ thể là từ Bộ Giáo dục và các cơ quan tuyển dụng (nếu có) Khả năng phát hiện những sinh viên học kém để điều chỉnh sớm sẽ giúp xã hội đầu tư hiệu quả hơn vào giáo dục.
Cấu trúc của luận văn
Luận văn này bao gồm các phần như sau:
Chương 1 như vừa trình bày giới thiệu về bài toán phân lớp không cân đối trên dữ liệu giáo dục, động cơ nghiên cứu bài toán này và các mục tiêu cần đạt được để giải quyết nó
Chương 2 là chương dành cho cơ sở lý thuyết để hình thành nên cách tiếp cận và giải quyết vấn đề của luận văn Trước hết, chương này ôn lại 3 giải thuật phân lớp phổ biến C4.5, Nạve Bayes và Neural Network; sau đĩ trình bày tổng quan về các giải thuật tiến hóa, tập trung vào quy hoạch di truyền (GP) và việc ứng dụng GP để giải quyết bài toán phân lớp; cuối cùng, chương này trình bày về vấn đề không cân đối lớp trong bài toán phân lớp dữ liệu và giới thiệu một số biện pháp để khắc phục nó
Chương 3 giới thiệu tóm lược một số công trình liên quan về phân lớp dữ liệu giáo dục, về tái cân đối dữ liệu giáo dục, và về ứng dụng các giải thuật tiến hóa cho phân lớp dữ liệu giáo dục Đặc điểm của các tập dữ liệu, phương pháp tiến hành thực nghiệm, và các kết quả đạt được của các công trình này đều được trình bày đầy đủ
Chương 4 trình bày hướng tiếp cận đề tài và các giải pháp đã thực hiện để tiền xử lý tập dữ liệu học tập của sinh viên, phân lớp bằng các giải thuật phổ biến, và giải thuật GP đề xuất: cách thiết kế, hiện thực và sử dụng nó
Chương 5 trình bày các kết quả của các thực nghiệm đã được trình bày trong Chương 4, rồi nêu ra nhận xét và cách lý giải các kết quả đó
Chương 6 tổng kết những công việc đã làm, những đóng góp của đề tài, và đề ra hướng phát triển tiếp theo.
CƠ SỞ LÝ THUYẾT
Bài toán phân lớp trong khai phá dữ liệu
Phân lớp là một hình thức phân tích dữ liệu nhằm rút ra những mô hình mô tả những lớp dữ liệu quan trọng Những mô hình này, gọi là mô hình phân lớp (classifier hoặc classification model), được dùng để dự đoán những nhãn lớp có tính phân loại
Phân loại là quá trình sắp xếp dữ liệu rời rạc và không có thứ tự thành các nhóm hoặc lớp cụ thể dựa trên các đặc điểm chúng chia sẻ Trong học máy, phân loại là một mô hình học có giám sát, nơi dữ liệu đầu vào có nhãn và mô hình được huấn luyện để dự đoán nhãn cho dữ liệu mới Quá trình này giúp các nhà nghiên cứu hiểu rõ hơn về dữ liệu và đưa ra các dự đoán có thông tin Phân lớp có nhiều ứng dụng thực tế trong các lĩnh vực như phát hiện gian lận, tiếp thị mục tiêu, dự đoán hiệu suất, sản xuất và chẩn đoán y tế.
2.1.1 Các khái niệm cơ bản
Chúng tôi giới thiệu khái niệm về phân lớp trong tiểu mục 2.1.1.1 Tiểu mục 2.1.1.2 mô tả cách tiếp cận chung để phân lớp như một quy trình gồm hai bước: ở bước 1, ta xây dựng một mô hình phân lớp dựa trên những dữ liệu đã có từ trước; ở bước 2, ta xác định xem độ chính xác của mô hình có chấp nhận được hay không, và nếu chấp nhận được thì ta sẽ dùng mô hình ấy để phân lớp dữ liệu mới
Một viên chức ngân hàng cần phân tích dữ liệu khách hàng để xác định mức độ rủi ro của người xin vay thông qua việc xác định khách hàng "an toàn" hoặc "rủi ro" Giám đốc tiếp thị của AllElectronics cũng sử dụng dữ liệu để dự đoán khả năng mua máy tính của khách hàng dựa trên hồ sơ của họ.
Một nhà nghiên cứu y học muốn phân tích dữ liệu bệnh ung thư vú để dự đoán là nên áp dụng cách nào trong số ba cách điều trị cụ thể cho một bệnh nhân Trong mỗi ví dụ này, công việc phân tích dữ liệu là phân lớp, trong đó một mô hình phân lớp được xây dựng để dự đoán các nhãn lớp (có tính phân loại), như “safe” hoặc “risk” đối với dữ liệu xin vay tiền; “yes” hoặc “no” đối với dữ liệu tiếp thị; hoặc “treatment A”,
“treatment B”, hay “treatment C” đối với dữ liệu y học Các nhãn lớp này có thể được biểu diễn bằng những giá trị rời rạc, trong đó thứ tự giữa các giá trị không có ý nghĩa Ví dụ, các giá trị 1, 2, và 3 có thể được dùng để biểu diễn các cách điều trị A, B, và C, ở đó không có hàm ý gì về thứ tự trong nhóm các cách điều trị này
Phân tích hồi quy là một phương pháp thống kê thường được sử dụng cho dự đoán số, thường được coi là đồng nghĩa với dự đoán số mặc dù có những phương pháp khác Phân lớp và dự đoán số là hai loại chính trong các bài toán dự đoán.
2.1.1.2 Cách tiếp cận chung đối với bài toán phân lớp
Phân lớp dữ liệu là một quá trình gồm hai bước: một bước học (trong đó xây dựng nên một mô hình phân lớp) và một bước phân lớp (trong đó mô hình vừa xây dựng được sử dụng để dự đoán các nhãn lớp cho những dữ liệu nào đó) Hình 2.1 minh họa quá trình này cho trường hợp dữ liệu xin vay tiền Dữ liệu ấy đã được đơn giản hóa để dễ minh họa Trong thực tế, có thể ta cần xem xét nhiều thuộc tính hơn
Hình 2.1a: Bước học/huấn luyện trong quá trình phân lớp hai bước [5]
Hình 2.1b: Bước phân lớp trong quá trình phân lớp hai bước [5] Ở bước thứ nhất, ta xây dựng một mô hình phân lớp mô tả một bộ xác định trước các lớp dữ liệu hay khái niệm Đây là bước học (hay giai đoạn huấn luyện), ở đó một giải thuật phân lớp xây dựng nên mô hình phân lớp bằng cách phân tích hoặc “học hỏi từ” một tập huấn luyện (training set) hình thành từ các bản ghi trong cơ sở dữ liệu và các nhãn lớp liên kết với chúng Mỗi bản ghi X được biểu diễn bởi một vector thuộc tính (attribute vector) gồm n-chiều, X = (x 1 , x 2 , …, x n ), mô tả n giá trị đo đã thực hiện trên bản ghi đó từ n thuộc tính tương ứng của cơ sở dữ liệu A 1 , A 2 , …, A n 2
X được giả định là thuộc về một lớp được quy định trước, như được xác định bởi một thuộc tính khác của cơ sở dữ liệu gọi là thuộc tính nhãn lớp (class label attribute)
Thuộc tính nhãn lớp này có trị rời rạc và không có thứ tự Nó có tính phân loại
Các biến định tính (categorical hay nominal) có các giá trị đại diện cho một loại hoặc lớp cụ thể Trong quá trình học máy, các bản ghi dữ liệu riêng lẻ được lấy ngẫu nhiên từ tập dữ liệu và được gọi là bản ghi huấn luyện Trong phân loại, các bản ghi dữ liệu thường được gọi là mẫu, ví dụ, thể hiện, điểm dữ liệu hoặc đối tượng.
Do nhãn lớp của mỗi bản ghi huấn luyện đều được cung cấp sẵn, nên bước này còn được gọi là học có giám sát (supervised learning, tức là việc học của mô hình phân lớp là “có giám sát” ở chỗ nó được cho biết là mỗi bản ghi huấn luyện thuộc về lớp nào) Nó trái với học không giám sát (unsupervised learning, hay còn gọi là gom cụm – clustering), trong đó ta không biết nhãn lớp của mỗi bản ghi huấn luyện và có thể cả số lượng hoặc tập hợp các lớp cần học nữa Ví dụ, nếu như ta không có dữ liệu loan_decision (tức quyết định cho vay) cho tập huấn luyện, ta có thể dùng kỹ thuật gom cụm để cố gắng xác định các “nhóm các bản ghi giống nhau”, các nhóm này có thể tương ứng với các nhóm nguy cơ bên trong dữ liệu xin vay tiền
2 Mỗi thuộc tính đại diện cho một “đặc điểm” (feature) của X Do đó các tài liệu về nhận dạng mẫu dùng thuật ngữ vector đặc điểm thay cho vector thuộc tính Trong luận văn này, chúng tôi dùng thuật ngữ vector thuộc tính, và trong cách ký hiệu của chúng tôi, bất kỳ biến nào đại diện cho một vector đều được trình bày bằng kiểu chữ đậm và nghiêng, các giá trị đo mô tả vector đó được trình bày bằng kiểu chữ nghiêng (ví dụ: X = (x 1 , x 2 , x 3 ))
3 Trong các tài liệu về học máy, các bản ghi huấn luyện thường được gọi là mẫu huấn luyện (training sample) hoặc ví dụ huấn luyện (training example).
Bước thứ nhất của quá trình phân lớp còn có thể được xem như là việc học (hay tìm kiếm) một ánh xạ hay hàm y = f( X ) mà có thể dự đoán được nhãn lớp y liên kết với một bản ghi X cho trước Theo cách quan sát này, chúng ta muốn tìm ra một ánh xạ hay hàm mà chia tách các lớp dữ liệu Thông thường, ánh xạ này được biểu diễn dưới dạng các luật phân lớp, các cây quyết định, hoặc các công thức toán học Trong ví dụ dữ liệu xin vay ngân hàng bên trên, ánh xạ này được biểu diễn dưới dạng các luật phân lớp giúp nhận diện những đơn xin vay tiền nào là an toàn hoặc rủi ro (Hình 2.1a) Các luật này có thể được dùng để phân loại các bản ghi dữ liệu trong tương lai cũng như giúp ta hiểu biết sâu hơn về những gì hàm súc trong dữ liệu Chúng cũng cung cấp một cách biểu diễn dữ liệu ngắn gọn, cô đọng Ở bước thứ hai (Hình 2.1b), mô hình tìm được ở bước thứ nhất sẽ được dùng cho việc phân loại những dữ liệu mới Trước hết, ta đánh giá độ chính xác dự đoán
(predictive accuracy) của mô hình phân loại ấy Nếu như ta dùng tập huấn luyện để đánh giá độ chính xác của mô hình phân lớp thì việc đánh giá này nhiều khả năng là quá lạc quan, bởi vì mô hình ấy có khuynh hướng quá khớp (overfit) dữ liệu (tức là trong quá trình học, nó có thể sáp nhập luôn một số trường hợp bất thường của dữ liệu huấn luyện, vốn không hiện diện trong tổng thể tập dữ liệu nói chung) Vì thế, ta dùng một tập kiểm tra (test set), bao gồm các bản ghi kiểm tra (test tuple) và các nhãn lớp liên kết với chúng, để thực hiện việc đánh giá này Các bản ghi kiểm tra này độc lập với các bản ghi huấn luyện, nghĩa là chúng không được dùng để xây dựng mô hình phân lớp Độ chính xác (accuracy) của một mô hình phân lớp trên một tập kiểm tra xác định là tỷ lệ các bản ghi của tập kiểm tra được phân loại đúng đắn bởi mô hình phân lớp ấy Nhãn lớp liên kết của mỗi bản ghi kiểm tra được so sánh với sự dự đoán lớp của mô hình phân lớp học ứng với bản ghi đó Mục 2.3.1 bên dưới mô tả vài phương pháp để đánh giá độ chính xác của mô hình phân lớp Nếu độ chính xác của mô hình phân lớp được xem là chấp nhận được, thì mô hình phân lớp có thể được dùng để phân loại những bản ghi dữ liệu trong tương lai mà nhãn lớp chưa biết (Trong các tài liệu học máy, loại dữ liệu như vậy còn được gọi là dữ liệu “unknown” hoặc “previously unseen”) Ví dụ, các luật phân lớp học được trong Hình 2.1a từ việc phân tích dữ liệu của những đơn xin vay tiền lúc trước, nếu có độ chính xác cao khi phân lớp tập kiểm tra, thì có thể được dùng để chuẩn thuận hoặc bác những đơn xin vay tiền mới hoặc sẽ có trong tương lai, như được minh họa trong Hình 2.1b
Giải thuật tiến hóa trong phân lớp
Thiên nhiên có một cơ chế kỳ diệu và mạnh mẽ để tối ưu hóa và giải quyết vấn đề thông qua quá trình tiến hóa Vì vậy, mô phỏng sức mạnh của chọn lọc tự nhiên và tiến hóa trong các chương trình máy tính để giải quyết các bài toán khó là một hướng đi rất tự nhiên Dựa trên các nguyên lý của các hệ thống di truyền tự nhiên, các giải thuật tiến hóa (evolutionary algorithms – EA) đã được phát minh để thực hiện việc tìm kiếm và tối ưu hóa trong những bối cảnh phức tạp
Các giải thuật tiến hóa ngày nay đã được đặt nền móng ban đầu vào thập kỷ 60 của thế kỷ trước, tại Mỹ và tại Đức Có hai hướng tiếp cận cơ bản trong khoa học máy tính mô phỏng cơ chế tiến hóa của tự nhiên: các chiến lược tiến hóa (evolutionary strategy – ES) và các giải thuật di truyền (genetic algorithm – GA) Các GA được phát minh bởi giáo sư J H Holland của Đại học Michigan, một nhà khoa học máy tính và nhà tâm lý học, vốn đã xây dựng không chỉ theo hướng giải quyết các bài toán tối ưu hóa mà còn để nghiên cứu tính tự thích nghi (self-adaptiveness) trong các quá trình sinh học Đây là lý do khiến các GA giống với các mô hình sinh học hơn nhiều so với các ES Nền tảng lý thuyết của các ES được xây dựng bởi các giáo sư Rechenberg và Schwefel ở Đại học Kỹ thuật Berlin, và mục tiêu chính là tối ưu hóa Tuy các khái niệm này có nhiều điểm chung nhưng chúng được phát minh hầu như độc lập với nhau ở Mỹ (các GA) và ở Đức (các ES)
GP, một sự mở rộng của GA do Cramer và Schmidhuber đề xuất năm 1987, là một phương pháp độc lập với lĩnh vực áp dụng, lấy cảm hứng từ sinh học, có khả năng tạo ra các chương trình máy tính từ một phát biểu bài toán ở mức cao Thực tế, hầu như tất cả các bài toán trong các lĩnh vực trí tuệ nhân tạo, học máy, các hệ thích nghi
(adaptive systems), và học tự động (automated learning) đều có thể được viết lại dưới dạng một bài toán tìm kiếm một chương trình máy tính [25]; GP cung cấp một phương pháp để tìm kiếm một chương trình trong không gian các chương trình máy tính (như được trình bày trong [26]) Tương tự như các GA, GP làm việc bằng cách mô phỏng những khía cạnh của tiến hóa tự nhiên, nhưng mục tiêu của quá trình GP là tìm kiếm các chương trình máy tính (hay công thức) mà giải quyết bài toán tối ưu hóa đang xét
2.2.1 Cơ sở lý thuyết của GA và GP 2.2.1.1 Nền tảng sinh học của GA và GP
GA và GP dựa trên sự di truyền (hay tiến hóa) trong quá trình sinh sản của các sinh vật trong tự nhiên Nền tảng sinh học của sự di truyền được tóm tắt như sau:
Nhiễm sắc thể (chromosome): Tất cả các cơ thể sống đều bao gồm nhiều tế bào
Trong mỗi tế bào, có một số nhiễm sắc thể giống nhau Mỗi nhiễm sắc thể là một chuỗi DNA (DesoxyriboNucleic Acid) và đóng vai trò như một mô hình cho toàn bộ cơ thể sống có nhiễm sắc thể đó Mỗi nhiễm sắc thể bao gồm nhiều gien
(gene), tức các khối DNA; mỗi gien mã hóa một nét riêng (trait) của cơ thể sống, ví dụ màu mắt, màu tóc, v.v Các giá trị khả dĩ cho một nét riêng nào đó (ví dụ: xanh lơ, nâu, v.v…) được gọi là các allele của gien ứng với nét riêng ấy Mỗi gien có vị trí riêng trong nhiễm sắc thể, vị trí này được gọi là locus của gien đó
Tập đầy đủ các vật liệu di truyền (tức tất cả các nhiễm sắc thể) của một cơ thể sống được gọi là bộ gien (genome) của cơ thể sống đó Tập hợp cụ thể các gien trong một bộ gien được gọi là kiểu gien (genotype) của cơ thể sống có bộ gien đó
Kiểu gen bẩm sinh xác định kiểu hình của một cá thể, bao gồm các đặc điểm vật lý và trí tuệ độc đáo của cơ thể (ví dụ: màu mắt, trí thông minh, ).
Sự sinh sản: Trong quá trình sinh sản (tức tạo ra các cá thể con từ các cá thể cha mẹ) của một quần thể các sinh vật, sẽ xảy ra sự lai giống hoặc lai ghép
(recombination hoặc crossover) Các gien từ các cá thể cha mẹ sẽ hình thành nên một bộ nhiễm sắc thể mới trong cá thể con theo một cách nào đó Cá thể con mới được tạo ra có thể bị biến dị (mutated), nghĩa là các phần tử của cá thể bị thay đổi một chút Những thay đổi này chủ yếu là do lỗi phát sinh trong việc sao chép các gien từ cha mẹ Độ khỏe mạnh hay độ phù hợp (fitness) của một cơ thể sống được đo đạc bằng sự thành công của cơ thể sống đó trong cuộc đời của nó
2.2.1.2 Các đặc điểm cơ bản của GA và GP
Giải thuật bắt đầu bằng một tập các cá thể (còn được gọi là “các lời giải dự tuyển” hoặc nhiễm sắc thể) gọi là quần thể (population) Trong mỗi bước lặp, còn được gọi là một “thế hệ” (generation), một số cá thể lời giải (gọi là các lời giải cha mẹ – parents) từ quần thể hiện tại được đánh giá và được phân cho một giá trị độ khỏe mạnh hay độ phù hợp (fitness) nhất định Để tạo thành một quần thể mới, trước hết một số cá thể được chọn rồi sinh ra các lời giải dự tuyển mới (lời giải con cái – offspring) Làm như thế vì hy vọng rằng quần thể mới ấy sẽ tốt hơn quần thể cũ Cách chọn các lời giải trong quần thể để sinh sản thường là theo tỷ lệ thuận với độ khỏe mạnh hay độ phù hợp của chúng – chúng càng khỏe mạnh thì chúng càng có nhiều khả năng được chọn, chúng càng phù hợp với môi trường tự nhiên thì càng có khả năng sống sót và sinh sản ra thế hệ kế tiếp Các cá thể (lời giải dự tuyển) con cái, đến lượt chúng, lại tạo thành quần thể các lời giải dự tuyển cha mẹ mới để sinh sản ra thế hệ kế tiếp mới (nếu cần) Để sinh ra các lời giải dự tuyển mới, các GA hoặc GP sử dụng một vài phép toán di truyền (genetic operator), thường là các loại sau:
Lai ghép (crossover hoặc recombination): là phép toán di truyền chính Nó lấy hai cá thể, gọi là các cá thể cha mẹ (parents), rồi sinh ra một hoặc hai cá thể mới, gọi là cá thể con cái (offspring), bằng cách kết hợp những phần nào đó của các cá thể cha mẹ
Biến dị (mutation): thực chất là một sự sửa đổi tùy ý một cá thể thuộc thế hệ trước nào đó thành một cá thể cho thế hệ sau; mục đích của phép toán này là ngăn ngừa sự hội tụ sớm bằng cách lấy mẫu ngẫu nhiên những điểm mới trong không gian tìm kiếm
Sao chép (reproduction): chỉ đơn giản là chọn ngẫu nhiên một cá thể nào đó trong quần thể cũ rồi sao chép, không thay đổi, sang quần thể mới
Các GA hoặc GP là những giải thuật lặp theo xác suất ngẫu nhiên, vốn không thể bảo đảm là sẽ hội tụ ra lời giải tối ưu; việc kết thúc nó thường được kiểm soát bởi việc đạt đến một số lượng thế hệ tối đa nào đó, hay việc tìm thấy một lời giải chấp nhận được hoặc một tiêu chí kết thúc phức tạp hơn nào đó biểu thị sự hội tụ sớm
2.2.1.3 Giải thuật Di truyền Chuẩn
Đánh giá hiệu quả phân lớp
Đánh giá hiệu quả phân lớp là điều then chốt để chọn mô hình phân lớp nào thích hợp với dữ liệu hiện có và nhu cầu của người dùng Giả sử ta dùng dữ liệu từ các đợt bán hàng trước đó để xây dựng một mô hình phân lớp nhằm dự đoán cung cách mua hàng của khách hàng Ta muốn đánh giá là mô hình phân lớp ấy có thể dự đoán chính xác đến mức nào Ta có thể thử dùng nhiều phương pháp khác nhau để xây dựng nhiều mô hình phân lớp rồi so sánh độ chính xác của chúng Nhưng độ chính xác là gì? Làm cách nào ta đánh giá chúng? Có độ đo tính chính xác của mô hình phân lớp nào thích hợp hơn các độ đo khác chăng? Làm sao ta tìm được một cách đánh giá độ chính xác tin cậy được? Những câu hỏi đó sẽ được giải đáp trong mục này
2.3.1 Các độ đo để đánh giá hiệu quả của mô hình phân lớp
Các độ đo đánh giá mô hình phân lớp bao gồm độ chính xác (accuracy, hay còn gọi là tỷ lệ nhận diện – recognition rate), độ nhạy (sensitive, hay còn gọi là độ bao quát – recall), độ đặc hiệu (specificity), độ xác đáng (precision), F 1 và F Chú ý rằng, tuy độ chính xác là một độ đo cụ thể, nhưng từ ngữ “độ chính xác” còn được dùng như một thuật ngữ tổng quát để chỉ các khả năng dự đoán của mô hình phân lớp
Bảng 2.1: Các độ đo đánh giá mô hình phân lớp [5]
Việc dùng dữ liệu huấn luyện để rút ra một mô hình phân lớp rồi lại dùng chính dữ liệu đó để đánh giá độ chính xác của mô hình kết quả học được có thể dẫn tới những đánh giá quá lạc quan đến mức sai lầm về giải thuật học đối với dữ liệu Thay vì vậy, ta nên đo độ chính xác của mô hình phân lớp học được trên một tập kiểm tra (test set), bao gồm các bản ghi đã có nhãn lớp nhưng chưa được dùng để huấn luyện mô hình đó
Bản ghi dương tính là bản ghi thuộc lớp quan tâm chính, còn bản ghi âm tính là những bản ghi không thuộc lớp quan tâm đó.
Ký hiệu: P: số lượng bản ghi dương tính;
N: số lượng bản ghi âm tính
Với mỗi bản ghi, ta so sánh giá trị nhãn lớp mà mô hình dự đoán được với nhãn lớp đã biết của bản ghi đó Có vài thuật ngữ khác cần cho việc tính toán nhiều độ đo đánh giá, việc hiểu chúng sẽ giúp dễ nắm bắt ý nghĩa của các độ đo khác nhau o Số dương tính đúng (True Positives – TP): là số bản ghi dương tính được mô hình dự đoán nhãn đúng o Số âm tính đúng (True Negatives – TF): là số bản ghi âm tính được mô hình dự đoán nhãn đúng o Số dương tính sai (False Positives – FP): là các bản ghi âm tính nhưng bị dự đoán nhãn sai là dương tính o Số âm tính sai (False Negatives – FN): là các bản ghi dương tính nhưng bị dự đoán nhãn sai là âm tính
Các thuật ngữ này được tóm tắt trong ma trận nhầm lẫn (confusion matrix) ở
Hình 2.7: Ma trận nhầm lẫn cùng với các tổng số bản ghi dương tính và âm tính [5]
Ma trận nhầm lẫn giúp phân tích xem mô hình phân lớp của ta có thể dự đoán các bản ghi thuộc các lớp khác nhau tốt đến đâu TP và TN cho ta biết số bản ghi mà mô hình dự đoán đúng, còn FP và FN cho ta biết số bản ghi mô hình dự đoán sai (đoán nhãn lầm)
Nếu có m lớp (trong đó m ≥ 2) thì ma trận nhầm lẫn là một bảng có kích thước ít nhất là m x m (nếu không kể các hàng và cột phụ thì bằng đúng m x m) Mỗi mục trị CM i,j ở m hàng và m cột đầu tiên biểu thị số lượng bản ghi thuộc lớp i được mô hình phân lớp dự đoán là lớp j (CM là acronym của Confusion Matrix) Để một mô hình phân lớp có độ chính xác cao, lý tưởng nhất là hầu hết các bản ghi sẽ nằm dọc theo đường chéo của ma trận nhầm lẫn, từ mục trị CM 1,1 đến mục trị CM m,m , còn các mục trị còn lại đều bằng 0 hoặc gần bằng 0
Bảng nhầm lẫn có thể có thêm cột hoặc hàng để cung cấp giá trị tổng cộng Ví dụ, bảng trong Hình 2.7 thêm cột "Tổng" với các mục "P" (dương tính thực) và "N" (âm tính thực), cũng như hàng "Tổng" với các mục "P'" (dương tính được dự đoán) và "N'" (âm tính được dự đoán) Tổng số bản ghi là "TP+TN+FP+FN" hoặc "P+N" hoặc "P'+N'" Ma trận nhầm lẫn này được sử dụng cho bài toán phân loại nhị phân, nhưng có thể tùy biến tương tự cho các bài toán phân loại đa lớp.
2.3.2 Ý nghĩa các độ đo Độ chính xác (accuracy, hay còn gọi là recognition rate trong các tài liệu về nhận diện mẫu) của một mô hình phân lớp trên một tập kiểm tra nhất định nào đó là tỷ lệ các bản ghi của tập kiểm tra được phân lớp đúng bởi mô hình đó, tức là: accuracy =
Tỷ lệ sai (error rate hay misclassification rate) của mô hình phân lớp M chỉ đơn giản là bằng 1 – accuracy(M), trong đó accuracy(M) là độ chính xác của M Giá trị này cũng có thể được tính như sau: error rate =
Độ nhạy (sensitivity) hay tỷ lệ dương tính đúng (true positive rate) đo lường khả năng nhận diện đúng các bản ghi dương tính Độ đặc hiệu (specificity) hay tỷ lệ âm tính đúng (true negative rate) đo lường khả năng nhận diện đúng các bản ghi âm tính Độ chính xác phản ánh tỷ lệ nhận diện đúng tổng thể và có mối quan hệ trực tiếp với độ nhạy và độ đặc hiệu.
Độ chính xác và độ bao quát là phép đo thường được dùng trong phân loại Độ chính xác là tỷ lệ các bản ghi được dự đoán có nhãn dương tính và thực tế đúng như vậy, còn độ bao quát là tỷ lệ các bản ghi có nhãn dương tính thực sự được dự đoán đúng.
Một cách khác để sử dụng độ xác đáng và độ bao quát là, kết hợp chúng vào một độ đo duy nhất Đây là cách tiếp cận của độ đo F (còn được gọi là F1 score hoặc F- score) và độ đo F β :
Như vậy, độ đo F là trung bình điều hòa của độ xác đáng và độ bao quát, còn độ đo F β là một độ đo có trọng số của độ xác đáng và độ bao quát Các độ đo F β thường dùng là F 2 và F 0.5
Ngoài các độ đo dựa trên độ chính xác, các mô hình phân lớp còn có thể được so sánh theo những khía cạnh bổ sung sau đây:
Tốc độ của mô hình phân lớp là một yếu tố quan trọng ảnh hưởng đến khả năng sử dụng của mô hình Mô hình phân lớp có tốc độ chậm, tốn quá nhiều thời gian để chạy có thể khiến người dùng nản lòng và không muốn sử dụng, ngay cả khi mô hình đó có độ chính xác cao Do đó, khi lựa chọn mô hình phân lớp, người dùng cần cân nhắc cả tốc độ tính toán và độ chính xác của mô hình để đảm bảo tính hiệu quả và khả dụng của mô hình.
Tính khả diễn dịch hay tính dễ hiểu (interpretability): mức độ thông hiểu mà mô hình phân lớp hoặc mô hình dự đoán mang lại cho người dùng
Vấn đề mất cân đối lớp trong bài toán phân lớp dữ liệu
Bài toán mất cân đối lớp là một bài toán mà các lớp được phân phối không đều nhau, cụ thể là lớp quan tâm chính có số lượng ít ỏi hơn nhiều so với các lớp còn lại Sự mất cân đối xảy ra khi dữ liệu được phân bố theo cách mà lớp âm tính chiếm đa số áp đảo, trong khi lớp dương tính chỉ chiếm một phần nhỏ.
Trong dữ liệu y khoa, có thể có một lớp với số bản ghi ít ỏi, chẳng hạn như
“cancer” Giả sử ta vừa huấn luyện xong một mô hình phân lớp để phân lớp các bản ghi dữ liệu y khoa, trong đó thuộc tính nhãn lớp là “cancer” và các giá trị khả dĩ của nó là “yes” và “no” Nếu tỷ lệ chính xác là 97% thì mô hình phân lớp đó có vẻ hoàn toàn chính xác, nhưng nếu ta biết thêm rằng chỉ 3% các bản ghi huấn luyện thực sự là thuộc lớp cancer thì sao? Rõ ràng, một tỷ lệ chính xác đến 97% có lẽ vẫn không chấp nhận được, bởi có thể mô hình phân lớp ấy dự đoán nhãn đúng chỉ với các bản ghi noncancer và phân lớp sai tất cả các bản ghi cancer Thay vì vậy, ta cần những độ đo khác, bảo đảm nắm bắt được là mô hình phân lớp có khả năng nhận diện các bản ghi dương tính tốt đến đâu và nhận diện các bản ghi âm tính tốt đến đâu Có thể dùng các độ đo độ nhạy (sensitivity) và độ đặc hiệu (specificity), theo đúng thứ tự đó, cho các mục đích đánh giá khả năng dự đoán chính xác lớp dương tính và lớp âm tính
2.4.1 Độ chính xác phân lớp với dữ liệu không cân đối
Cho tập dữ liệu hai lớp, dữ liệu được gọi là mất cân đối lớp (class-imbalanced) nếu lớp quan tâm chính (tức lớp dương tính) chỉ được đại diện bởi vài bản ghi, trong khi đa số các bản ghi còn lại đại diện lớp âm tính Đối với dữ liệu mất cân đối đa lớp (multiclass-imbalanced), sự phân bố dữ liệu của mỗi lớp khác nhau nhiều, trong đó (các) lớp quan tâm chính cũng có số bản ghi ít ỏi Vấn đề mất cân đối lớp có liên quan chặt chẽ với học nhạy cảm với phí tổn (cost-sensitive learning), trong đó các phí tổn
(hay cái giá phải trả) của các sai lầm trên mỗi lớp không bằng nhau Ví dụ, trong chẩn đoán y khoa, chẩn đoán sai một bệnh nhân ung thư là khỏe mạnh (tức false negative) thì tốn kém hơn nhiều so với chẩn đoán sai một bệnh nhân khỏe mạnh là có ung thư (tức false positive) Một sai lầm false negative có thể dẫn tới mất mạng bệnh nhân, và vì thế tốn kém hơn nhiều so với một sai lầm false positive Những ứng dụng khác có liên quan với dữ liệu mất cân đối bao gồm: phát hiện lừa đảo, phát hiện những sự tràn dầu từ vệ tinh, giám sát lỗi, và cả dự đoán kết quả học tập của sinh viên (bài toán mà luận văn này muốn giải quyết) Vấn đề dữ liệu mất cân đối lớp ngày càng trở nên quan trọng trong những năm gần đây
Tỷ lệ không cân bằng (imbalance ratio) là mức độ chênh lệch số lượng mẫu giữa các lớp trong tập dữ liệu Tỷ lệ này ảnh hưởng đến độ chính xác của một số mô hình phân lớp, trong khi không ảnh hưởng đến các mô hình khác Orriols-Puig và Bernaldo-Mansilla định nghĩa tỷ lệ không cân bằng trong bối cảnh bài toán phân lớp nhị phân là tỷ số giữa số lượng mẫu của lớp đa số và lớp thiểu số Tuy nhiên, định nghĩa này không phù hợp với các bài toán đa lớp Do đó, [24] đã đưa ra định nghĩa tổng quát hơn về tỷ lệ không cân bằng Ir, xét đến tỷ lệ của tất cả các lớp trong tập dữ liệu.
(2.11) trong đó I r nằm trong khoảng (1, ∞), và I r = 1 khi tập dữ liệu hoàn toàn cân đối, có số lượng bản ghi ở tất cả các lớp đều bằng nhau; N c là số lượng lớp; I i là số lượng bản ghi của lớp I, còn I n là tổng số các bản ghi của tập dữ liệu
Các giải thuật phân lớp truyền thống hướng đến mục tiêu giảm thiểu lỗi tổng thể trong quá trình phân lớp Chúng giả định rằng chi phí của các lỗi dương giả và âm giả là như nhau Tuy nhiên, giả định này không phù hợp với dữ liệu mất cân đối lớp, trong đó các lớp có sự phân bố không đồng đều và chi phí của các lỗi khác nhau.
Mặc dù độ đo accuracy giả định rằng phí tổn của các lớp là như nhau, nhưng ta có thể dùng các độ đo đánh giá khác để so sánh cân nhắc các kiểu phân lớp khác nhau
Các độ đo mà ta có thể căn cứ theo đó để xử lý vấn đề cân đối lớp là sensitive hoặc recall (tỷ lệ dương tính đúng) và specificity (tỷ lệ âm tính đúng); chúng giúp đánh giá một mô hình phân lớp có thể dự đoán nhãn lớp của dữ liệu mất cân đối tốt đến mức nào
2.4.2 Các giải pháp giải quyết vấn đề mất cân đối lớp
Cho đến nay, đã có nhiều giải pháp được đề nghị cho vấn đề mất cân đối lớp, cả ở mức dữ liệu lẫn ở mức giải thuật:
Ở mức dữ liệu, các giải pháp này bao gồm các cách lấy mẫu dư (over- sampling) hoặc lấy mẫu thiếu (under-sampling) với nhiều biến thể, và các cách kết hợp các kỹ thuật ấy
Ở cấp độ thuật toán, các giải pháp cân bằng lớp bao gồm: điều chỉnh chi phí (cost) của các lớp khác nhau để đối phó với sự mất cân bằng lớp, điều chỉnh cách ước lượng xác suất tại các nút lá của cây (đối với các cây quyết định), điều chỉnh ngưỡng quyết định và học từ chỉ một lớp thay vì học từ hai lớp.
Ngoài ra, phương pháp kết hợp (ensemble method hay combining method) cũng được dùng, phương pháp này kết hợp kết quả của nhiều mô hình phân lớp, mỗi mô hình ấy thường được rút ra sau khi over-sampling hoặc under-sampling dữ liệu với những tỷ lệ over/under-sampling khác nhau
2.4.2.1 Các phương pháp ở mức dữ liệu để giải quyết mất cân đối
Các giải pháp ở mức dữ liệu bao gồm nhiều dạng lấy mẫu lại (re-sampling) khác nhau, như lấy mẫu dư ngẫu nhiên có đặt lại chỗ cũ (random oversampling with replacement), lấy mẫu thiếu ngẫu nhiên (random undersampling), lấy mẫu dư trực tiếp (directed oversampling), lấy mẫu thiếu trực tiếp (directed undersampling), lấy mẫu dư với sinh các mẫu mới có thông báo (oversampling with informed generation of new samples), và những cách kết hợp các kỹ thuật trên [15]
Lấy mẫu thiếu ngẫu nhiên là một phương pháp phi tự nghiệm (non-heuristic) nhằm cân đối lại cách phân bố lớp thông qua việc loại bỏ ngẫu nhiên một số mẫu khỏi các mẫu lớp đa số Nhược điểm của lấy mẫu thiếu ngẫu nhiên là phương pháp này có thể làm mất đi những dữ liệu hữu ích tiềm tàng, có thể là quan trọng đối với quá trình quy nạp luật Một vấn đề khác với cách tiếp cận này là, mục đích của học máy là để mô hình phân lớp đánh giá sự phân bố xác suất của quần thể đích Vì không biết sự phân bố đó nên ta cố gắng ước lượng nó bằng cách dùng sự phân bố của một tập mẫu của quần thể (sample distribution) Theo thống kê học, sự phân bố của tập mẫu ấy có thể được dùng để đánh giá sự phân bố của quần thể mà nó đã được lấy ra từ đó, miễn sao tập mẫu được lấy ra từ quần thể một cách ngẫu nhiên Vì vậy, bằng cách học sự phân bố tập mẫu đó, ta có thể học cách xấp xỉ sự phân bố đích Thế nhưng, sau khi ta thực hiện undersampling lớp đa số, tập mẫu không còn được coi là ngẫu nhiên nữa
Xét hai bản ghi E i và E j thuộc về hai lớp khác nhau, và gọi d( E i , E j ) là khoảng cách giữa E i và E j ; một cặp ( E i , E j ) được gọi là một liên kết Tomek (Tomek link) nếu có một bản ghi E 1 sao cho d( E i , E 1 ) < d( E i , E j ) hoặc d( E j , E 1 ) < d( E i , E j ) Nếu hai bản ghi nào đó tạo thành một liên kết Tomek, thì một trong hai bản ghi này là nhiễu (vì vậy có thể loại bỏ) hoặc cả hai đều nằm trên đường biên (border-line) Các liên kết Tomek có thể được dùng như một phương pháp lấy mẫu thiếu hoặc như một phương pháp làm sạch dữ liệu Nếu dùng như phương pháp lấy mẫu thiếu thì chỉ những bản ghi nào thuộc về lớp đa số mới bị loại bỏ, còn nếu dùng như phương pháp làm sạch dữ liệu thì những bản ghi của cả hai lớp đều được gỡ bỏ Kubat và Matwin trong [16] cải tiến lấy mẫu thiếu ngẫu nhiên bằng cách sau: rút ra ngẫu nhiên một bản ghi của lớp đa số và tất cả các bản ghi của lớp thiểu số rồi đặt các bản ghi này trong E ΄, sau đó áp dụng một 1- NN trên các bản ghi trong E ΄ để phân lớp các bản ghi trong tập dữ liệu gốc E Mọi bản ghi bị phân lớp sai từ E được chuyển sang E ΄ Ý tưởng đằng sau việc hiện thực một tập con nhất quán này là loại bớt các bản ghi nào trong lớp đa số ở cách xa biên quyết định, bởi vì những loại bản ghi này có thể được xem là ít thích đáng cho việc học
CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Các công trình về phân lớp với dữ liệu giáo dục
Các công trình nghiên cứu về phân lớp dữ liệu giáo dục ngày càng nhiều, tiêu biểu như [1], [2], [8], [7], [9], [10] Một số tác giả có nhiều nghiên cứu đáng chú ý trong lĩnh vực này, chẳng hạn như C.
Romero, S Ventura, E Garcia, P.G Espejo, và C Castro Bảng 3.1 bên dưới trình bày tóm tắt những gì các công trình này đã thực hiện
Bảng 3.1: Một số công trình về Phân lớp Dữ liệu Giáo dục Đề tài Đặc điểm tập dữ liệu Giải pháp thực hiện Kết quả đạt được Ghi chú
[9] Dữ liệu của 1661 sinh viên nhập học tại California Community
Colleges, bao gồm 25 thuộc tính, trong đó có nhiều thuộc tính có lẽ không liên quan đến kết quả học tập: Sex, Units planned, Educational goal, Veteran,
Số lớp cần dự đoán: 4 lớp (English 1A, English 1B, English 1C,
Phân tích hàm biệt số thay vì hồi quy đa biến để xếp sinh viên vào bậc học Anh văn đầu vào năm thứ nhất thích hợp (ba bậc học:
Tỷ lệ dự đoán đúng là 62,6%
Khám phá những hạn chế của việc dùng hồi quy đa biến để xếp lớp, khuyến cáo thay bằng phân tích hàm biệt số và Ungrouped cases)
[10] Dữ liệu về cách sử dụng tài nguyên của hệ thống học trực tuyến LON- CAPA của Michigan
State University, khóa học PHY183 của học kỳ Spring 2002, gồm 227 bản ghi sinh viên hợp lệ, dùng 6 thuộc tính để khai phá (Success rate,
Success at the first try,
…) Áp dụng 3 cách chia trị lớp: 2 (Passed và Failed), 3 (High,
Middle và Low), và 9 lớp (9 hạng từ 1 đến 9, dựa theo GPA)
Dùng 9 mô hình phân lớp:
Quadratic Bayesian, 1-NN, k-NN, Parzen-window,
MultiLayer Perceptron (MLP), và 4 Decision Trees khác nhau (C5.0, CART, QUEST, và
CRUISE) Kết hợp các mô hình đó (CMC –
Combination of Multiple Classifiers) và bầu chọn để thu được độ chính xác dự đoán tốt hơn Sau đó dùng giải thuật di truyền đơn giản để tối ưu hóa mô hình kết hợp đó Độ chính xác ứng với 2- lớp, 3-lớp, và 9-lớp:
CMC (của 4 mô hình ít tốn thời gian nhất) có GA cải thiện được từ hơn 10% đến hơn 12% so với CMC không có GA Trong đó độ chính xác ứng với 2-lớp là cao nhất (khoảng 94%)
Trong huấn luyện và kiểm tra, có dùng 10-fold cross validation
[8] Dữ liệu ghi chép sự truy cập hệ thống quản lý môn học Moodle, kết hợp với dữ liệu khác (ví dụ: dữ liệu của trường về các môn đăng ký, số lần kiểm tra, điểm thi cuối khóa), tất cả là 10 thuộc tính (trong đó có nhiều thuộc tính không liên quan đến khối lượng kiến thức mà sinh viên thu được: IP address, Complete name, Full name, …) của 240 sinh viên học môn Methodology and Programming
Technology của University of Cordoba niên khóa 2005-2006
Dùng một loại giải thuật ANN gọi là RBF (radial basis function), gồm 2 tầng, để dự đoán những sinh viên cần nỗ lực hơn (tức có nguy cơ rớt) Dùng 5 kiểu cấu trúc ANN khác nhau Độ chính xác cao nhất khoảng 80%
Hai lớp: pass và fail
[7] Dữ liệu của 533 thí sinh đăng ký nhập học năm thứ nhất đại học trong tháng 11 năm học 2003- 2004 của 3 trường đại học tại Bỉ Số biến (thuộc tính) là 375, chia làm 3 nhóm (Personal history of the student, Implication of student behavior, và
Perceptions of the student) Dự đoán kết quả học tập năm thứ nhất, chia làm 3 lớp:
‘medium-risk’ (lớp 2), và ‘low-risk’ (lớp 3)
Lúc đầu chạy giải thuật ID3 trên phần mềm SAS/Enterprise Miner
Cải tiến bằng cách dùng phần mềm R xây dựng một ensemble method là
Random Forests trên 800 cây quyết định theo giải thuật CART
Tiếp tục cải tiến bằng cách dùng NN và Linear discriminant analysis (LDA) trên phần mềm SAS/Enterprise Miner Độ chính xác dự đoán của ID3 không cao, chính xác nhất là lớp 3 đạt 60.34% Độ chính xác dự đoán của Random Forests thấp: cao nhất 68.72% với lớp 2 Độ chính xác của NN cao nhất là 61.82% đối với lớp 3, còn của LDA là 67.27% với lớp 3
Tỷ lệ test set chung cho các giải thuật:
[1] Cơ sở dữ liệu của 438 sinh viên Cordoba
University trong 7 môn học trên hệ thống Moodle, ứng với mỗi môn đều có 10 thuộc tính như nhau (không kể thuộc tính ID) Dùng 3 phiên bản của tập dữ liệu: tập dữ liệu gốc (với các thuộc tính giá trị số); tập dữ liệu với các thuộc tính số đã được rời rạc hóa; và tập dữ liệu rời rạc hóa được tái cân đối bằng random oversampling Dự đoán kết quả đối với từng môn học, phân thành 4 lớp: FAIL, PASS, GOOD và Áp dụng 25 giải thuật khác nhau (trong một công cụ khai phá dữ liệu dành riêng cho Moodle, được viết bằng ngôn ngữ Java và dùng bộ khung KEEL [14]) để phân lớp trên cả 3 phiên bản của tập dữ liệu Dùng độ chính xác phân lớp tổng thể (Global PCC) và trung bình hình học của độ chính xác phân lớp của các lớp làm 2 độ đo đánh giá
Các giải thuật tốt nhất (với Global PCC hơn 65%) với tập dữ liệu gốc là CART, GAP, GGP và NNEP
Các giải thuật tốt nhất (trên 65% Global PCC) dùng dữ liệu rời rạc là CART và C4.5
Các giải thuật tốt nhất
(trên 60% Global PCC) với dữ liệu đã tái cân bằng là Corcoran, XCS, AprioriC, và
Dùng 10- fold cross validation khi đánh giá các độ đo
Tác giả cho rằng độ chính xác không cao là do tập dữ liệu không đầy đủ
[2] Dữ liệu thu thập từ 3 nguồn, tổng hợp lại thành CSDL của 670 học sinh trường
Academic Program 2 thu thập từ tháng 8 đến tháng 12 năm 2010, với 77 thuộc tính, trong đó nhiều thuộc tính điểm số môn học, nhưng cũng nhiều thuộc tính không liên quan đến mức độ kiến thức thu thập được (ví dụ: Age, number of brothers/sisters, smoking habits, marial status, …)
Dự đoán tình trạng học tập cuối cùng, bao gồm 2 lớp: PASS và FAIL Áp dụng 10 giải thuật phân lớp trong phần mềm Weka, gồm 5 giải thuật quy nạp và 5 giải thuật cây quyết định Đợt thí nghiệm thứ nhất dùng cả 77 thuộc tính Đợt thí nghiệm thứ hai chỉ dùng 15 thuộc tính tốt nhất (được chọn ra bằng cách chạy 10 giải thuật chọn lựa đặc trưng có trong Weka, rồi lấy những thuộc tính nào được chọn ít nhất 2 lần) Đợt thứ ba dùng 15 thuộc tính tốt nhất của tập dữ liệu đã được tái cân đối bằng 2 cách: SMOTE và Cost-Sensitive
Cả 3 đợt đều dùng 4 độ đo để đánh giá: TP, TN, Accuracy, và Geometric Mean (GM)
Với dữ liệu chưa tái cân đối: Nói chung khi rút gọn còn 15 thuộc tính thì các độ đo đều tốt hơn khi dùng dữ liệu gốc 77 thuộc tính Ví dụ: với 77 thuộc tính, độ chính xác thấp nhất là 91.5% (ứng với RandomTree), còn với 15 thuộc tính tốt nhất, độ chính xác thấp nhất đạt đến 93.1%
Với dữ liệu rút gọn 15 thuộc tính rồi tái cân đối, thì độ đo của một số giải thuật có cải thiện so với khi dữ liệu mất cân đối, trong khi độ đo của số giải thuật còn lại giảm đi Cost-Sensitve không tốt hơn rõ rệt so với SMOTE Cụ thể, độ chính xác trung bình 10 giải thuật ứng với SMOTE là 94.54%, còn ứng với Cost-Sensitive là 94.75%, tức chênh lệch chỉ 0.21%
Dùng 10- fold cross validation khi đánh giá các độ đo.
Các công trình về tái cân đối dữ liệu giáo dục
Số lượng nghiên cứu về tái cân đối tập dữ liệu mất cân đối có sẵn là khá nhiều, nhưng số lượng nghiên cứu tập trung vào việc tái cân đối tập dữ liệu giáo dục lại ít hơn đáng kể Tuy nhiên, một số nghiên cứu có thể kể đến như [1], [2] và [13] Bảng 3.2 dưới đây tóm tắt các hoạt động được thực hiện trong các nghiên cứu này.
Bảng 3.2: Một số công trình tái cân đối dữ liệu giáo dục Đề tài Đặc điểm tập dữ liệu
Giải pháp tái cân đối Kết quả đạt được Ghi chú
[1] Dữ liệu của 438 sinh viên Cordoba
University trong 7 môn học trên hệ thống
Moodle Phân thành 4 lớp: FAIL, PASS, GOOD và
Dùng 3 phiên bản tập dữ liệu: tập dữ liệu gốc (với các thuộc tính giá trị số); tập dữ liệu với các thuộc tính số đã được rời rạc hóa; và tập dữ liệu rời rạc hóa được tái cân đối bằng random oversampling Đáng ngạc nhiên là dữ liệu đã tái cân đối có độ chính xác dự đoán không cao bằng khi chưa tái cân đối
Có lẽ do tập dữ liệu không đầy đủ, nên tái cân đối oversampling thì càng xấu hơn
[2] Dữ liệu thu thập từ 3 nguồn, tổng hợp lại thành tập dữ liệu của 670 học sinh trường
Academic Program 2 thu thập từ tháng 8 đến tháng 12 năm 2010, với 77 thuộc tính Phân thành 2 lớp: PASS và FAIL
Dùng 2 phương pháp tái cân đối là SMOTE và
Cost-Sensitive trên tập dữ liệu rút gọn chỉ còn 15 thuộc tính tốt nhất
Dùng 4 độ đo để đánh giá hiệu quả của phân lớp: TP, TN, Accuracy, và GM
Giải thuật Cost-Sensitive không cải thiện đáng kể so với SMOTE khi dữ liệu đã được tái cân đối Tuy nhiên, một số giải thuật khác có sự cải thiện so với khi dữ liệu còn mất cân đối.
[12] Có hai tập dữ liệu: algebra-2008-2009 và bridge-to-algebra-2008- 2009 Cả hai đều rất lớn (tập đầu hơn 8,9 triệu bản ghi, còn tập sau hơn 20 triệu bản ghi) và không cân đối
(ví dụ: chỉ 14.6% bản ghi trong algebra_2008_2009 có nhãn “0”, số còn lại có nhãn “1”) Các thuộc tính rời rạc chiếm đa số trong cả hai tập; một số thuộc tính rời rạc có rất nhiều trị
Mô hình dự đoán được học trên 2 tập dữ liệu gom gọn (aggregate) các giá trị của các thuộc tính từ 2 tập huấn luyện gốc, nhưng sau đó được đánh giá trên 2 tập kiểm tra đầy đủ Ba thuộc tính có số trị rất lớn được gom cụm theo K- means thành ít trị hơn nhiều, giá trị K được chọn bằng cách thử và sai
Lập ra 14 tập mẫu từ tập dữ liệu gốc bằng cách lấy một số mẫu từ tập dữ liệu gốc theo kiểu random sampling with Đối với tập algebra-
2008-2009, độ chính xác phân lớp chỉ kém hơn mô hình vô địch
6% (tác giả không nói rõ mô hình vô địch là mô hình gì), nhưng với tập bridge-to-algebra- 2008-2009 thì độ chính xác kém hơn nhiều, và tác giả giải thích là do thiếu thời gian để tạo các mô hình dự đoán
Tác giả tin rằng nếu đủ thời gian thì độ chính xác đối với hai tập là như nhau
13 trong số 14 tập dữ liệu đã được lấy mẫu được dùng làm training set, cái còn lại dùng làm test set Vì vậy có 13 mô hình phân lớp nền, và mỗi mô hình được tạo ra bằng 10-fold cross validation replacement, mỗi tập mẫu chỉ còn 100000 bản ghi, tỷ lệ giữa số bản ghi dương tính và âm tính là 85:15
Phân lớp bằng cách kết hợp nhiều mô hình
(ensemble) theo chiến thuật majority voting với 2 mô hình nền được chọn là C4.5 và RapidMiner
Sau khi tất cả các mô hình nền được tạo ra, 7 trong số chúng được chọn để kết hợp bằng cách dùng giải thuật tham lam và loại trừ ngược
3.3 Các công trình về Ứng dụng Giải thuật Tiến hóa cho Phân lớp Dữ liệu Giáo dục
Tương tự, các công trình ứng dụng GA hoặc GP trong khai phá dữ liệu đã được thực hiện khá nhiều, nhưng công trình dùng GA hay GP để khai phá dữ liệu giáo dục thì còn ít, đặc biệt, bài toán phân lớp dữ liệu giáo dục dùng GA rất ít Chỉ có thể kể ra đây vài công trình như [10], [13] Bảng 3.3 tóm tắt những gì các công trình này đã thực hiện
Bảng 3.3: Những công trình ứng dụng GA hoặc GP cho phân lớp dữ liệu giáo dục Đề tài Đặc điểm tập dữ liệu Giải pháp thực hiện Kết quả đạt được Ghi chú
[10] Dữ liệu về cách sử dụng tài nguyên của hệ thống học trực tuyến LON- CAPA của Michigan State University (Mỹ), khóa học PHY183 học kỳ Spring 2002, gồm 227 bản ghi sinh viên hợp lệ, dùng 6 thuộc tính để khai phá Áp dụng 3 cách chia trị lớp:
GA chỉ được dùng để tối ưu hóa mô hình kết hợp (CMC) của 9 mô hình phân lớp: Quadratic Bayesian, 1- NN, k-NN, Parzen- window, MultiLayer Perceptron (MLP), và 4
Mục tiêu của GA là tìm một quần thể các trọng số tốt nhất cho mỗi vector
Tìm thấy kết quả tốt nhất khi số cá thể trong quần thể là 200 Độ chính xác ứng với 2- lớp, 3-lớp, và 9-lớp:
CMC (của 4 mô hình ít tốn thời gian nhất) có GA cải thiện được từ hơn 10% đến hơn 12% so với CMC không có
2, 3, và 9 lớp thuộc tính 6 chiều, giúp cực tiểu hóa error rate của mô hình dự đoán
Fitness function: chỉ đơn giản là độ chính xác dự đoán
Lai ghép theo công thức:
Alpha× (parent2– parent1), xác suất lai ghép là 0.7
Công thức biến dị: Mutated Var = Var + MutMx × range × MutOpt(2) × delta, xác suất biến dị là 1/600
GA Trong đó độ chính xác ứng với 2-lớp là cao nhất (khoảng 94%)
Thu thập dữ liệu từ 7 khóa học e-Learning trên nền tảng Moodle với 419 sinh viên tại Đại học Cordoba trong một năm học Áp dụng thuật toán G3P-MI, một biến thể của G3P trong MIL (Multiple Instance Learning) để xử lý dữ liệu phức tạp do sự đa dạng của các loại bài tập trong 7 khóa học.
Thông tin về hoạt động của mỗi sinh viên được biểu diễn dưới dạng một bag, mỗi bag bao gồm nhiều instance, mỗi instance được chia làm 3 thuộc tính, mỗi thuộc tính có 8 giá trị; kèm theo 3 thuộc tính của bag: User-Id,
Mỗi bag như thế được xem là một nhiễm sắc thể, biểu diễn một luật IF-THEN để có tính dễ hiểu
Giá trị hàm fitness là sensitivity * specificity
Chọn quần thể cha mẹ theo cơ chế đấu loại từng cặp
Lai ghép với xác suất 90%,
Giải thuật được so sánh với 8 giải thuật tốt nhất dựa trên MIL khác, được hiện thực trong Weka
G3P-MI thu được các mô hình có độ chính xác cao nhất nhưng vẫn cân bằng giữa các độ đo tương phản nhau là độ nhạy và độ đặc hiệu
Các công trình về ứng dụng các giải thuật tiến hóa cho phân lớp dữ liệu giáo dục
4.1 Hướng tiếp cận đề tài
Như đã trình bày trong các chương trước, vì bài toán phân lớp là bài toán được nghiên cứu nhiều nhất nên có rất nhiều phương pháp hay giải thuật đã được đề xuất
Nhìn chung, mỗi phương pháp đều có những ưu và nhược điểm riêng, tuy nhiên giới nghiên cứu đều thống nhất một nhận định là: không có giải thuật nào tốt nhất cho mọi tập dữ liệu và mọi lãnh vực ứng dụng Nói cách khác, giải thuật A có hiệu năng tốt hơn giải thuật B đối với tập dữ liệu này, nhưng nếu xét trên tập dữ liệu khác thì hoàn toàn có thể giải thuật B lại có hiệu năng tốt hơn giải thuật A Mặt khác, như đã nói qua trong Chương 1, các tập dữ liệu kết quả thi/kiểm tra trong ngành giáo dục là loại tập dữ liệu không cân đối, mà các biện pháp để xử lý tình trạng này nói chung vẫn còn đang được nghiên cứu, những công trình nghiên cứu gần đây cho thấy hiệu quả của chúng cũng còn tùy thuộc vào giải thuật phân lớp và mức độ mất cân đối của tập dữ liệu cụ thể
Đầu tiên, chúng tôi tiến hành so sánh hiệu suất của 3 thuật toán phổ biến C4.5, Naive Bayes và Neural Network trên tập dữ liệu có và không qua tiền xử lý và cân đối lại dữ liệu, nhằm đánh giá hiệu suất của từng thuật toán trên tập dữ liệu cụ thể và ảnh hưởng của việc cân đối dữ liệu Sau đó, chúng tôi triển khai một thuật toán phân lớp được cho là không bị ảnh hưởng bởi sự mất cân bằng lớp dữ liệu và cho ra mô hình dễ hiểu Cuối cùng, chúng tôi thực nghiệm thuật toán này trên cùng tập dữ liệu và so sánh hiệu suất phân lớp của thuật toán này với 3 thuật toán phổ biến đã đề cập ở trên.
HƯỚNG TIẾP CẬN ĐỀ TÀI VÀ GIẢI PHÁP
Hướng tiếp cận đề tài
Như đã trình bày trong các chương trước, vì bài toán phân lớp là bài toán được nghiên cứu nhiều nhất nên có rất nhiều phương pháp hay giải thuật đã được đề xuất
Nhìn chung, mỗi phương pháp đều có những ưu và nhược điểm riêng, tuy nhiên giới nghiên cứu đều thống nhất một nhận định là: không có giải thuật nào tốt nhất cho mọi tập dữ liệu và mọi lãnh vực ứng dụng Nói cách khác, giải thuật A có hiệu năng tốt hơn giải thuật B đối với tập dữ liệu này, nhưng nếu xét trên tập dữ liệu khác thì hoàn toàn có thể giải thuật B lại có hiệu năng tốt hơn giải thuật A Mặt khác, như đã nói qua trong Chương 1, các tập dữ liệu kết quả thi/kiểm tra trong ngành giáo dục là loại tập dữ liệu không cân đối, mà các biện pháp để xử lý tình trạng này nói chung vẫn còn đang được nghiên cứu, những công trình nghiên cứu gần đây cho thấy hiệu quả của chúng cũng còn tùy thuộc vào giải thuật phân lớp và mức độ mất cân đối của tập dữ liệu cụ thể
Vì lý do đĩ, trước hết chúng tơi sẽ cho chạy 3 giải thuật phổ biến là C4.5, Nạve Bayes và Neural Network trên tập dữ liệu hiện có như đã nêu trong Chương 1, trước và sau khi tiến hành một vài thủ tục tiền xử lý và tái cân đối dữ liệu, để xem xét hiệu năng của mỗi giải thuật trên tập dữ liệu giáo dục cụ thể đang có và ảnh hưởng của việc tái cân đối dữ liệu đối với hiệu năng của chúng Sau đó, chúng tôi sẽ hiện thực một giải thuật phân lớp mà theo các nghiên cứu đã được thực hiện thì không bị ảnh hưởng bởi sự không cân đối lớp của dữ liệu và cho ra mô hình dễ hiểu, rồi sẽ thực nghiệm giải thuật đó cũng trên tập dữ liệu hiện có và so sánh hiệu năng phân lớp của giải thuật này với 3 giải thuật phổ biến đã nêu bên trên
Các bước cần tiến hành để thực hiện các công việc của luận văn có thể được mô tả như trong Hình 4.1 dưới đây:
Hình 4.1: Các bước cần tiến hành để thực hiện công việc của luận văn
Bước 1: Tiền xử lý tập dữ liệu ban đầu, biến đổi thành
2 tập dữ liệu 5 lớp rời rạc và liên tục có chuẩn hóa để phục vụ cho việc thực nghiệm với các giải thuật
Bước 2 tiến hành thực nghiệm phân lớp bằng các thuật toán phổ biến C4.5, Naive Bayes và Neural Network trên hai tập dữ liệu được tạo ở Bước 1 Kết quả thực nghiệm sau đó được so sánh, giúp rút ra nhận xét và lý giải về hiệu suất của các thuật toán trên các tập dữ liệu cụ thể.
Bước 3: Thu gọn lớp để 2 tập dữ liệu rời rạc và liên tục
5 lớp ở Bước 1 trở thành 2 tập dữ liệu rời rạc và liên tục 3 lớp, sau đó lại chạy các giải thuật phổ biến trên 2 tập dữ liệu 3 lớp này, so sánh kết quả, nhận xét và lý giải
Bước 4: Thực hiện tái cân đối dữ liệu để biến các tập dữ liệu ở Bước 3 thành các tập dữ liệu cân đối, sau đó lại chạy các giải thuật phổ biến trên các tập dữ liệu này, so sánh kết quả, nhận xét và lý giải
Bước 5: Hiện thực một giải thuật phân lớp dùng GP, sau đó thực nghiệm giải thuật này với các tập dữ liệu được tạo ở các Bước 3 và 4, so sánh kết quả với các kết quả ở các Bước 3 và 4, nhận xét và kết luận
Giải pháp thực hiện
4.2.1 Tiền xử lý tập dữ liệu học tập của sinh viên
Trong lĩnh vực khai phá dữ liệu nói chung và bài toán phân lớp nói riêng, quá trình tiền xử lý dữ liệu đóng vai trò rất quan trọng Một tập dữ liệu thô/gốc (raw/original dataset) sau khi đã được tiền xử lý với các kỹ thuật phù hợp như thu giảm dữ liệu (data reduction), làm sạch dữ liệu (data cleaning/cleansing), chuẩn hóa, v.v… sẽ cho ra kết quả huấn luyện tốt hơn so với tập dữ liệu thô ban đầu Bên cạnh đó, mỗi giải thuật huấn luyện thường phù hợp với một loại dữ liệu nào đó hơn các loại dữ liệu khác, ví dụ: giải thuật cây quyết định thường cho ra mô hình hiệu năng cao hơn khi dữ liệu thuộc loại rời rạc (nominal) so với khi dữ liệu là loại liên tục (numerical), còn giải thuật mạng nơ-rôn lan truyền ngược thường phù hợp hơn với dữ liệu liên tục đã chuẩn hóa Để việc phân lớp sinh viên đạt được độ chính xác cao, tập dữ liệu kết quả học tập cần được khảo sát tỉ mỉ để tìm ra những vấn đề trong nó rồi áp dụng các kỹ thuật tiền xử lý khác nhau để giải quyết chúng Mục này chúng tôi có tham khảo [45]
Trong tập dữ liệu điểm, trạng thái học tập của sinh viên gồm 5 giá trị: tốt nghiệp (TN), chưa tốt nghiệp (CTN), cảnh cáo 1 (CC1), cảnh cáo 2 (CC2) và buộc thôi học (BTH) Mỗi trạng thái phản ánh tình hình học tập của sinh viên, từ hoàn thành chương trình, đang học bình thường đến có kết quả kém Trong hệ thống tín chỉ, mỗi sinh viên lựa chọn môn học khác nhau, khiến việc phân lớp trở nên khó khăn Ngoài ra, sinh viên cùng chuyên ngành nhưng ở các khóa khác nhau có thể có môn học khác nhau do chương trình đào tạo thay đổi.
Mặc dù quá trình đăng ký học của sinh viên diễn ra linh hoạt, nhưng mỗi sinh viên bắt buộc phải tuân thủ chương trình đào tạo do khoa quản lý chuyên ngành của sinh viên ban hành.
Ngoài ra, tuy chương trình thay đổi giữa các khóa nhưng có một danh sách các môn học tương đương (giữa môn học cũ và môn học mới) để tiện việc quy đổi Do đó, để giải quyết vấn đề khác nhau giữa số lượng môn học và các môn học cụ thể của mọi sinh viên, chúng tôi tổ chức lại dữ liệu thô do PĐT cung cấp chiếu theo danh sách các môn học Khi đó, tập dữ liệu có dạng là một bảng, trong đó mỗi cột là một môn học (ký hiệu bằng mã môn học cho ngắn gọn) có trong chương trình đào tạo chuẩn, còn mỗi hàng là dữ liệu về điểm và trạng thái được ghi nhận gần nhất (TN, CTN, v.v…) của một sinh viên
Bảng 4.1: Tập dữ liệu kết quả học tập, tổ chức theo chương trình đào tạo chuẩn
001001 001004 003016 … Tu_chon_4 Tu_chon_5 Status
Khi đã tổ chức lại bảng điểm chiếu theo chương trình đào tạo, mọi sinh viên đều có số lượng môn học như nhau, vấn đề còn lại chỉ là điền điểm số mỗi môn học của sinh viên vào bảng Tuy nhiên, các môn mà sinh viên đã học là không giống nhau, ví dụ: tại một thời điểm nào đó, sinh viên A đã hoàn thành môn 003016 còn sinh viên B thì chưa Sự học lệch môn giữa các sinh viên như thế làm cho tập dữ liệu không được nhất quán Để giải quyết sự không nhất quán này, môn học nào sinh viên chưa học sẽ được cấp cho giá trị là NULL trong cơ sở dữ liệu, môn học nào sinh viên đã học rồi thì điểm số chính là điểm tổng kết của môn học đó Thỉnh thoảng có những sinh viên học một môn học nào đó nhiều lần (học lại để đủ điểm hoặc để cải thiện điểm), khi đó ta chỉ lấy điểm cao nhất mà sinh viên đạt được của môn đó để dùng trong quá trình phân lớp, dù đó là điểm đạt hay không đạt (điều này cũng hoàn toàn phù hợp với cách đánh giá kết quả của PĐT) Khi chuyển thành từng loại dữ liệu cụ thể (rời rạc hay liên tục nhưng được chuẩn hóa) thì các giá trị NULL sẽ được chuyển thành những giá trị tương ứng, phù hợp với loại dữ liệu đó
Bảng 4.2: Tập dữ liệu sau khi xử lý việc học lệch môn giữa các sinh viên
001001 001004 003016 … Tu_chon_4 Tu_chon_5 Status
Theo chương trình đào tạo, mỗi sinh viên phải hoàn thành năm môn học tự chọn
Theo quy định của PĐT, các môn học tự chọn có giá trị ngang nhau trong xét tốt nghiệp Nếu sinh viên không hoàn thành một môn tự chọn nào đó, họ có thể đăng ký học lại hoặc chọn học một môn khác vào học kỳ sau Khi tính điểm cho các môn tự chọn, PĐT quy định lấy 5 điểm cao nhất theo thang điểm 10 Đặc biệt, PĐT cũng quy định một số điểm đặc biệt có giá trị lớn hơn 10, được ký hiệu bằng điểm chữ.
Bảng 4.3: Các điểm đặc biệt Điểm số Điểm chữ Ý nghĩa – tên điểm Ghi chú
11 F Cấm thi Tính như điểm 0
12 M Miễn thi Ghi chú tạm trong bảng điểm, sẽ cập nhật trước khi tổng kết 13 F Vắng thi không phép Tính như điểm 0 14 I Vắng thi có phép Tính chưa tích lũy
15 Z Chưa nhận điểm Ghi chú tạm thời, sẽ cập nhật trước khi tổng kết
16 X Miễn học Tích lũy, ghi trong mục bảo lưu và không tính vào ĐTBHK
17 R Rút môn học Không tính điểm
18 H Hủy môn học Xóa hoàn toàn trong dữ liệu điểm
Các điểm đặc biệt này nếu còn trong bảng điểm thì không thể được xử lý như đối với các điểm bình thường thuộc thang 10 Trong tập dữ liệu điểm sinh viên các khóa 2005-2009 mà chúng tôi nhận được từ PĐT, không có các điểm 11, 13, 15 và 18, nhưng vẫn còn sót lại một số điểm 12, 14, 16 và 17; những điểm này sẽ được xử lý riêng biệt trong khi chuyển đổi thành hai tập dữ liệu thuộc loại rời rạc và loại liên tục có chuẩn hóa, như được mô tả trong hai tiểu mục 4.2.1.1 và 4.2.1.2 bên dưới đây
Dữ liệu dùng để phân lớp được thu thập từ kết quả học tập của sinh viên nhiều khóa khác nhau, nhưng chương trình đào tạo của các khóa có thể không giống nhau, nên xảy ra vấn đề không đồng nhất môn học giữa các khóa như đã nói ở trên (chỉ từ năm 2008 về sau, chương trình đào tạo mới trở thành chuẩn thống nhất) Để tạo sự đồng nhất trong dữ liệu, ta tra bảng các môn học tương đương giữa các khóa để đặt điểm của các môn khóa trước vào đúng cột điểm của môn tương đương của chương trình chuẩn 2008
Bảng dữ liệu ban đầu gồm 51 cột môn học và 1 cột kết quả cuối khóa, phù hợp cho việc phân lớp Tuy nhiên, tùy theo đặc điểm dữ liệu mà các thuật toán phân lớp sẽ có hiệu quả khác nhau Các thuật toán như C4.5 và Naive Bayes thích hợp hơn với dữ liệu rời rạc, trong khi Neural Network lại phù hợp với dữ liệu liên tục chuẩn hóa Do đó, cần phải chuyển đổi bảng dữ liệu ban đầu để phù hợp với các loại dữ liệu này.
4.2.1.1 Biến đổi sang dữ liệu rời rạc
Theo quy định có sẵn của trường, thành tích học tập của sinh viên trong mỗi môn học vốn có thể được xếp hạng theo điểm tổng kết môn học đó của họ, như sau:
Bảng 4.4: Bảng xếp hạng học tập của sinh viên theo điểm
Để đánh giá kết quả học tập, các điểm số được chia thành các mức đánh giá tương ứng: XUẤT SẮC (XS), GIỎI (G), KHÁ (K), TRUNG BÌNH KHÁ (TBK), TRUNG BÌNH (TB), YẾU (Y), KÉM (KE) Điểm số trong khoảng 0 đến 4 được sắp xếp theo thứ tự từ kém đến xuất sắc Bên cạnh đó, thang điểm này còn được sử dụng để đánh giá tình trạng học tập của học sinh thông qua các cột trạng thái, bao gồm các trị rời rạc như: Thiếu năng (TN), Bình thường (BTH), Chậm tiến (CTN),
Ngoài ra, như đã nói ở trên, chúng tôi còn phải xử lý các điểm đặc biệt còn sót lại trong các bảng dữ liệu do PĐT chuyển giao:
_ Các điểm 14 và 17: Vì điểm 14 có nghĩa là sinh viên vắng thi có phép, còn điểm 17 có nghĩa là sinh viên đã rút môn học, cho nên có thể coi là sinh viên chưa học môn đó Vì vậy, chúng tôi chuyển các điểm 14, 17 cũng như điểm NULL thành CH (Chưa Học)
_ Riêng điểm 12 (miễn thi) và 16 (miễn học), theo quy định là sinh viên được
“ghi chú tạm trong bảng điểm, sẽ cập nhật” và “tích lũy, ghi trong mục bảo lưu” (xem lại Bảng 4.3), tức là xét về khối lượng kiến thức đã học, phải coi là sinh viên đã học và đạt môn học đó Lẽ ra về nguyên tắc, PĐT phải chuyển các điểm đặc biệt này thành một điểm cụ thể thuộc thang 10 theo quy định cụ thể đối với môn học đó (ví dụ như: các sinh viên đã đạt một chứng chỉ quốc tế tiếng Anh nào đó thì có thể được miễn các môn Anh văn 1, Anh văn 2, v.v…, và điểm chứng chỉ sẽ được quy đổi thành điểm 6 đến 10 trong thang 10 5 ), thế nhưng tập dữ liệu thực tế do PĐT giao cho chúng tôi vẫn còn sót lại các điểm 12 và 16 này Chúng tôi không có thông tin miễn thi miễn học của từng sinh viên để biết điểm 12 nào và điểm 16 nào cần được đổi thành điểm gì trong thang 10, cho nên đành quy chúng thành điểm 5 và chuyển đổi rời rạc thành TB
Bảng 4.5: Tập dữ liệu sau khi được chuyển sang rời rạc
001001 001004 … Tu_chon_4 Tu_chon_5 Status
4.2.1.2 Biến đổi sang dữ liệu liên tục chuẩn hóa
Trước hết, chúng tôi biến đổi các điểm 14, 17, và NULL thành điểm 0 (chưa học coi như chưa tích lũy kiến thức được gì đối với môn học đó), còn điểm 12 và 16 được chuyển đổi thành điểm 5 do không có thông tin cụ thể về điểm 16 của các sinh viên
KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ
Môi trường và các tập dữ liệu thực nghiệm
Tất cả các giải thuật đều được thực nghiệm trên công cụ WEKA 3.7.7 và trên một máy laptop với bộ xử lý Intel Core i5 M460 2.53GHz, 4GB bộ nhớ RAM DDR2- 800MHz, với hệ điều hành là Microsoft Windows 7 64-bit Home Premium Edition Đặc điểm các tập dữ liệu thực nghiệm như sau:
Các tập dữ liệu 5 lớp không cân đối:
Bảng 5.1: Đặc điểm các tập dữ liệu 5 lớp không cân đối
Tên Đặc điểm tập dữ liệu
Kiểu dữ liệu Số bản ghi
Tỷ số không cân đối I r
(200 TN, 171 BTH, 924 CTN, 25 CC1, 23 CC2)
52 (kể cả thuộc tính lớp) NormDS
Liên tục có chuẩn hóa
Các tập dữ liệu đã thu giảm còn 3 lớp không cân đối:
Bảng 5.2: Đặc điểm các tập dữ liệu 3 lớp không cân đối
Tên Đặc điểm tập dữ liệu
Kiểu dữ liệu Số bản ghi
Tỷ số không cân đối I r
52 (kể cả thuộc tính lớp) Norm3cDS
Liên tục có chuẩn hóa
Các tập dữ liệu 3 lớp đã tái cân đối:
Bảng 5.3: Đặc điểm các tập dữ liệu 3 lớp đã tái cân đối
Tên Đặc điểm tập dữ liệu
Kiểu dữ liệu Số bản ghi
Tỷ số không cân đối I r
Disc3cIM1 (Được tái cân đối bằng
52 (kể cả thuộc tính lớp) Disc3cIM2
(Được tái cân đối bằng Resample)
Norm3cIM1 (Được tái cân đối bằng
SpreadSubsample) Liên tục có chuẩn hóa
Norm3cIM2 (Được tái cân đối bằng Resample)
Kết quả thực nghiệm các giải thuật thông dụng
5.2.1 Trên các tập dữ liệu 5 lớp không cân đối
Các Bảng 5.4 và 5.5 trình bày kết quả việc chạy thực nghiệm các giải thuật J48, Nạve Bayes và MultilayerPerceptron (MLP), với cấu hình mặc định, trên lần lượt hai tập dữ liệu 5 lớp DiscDS và NormDS Trong các bảng đó, Acc là viết tắt của Accuracy (độ chính xác phân lớp), Se là viết tắt của độ nhạy, còn Sp là viết tắt của độ đặc hiệu
Bảng 5.4: Kết quả chạy ba giải thuật thông dụng trên tập DiscDS
Algorithm Confusion matrix Acc Se Sp
Build time: 0s a b c d e classified as 200 0 0 0 0 a = TN
Độ chính xác phân lớp: MLP cao nhất, Nạve Bayes thấp nhất, đĩ là do giả định độc lập giữa các thuộc tính của Nạve Bayes khơng phù hợp
Độ chính xác phân lớp của các thuật toán trong bài viết chủ yếu phụ thuộc vào độ nhạy Tuy nhiên, độ đặc hiệu của chúng thường thấp, ngoại trừ trường hợp Naive Bayes Khi xét từng lớp riêng biệt, lớp nào có độ nhạy cao thường có độ đặc hiệu thấp và ngược lại Sự không cân bằng giữa các lớp dữ liệu ảnh hưởng đáng kể đến hiệu quả của các thuật toán này.
Các lớp CC1 và CC2 có độ nhạy rất kém nhưng độ đặc hiệu rất cao Các bản ghi thuộc hai lớp này thường bị phân nhầm sang các lớp CTN và BTH
Thời gian xây dựng mơ hình (build time) của Nạve Bayes ít nhất, của MLP nhiều nhất (hơn 1 giờ), còn của J48 cũng rất ít Thời gian xây dựng mô hình của MLP lớn nhất là vì MLP phù hợp hơn với dữ liệu liên tục, không phù hợp với dữ liệu rời rạc
Bảng 5.5: Kết quả chạy ba giải thuật thông dụng trên tập NormDS
Algorithm Confusion matrix Acc Se Sp
Độ chính xác phân lớp: MLP cao nhất, Nạve Bayes thấp nhất Nhìn chung độ chính xác phân lớp kém hơn trường hợp tập dữ liệu DiscDS; đặc biệt, độ chính xác của Nạve Bayes kém rất nhiều so với khi chạy trên DiscDS Đĩ một phần do Nạve Bayes dùng giả định độc lập theo điều kiện lớp (không phù hợp với dữ liệu kết quả học tập các môn học), một phần do
Nạve Bayes thích hợp hơn với dữ liệu rời rạc (theo đúng lý thuyết)
Độ chính xác phân lớp của cả 3 giải thuật chủ yếu là do độ nhạy đóng góp, cịn độ đặc hiệu kém hơn nhiều (trừ trường hợp Nạve Bayes) Xét riêng từng lớp, lớp nào có độ nhạy cao thì lại có độ đặc hiệu kém, và ngược lại Đó là ảnh hưởng của sự không cân đối lớp đối với các giải thuật này
Các lớp CC1 và CC2 có độ nhạy rất kém nhưng độ đặc hiệu rất cao Các bản ghi thuộc hai lớp này thường bị phân nhầm sang các lớp CTN và BTH
Thời gian xây dựng mơ hình: nhanh nhất cũng là Nạve Bayes rồi đến J48, còn MLP thì chậm hơn, nhưng nhanh hơn nhiều so với khi chạy trên tập dữ liệu DiscDS, đó là do MLP phù hợp hơn với dữ liệu liên tục
Như vậy, so sánh hiệu năng mỗi giải thuật trên hai loại tập dữ liệu và rời rạc thì:
Hiệu năng của J48 và Nạve Bayes trên tập dữ liệu rời rạc tốt hơn (độ chính xác cao hơn, thời gian chạy ngắn hơn) trên tập dữ liệu liên tục Điều này hoàn toàn phù hợp với lý thuyết
Độ chính xác của MLP trên tập dữ liệu rời rạc chỉ tốt hơn một chút so với độ chính xác của cũng giải thuật đó trên tập dữ liệu liên tục, nhưng thời gian chạy thì lớn hơn rất nhiều Đây là vì MLP thích hợp hơn với dữ liệu liên tục, theo đúng lý thuyết
Xét về độ dễ hiểu, kết quả hoàn toàn phù hợp với nhận định ở Chương 2 (trong [5]):
MLP và Nạve Bayes khơng thể sinh ra những luật phân lớp dễ hiểu cho người dùng
J48 sinh ra cây quyết định tương đối dễ hiểu, nhưng vì cây rậm rạp quá (do có đến 51 thuộc tính) nên cũng khó hiểu
Hình 5.1 cho thấy một phần của một cây quyết định rậm rạp sinh ra sau khi chạy J48 trên tập dữ liệu DiscDS (mặc dù đã được cắt xén bớt – pruned)
Hình 5.1: Một phần của cây quyết định do J48 sinh ra khi chạy trên Disc3cDS
5.2.2 Trên các tập dữ liệu thu gọn còn 3 lớp
Bảng 5.6 và 5.7 thể hiện kết quả thử nghiệm ba thuật toán J48, Naive Bayes và MultilayerPerceptron (MLP) với cấu hình mặc định trên hai tập dữ liệu Trong các bảng này, Acc là viết tắt của độ chính xác phân loại, Se là viết tắt của độ nhạy và Sp là viết tắt của độ đặc hiệu, giống như trong Bảng 5.4 và 5.5.
Bảng 5.6: Kết quả chạy ba giải thuật thông dụng trên tập Disc3cDS
Algorithm Confusion matrix Acc Se Sp
Độ chính xác phân lớp: MLP cao nhất, Nạve Bayes thấp nhất, lý do vẫn giống như đối với tập dữ liệu 5 lớp Nhưng nhìn chung, độ chính xác của cả 3 giải thuật đều được cải thiện so với trên tập dữ liệu 5 lớp Đó là do không còn dữ liệu nhiễu do việc phân thành 5 lớp
Tương tự như tập dữ liệu 5 lớp, độ chính xác phân lớp của cả 3 thuật toán cũng chủ yếu do độ nhạy đóng góp, trong khi độ đặc hiệu lại có phần kém hơn (trừ trường hợp Naive Bayes) Xem xét riêng từng lớp, lớp nào có độ nhạy cao thì lại có độ đặc hiệu thấp, và ngược lại Nguyên nhân dẫn đến điều này chính là do ảnh hưởng của sự không cân đối lớp đối với các thuật toán này.
Thời gian xây dựng mơ hình (build time) của Nạve Bayes ít nhất, của MLP nhiều nhất (hơn 1 giờ 10 phút), còn của J48 cũng rất ít Đáng ngạc nhiên là build time của cả 3 giải thuật đều tăng so với khi chạy trên tập dữ liệu 5 lớp Đó có lẽ là do việc phân lớp cho các lớp nhiễu CC1 và CC2 dễ hơn, ít tốn thời gian hơn so với việc phân lớp cho lớp CTN
Bảng 5.7: Kết quả chạy ba giải thuật thông dụng trên tập Norm3cDS
Algorithm Confusion matrix Acc Se Sp
Kết quả thực nghiệm với giải thuật GP vừa hiện thực
5.3.1 Kết quả chạy giải thuật
Giải thuật CST này cũng được cho chạy trên lần lượt các tập dữ liệu 3 lớp chưa cân đối Disc3cDS, Norm3cDS, rồi trên các tập dữ liệu 3 lớp đã cân đối rời rạc
Disc3cIM1, Disc3cIM2 và liên tục chuẩn hóa Norm3cIM1 và Norm3cIM2, như với ba giải thuật thông dụng có sẵn trong WEKA ở mục 5.2
Vấn đề đối với giải thuật này là, có quá nhiều thông số cấu hình có thể chọn để chạy nó:
Kích thước quần thể (populationSize): có thể chọn tùy ý;
Số thế hệ tối đa (generations): có thể chọn tùy ý;
Kiểu lựa chọn cha mẹ (parentSelector): có 4 kiểu để chọn: (1) Tournament Selector, (2) Roulette Wheel Selector, (3) Random Selector, và (4) Betters Selector;
Độ sâu tối đa của cây (maxDerivSize): mặc định là 20;
Xác suất lai ghép (crossoverProb): mặc định là 0.8;
Xác suất tái sinh (copyProb): mặc định là 0.05;
Xác suất biến dị (mutationProb): mặc định là 0.1 (thật ra không có tác dụng trong giải thuật này, chỉ có mặt theo cấu hình chung của mô-đun phân lớp của thư viện JCLEC);
Hạt giống để sinh ngẫu nhiên (seed): mặc định là 123456789
Một số thực nghiệm ban đầu cho thấy không cần thay đổi năm thông số sau (maxDerivSize, crossoverProb, copyProb, mutationProb, và seed), nhưng cũng vẫn còn 3 thông số đầu cần chọn để thực nghiệm (populationSize, generations, và parentSelector Kết quả thực nghiệm cho thấy, kết quả tốt nhất (về độ chính xác phân lớp) chỉ đạt được trên các tập dữ liệu này khi: giá trị populationSize chiếm từ 2/3 đến 7/8 số bản ghi của tập dữ liệu (với tập dữ liệu đang xét thì các con số này được làm tròn thành 900, 1000, 1100 và 1200), giá trị generations trong khoảng từ 1500 đến 2500 (cao hơn là không cần thiết, vì không sinh ra được kết quả tốt hơn nữa mà lại tốn thêm nhiều thời gian hơn), và Betters Selector thường là bộ lựa chọn cha mẹ cho ra kết quả cao nhất Kết quả chạy thực nghiệm được cho trong Bảng 5.12 bên dưới
Bảng 5.12: Kết quả chạy giải thuật CST trên các tập dữ liệu 3 lớp
Dataset Confusion matrix Acc Se Sp
Disc3cDS P00, G00 S=4 (Betters) Build time: 622.57s a b c classified as 200 0 0 a = TN
Norm3cDS P0, G00 S=4 (Betters) Build time: 407.41s a b c classified as 200 0 0 a = TN
Disc3cIM1 P00, G00 S=4 (Betters) Build time: 333.5s a b c classified as 448 0 0 a = TN
Disc3cIM2 P0, G00 S=4 (Betters) Build time:1131.8s a b c classified as 439 0 0 a = TN
Norm3cIM1 P0, G00 S=4 (Betters) Build time: 496.33s a b c classified as 448 0 0 a = TN
Norm3cIM2 P00 , G%00 S=4 (Betters) Build time: 727.43s a b c classified as 375 8 71 a = TN
So sánh giữa CST và J48 (giải thuật cũng sinh được cây phân lớp):
Trên tập dữ liệu Disc3cDS: độ chính xác phân lớp của CST đích xác bằng độ đo đó của J48, nhưng dễ thấy chênh lệch giữa độ nhạy và độ đặc hiệu của CST không lớn (4.91%), còn chênh lệch giữa độ nhạy và độ đặc hiệu của J48 lớn hơn (7.12%) (xem lại Bảng 5.6) Điều này chứng tỏ trên dữ liệu rời rạc, CST ít bị ảnh hưởng bởi sự không cân đối lớp hơn so với J48
Trên tập dữ liệu Norm3cDS: độ chính xác phân lớp của CST kém hơn một ít (1.27%) so với độ chính xác của J48, nhưng chênh lệch giữa độ nhạy và độ đặc hiệu của CST nhỏ (2.28%), còn chênh lệch giữa độ nhạy và độ đặc hiệu của J48 lớn hơn đáng kể (5.92%) (xem lại Bảng 5.7) Điều đó chứng tỏ trên dữ liệu liên tục, CST cũng ít bị ảnh hưởng bởi sự không cân đối lớp hơn so với J48
Trên tập dữ liệu Disc3cIM1: độ chính xác của CST có kém hơn đáng kể (6.55%) so với độ chính xác của J48, nhưng độ chênh lệch giữa độ nhạy và độ đặc hiệu của CST cũng chỉ bằng 0% như của J48 (xem lại Bảng 5.8)
Trên tập dữ liệu Disc3cIM2: giải thuật CST có độ chính xác phân lớp kém hơn đáng kể (6.19%) so với độ chính xác của J48, tuy nhiên chênh lệch giữa độ nhạy và độ đặc hiệu của CST rất nhỏ (0.2%), tương tự như chênh lệch giữa độ nhạy và độ đặc hiệu của J48 (0.1%) (xem lại Bảng 5.9)
Trên tập dữ liệu Norm3cIM1: giải thuật CST có độ chính xác phân lớp kém hơn không nhiều (4.32%) so với độ chính xác của J48, tuy nhiên chênh lệch giữa độ nhạy và đặc hiệu của CST bằng 0, giống như của J48 (xem lại Bàng 5.10)
Trên tập dữ liệu Norm3cIM2: giải thuật CST có độ chính xác phân lớp kém hơn không nhiều (4.24%) so với độ chính xác của J48, tuy nhiên chênh lệch giữa độ nhạy và đặc hiệu của CST rất nhỏ (0.09%), gần giống như chênh lệch đó của J48 (0.05%) (xem lại Bàng 5.11)
Nhìn chung, trên bất kỳ tập dữ liệu nào, mô hình phân lớp mà CST sinh ra đều không bị ảnh hưởng nhiều bởi sự không cân đối của dữ liệu; hơn nữa, mô hình đó có độ dễ hiểu tốt hơn nhiều so với mô hình phân lớp của J48
So sánh CST trên các tập dữ liệu trước và sau khi tái cân đối:
Nhìn chung, độ chính xác phân lớp của CST trước và sau khi tái cân đối không thay đổi mấy Độ chênh lệch giữa độ nhạy và độ đặc hiệu của CST trước sau đều không lớn Điều này chứng tỏ CST hầu như không phụ thuộc vào tình trạng mất cân đối của dữ liệu, phù hợp với nhận định trong [37]
Như vậy, ta có thể sử dụng CST ngay trên tập dữ liệu không cân đối, không cần tốn thời gian và công sức để tái cân đối dữ liệu
Nhưng tính dễ hiểu của mô hình thu được từ CST tốt hơn nhiều so với tính dễ hiểu của mô hình thu được từ J48 Hình 5.2 cho thấy mô hình phân lớp thu được từ CST trên tập dữ liệu Disc3cIM1 (trích từ màn hình kết quả phân lớp của WEKA) chỉ bao gồm 4 luật phân lớp đơn giản, được ghép chung với nhau thành một luật duy nhất Chú ý rằng, mô hình đó cũng gần giống và dễ hiểu tương đương với mô hình thu được cũng từ CST nhưng trên tập dữ liệu Disc3cDS trong Hình 5.3 So với Hình 5.1, rõ ràng 2 mô hình thu được từ CST dễ hiểu hơn nhiều so với mô hình thu được từ J48
Hình 5.2: Mô hình (tập luật) phân lớp thu được từ CST trên Disc3cIM1
Hình 5.3: Mô hình (tập luật) phân lớp thu được từ CST trên Disc3cDS
Thử xem xét tính hợp lý của hai mô hình trên:
Rule1: IF(c_500303≠CH) THEN (status=TN)
Môn c500303 là Luận văn Tốt nghiệp, sinh viên nào đủ điều kiện làm luận văn và đã làm luận văn thường đều tốt nghiệp, cho nên Rule 1 rất hữu lý
Rule 2: ELSE IF((c_503001=KE)OR(c_503001=CH)) THEN (status=BTH) Môn 503001 là Cấu trúc Dữ liệu và Giải thuật, đây là môn khó nhưng cung cấp kiến thức cơ bản để học nhiều môn khác trong chuyên ngành Khoa học Máy tính; sinh viên nào chưa làm luận văn đồng thời kém hoặc chưa học môn đó thường không hoàn thành nổi khóa học; như vậy Rule 2 cũng rất hợp lý
ELSE IF((c_006023≠CH)AND(c_004011≠CH) THEN (status=CTN)
TỔNG KẾT
Những công việc đã thực hiện
Thực hiện nhiều biện pháp khác nhau để tiền xử lý dữ liệu, làm sạch những dữ liệu dị thường (các điểm số đặc biệt) và biến đổi tập dữ liệu giáo dục ban đầu thành những tập dữ liệu rời rạc và liên tục có chuẩn hóa để tiện cho việc phân lớp
Thực hiện nhiều biện pháp khác nhau để tái cân đối dữ liệu giáo dục thông qua lấy mẫu thiếu các bản ghi đa số và lấy mẫu dư các bản ghi thiểu số, nhằm áp dụng các giải thuật phân lớp thông dụng đối với chúng, và để kiểm nghiệm đặc điểm không phụ thuộc sự mất cân đối dữ liệu của giải thuật CST được hiện thực sau đó
Thực hiện nhiều giải pháp phân lớp khác nhau và cách sử dụng chúng với công cụ khai phá dữ liệu phổ biến WEKA
Hiện thực giải pháp phân lớp trên dữ liệu giáo dục không cân đối dựa trên quy hoạch di truyền (GP) thành giải thuật CST nhằm xây dựng một mô hình phân lớp vừa dễ hiểu vừa có độ chính xác khá cao (86.38% đến 92.48%, tùy tập dữ liệu cụ thể) Chứng minh được rằng CST hầu như không phụ thuộc vào sự mất cân đối dữ liệu, như vậy không cần tái cân đối dữ liệu để sử dụng CST, và vì thế rất dễ sử dụng trong thực tiễn
Đề xuất hàm fitness cho phân lớp CST với các đặc tính gồm: đơn giản về mặt tính toán, giá trị nằm trong phạm vi [0,1] dễ quản lý, hỗ trợ quá trình tiến hóa tập luật phân lớp diễn ra thuận lợi và đem lại kết quả đáng tin cậy.
Tích hợp CST vào WEKA, một công cụ có giao diện đồ họa trực quan và dễ dùng, điều này càng tạo thuận tiện cho những người dùng không chuyên và phổ biến được giải pháp đã được đề xuất.
Đóng góp của đề tài
1 Chứng thực ảnh hưởng của việc tái cân đối dữ liệu đối với độ chính xác phân lớp cũng như độ nhạy và độ đặc hiệu của các giải thuật phổ biến C4.5, Nạve Bayes và Neural Network
2 Khảo sát những đặc điểm về biểu diễn cá thể, cách tính hàm fitness, cách áp dụng những phép toán di truyền, cách lựa chọn cá thể cha mẹ, và cách kết thúc tiến hóa của GP Tổng hợp những ưu và nhược điểm nổi bật nhất của phân lớp dùng GP
3 Đề xuất sử dụng một giải thuật phân lớp GP dùng cách biểu diễn cá thể (tập luật phân lớp) là cây có ràng buộc cú pháp chặt chẽ Giải thuật này sinh ra mô hình là những tập luật phân lớp có độ chính xác phân lớp khá cao nhưng rất dễ hiểu và có độ tin cậy cao
4 Tích hợp giải thuật nói trên vào công cụ phân lớp WEKA miễn phí, tiện dụng và chạy được trên nhiều hệ điều hành Điều này giúp những người dùng không chuyên về KPDL cũng có thể dễ dàng sử dụng được giải thuật.
Hướng phát triển tiếp theo
1 Giải thuật phân lớp mà đề tài này đề xuất sinh ra những mô hình phân lớp dễ hiểu, nhưng độ chính xác phân lớp vẫn chưa cao lắm Một nghiên cứu cải tiến thêm hàm fitness cho CST có thể được thực hiện nhằm đạt độ chính xác phân lớp cao hơn, ví dụ đến khoảng 95%, nhưng vẫn giữ được những ưu điểm không phụ thuộc vào tình trạng không cân đối lớp của dữ liệu và sinh ra được mô hình phân lớp dễ hiểu
2 Thời gian chạy của giải thuật còn cao, điều này chủ yếu do phải tính toán fitness ở tất cả các thế hệ tiến hóa, mặc dù đã có sử dụng mô-đun tính toán song song trong JCLEC để tăng tốc việc tính toán này Sắp tới, chúng tôi sẽ thử áp dụng thêm tính toán phân tán trên nhiều máy cùng lúc để giảm thời gian chạy của giải thuật, đặc biệt đối với các tập dữ liệu lớn (vài nghìn bản ghi trở lên).