1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tài liệu luận văn Sử Dụng Một Số Thuật Toán Học Máy Để Dự Đoán Thành Tích Học Tập

62 33 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sử dụng một số thuật toán học máy để dự đoán thành tích học tập của học sinh
Tác giả Nguyễn Bích Quỳnh
Người hướng dẫn TS. Đàm Thanh Phương
Trường học Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sỹ
Năm xuất bản 2020
Thành phố Thái Nguyên
Định dạng
Số trang 62
Dung lượng 3,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Được sự gợi ý của giáo viên hướng dẫn, em bước đầu tìm hiểu nghiêncứu ứng dụng học máy trong giáo dục nhằm thực hiện một nhiệm vụ: Dự đoán kết quả học tập của học sinh dựa trên những dữ

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan: Luận văn thạc sỹ chuyên ngành Khoa học máytính, tên đề tài “Sử dụng một số thuật toán học máy để dự đoán thànhtích học tập của học sinh” là công trình nghiên cứu, tìm hiểu và trìnhbày do tôi thực hiện dưới sự hướng dẫn khoa học của TS Đàm ThanhPhương, Trường Đại học Công nghệ Thông tin và Truyền thông - Đạihọc Thái Nguyên

Kết quả tìm hiểu, nghiên cứu trong luận văn là hoàn toàn trung thực,không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật ViệtNam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật

Tất cả các tài liệu, bài báo, khóa luận, công cụ phần mềm của các tácgiả khác được sử dụng lại trong luận văn này đều được chỉ dẫn tườngminh về tác giả và đều có trong danh mục tài liệu tham khảo

Thái Nguyên, ngày 18 tháng 10 năm 2020

Tác giả luận vănNguyễn Bích Quỳnh

Trang 2

LỜI CẢM ƠN

Tác giả xin chân thành cảm ơn TS Đàm Thanh Phương, trường Đạihọc Công nghệ thông tin và truyền thông - Đại học Thái Nguyên, làgiáo viên hướng dẫn khoa học đã hướng dẫn tác giả hoàn thành luậnvăn này, xin được cảm ơn các thầy, cô giáo trường Đại học công nghệthông tin và truyền thông nơi tác giả theo học và hoàn thành chươngtrình cao học đã nhiệt tình giảng dạy và giúp đỡ

Xin cảm ơn trường THPT Lương Thế Vinh - Cẩm Phả - Quảng Ninhnơi tác giả công tác đã tạo mọi điều kiện thuận lợi để tác giả thu thập

dữ liệu, hoàn thành nghiên cứu và chương trình học tập

Và cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên,giúp đỡ tác giả trong suốt thời gian học tập, nghiên cứu và hoàn thànhluận văn này

Xin chân thành cảm ơn

Thái Nguyên, ngày 18 tháng 9 năm 2020

Tác giả luận vănNguyễn Bích Quỳnh

Trang 3

DANH SÁCH HÌNH VẼ

2.1 Phiếu khảo sát thông tin 21

2.2 Phiếu khảo sát thông tin (tiếp) 21

2.3 Một số thuộc tính (a) 23

2.4 Một số thuộc tính (b) 23

2.5 Một số thuộc tính (c) 23

2.6 24

2.7 Thống kê thuộc tính bị thiếu dữ liệu 25

2.8 Gom cụm các học sinh theo trung bình các môn 26

2.9 Feature Selection với Lasso 28

3.1 Accuracy explode các model khi sử dụng all features 39

3.2 Accuracy explode các model khi sử dụng features selection 40 3.3 Kết quả dự đoán điểm của một số học sinh khi sử dụng all feature 43

3.4 Kết quả dự đoán điểm của một số học sinh khi sử dụng feature selection 44

Trang 4

DANH SÁCH BẢNG

3.1 Độ chính xác của các mô hình khi training với dữ liệu đủ

thuộc tính 393.2 Độ chính xác của các mô hình khi training với dữ liệu lựa

chọn thuộc tính 40

Trang 5

||.|| Chuẩn Euclide.

code

Trang 6

MỤC LỤC

Lời cam đoan i

Lời cảm ơn ii

Danh sách hình vẽ ii

Danh sách bảng iii

Danh mục ký hiệu, từ viết tắt v

Mở đầu 1

Chương 1 TỔNG QUAN VỀ HỌC MÁY 6

1.1 Thuật toán học máy 6

1.2 Dữ liệu 7

1.3 Các bài toán cơ bản trong machine learning 9

1.4 Phân nhóm các thuật toán machine learning 12

1.5 Hàm mất mát và tham số mô hình 17

Chương 2 THU THẬP VÀ XỬ LÝ DỮ LIỆU 19

2.1 Phát biểu bài toán 19

2.2 Thu thập dữ liệu 20

2.3 Feature Engineering 22

Chương 3 TRAINING MÔ HÌNH VÀ ĐÁNH GIÁ KẾT QUẢ 30 3.1 Một số thuật toán lựa chọn training mô hình 30

3.2 Training mô hình 38

3.3 Lựa chọn và tối ưu hóa tham số mô hình 40

Trang 7

3.4 Kết quả và đánh giá 43

Kết luận chung 45

Tài liệu tham khảo 45

PHỤ LỤC 47

3.1 Quá trình xử lý data - file process - data.py 47

3.2 file main 51

Trang 8

MỞ ĐẦU

Ngày nay, khi xã hội ngày càng phát triển, việc đưa máy tính vào sửdụng, phục vụ cho công việc đời sống của con người đã sản sinh ra mộtkhối lượng dữ liệu lớn và phức tạp (big data), được số hóa và lưu trữtrên máy tính Những tập dữ liệu lớn này có thể bao gồm các dữ liệu cócấu trúc, không có cấu trúc và bán cấu trúc Đó có thể là dữ liệu thôngtin bán hàng trực tuyến, lưu lượng truy cập trang web, thông tin cánhân, thói quen hoạt động thường ngày của con người.v.v Chúng chứađựng nhiều thông tin quý báu mà khi khai thác hợp lý sẽ trở thành trithức, tài sản mang lại giá trị lớn Thách thức đặt ra cho con người làphải đưa ra các phương pháp, thuật toán và công cụ hợp lý làm sao đểphân tích được lượng dữ liệu lớn như vậy

Người ta nhận thấy máy tính có khả năng phân tích, xử lí khối dữliệu lớn và phức tạp, tìm ra các mẫu và quy luật, vượt quá khả năng,tốc độ tính toán ghi nhớ của bộ não con người Khái niệm học máy từ

đó hình thành Ý tưởng cơ bản của học máy là máy tính có thể học hỏi,học tự động theo kinh nghiệm [1] Máy tính phân tích lượng lớn dữ liệu,tìm thấy các mẫu, quy tắc ẩn trong dữ liệu, sử dụng các quy tắc đó để

mô tả dữ liệu mới một cách tự động và liên tục cải thiện

Học máy có rất nhiều ứng dụng, bao gồm nhiều lĩnh vực Máy tìmkiếm sử dụng học máy để xây dựng mối quan hệ tốt hơn giữa các cụm

từ tìm kiếm và các trang web Bằng cách phân tích nội dung của cáctrang web, công cụ tìm kiếm có thể xác định từ nào là cụm từ quantrọng nhất trong việc xác định một trang web nhất định và họ có thể sử

Trang 9

dụng cụm từ này để trả thông tin kết quả phù hợp cho cụm từ tìm kiếmnhất định [2] Công nghệ nhận dạng hình ảnh cũng sử dụng học máy

để xác định các đối tượng cụ thể, chẳng hạn như khuôn mặt [5] Đầutiên thuật toán học máy phân tích hình ảnh có chứa một đối tượng nhấtđịnh Nếu được cung cấp đủ hình ảnh cho quá trình này, thuật toán cóthể xác định được hình ảnh có chứa đối tượng đó hay không [3] Ngoài

ra học máy có thể được sử dụng để hiểu loại sản phẩm mà khách hàngquan tâm, bằng cách phân tích các sản phẩm trong quá khứ mà ngườidùng đã mua Máy tính có thể đưa ra đề xuất các sản phẩm khách hàng

có thể mua với xác suất cao [1] Tất cả những ví dụ trên đều có nguyêntắc cơ bản giống nhau: Máy tính xử lý và học cách xác định dữ liệu, sau

đó sử dụng kiến thức này để đưa ra quyết định về dữ liệu trong tươnglai

Tùy theo loại dữ liệu đầu vào, thuật toán học máy có thể được chiathành học có giám sát và học không giám sát Trong học có giám sát,

dữ liệu đầu vào đã có nhãn và đi kèm với một cấu trúc đã biết [1], [5]

Dữ liệu đầu vào được gọi là dữ liệu huấn luyện Thuật toán thường cónhiệm vụ tạo ra một mô hình có thể dự đoán một số thuộc tính từ cácthuộc tính đã biết Sau khi mô hình được tạo, nó được sử dụng để xử

lý dữ liệu có cấu trúc giống dữ liệu đầu vào Trong học không giám sát,

dữ liệu đầu vào chưa có nhãn, không có cấu trúc Nhiệm vụ của thuậttoán là xác định một cấu trúc trong dữ liệu.[2]

Được sự gợi ý của giáo viên hướng dẫn, em bước đầu tìm hiểu nghiêncứu ứng dụng học máy trong giáo dục nhằm thực hiện một nhiệm vụ:

Dự đoán kết quả học tập của học sinh dựa trên những dữ liệu thu thậpđược của học sinh Đây là một hướng nghiên cứu đang thu hút sự quantâm của nhiều nhà khoa học trên thế giới [6], [7], [8] Trong [7], các tác

Trang 10

giả sử dụng một số phương pháp phân lớp như mạng nơ ron, NB, Câyquyết định kết hợp với Bagging Boosting và Random Forest để nâng cao

độ chính xác dự đoán Kết quả dự đoán đánh giá trên 80% Trong [8],các tác giả đã hệ thống một số bài báo nghiên cứu ứng dụng học máytrong giáo dục và xem xét xu hướng ứng dụng trong thời gian tới [6] làmột luận văn thạc sĩ sử dụng ba phương pháp là hồi quy tuyến tính, câyquyết định và phân lớp Navie Bayes để dự đoán thành tích học tập Bêncạnh đó, [6] cũng tập trung vào các kỹ thuật feature engineering để xử

lý dữ liệu trích chọn đặc trưng nhằm nâng cao hiệu quả dự đoán Đề tàiluận văn nghiên cứu một số thuật toán học máy, thực hiện các nhiệm

vụ làm sạch dữ liệu, trích chọn đặc trưng từ dữ liệu thu thập được, từ

đó xây dựng mô hình dự đoán thành tích của học sinh, cụ thể là điểmphẩy trung bình môn học của học sinh Quá trình phân tích các dữ liệuhọc sinh cung cấp cũng hi vọng tìm ra được sự tương quan, ảnh hưởngcủa một số yếu tố thể hiện trong véc tơ đặc trưng của dữ liệu đến đầu

ra là kết quả học tập được thể hiện bằng điểm trung bình cùa học sinh

Từ đó, mong muốn đưa ra những khuyến nghị để học sinh phát huy ưuđiểm, hạn chế khuyết điểm và nâng cao hiệu quả học tập

Nội dung của luận văn gồm 3 chương:

Chương 1 Tổng quan về học máy

Chương này trình bày các kiến tổng quan về học máy, các khái niệmliên quan đến ứng dụng mô hình học máy và các thuật ngữ liên quan.Nội dung bao gồm

1.1 Tổng quan về học máy

1.2 Dữ liệu

1.3 Các bài toán cơ bản trong Machine Learning

1.4 Phân nhóm các thuật toán Machine Learning

Trang 11

1.5 Hàm mất mát và tham số mô hình.

Chương 2 Thu thập và xử lý dữ liệu

Nội dung chương 2 tập trung vào vấn đề thu thập và tiền xử lý dữliệu Quá trình trích chọn đặc trưng rất quan trọng trước khi đưa vào

mô hình huấn luyện Nó giúp cho chúng ta có thể giữ lại các đặc trưngquan trọng nhất phản ánh đúng bản chất của dữ liệu Nó cũng giúp chochúng ta bổ sung các dữ liệu còn thiếu, mất mát hay bị sai lệch khi điềutra Để cuối cùng, mỗi điểm dữ liệu được đặc trưng bởi một véc tơ đặctính đã chuẩn hóa mà máy tính có thể xử lý đồng bộ được Nội dung cụthể gồm:

2.1 Phát biểu bài toán

2.2 Thu thập dữ liệu

2.3 Feature Engineering

Chương 3 Training mô hình và đánh giá kết quả

Sau khi dữ liệu đã được tiền xử lý trong chương 2, chương 3 trình bàykết quả training một số mô hình học máy với dữ liệu này Các thuậttoán được nhắc lại để hiểu bản chất trong một phần Tuy nhiên, để thựchiện chúng ta có các thư viện trong Scikit learn của Python để gọi hàm

và xử lý Cũng có nhiều thành phần, nhiều hàm phải tự viết để thựchiện những nhiệm vụ cụ thể Sau đó, tiến hành đánh giá độ chính xác,phân tích kết quả và đưa ra những dự báo, khuyến nghị Chi tiết triểnkhai gồm có:

3.1 Một số thuật toán lựa chọn training mô hình

3.1 Training mô hình

3.2 Lựa chọn và tối ưu hóa tham số mô hình

3.3 Đánh giá kết quả

Trang 12

Để quá trình chạy không quá rối với người dùng, em cũng có xây dựngmột giao diện web demo để những phần lập trình và gọi hàm sẽ được

xử lý trong blackbox, người dùng chỉ việc chọn tập test và nhìn kết quả

Em xin chân thành cảm ơn

Trang 13

CHƯƠNG 1TỔNG QUAN VỀ HỌC MÁY

Trong chương này, trình bày một số kiến thức tổng quan về học máy,các khái niệm liên quan đến ứng dụng mô hình học máy để có thể có cơ

sở nghiên cứu các nội dung sau

1.1 Thuật toán học máy

Một thuật toán machine learning là một thuật toán có khả nănghọc tập từ dữ liệu Theo Mitchell [3], “A computer program is said tolearn from experience E with respect to some tasks T and performancemeasure P, if its performance at tasks in T, as measured by P, improveswith experience E.”

Định nghĩa 1.1.1 Một chương trình máy tính được gọi là “học tập” từkinh nghiệm E để hoàn thành nhiệm vụ T với hiệu quả được đo bằngphép đánh giá P, nếu hiệu quả của nó khi thực hiện nhiệm vụ T, khiđược đánh giá bởi P, cải thiện theo kinh nghiệm E

Lấy ví dụ về một chương trình máy tính có khả năng tự chơi cờ vây.Chương trình này tự học từ các ván cờ đã chơi trước đó của con người

để tính toán ra các chiến thuật hợp lý nhất Mục đích của việc học này

là tạo ra một chương trình có khả năng giành phần thắng cao Chươngtrình này cũng có thể tự cải thiện khả năng của mình bằng cách chơihàng triệu ván cờ với chính nó Trong ví dụ này, chương trình máy tính

có nhiệm vụ chơi cờ vây thông qua kinh nghiệm là các ván cờ đã chơivới chính nó và của con người Phép đánh giá ở đây chính là khả nănggiành chiến thắng của chương trình

Để xây dựng một chương trình máy tính có khả năng học, ta cầnxác định rõ ba yếu tố: nhiệm vụ, phép đánh giá, và nguồn dữ liệu huấn

Trang 14

Hay một chương trình học máy có khả năng dự đoán thành tích họctập của học sinh như mục tiêu của đề tài luận văn đang giải quyết Máytính dựa vào các dữ liệu của các học sinh đã biết thành tích, phân tíchcác đặc trưng ảnh hưởng đến đầu ra, thực hiện training mô hình để cóđược mô hình dự đoán trên một mô hình học máy nào đấy để đưa rakết quả dự đoán Nhiệm vụ ở đây là đưa ra kết quả học tập dự đoán, từkinh nghiệm là rất nhiều học sinh đã biết kết quả trên cơ sở mô tả đượcmỗi điểm dữ liệu là mỗi học sinh ấy có những thành phần nào (véc tơ

dữ liệu), kết quả dự đoán được kiểm nghiệm so sánh với kết quả thực

tế của học sinh trên tập dữ liệu test Rồi đánh giá, cải thiện mô hình

1.2 Dữ liệu

Các nhiệm vụ trong machine learning được mô tả thông qua việc một

hệ thống xử lý một điểm dữ liệu đầu vào như thế nào

Một điểm dữ liệu có thể là một bức ảnh, một đoạn âm thanh, mộtvăn bản, hoặc một tập các hành vi của người dùng trên Internet Đểchương trình máy tính có thể học được, các điểm dữ liệu thường đượcđưa về dạng tập hợp các con số mà mỗi số được gọi là một đặc trưng(feature)

Có những loại dữ liệu được biểu diễn dưới dạng ma trận hoặc mảngnhiều chiều Một bức ảnh xám có thể được coi là một ma trận mà mỗiphần tử là giá trị độ sáng của điểm ảnh tương ứng Một bức ảnh màu bakênh đỏ, lục, và lam có thể được biểu diễn bởi một mảng ba chiều Trongcuốn sách này, các điểm dữ liệu đều được biểu diễn dưới dạng mảng mộtchiều, còn được gọi là vector đặc trưng (feature vector) Vector đặc trưngcủa một điểm dữ liệu thường được ký hiệu là x ∈ Rd trong đó d là số

Trang 15

lượng đặc trưng Các mảng nhiều chiều được hiểu là đã bị vector hoá(vectorized) thành mảng một chiều.

Kinh nghiệm trong machine learning là bộ dữ liệu được sử dụng đểxây dựng mô hình Trong quá trình xây dựng mô hình, bộ dữ liệu thườngđược chia ra làm ba tập dữ liệu không giao nhau: tập huấn luyện, tậpkiểm tra, và tập xác thực

Tập huấn luyện (training set) bao gồm các điểm dữ liệu được sử dụngtrực tiếp trong việc xây dựng mô hình Tập kiểm tra (test set) gồm các

dữ liệu được dùng để đánh giá hiệu quả của mô hình Để đảm bảo tínhphổ quát, dữ liệu kiểm tra không được sử dụng trong quá trình xâydựng mô hình Điều kiện cần để một mô hình hiệu quả là kết quả đánhgiá trên cả tập huấn luyện và tập kiểm tra đều cao Tập kiểm tra đạidiện cho dữ liệu mà mô hình chưa từng thấy, có thể xuất hiện trong quátrình vận hành mô hình trên thực tế

Một mô hình hoạt động hiệu quả trên tập huấn luyện chưa chắc đãhoạt động hiệu quả trên tập kiểm tra Để tăng hiệu quả của mô hìnhtrên dữ liệu kiểm tra, người ta thường sử dụng một tập dữ liệu nữa đượcgọi là tập xác thực (validation set) Tập xác thực này được sử dụng trongviệc lựa chọn các siêu tham số mô hình

Một điểm dữ liệu mà đề tài luận văn đang nghiên cứu là thông tinđầu vào của một học sinh Đó có thể là rất nhiều những thông tin chúng

ta thu thập được như họ tên, bố mẹ, nghề nghiệp bố mẹ, số giờ học tậptrong tuần, số giờ đọc sách trung bình Lượng thông tin này cần đượcchuẩn hóa thành một véc tơ đặc trưng cho dữ liệu Các phương pháptrong học máy cũng giúp chúng ta đo lường được sự ảnh hưởng của cácthành phần đặc trưng đến đầu ra để loại bớt những thông tin dư thừa

và xây dựng véc tơ đặc trưng hợp lý

Trang 16

1.3 Các bài toán cơ bản trong machine learning

Nhiều bài toán phức tạp có thể được giải quyết bằng machine learning.Dưới đây là một số bài toán phổ biến [1]

1.3.1 Phân loại

Phân loại (classification) là một trong những bài toán được nghiêncứu nhiều nhất trong machine learning Trong bài toán này, chươngtrình được yêu cầu xác định lớp/nhãn (class/label) của một điểm dữliệu trong số C nhãn khác nhau Cặp (dữ liệu, nhãn) được ký hiệu là

(x, y) với y nhận một trong C giá trị trong tập đích Y Trong bài toánnày, việc xây dựng mô hình tương đương với việc đi tìm hàm số f ánh

xạ một điểm dữ liệu x vào một phần tử y ∈ Y : y = f (x) [1], [2]

Ví dụ 1: Bài toán phân loại ảnh chữ số viết tay có mười nhãn là cácchữ số từ không đến chín Trong bài toán này:

• Nhiệm vụ: xác định nhãn của một ảnh chữ số viết tay

• Phép đánh giá: số lượng ảnh được gán nhãn đúng

• Kinh nghiệm: dữ liệu gồm các cặp (ảnh chữ số, nhãn) biết trước

Ví dụ 2: Bài toán phân loại email rác Trong bài toán này:

• Nhiệm vụ: xác một email mới trong hộp thư đến là email rác haykhông

• Phép đánh giá: tỉ lệ email rác tìm thấy email thường được xác địnhđúng

• Kinh nghiệm: cặp các (email, nhãn) thu thập được trước đó

Ví dụ 3: Bài toán dự đoán thành tích học tập của học sinh cũng cóthể nhìn dưới góc độ một bài toán phân loại Dữ liệu (học sinh) đượcphân về, chẳng hạn một trong 4 loại: Xuất sắc, Giỏi, Khá, Trung bình

Trang 17

• Nhiệm vụ: Phân loại một học sinh về một trong các nhóm học tập:Xuất sắc, giỏi, khá, trung bình.

• Kinh nghiệm: Dữ liệu của hàng ngàn học sinh đã được phân loạitrước đó Chẳng hạn học sinh hay đọc sách, học nhiều, không nghiệngame thì kết quả học tập thường tốt Học sinh có bố mẹ bỏ nhau,

ở với ông bà, chơi game nhiều thường học không tốt.v.v

• Phép đánh giá: Tỉ lệ phân lớp đúng trên dữ liệu test

mô hình hồi quy Chú ý rằng nếu coi tuổi là một số nguyên dương khônglớn hơn 150, ta có 150 nhãn khác nhau và phần xác định tuổi có thểđược coi là một mô hình phân loại

Bài toán hồi quy có thể mở rộng ra việc dự đoán nhiều đầu ra cùngmột lúc, khi đó, hàm cần tìm sẽ là f :Rd →Rm Một ví dụ là bài toántạo ảnh độ phân giải cao từ một ảnh có độ phân giải thấp hơn Khi đó,việc dự đoán giá trị các điểm trong ảnh đầu ra là một bài toán hồi quynhiều đầu ra [1], [2]

Ví dụ 3: Bài toán dự đoán thành tích học tập của học sinh cũng làmột bài toán hồi quy Với mỗi dữ liệu đầu vào chưa biết kết quả học

Trang 18

tập (là một số thực từ 0.0 đến 10.0 theo thang phẩy học sinh phổ thôngViệt Nam, làm tròn đến 2 chữ số sau dấu phẩy.) chúng ta mong muốnxây dựng một mô hình hồi quy để đưa ra điểm phẩy dự đoán của họcsinh đó Các tham số mô hình là nghiệm tối ưu của bài toán tối ưumin

hàm mất mát, là tổng sai số của các dự đoán trên dữ liệu training đãbiết

1.3.3 Máy dịch

Trong bài toán máy dịch (machine translation), chương trình máytính được yêu cầu dịch một đoạn văn trong một ngôn ngữ sang mộtngôn ngữ khác Dữ liệu huấn luyện là các cặp văn bản song ngữ Cácvăn bản này có thể chỉ gồm hai ngôn ngữ đang xét hoặc có thêm cácngôn ngữ trung gian Lời giải cho bài toán này gần đây đã có nhiều bướcphát triển vượt bậc dựa trên các thuật toán deep learning.[2]

1.3.4 Phân cụm

Phân cụm (clustering) là bài toán chia dữ liệu X thành các cụm nhỏdựa trên sự liên quan giữa các dữ liệu trong mỗi cụm Trong bài toánnày, dữ liệu huấn luyện không có nhãn, mô hình tự phân chia dữ liệuthành các cụm khác nhau.[1]

Điều này giống với việc yêu cầu một đứa trẻ phân cụm các mảnh ghépvới nhiều hình thù và màu sắc khác nhau Mặc dù không cho trẻ biếtmảnh nào tương ứng với hình nào hoặc màu nào, nhiều khả năng chúngvẫn có thể phân loại các mảnh ghép theo màu hoặc hình dạng

Ví dụ 1: Phân cụm khách hàng dựa trên hành vi mua hàng Dựa trênviệc mua bán và theo dõi của người dùng trên một trang web thươngmại điện tử, mô hình có thể phân người dùng vào các cụm theo sở thíchmua hàng Từ đó, mô hình có thể quảng cáo các mặt hàng mà người

Trang 19

dùng có thể quan tâm.

Ví dụ 2: Bài toán dự đoán thành tích học tập của học sinh cũng làmột bài toán phân cụm khi chúng ta mong muốn chương trình có thểphân cụm các học sinh một cách tự động đảm bảo các dữ liệu gần nhauđược phân về cùng một cụm Từ đó ta lấy tâm cụm hoặc một phần tửđại diện bất kỳ để suy đoán về các thành viên trong cụm có chung tínhchất

1.3.5 Hoàn thiện dữ liệu – data completion

Một bộ dữ liệu có thể có nhiều đặc trưng nhưng việc thu thập đặctrưng cho từng điểm dữ liệu đôi khi không khả thi Chẳng hạn, một bứcảnh có thể bị xước khiến nhiều điểm ảnh bị mất hay thông tin về tuổicủa một số khách hàng không thu thập được Hoàn thiện dữ liệu (datacompletion) là bài toán dự đoán các trường dữ liệu còn thiếu đó Nhiệm

vụ của bài toán này là dựa trên mối tương quan giữa các điểm dữ liệu

để dự đoán những giá trị còn thiếu Các hệ thống khuyến nghị là một

ví dụ điển hình của loại bài toán này [1] Trong đó, hệ thống đưa racác dự đoán đánh giá của người dùng đối với sản phẩm trên cơ sở cácđánh giá trước đó Từ đó có thể biết người dùng quan tâm, yêu thíchsản phẩm nào mà đưa ra những khuyến nghị

Ngoài ra, có nhiều bài toán machine learning khác như xếp hạng(ranking), thu thập thông tin (information retrieval), giảm chiều dữ liệu(dimentionality reduction), [5], [4],[1]

1.4 Phân nhóm các thuật toán machine learning

Dựa trên tính chất của tập dữ liệu, các thuật toán machine learning

có thể được phân thành hai nhóm chính là học có giám sát và học khônggiám sát Ngoài ra, có hai nhóm thuật toán khác gây nhiều chú ý trong

Trang 20

thời gian gần đây là học bán giám sát và học củng cố.[1].

1.4.1 Học có giám sát

Một thuật toán machine learning được gọi là học có giám sát vised learning) nếu việc xây dựng mô hình dự đoán mối quan hệ giữađầu vào và đầu ra được thực hiện dựa trên các cặp (đầu vào, đầu ra) đãbiết trong tập huấn luyện Đây là nhóm thuật toán phổ biến nhất trongcác thuật toán machine learning

(super-Các thuật toán phân loại và hồi quy là hai ví dụ điển hình trong nhómnày Trong bài toán xác định xem một bức ảnh có chứa một xe máy haykhông, ta cần chuẩn bị các ảnh chứa và không chứa xe máy cùng vớinhãn của chúng Dữ liệu này được dùng như dữ liệu huấn luyện cho môhình phân loại Một ví dụ khác, nếu việc xây dựng một mô hình máydịch Anh – Việt được thực hiện dựa trên hàng triệu cặp văn bản Anh –Việt tương ứng, ta cũng nói thuật toán này là học có giám sát

Cách huấn luyện mô hình học máy như trên tương tự với cách dạyhọc sau đây của con người Ban đầu, cô giáo đưa các bức ảnh chứa chữ

số cho một đứa trẻ và chỉ ra đâu là chữ số không, đầu là chữ số một, Qua nhiều lần hướng dẫn, đứa trẻ có thể nhận được các chữ số trongmột bức ảnh chúng thậm chí chưa nhìn thấy bao giờ Quá trình cô giáochỉ cho đứa trẻ tên của từng chữ số tương đương với việc chỉ cho môhình học máy đầu ra tương ứng của mỗi điểm dữ liệu đầu vào Tên gọihọc có giám sát xuất phát từ đây

Diễn giải theo toán học, học có giám sát xảy ra khi việc dự đoán quan

hệ giữa đầu ra y và dữ liệu đầu vào x được thực hiện dựa trên các cặp

{(x1,y1), (x2,y2), , (xN,yN)}trong tập huấn luyện Việc huấn luyện

là việc xây dựng một hàm số f sao cho với mọi i = 1, 2, , N, f (xi)

gần với yi nhất có thể Hơn thế nữa, khi có một điểm dữ liệu x nằm

Trang 21

ngoài tập huấn luyện, đầu ra dự đoán f (x) cũng gần với đầu ra thực sự

y

1.4.2 Học không giám sát

Trong một nhóm các thuật toán khác, dữ liệu huấn luyện chỉ bao gồmcác dữ liệu đầu vào x mà không có đầu ra tương ứng Các thuật toánmachine learning có thể không dự đoán được đầu ra nhưng vẫn tríchxuất được những thông tin quan trọng dựa trên mối liên quan giữa cácđiểm dữ liệu Các thuật toán trong nhóm này được gọi là học khônggiám sát (unsupervised learning)

Các thuật toán giải quyết bài toán phân cụm và giảm chiều dữ liệu

là các ví dụ điển hình của nhóm này Trong bài toán phân cụm, có thể

mô hình không trực tiếp dự đoán được đầu ra của dữ liệu nhưng vẫn cókhả năng phân các điểm dữ liệu có đặc tính gần giống nhau vào từngnhóm

Quay lại ví dụ trên, nếu cô giáo giao cho đứa trẻ các bức ảnh chứachữ số nhưng không nêu rõ tên gọi của chúng, đứa trẻ sẽ không biết têngọi của từng chữ số Tuy nhiên, đứa trẻ vẫn có thể tự chia các chữ số cónét giống nhau vào cùng một nhóm và xác định được nhóm tương ứngcủa một bức ảnh mới Đứa trẻ có thể tự thực hiện công việc này màkhông cần sự chỉ bảo hay giám sát của cô giáo Tên gọi học không giámsát xuất phát từ đây

1.4.3 Học bán giám sát

Ranh giới giữa học có giám sát và học không giám sát đôi khi không

rõ ràng Có những thuật toán mà tập huấn luyện bao gồm các cặp (đầuvào, đầu ra) và dữ liệu khác chỉ có đầu vào Những thuật toán này đượcgọi là học bán giám sát (semi-supervised learning)

Trang 22

Xét một bài toán phân loại mà tập huấn luyện bao gồm các bức ảnhđược gán nhãn ‘chó’ hoặc ‘mèo’ và rất nhiều bức ảnh thú cưng tải từInternet chưa có nhãn Thực tế cho thấy ngày càng nhiều thuật toánrơi vào nhóm này vì việc thu thập nhãn cho dữ liệu có chi phí cao vàtốn thời gian Chẳng hạn, chỉ một phần nhỏ trong các bức ảnh y học

có nhãn vì quá trình gán nhãn tốn thời gian và cần sự can thiệp củacác chuyên gia Một ví dụ khác, thuật toán dò tìm vật thể cho xe tựlái được xây dựng trên một lượng lớn video thu được từ camera xe hơi;tuy nhiên, chỉ một lượng nhỏ các vật thể trong các video huấn luyện đóđược xác định cụ thể

1.4.4 Học củng cố

Có một nhóm các thuật toán machine learning khác có thể không yêucầu dữ liệu huấn luyện mà mô hình học cách ra quyết định bằng cáchgiao tiếp với môi trường xung quanh Các thuật toán thuộc nhóm nàyliên tục ra quyết định và nhận phản hồi từ môi trường để tự củng cốhành vi Nhóm các thuật toán này có tên học củng cố (reinforcementlearning)

Ví dụ 1: Gần đây, AlphaGo trở nên nổi tiếng với việc chơi cờ vâythắng cả con người (https://goo.gl/PzKcvP) Cờ vây được xem là tròchơi có độ phức tạp cực kỳ cao với tổng số thế cờ xấp xỉ 10761, con sốnày ở cờ vua là 10120 và tổng số nguyên tử trong toàn vũ trụ là khoảng

1080!! Hệ thống phải chọn ra một chiến thuật tối ưu trong số hàng nhiều

tỉ tỉ lựa chọn, và tất nhiên việc thử tất cả các lựa chọn là không khả thi

Về cơ bản, AlphaGo bao gồm các thuật toán thuộc cả học có giảm sát

và học củng cố Trong phần học có giám sát, dữ liệu từ các ván cờ docon người chơi với nhau được đưa vào để huấn luyện Tuy nhiên, mụcđích cuối cùng của AlphaGo không dừng lại ở việc chơi như con người

Trang 23

mà thậm chí phải thắng cả con người Vì vậy, sau khi học xong các ván

cờ của con người, AlphaGo tự chơi với chính nó qua hàng triệu ván cờ

để tìm ra các nước đi tối ưu hơn Thuật toán trong phần tự chơi nàyđược xếp vào loại học củng cố

Gần đây, Google DeepMind đã tiến thêm một bước đáng kể với phaGo Zero Hệ thống này thậm chí không cần học từ các ván cờ củacon người Nó có thể tự chơi với chính mình để tìm ra các chiến thuậttối ưu Sau 40 ngày được huấn luyện, nó đã thắng tất cả các con người

Al-và hệ thống khác, bao gồm AlphaGo

Ví dụ 2: Huấn luyện cho máy tính chơi game Mario Đây là mộtchương trình thú vị dạy máy tính chơi trò chơi điện tử Mario Trờ chơinày đơn giản hơn cờ vây vì tại một thời điểm, tập hợp các quyết định

có thể ra gồm ít phần tử Người chơi chỉ phải bấm một số lượng nhỏ cácnút di chuyển, nhảy, bắn đạn Đồng thời, môi trường cũng đơn giản hơn

và lặp lại ở mỗi lần chơi (tại thời điểm cụ thể sẽ xuất hiện một chướngngại vật cố định ở một vị trí cố định) Đầu vào của là sơ đồ của mànhình tại thời điểm hiện tại, nhiệm vụ của thuật toán là tìm tổ hợp phímđược bấm với mỗi đầu vào

Việc huấn luyện một thuật toán học củng cố thông thường dựa trênmột đại lượng được gọi là điểm thưởng (reward) Mô hình cần tìm ramột thuật toán tối đa điểm thưởng đó qua rất nhiều lần chơi khác nhau.Trong trò chơi cờ vây, điểm thưởng có thể là số lượng ván thắng Trongtrò chơi Mario, điểm thưởng được xác định dựa trên quãng đường nhânvật Mario đi được và thời gian hoàn thành quãng đường đó Điểm thưởngnày không phải là điểm của trò chơi mà là điểm do chính người lập trìnhtạo ra

Trang 24

tả thông qua một hàm số gọi là hàm mất mát (loss function hoặc costfunction) Hàm số này thường có giá trị nhỏ khi phép đánh giá cho kếtquả tốt và ngược lại Việc đi tìm các tham số mô hình sao cho phép đánhgiá trả về kết quả tốt tương đương với việc tối thiểu hàm mất mát Nhưvậy, việc xây dựng một mô hình machine learning chính là việc đi giảimột bài toán tối ưu Quá trình đó được coi là quá trình learning củamachine [1].

Tập hợp các tham số mô hình được ký hiệu bằng θ, hàm mất mátcủa mô hình được ký hiệu là L(θ) hoặc J (θ) Bài toán đi tìm tham số

mô hình tương đương với bài toán tối thiểu hàm mất mát:

L(θ) được hiểu là giá trị củaθ để hàm số L(θ)

đạt giá trị nhỏ nhất Biến số được ghi dưới dấu argmin là biến đangđược tối ưu Biến số này cần được chỉ rõ, trừ khi hàm mất mát chỉ phụthuộc vào một biến duy nhất Ký hiệu argmax cũng được sử dụng mộtcách tương tự khi cần tìm giá trị của các biến số để hàm số đạt giá trị

Trang 25

Trong nội dung luận văn, cũng có một phần em nghiên cứu điều chỉnhcác tham số mô hình của thuật toán để xem xét hiệu quả Tuy nhiênviệc nghiên cứu sâu các bài toán tối ưu để đề xuất các tham số mô hìnhhiệu quả không phải là lĩnh vực nghiên cứu chính của đề tài.

Trang 26

CHƯƠNG 2THU THẬP VÀ XỬ LÝ DỮ LIỆU

Nội dung chương 2 tập trung vào các vấn đề sau: Phát biểu bài toán,thu thập dữ liệu, tiền xử lý dữ liệu, tìm hiểu thuật toán và ứng dụngthuật toán vào xử lý dữ liệu

2.1 Phát biểu bài toán

Dựa trên những dữ liệu đã được thu thập về sự ảnh hưởng của nhiềuyếu tố đến kết quả học tập của học sinh, xây dựng mô hình học máy cóthể đưa ra dự đoán về một học sinh có véc tơ dữ liệu cho trước sẽ có kếtquả học tập như thế nào? Từ đó có thể tư vấn cho học sinh sinh viênkịp thời nếu có nhiều những dấu hiệu cho thấy em ấy sẽ học kém nếutiếp tục có những lối sống như trước để thay đổi hay phát huy nhữngkinh nghiệm ảnh hưởng tốt đến học tập

Kinh nghiệm E: Tập dữ liệu được khảo sát về kết quả học tập của họcsinh với đầy đủ những thuộc tính thu thập được

Nhiệm vụ T: Dự đoán (phân lớp, hồi quy) kết quả học tập cho các họcsinh chưa có kết quả

Phép đánh giá P: Ở đây là các phép đánh giá về độ chính xác của các

mô hình học máy, độ liên quan của các thuộc tính với đầu ra, các kỹthuật đánh giá mô hình học máy

Một số kỹ thuật Feature Engineering được sử dụng để trích chọn đặctrưng của dữ liệu [1]

1 Trực tiếp lấy dữ liệu thô

2 Lựa chọn đặc trưng

Trang 27

2.2 Thu thập dữ liệu

Thu thập dữ liệu là công việc rất quan trọng, vì không có dữ liệuthì không thể xây dựng được mô hình Thông qua tìm hiểu cá nhân vàtham khảo một số nghiên cứu tương tự cho thấy các thành phần như:Năng khiếu, di truyền dòng họ, bố mẹ và kết hợp các điều kiện hoàncảnh nghị lực sống có tác động ảnh hưởng trực tiếp đến kết quả học tậpcủa một học sinh Động cơ học tập, sức khỏe, gia đình, trường học, xãhội, mạng xã hội đều có những ảnh hưởng lớn đến kết quả học tập Từ

đó thiết kế và liệt kê rất nhiều những câu hỏi trong bảng hỏi để có thểlấy được nhiều thông tin nhất của học sinh Việc khảo sát và thu thậptrực tiếp được thực hiện với hơn 500 học sinh các khóa 19 (niên khóa2017-2020), 20 (niên khóa 2018-2021) và 21 (niên khóa 2019-2022) tạitrường THPT Lương Thế Vinh – Cẩm Phả - Quảng Ninh để đưa ra mốiliên hệ và dự đoán Phiếu khảo sát được thực hiện theo mẫu như hình2.1, 2.2 Bao gồm các thông tin:

1 Mã lớp - Định danh lớp học của học sinh

2 Họ và tên

3 TBCM - Điểm trung bình các môn trong năm học

4 Bi quan - Thái độ sống, lạc quan tích cực hay tiêu cực, bi quan

5 Học thêm - Có học thêm hay không

6 Người yêu - Có người yêu, bạn khác giới hay không

7 Học đại học - Có nguyện vọng học tiếp đại học hay không

8 Làm việc nhà - Có tham gia làm việc nhà thường xuyên không

9 Số lượng bạn bè

Trang 28

Hình 2.1: Phiếu khảo sát thông tin

Hình 2.2: Phiếu khảo sát thông tin (tiếp)

Trang 29

10 Thời gian ở trường.

11 Hút thuốc - Có hút thuốc hay không

12 Uống rượu - Lượng ml rượu uống trong tuần

13 Uống chè - Có thói quen uống chè không

14 Thời gian rảnh- Thời gian tính giờ trên tuần

15 Thời gian chơi game - Giờ trên tuần

16 Thời gian thể thao- Giờ trên tuần

17 Thời gian đọc sách - Giờ trên tuần

18 Thời gian học bài - Giờ trên tuần

2.3 Feature Engineering

Mỗi điểm dữ liệu trong một mô hình machine learning thường đượcbiểu diễn bằng một vector được gọi là vector đặc trưng (feature vector)[2] Trong cùng một mô hình, các vector đặc trưng của các điểm thường

có kích thước như nhau Điều này là cần thiết vì các mô hình bao gồm

Trang 30

Hình 2.3: Một số thuộc tính (a).

Hình 2.4: Một số thuộc tính (b).

các phép toán với ma trận và vector, các phép toán này yêu cầu dữ liệu

có chiều phù hợp Tuy nhiên, dữ liệu thực tế thu thập được ở dạng thôvới kích thước khác nhau, một số trường dữ liệu thiếu, một số dư thừanên cần áp dụng các kỹ thuật Feature Engineering để xây dựng véc tơđặc trưng đảm bảo phản ánh đúng bản chất của mỗi điểm dữ liệu vàthực hiện được các thuật toán học máy, tăng hiệu quả của mô hình

Hình 2.5: Một số thuộc tính (c).

Trang 31

Bước này nằm trong quan hệ tổng thể của một mô hình học máy cơbản được minh hoạc như hình 2.6 [1].

Pha huấn luyện

Dữ liệu huấn luyện

thô (đầu vào)

Đầu ra huấn luyện

( ytrain)

Thông tin biết trước về dữ liệu

Bộ trích chọn đặc trưng

Đặc trưng được trích chọn (X train ) Thuật toánphân loại,

hồi quy, phân cụm,

Pha kiểm tra

Dữ liệu kiểm tra

thô (đầu vào)

Bộ trích chọn đặc trưng

Đặc trưng được trích chọn (X test ) Thuật toánphân loại,

hồi quy, phân cụm,

Đầu ra dự đoán ( ytest) Hình 2.6: Mô hình chung trong các bài toán machine learning

2.3.1 Trực tiếp lấy dữ liệu thô

Dữ liệu khi khảo sát thu thập và số hóa trên máy tính chưa đượcchuẩn hóa, chưa tuân theo một quy tắc cụ thể ràng buộc chặt chẽ nào.Nhiều trường dữ liệu học sinh có thể trả lời là chữ có thể là số (như tuổi,thời gian học bài), có thể ngắn có thể dài (nhiều bạn khai đủ, một sốbạn khai thiếu thông tin), có thể viết tắt có thể không (nhiều học sinhtrả lời bằng lối viết tắt), có thể tiếng Anh (những từ thông dụng như

Ngày đăng: 10/06/2021, 10:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Vũ Hữu Tiệp, Machine learning cơ bản . Ebook on machinelearning- coban.com, 2020 Sách, tạp chí
Tiêu đề: Machine learning cơ bản
Tác giả: Vũ Hữu Tiệp
Nhà XB: machinelearning-coban.com
Năm: 2020
[3] Aurélien Géron, Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow . Published by O’Reilly Media, 2019 Sách, tạp chí
Tiêu đề: Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow
Tác giả: Aurélien Géron
Nhà XB: O’Reilly Media
Năm: 2019
[4] Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar, Founda- tions of Machine Learning. Massachusetts Institute of Technology, 2018 Sách, tạp chí
Tiêu đề: Foundations of Machine Learning
Tác giả: Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar
Nhà XB: Massachusetts Institute of Technology
Năm: 2018
[5] Peter Flach, Machine learning, the art and science of algorithms that make sence of data.. Cambridge, 2012 Sách, tạp chí
Tiêu đề: Machine learning, the art and science of algorithms that make sense of data
Tác giả: Peter Flach
Nhà XB: Cambridge
Năm: 2012
[7] Elaf Abu Amrieh, Thair Hamtini and Ibrahim Aljarah, Mining Ed- ucational Data to Predict Student’s academic Performance using Ensemble Methods. International Journal of Database Theory and Application Vol.9, No.8 (2016), pp.119-136 Sách, tạp chí
Tiêu đề: Mining Educational Data to Predict Student’s academic Performance using Ensemble Methods
Tác giả: Elaf Abu Amrieh, Thair Hamtini, Ibrahim Aljarah
Nhà XB: International Journal of Database Theory and Application
Năm: 2016
[2] Hoàng Xuân Huấn , Giáo Trình học máy. NXB ĐHQG Hà Nội, 2015 Khác
[6] Murat Pojon, Using Machine Learning to Predict Student Perfor- mance . M. Sc. Thesis, University of Tampere, 2017 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm