Mục tiêu
Xây dựng một hệ thống dự đoán hiệu suất học tập của học sinh dựa trên dữ liệu từ trò chơi giáo dục Đề tài tập trung nghiên cứu:
Phân tích yếu tố ảnh hưởng
Nghiên cứu này nhằm xác định các yếu tố từ trò chơi giáo dục ảnh hưởng đến hiệu suất học tập của học sinh Nó bao gồm việc phân tích các chỉ số, thông số và hoạt động trong trò chơi có khả năng tác động tích cực hoặc tiêu cực đến quá trình học tập.
Xây dựng mô hình dự đoán
Sử dụng dữ liệu từ trò chơi, bài viết này xây dựng mô hình dự đoán hiệu suất học tập của học sinh Mô hình áp dụng các kỹ thuật trí tuệ nhân tạo, học máy và khai phá dữ liệu để dự đoán kết quả học tập một cách chính xác và đáng tin cậy, đồng thời đánh giá độ chính xác và hiệu quả của nó.
Mục tiêu của nghiên cứu là đánh giá độ chính xác và hiệu quả của mô hình dự đoán đã được xây dựng Thông qua việc thực hiện các thử nghiệm trên dữ liệu thực tế, nghiên cứu sẽ kiểm tra khả năng dự đoán và tính ứng dụng của mô hình trong việc phân loại và đánh giá hiệu suất học tập của học sinh Điều này có thể góp phần cải thiện quá trình học tập và ứng dụng trong lĩnh vực giáo dục.
Mục tiêu cuối cùng là ứng dụng kết quả nghiên cứu nhằm cải thiện quá trình giảng dạy và hỗ trợ cá nhân hóa học tập Các phân tích và dự đoán từ mô hình cung cấp thông tin hữu ích cho giáo viên, nhà quản lý giáo dục và học sinh, giúp tối ưu hóa quá trình học tập, cung cấp phản hồi và hướng dẫn cá nhân hóa Mục tiêu này góp phần nâng cao chất lượng giáo dục và đạt được kết quả học tập tốt hơn cho học sinh.
Cách tiếp cạnh
Để tiếp cận đề tài thì ta có thể thực hiện các bước cụ thể sau:
Để bắt đầu, việc thu thập dữ liệu từ các trò chơi giáo dục hoặc nền tảng học tập trực tuyến là rất quan trọng Dữ liệu này bao gồm thông tin về các hoạt động, thành tích, hành vi và các chỉ số liên quan đến quá trình học tập của học sinh trong trò chơi.
Sử dụng các phương pháp phân tích và khai thác dữ liệu để xác định các yếu tố ảnh hưởng đến hiệu suất học tập là rất quan trọng Các phương pháp này có thể bao gồm phân tích đa biến, khai thác quy tắc kết hợp, cùng với các kỹ thuật khác trong khoa học dữ liệu.
Xây dựng mô hình dự đoán
Dựa trên các yếu tố đã xác định, xây dựng mô hình dự đoán hiệu suất học tập của học sinh từ dữ liệu trò chơi có thể áp dụng các kỹ thuật học máy như học tăng cường, mạng nơ-ron, hoặc các phương pháp khác phù hợp với đặc điểm dữ liệu và mục tiêu dự đoán Việc đánh giá mô hình là bước quan trọng để đảm bảo tính chính xác và hiệu quả trong dự đoán.
Đánh giá độ chính xác và hiệu quả của mô hình dự đoán là rất quan trọng Sử dụng các phương pháp như cross-validation và các chỉ số đánh giá như độ chính xác (accuracy), độ phủ (recall), độ chính xác dương tính (precision), và độ chính xác âm tính (negative precision) giúp xác định khả năng dự đoán và sự phù hợp của mô hình Việc này không chỉ hỗ trợ trong việc ứng dụng mà còn cải thiện quá trình học tập.
Sử dụng kết quả từ mô hình dự đoán để cải thiện quá trình học tập và cá nhân hóa là rất quan trọng Điều này bao gồm việc cung cấp phản hồi cho học sinh về khả năng và điểm mạnh của họ, đồng thời hướng dẫn giáo viên tối ưu hóa quá trình giảng dạy Mục tiêu cuối cùng là nâng cao hiệu suất học tập và đạt được kết quả tốt hơn cho từng học sinh.
Phương pháp nghiên cứu
Cụ thể, trong khuôn khổ luận văn, để tiếp cận được đề tài và phương pháp nghiên cứu, sẽ lần lượt nghiên cứu các nội dung sau:
Xác định mục tiêu nghiên cứu
● Đầu tiên, cần xác định rõ mục tiêu và câu hỏi nghiên cứu mà đề tài muốn trả lời
Có thể dự đoán hiệu suất học tập của học sinh thông qua dữ liệu từ trò chơi giáo dục Các yếu tố trong trò chơi giáo dục như thiết kế, nội dung và tương tác có thể ảnh hưởng đáng kể đến hiệu suất học tập của học sinh.
Lựa chọn phương pháp nghiên cứu
Dựa vào mục tiêu và câu hỏi nghiên cứu, việc lựa chọn phương pháp nghiên cứu phù hợp là rất quan trọng Có thể áp dụng phương pháp phân tích dữ liệu số liệu, thực nghiệm trên một nhóm học sinh, hoặc kết hợp cả hai phương pháp để đạt được kết quả tối ưu.
Thu thập và tiền xử lý dữ liệu
Thu thập dữ liệu từ các trò chơi giáo dục và nền tảng học tập trực tuyến là bước đầu tiên trong quá trình phân tích Tiền xử lý dữ liệu bao gồm các công đoạn làm sạch, chuẩn hóa và biểu diễn dữ liệu sao cho phù hợp với việc phân tích và xây dựng mô hình hiệu quả.
Áp dụng các phương pháp phân tích dữ liệu như phân tích thống kê, khai phá dữ liệu và trí tuệ nhân tạo giúp tìm hiểu các mô hình, quy luật và xu hướng trong dữ liệu.
Xây dựng mô hình dự đoán
Sử dụng dữ liệu đã được tiền xử lý để xây dựng mô hình dự đoán hiệu suất học tập của học sinh từ dữ liệu trò chơi Áp dụng các kỹ thuật học máy như mạng nơ-ron, học tăng cường và cây quyết định để phát triển mô hình Đánh giá hiệu quả của mô hình là bước quan trọng trong quá trình này.
Để đánh giá độ chính xác và hiệu quả của mô hình dự đoán, cần áp dụng các phương pháp như cross-validation, so sánh với các mô hình khác, và sử dụng các chỉ số đánh giá như độ chính xác, độ phủ và độ chính xác dương tính Những phương pháp này giúp xác định khả năng hoạt động của mô hình trong các tình huống thực tế.
Hiện thực và ứng dụng
Áp dụng kết quả từ mô hình nhằm cải thiện quá trình học tập và hỗ trợ cá nhân hóa, đồng thời cung cấp phản hồi cho học sinh và giáo viên Việc này giúp tối ưu hóa quá trình giảng dạy và đạt được kết quả học tập tốt hơn.
Phân tích những công trình liên quan
Sự phát triển mạnh mẽ của hệ thống dự đoán, đặc biệt là công nghệ Deep Learning, đã mang lại nhiều lợi ích và giải quyết nhiều vấn đề trong cuộc sống Mọi doanh nghiệp đều có thể hưởng lợi từ việc áp dụng hệ thống dự đoán Hiện nay, hệ thống này đang được khai thác triệt để trong các lĩnh vực như giáo dục, trò chơi giáo dục, khoa học dữ liệu, trí tuệ nhân tạo và học máy.
Đề tài này được đặt trong bối cảnh giáo dục nhằm nâng cao hiệu suất học tập của học sinh Nghiên cứu tập trung vào các khía cạnh quan trọng như quá trình giảng dạy, phương pháp học tập, đánh giá và cá nhân hóa giáo dục.
Nghiên cứu cho thấy trò chơi giáo dục là công cụ hiệu quả để nâng cao quá trình học tập Các yếu tố như giao diện, nhiệm vụ, cấu trúc, độ khó và phản hồi trong trò chơi có ảnh hưởng lớn đến hiệu suất học tập của học sinh.
Khoa học dữ liệu và khai phá dữ liệu
Sử dụng phương pháp phân tích và khai phá dữ liệu để xác định mối quan hệ và mô hình hóa dữ liệu từ trò chơi giáo dục Các kỹ thuật khoa học dữ liệu như phân tích thống kê, học máy và khai thác dữ liệu sẽ được áp dụng nhằm phát hiện các mẫu và thông tin quan trọng từ dữ liệu.
Trí tuệ nhân tạo và học máy
Đề tài này áp dụng trí tuệ nhân tạo và học máy để phát triển mô hình dự đoán hiệu suất học tập dựa trên dữ liệu trò chơi Các thuật toán học máy, mạng nơ-ron, học tăng cường và phân loại dữ liệu sẽ được sử dụng để phân tích và dự đoán kết quả học tập.
Công nghệ giáo dục và học trực tuyến
Với sự tiến bộ của công nghệ, học trực tuyến đã trở thành xu hướng chủ đạo trong giáo dục Bài viết này tập trung vào việc sử dụng dữ liệu từ các nền tảng giáo dục trực tuyến và công nghệ giáo dục để phân tích và dự đoán hiệu suất học tập của người học.
Đề tài "Dự đoán hiệu suất học tập của học sinh từ trò chơi giáo dục" tích hợp các lĩnh vực giáo dục, trò chơi giáo dục, khoa học dữ liệu, trí tuệ nhân tạo và công nghệ giáo dục nhằm nghiên cứu cách thức dự đoán kết quả học tập của học sinh dựa trên dữ liệu thu thập từ các trò chơi giáo dục.
Kết quả dự đoán
Dự đoán hiệu suất học tập của học sinh có thể được thực hiện thông qua một mô hình dựa trên dữ liệu từ trò chơi giáo dục Mô hình này sử dụng thông tin về hoạt động, thành tích và hành vi của học sinh để đưa ra các dự đoán chính xác về thành tích học tập.
Nghiên cứu đã chỉ ra rằng nhiều yếu tố trong trò chơi giáo dục ảnh hưởng đến hiệu suất học tập của học sinh Cụ thể, độ khó của nhiệm vụ, mức độ tương tác giữa học sinh và giảng viên, phản hồi từ trò chơi, cùng với các chiến lược học tập là những yếu tố quan trọng cần được xác định và đánh giá để hiểu rõ hơn về tác động của chúng đến kết quả học tập.
Cải thiện quá trình học tập có thể đạt được thông qua việc áp dụng kết quả nghiên cứu nhằm hỗ trợ cá nhân hóa Học sinh và giáo viên có thể nhận phản hồi và hướng dẫn dựa trên kết quả dự đoán, từ đó tối ưu hóa quá trình học tập Điều này giúp học sinh nhận diện điểm mạnh, điểm yếu và phát triển các chiến lược học tập phù hợp.
Nâng cao hiệu suất giảng dạy thông qua việc sử dụng dữ liệu từ trò chơi giáo dục có thể cung cấp thông tin quý giá cho giáo viên và người thiết kế trò chơi Việc đánh giá hiệu suất học tập giúp giáo viên tối ưu hóa phương pháp giảng dạy, tăng cường sự tương tác với học sinh và xây dựng một môi trường học tập tích cực.
Tổng quan về Machine Learning
Khái niệm
Machine learning (ML) hay máy học là một nhánh quan trọng của trí tuệ nhân tạo (AI), cho phép máy tính cải thiện khả năng của mình thông qua dữ liệu mẫu hoặc kinh nghiệm đã học Công nghệ này có khả năng tự dự đoán và đưa ra quyết định mà không cần lập trình cụ thể, mở ra nhiều ứng dụng tiềm năng trong các lĩnh vực khác nhau.
Khoa học dữ liệu là một lĩnh vực quan trọng, sử dụng các phương pháp thống kê và thuật toán để phân loại, dự đoán và khám phá những hiểu biết quan trọng trong khai thác dữ liệu Những thông tin này góp phần thúc đẩy quá trình ra quyết định trong các ứng dụng và doanh nghiệp, ảnh hưởng lớn đến các chỉ số tăng trưởng chính.
Khi dữ liệu lớn ngày càng phát triển, nhu cầu về các nhà khoa học dữ liệu sẽ tăng cao Họ sẽ đóng vai trò quan trọng trong việc xác định những câu hỏi kinh doanh cần thiết và tìm kiếm dữ liệu phù hợp để đưa ra câu trả lời.
Mối liên hệ
Hình 1: Mối liên hệ Machine Learning
Học sâu (deep learning) và học máy (machine learning) thường bị nhầm lẫn và sử dụng thay thế cho nhau, nhưng cần nhận thức rõ sự khác biệt giữa chúng Học máy, học sâu và mạng nơ-ron nhân tạo đều là những lĩnh vực con của trí tuệ nhân tạo.
Tuy nhiên, Deep learning là một lĩnh vực phụ của neural networks Và neural networks thực sự là một lĩnh vực phụ của machine learning
Deep learning và machine learning khác nhau chủ yếu ở phương pháp học của từng thuật toán Trong khi machine learning có thể hoạt động với các tập dữ liệu không được gắn nhãn, deep learning thường sử dụng tập dữ liệu đã được gán nhãn, được gọi là học có giám sát.
Deep learning có khả năng xử lý dữ liệu phi cấu trúc như văn bản và hình ảnh mà không cần phải có tập dữ liệu gắn nhãn Nó tự động nhận diện các đặc điểm phân biệt giữa các loại dữ liệu khác nhau, giúp giảm thiểu sự can thiệp của con người và cho phép khai thác các tập dữ liệu lớn hơn.
Machine learning cổ điển, hay còn gọi là "không sâu", chủ yếu dựa vào sự can thiệp của con người trong quá trình học Các chuyên gia sẽ xác định các đặc trưng cần thiết để phân biệt giữa các đầu vào dữ liệu, thường yêu cầu dữ liệu phải có cấu trúc rõ ràng để có thể thực hiện việc học hiệu quả.
Mạng nơ-ron nhân tạo (ANN) bao gồm các lớp nút, bao gồm lớp đầu vào, một hoặc nhiều lớp ẩn và lớp đầu ra Mỗi nơ-ron kết nối với các nơ-ron khác thông qua trọng số và ngưỡng Nếu đầu ra của nơ-ron vượt quá ngưỡng, nó sẽ được kích hoạt và gửi dữ liệu đến lớp tiếp theo; ngược lại, nếu thấp hơn, dữ liệu sẽ không được chuyển tiếp Thuật ngữ "deep" trong deep learning ám chỉ số lớp trong mạng nơ-ron; một mạng nơ-ron có hơn ba lớp (bao gồm cả đầu vào và đầu ra) được coi là một thuật toán deep learning, trong khi mạng nơ-ron chỉ có ba lớp được xem là cơ bản.
Deep learning và mạng nơ-ron đã thúc đẩy sự phát triển nhanh chóng trong các lĩnh vực như thị giác máy tính, xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói.
Cách thức hoạt động
Hệ thống học của thuật toán học máy gồm thành ba phần chính:
Các thuật toán máy học đóng vai trò quan trọng trong việc dự đoán và phân loại dữ liệu Chúng sử dụng các dữ liệu đầu vào, có thể là dữ liệu đã được gán nhãn hoặc không, để đưa ra những ước tính chính xác về các mẫu trong tập dữ liệu.
Hàm lỗi đánh giá dự đoán của mô hình rất quan trọng trong việc xác định độ chính xác của nó Bằng cách sử dụng các ví dụ đã biết, hàm lỗi cho phép so sánh và đánh giá hiệu suất của mô hình một cách hiệu quả.
Quy trình tối ưu hóa mô hình
Nếu mô hình phù hợp hơn với các điểm dữ liệu trong tập huấn luyện, trọng số sẽ được điều chỉnh để giảm sự khác biệt giữa các ví dụ đã biết và ước tính của mô hình Thuật toán sẽ lặp đi lặp lại quy trình “đánh giá và tối ưu hóa”, tự động cập nhật trọng số cho đến khi đạt được ngưỡng chính xác mong muốn.
Phương pháp
Hình 2: Phương pháp Machine Learning
Mô hình machine learning cơ bản được chia thành các loại:
Học máy có giám sát, hay còn gọi là Supervised learning, là phương pháp sử dụng các bộ dữ liệu đã được gán nhãn để đào tạo các thuật toán Mục tiêu của phương pháp này là phân loại dữ liệu hoặc dự đoán kết quả một cách chính xác.
Khi dữ liệu đầu vào được đưa vào mô hình, mô hình sẽ điều chỉnh trọng số cho đến khi đạt được sự phù hợp tối ưu, trong quá trình xác thực chéo nhằm tránh hiện tượng trang bị thừa hoặc thiếu Học có giám sát giúp các tổ chức giải quyết nhiều vấn đề thực tiễn quy mô lớn, như phân loại thư rác Một số phương pháp phổ biến trong học có giám sát bao gồm mạng nơ-ron, naive bayes, hồi quy tuyến tính, hồi quy logistic, random forest và máy vector hỗ trợ (SVM).
Học máy không giám sát, hay còn gọi là unsupervised learning, là phương pháp sử dụng các thuật toán học máy để phân tích và phân cụm dữ liệu mà không cần nhãn Phương pháp này giúp phát hiện các mẫu và cấu trúc ẩn trong dữ liệu, từ đó hỗ trợ trong việc ra quyết định và tối ưu hóa quy trình.
10 liệu không được gắn nhãn Các thuật toán này khám phá các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con người
Phương pháp này cho phép khám phá các điểm tương đồng và khác biệt trong thông tin, phù hợp cho phân tích dữ liệu khám phá, chiến lược cross-selling, phân khúc khách hàng và nhận dạng hình ảnh Nó cũng hỗ trợ giảm số lượng tính năng trong mô hình thông qua quá trình giảm kích thước Hai kỹ thuật phổ biến cho việc này là phân tích thành phần chính (PCA) và phân tích giá trị đơn lẻ (SVD) Ngoài ra, các thuật toán khác trong học tập không giám sát như mạng nơ-ron, phương pháp phân cụm k-means và phân cụm xác suất cũng được áp dụng.
Học máy bán giám sát là một phương pháp kết hợp giữa học có giám sát và không giám sát Phương pháp này sử dụng một tập dữ liệu nhỏ được gắn nhãn để hướng dẫn quá trình phân loại và trích xuất tính năng từ một tập dữ liệu lớn hơn mà không có nhãn.
Học máy bán giám sát là giải pháp hiệu quả cho vấn đề thiếu dữ liệu gán nhãn trong các thuật toán học có giám sát Phương pháp này cũng rất hữu ích khi việc gán nhãn dữ liệu tốn kém và khó khăn.
Học máy tăng cường (Reinforcement Machine Learning) là một mô hình học máy tương tự như học có giám sát, nhưng không sử dụng dữ liệu mẫu để đào tạo Thay vào đó, nó học hỏi thông qua phương pháp thử và sai Các kết quả thành công được củng cố để phát triển những khuyến nghị hoặc chính sách tối ưu cho các vấn đề cụ thể.
Các thuật toán phổ biến
Mạng nơ-ron mô phỏng hoạt động của bộ não con người thông qua việc kết nối nhiều nút xử lý Chúng đặc biệt hiệu quả trong việc nhận diện mẫu và đóng vai trò quan trọng trong các ứng dụng như dịch ngôn ngữ tự nhiên, nhận dạng hình ảnh, nhận dạng giọng nói và tạo hình ảnh.
Thuật toán này dự đoán giá trị số thông qua mối quan hệ tuyến tính giữa các biến khác nhau Chẳng hạn, nó có thể ước lượng giá nhà dựa trên dữ liệu lịch sử của khu vực.
Thuật toán học có giám sát giúp dự đoán các biến phản hồi phân loại, như câu trả lời “có/không” cho các câu hỏi Ứng dụng của nó bao gồm phân loại thư rác và kiểm soát chất lượng trong sản xuất.
Phương pháp học không giám sát cho phép các thuật toán phân cụm nhận diện các mẫu trong dữ liệu, từ đó nhóm chúng lại một cách hiệu quả Máy tính hỗ trợ các nhà khoa học dữ liệu bằng cách phát hiện những khác biệt giữa các mục dữ liệu mà con người thường bỏ qua.
Decision trees(cây quyết định)
Cây quyết định là một công cụ mạnh mẽ có thể áp dụng cho cả dự đoán giá trị số (hồi quy) và phân loại dữ liệu Chúng sử dụng một chuỗi phân nhánh các quyết định có thể được biểu diễn dưới dạng sơ đồ cây Một trong những lợi ích nổi bật của cây quyết định là khả năng dễ dàng xác thực và kiểm toán, khác với tính chất "hộp đen" của mạng nơ-ron.
Random forests (rừng ngẫu nhiên)
Trong một random forests, thuật toán machine learning dự đoán một giá trị hoặc danh mục bằng cách kết hợp các kết quả từ một số cây quyết định
Để đạt hiệu quả cao trong công việc và tiết kiệm thời gian, việc chú trọng đến quy trình làm việc với machine learning là rất cần thiết Điều này không chỉ giúp giảm thiểu sai sót mà còn nâng cao chất lượng tổng thể của dự án.
Ứng dụng trong thực tế
Hình 3: Ứng dụng trong thực tế
Nhận dạng giọng nói có 2 thuật ngữ là Voice recognition và Speech recognition
Speech recognition là công nghệ nhận diện và chuyển đổi lời nói thành văn bản, sử dụng xử lý ngôn ngữ tự nhiên (NLP) để dịch lời nói của con người sang định dạng viết.
● Voice recognition có khả năng nhận dạng và định danh giọng nói của từng người dùng, nhờ sự ra đời của Deep Learning
Nhận diện giọng nói được ứng dụng trong:
● Tối ưu việc nhập liệu: tiết kiệm được thời gian nhập văn bản
● Điều khiển nhà thông minh (smarthome): chỉ bằng giọng nói có thể tắt/bật điện, tắt/mở điều hoà hoặc kéo/đóng rèm cửa)
Lập trình trợ lý ảo đang trở thành xu hướng phổ biến, khi nhiều thiết bị di động tích hợp công nghệ nhận dạng giọng nói để thực hiện tìm kiếm bằng giọng nói Các trợ lý ảo nổi bật như Siri của Apple, Google Assistant của Google và Alexa của Amazon đã mang lại trải nghiệm tiện lợi cho người dùng.
Dịch vụ khách hàng (Customer service)
Các chatbot trực tuyến đang dần thay thế đại lý con người trong hành trình khách hàng, làm thay đổi cách chúng ta tương tác trên website và mạng xã hội Chúng có khả năng trả lời các câu hỏi thường gặp về vận chuyển, cung cấp lời khuyên cá nhân hóa, bán chéo sản phẩm và đề xuất kích thước phù hợp cho người dùng.
Đại lý ảo trên các trang web thương mại điện tử, bot nhắn tin qua Slack và Facebook Messenger, cùng với các tác vụ do trợ lý ảo và trợ lý giọng nói thực hiện, đang ngày càng trở nên phổ biến trong việc nâng cao trải nghiệm người dùng.
Thị giác máy tính (Computer vision)
Công nghệ AI này giúp máy tính nhận diện thông tin từ hình ảnh, video và các đầu vào trực quan khác, sau đó thực hiện các hành động phù hợp Thị giác máy tính, nhờ vào mạng nơ-ron tích chập, có nhiều ứng dụng trong các lĩnh vực khác nhau.
● Gắn thẻ ảnh trên phương tiện truyền thông xã hội như là Facebook
● Chụp ảnh X quang trong chăm sóc sức khỏe và
● Ô tô tự lái trong ngành công nghiệp ô tô
Công cụ đề xuất (Recommendation engines)
Thuật toán AI sử dụng dữ liệu hành vi tiêu dùng trong quá khứ để phát hiện các xu hướng, từ đó phát triển chiến lược bán kèm hiệu quả Các nhà bán lẻ trực tuyến áp dụng phương pháp này nhằm cung cấp đề xuất sản phẩm phù hợp cho khách hàng trong quá trình thanh toán.
Giao dịch chứng khoán tự động, hay còn gọi là Automated stock trading, được phát triển nhằm tối ưu hóa danh mục đầu tư Các nền tảng giao dịch tần suất cao sử dụng AI có khả năng thực hiện hàng nghìn đến hàng triệu giao dịch mỗi ngày mà không cần sự can thiệp của con người.
Phát hiện gian lận (Fraud detection)
Các ngân hàng và tổ chức tài chính đang áp dụng machine learning để phát hiện giao dịch đáng ngờ Bằng cách sử dụng học có giám sát, họ có thể đào tạo mô hình dựa trên thông tin từ các giao dịch gian lận đã biết Tính năng phát hiện bất thường giúp xác định những giao dịch không điển hình, từ đó cần được điều tra thêm để đảm bảo an toàn tài chính.
Quy trình
Hình 4: Quy trình Machine Learning
Gathering machine learning data (Thu thập dữ liệu)
Quá trình thu thập dữ liệu phụ thuộc vào từng dự án và loại dữ liệu cần thiết, có thể là dữ liệu thời gian thực hoặc dữ liệu tĩnh từ các cơ sở dữ liệu hiện có.
Lập trình viên cần cung cấp bộ dữ liệu cho máy tính để nó có thể học hỏi, phân tích và đưa ra phán đoán phục vụ cho các mục đích sử dụng khác nhau.
Lựa chọn bộ dữ liệu có tính xác thực từ các nguồn chính thống là điều quan trọng, giúp máy tính học chính xác hơn, từ đó đưa ra kết quả đúng và nâng cao hiệu quả cho dự án.
Data pre-processing (Tiền xử lý dữ liệu)
Bước này giúp chuẩn hóa bộ dữ liệu đã thu thập bằng cách loại bỏ các thuộc tính không cần thiết và xử lý các yếu tố thiếu hoặc nhiễu Đồng thời, thực hiện gán nhãn dữ liệu, mã hóa một số đặc trưng, và trích xuất các đặc trưng quan trọng, rút gọn dữ liệu mà vẫn đảm bảo chất lượng kết quả đầu ra.
Bước 15 là giai đoạn tốn nhiều thời gian nhất trong quy trình, với bước 1 và bước 2 chiếm khoảng 70% tổng thời gian Sự quan trọng của bước này không thể phủ nhận, vì nó quyết định đến thành công và hiệu quả chung của toàn bộ quy trình.
Trong bước huấn luyện mô hình, máy tính sẽ học từ dữ liệu đã cung cấp và kết nối dataset với thuật toán Thuật toán này sẽ sử dụng các mô hình toán học phức tạp để phân tích và phát triển dự đoán.
Thuật toán được sử dụng sẽ rơi vào 3 loại:
Evaluating model (đánh giá mô hình)
Bước này nhằm đánh giá độ chính xác của mô hình vừa được tạo ra, sử dụng nhiều loại độ đo khác nhau để xác định hiệu quả Mặc dù không có quy chuẩn cụ thể, nhưng nếu độ chính xác của mô hình đạt trên 80%, nó sẽ được coi là hiệu quả.
Nếu kết quả đánh giá mô hình không đạt yêu cầu, cần phải huấn luyện lại machine learning Quá trình này sẽ được lặp lại cho đến khi đạt được độ chính xác mong muốn.
Sự phát triển của công nghệ machine learning đã mang lại nhiều tiện ích cho cuộc sống hàng ngày của chúng ta Tuy nhiên, việc áp dụng machine learning trong doanh nghiệp cũng đặt ra những lo ngại về mặt đạo đức liên quan đến công nghệ AI Một trong những khía cạnh đáng chú ý là điểm kỳ dị công nghệ, nơi mà sự phát triển của AI có thể vượt qua khả năng kiểm soát của con người.
Mặc dù chủ đề về trí tuệ nhân tạo (AI) thu hút sự chú ý lớn từ công chúng, nhiều nhà nghiên cứu vẫn không tin rằng AI sẽ vượt qua trí thông minh của con người trong tương lai gần Khái niệm về điểm kỳ dị công nghệ, hay còn gọi là trí tuệ nhân tạo mạnh mẽ, được triết gia Nick Bostrum định nghĩa là "bất kỳ trí tuệ nào vượt trội hơn nhiều so với bộ não tốt nhất của con người trong mọi lĩnh vực, bao gồm khả năng sáng tạo khoa học, trí tuệ chung và kỹ năng xã hội".
Mặc dù trí tuệ siêu việt vẫn chưa xuất hiện trong xã hội, nhưng ý tưởng này gợi ra nhiều câu hỏi thú vị khi chúng ta xem xét việc áp dụng các hệ thống tự trị, như ô tô tự lái.
Việc cho rằng xe không người lái sẽ hoàn toàn không gặp tai nạn là điều không thực tế, đặt ra câu hỏi về trách nhiệm pháp lý trong các tình huống này Liệu chúng ta có nên tiếp tục phát triển phương tiện tự trị hay chỉ nên giới hạn công nghệ này ở các phương tiện bán tự trị để đảm bảo an toàn cho người lái? Mặc dù chưa có câu trả lời dứt khoát, vấn đề này đã kích thích nhiều cuộc tranh luận về đạo đức và trách nhiệm xã hội trong bối cảnh công nghệ AI đang không ngừng phát triển và đổi mới.
AI tác động đến việc làm (AI impact on jobs)
Trong bối cảnh lo ngại về việc trí tuệ nhân tạo có thể dẫn đến mất việc làm, chúng ta cần xem xét lại quan điểm này.
Các công việc có tính lặp lại cao hoặc dựa trên hướng dẫn cụ thể thường gặp nhiều rủi ro trong việc bị thay thế Ngược lại, những công việc thường xuyên thay đổi, yêu cầu sự linh hoạt và khả năng thích ứng cao sẽ khó bị thay thế hơn.
Với sự phát triển của công nghệ mới, nhu cầu thị trường đối với các vai trò công việc sẽ có sự thay đổi đáng kể Chẳng hạn, trong ngành công nghiệp ô tô, nhiều nhà sản xuất như GM đang chuyển hướng sang sản xuất xe điện để đáp ứng các sáng kiến xanh Mặc dù ngành năng lượng vẫn tồn tại, nhưng nguồn năng lượng đang chuyển từ tiết kiệm nhiên liệu sang sử dụng điện.
Theo cách tương tự, trí tuệ nhân tạo sẽ chuyển nhu cầu việc làm sang các lĩnh vực khác
Tổng quan về EDA
Khái niệm
EDA, hay Phân tích Dữ liệu Khám phá, là một kỹ thuật quan trọng trong khoa học dữ liệu, giúp người phân tích khám phá và hiểu rõ dữ liệu trước khi tiến hành xây dựng mô hình hoặc thực hiện các phân tích sâu hơn.
Trong phân tích dữ liệu khám phá (EDA), người phân tích áp dụng các phương pháp trực quan và thống kê để khám phá những đặc điểm quan trọng của dữ liệu như phân bố, tương quan, giá trị ngoại lai và các đặc tính khác EDA cung cấp cái nhìn tổng quan về dữ liệu, giúp xác định thông tin cần thiết cho việc lựa chọn và xây dựng mô hình dữ liệu cũng như thực hiện các phân tích thống kê phù hợp.
Vai trò
EDA giúp nhà phân tích dữ liệu nắm bắt sâu sắc thông tin từ dữ liệu của họ, bao gồm quy trình thu thập dữ liệu, các đặc tính nổi bật, giá trị ngoại lai, phân bố dữ liệu và mối tương quan giữa các biến.
Phát hiện giá trị ngoại lai
EDA là công cụ quan trọng trong việc phát hiện các giá trị ngoại lai và dữ liệu bất thường trong tập dữ liệu của bạn Việc xác định những giá trị này rất cần thiết để đánh giá xem chúng có ảnh hưởng đến mô hình của bạn hay không.
Lựa chọn và xây dựng mô hình
● EDA cung cấp thông tin để lựa chọn mô hình phù hợp nhất với dữ liệu của bạn
Nó cũng giúp định hình chiến lược để xây dựng mô hình
Tối ưu hóa quy trình làm việc
EDA cung cấp thông tin quan trọng để tối ưu hóa quy trình làm việc, bao gồm cách xử lý dữ liệu, lựa chọn biến đầu vào, tiền xử lý dữ liệu, chọn mô hình phù hợp và đánh giá hiệu quả của mô hình.
EDA cung cấp cho nhà phân tích dữ liệu các công cụ mạnh mẽ để trình bày kết quả một cách trực quan và toàn diện, từ đó giúp họ đưa ra những kết luận hợp lý dựa trên dữ liệu.
Phương pháp tiếp cận
Phân tích mô tả là phương pháp trực quan hiệu quả để khám phá dữ liệu, sử dụng các biểu đồ và biểu đồ tần số Nó bao gồm các đại lượng thống kê như trung bình, độ lệch chuẩn, trung vị và phạm vi, giúp người dùng hiểu rõ hơn về đặc điểm của dữ liệu.
Biểu đồ đóng vai trò quan trọng trong việc trực quan hóa dữ liệu trong Phân tích Dữ liệu Khám Phá (EDA) Các loại biểu đồ phổ biến bao gồm biểu đồ đường, biểu đồ cột, biểu đồ hộp, biểu đồ tần số, biểu đồ phân tán và biểu đồ đường cong, giúp người dùng dễ dàng nhận diện và phân tích mối quan hệ giữa các biến.
● Độ tương quan đo lường mức độ tương quan giữa hai biến Các loại độ tương quan thông dụng bao gồm hệ số tương quan Pearson và Spearman
Phát hiện giá trị ngoại lai
Giá trị ngoại lai là những giá trị bất thường hoặc sai lệch trong tập dữ liệu so với các giá trị khác Để phát hiện giá trị ngoại lai, các phương pháp phổ biến bao gồm việc sử dụng biểu đồ hộp và phương pháp z-score.
Chuẩn hóa dữ liệu là quá trình chuyển đổi dữ liệu thành các giá trị đồng nhất về đơn vị và phạm vi, giúp việc so sánh và phân tích dữ liệu trở nên hiệu quả hơn Các phương pháp chuẩn hóa dữ liệu phổ biến bao gồm chuẩn hóa Min-Max, chuẩn hóa z-score và chuẩn hóa lề.
Kiểm định phân phối là phương pháp quan trọng để xác định xem dữ liệu có tuân theo phân phối chuẩn hay không Hai kiểm định phân phối phổ biến là kiểm định Shapiro-Wilk và kiểm định Kolmogorov-Smirnov, giúp đánh giá tính chuẩn của dữ liệu một cách hiệu quả.
Kết luận
Phân tích khám phá dữ liệu (EDA) là một bước thiết yếu trong quy trình xử lý và phân tích dữ liệu Thông qua việc áp dụng các công cụ và phương pháp đa dạng, EDA giúp người phân tích nắm bắt cái nhìn tổng quát về dữ liệu, từ đó tạo nền tảng vững chắc cho việc dự đoán kết quả trong các bài toán.
Tổng quan về dữ liệu
Giới thiệu bài toán
The team participated in the "Predict Student Performance from Game Play" competition hosted on Kaggle, which ran from February 26, 2023, to June 28, 2023 This timeframe coincided with the group's thesis project during the second semester of the 2022-2023 academic year.
Cuộc thi nhằm mục tiêu dự đoán hiệu suất học tập của học sinh thông qua trò chơi thời gian thực Nhóm sẽ xây dựng một mô hình được đào tạo từ một bộ dữ liệu mở lớn về nhật ký trò chơi để đánh giá hiệu suất học sinh.
Mô tả
Dữ liệu được sử dụng để dự đoán kết quả câu hỏi trong các phiên học của học sinh dựa trên thông tin về sự kiện diễn ra trong mỗi phiên Học sinh tham gia trò chơi trực tuyến và thực hiện các hoạt động như click chuột, hover, trả lời câu hỏi và xem thông tin Mục tiêu của cuộc thi là dự đoán câu trả lời đúng cho các câu hỏi dựa trên thông tin về các hoạt động, nhằm hỗ trợ giáo viên và nhà nghiên cứu trong việc đánh giá và nâng cao hiệu quả giảng dạy.
Mọi người tham gia cuộc thi có quyền truy cập vào dữ liệu đào tạo và nhãn Mỗi phiên có 18 câu hỏi, nhưng người tham gia không nhận được câu trả lời mà chỉ biết liệu người dùng đã trả lời đúng hay không Nhiệm vụ chính của người tham gia là dự đoán kết quả cho từng nhóm câu hỏi.
Người tham gia sẽ sử dụng mẫu file nộp (Sample_submission.csv) để dự đoán các hãng nhãn _, với mỗi session bao gồm 18 dòng tương ứng với 18 câu hỏi Đối với mỗi _, người tham gia cần điền dữ liệu dự đoán vào cột correct, nhằm xác định xem người dùng trong phiên cụ thể có trả lời đúng câu hỏi hay không, chỉ dựa vào thông tin trước đó trong phiên API chuỗi thời gian sẽ trình bày các câu hỏi và dữ liệu theo thứ tự cấp độ, với mỗi phân đoạn cấp độ 0.
4, 5-12 và 13-22 được cung cấp theo trình tự và mọi người sẽ dự đoán tính chính xác của các câu hỏi của từng phân đoạn khi chúng được trình bày
Tập dữ liệu của cuộc thi "Predict Student Performance from Game Play" bao gồm các file sau
● train.csv: tập dữ liệu huấn luyện, chứa thông tin về các sự kiện trong các phiên chơi của các học sinh
● test.csv: tập dữ liệu kiểm tra, chứa thông tin về các sự kiện trong các phiên chơi của các học sinh
File Sample_submission.csv là mẫu cho kết quả dự đoán trong cuộc thi Nhiệm vụ của thí sinh là dự đoán câu trả lời chính xác cho các câu hỏi trong các phiên chơi của học sinh trong tập tin test.csv.
File Train_labels.csv chứa thông tin về kết quả chính xác của 18 câu hỏi trong các phiên chơi của học sinh Mỗi dòng trong file đại diện cho một phiên chơi, bao gồm session_id và các trường thông tin về câu trả lời đúng cho từng câu hỏi trong phiên đó.
Đặc tả
Bảng 1: Mô tả tập dữ liệu
Session_ID ID của phiên mà sự kiện diễn ra trong đó
Index Chỉ mục của sự kiện cho phiên đó
Elapsed_time thời gian đã trôi qua (tính bằng mili giây) giữa thời điểm bắt đầu phiên và khi sự kiện được ghi lại
Event_name Tên của loại sự kiện
Level Cấp độ của trò chơi mà sự kiện diễn ra trong đó (từ 0 đến 22)
Page Số trang của sự kiện (chỉ liên quan đến sự kiện NoteBook)
Room_coor_x Tọa độ của nhấp chuột liên quan đến phòng trong trò chơi (chỉ cho các sự kiện nhấp chuột)
Room_coor_y Tọa độ của nhấp chuột liên quan đến phòng trong trò chơi (chỉ cho các sự kiện nhấp chuột)
Screen_coor_x Tọa độ của nhấp chuột liên quan đến màn hình của người chơi (chỉ cho các sự kiện nhấp chuột)
Screen_coor_y Tọa độ của nhấp chuột liên quan đến màn hình của người chơi (chỉ cho các sự kiện nhấp chuột)
Hover_duration Thời gian được tính bằng (ms) khi bắt đầu giữ chuột đến khi dừng lại
(chỉ cho các sự kiện "hover") Text Văn bản người chơi thấy trong sự kiện này fqid ID đầy đủ của sự kiện
Room_fqid ID đầy đủ của phòng mà sự kiện diễn ra trong đó
Text_fqid ID đầy đủ của văn bản trong sự kiện này
Fullscreen Liệu người chơi có đang ở chế độ toàn màn hình hay không?
Hq Liệu trò chơi có ở chất lượng cao hay không?
Music Liệu âm nhạc trong trò chơi có bật hay không?
Level_group Nhóm cấp độ của câu hỏi.
Cách đánh giá
Phương pháp đánh giá được áp dụng là Group K-fold cross-validation, giúp chia dữ liệu thành các nhóm (fold) mà trong đó các mẫu thuộc cùng một nhóm (group) sẽ không bị tách rời.
Quá trình đánh giá hiệu suất mô hình được thực hiện như sau:
Chia dữ liệu thành các fold
Dữ liệu được phân chia thành 5 fold thông qua phương pháp Group K-fold cross-validation Các fold này được xác định dựa trên việc phân nhóm dữ liệu theo chỉ số (index) và nhãn (group).
Quá trình huấn luyện và đánh giá mô hình được thực hiện cho mỗi fold
Mô hình XGBoost được huấn luyện trên dữ liệu huấn luyện của từng fold, với các hyperparameters đã được cài đặt trước Đánh giá mô hình
Mô hình được đánh giá thông qua việc dự đoán kết quả trên tập kiểm tra của từng fold, và các kết quả dự đoán này được lưu trữ trong DataFrame "oof" (dự đoán ngoài fold), tương ứng với các chỉ số của dữ liệu kiểm tra.
Mô hình XGBoost được lưu trữ trong dictionary "models" với key là kết hợp của nhóm (group) và câu hỏi (question)
Hơn nữa, để đo lường hiệu suất của mô hình, ta dùng chỉ số F1-Score
Quá trình này lặp lại cho từng fold, với mỗi fold có dữ liệu huấn luyện và kiểm tra riêng biệt, đảm bảo không có mẫu nào trong cùng một nhóm bị tách ra Kết quả đánh giá từ mỗi fold được tổng hợp để đánh giá hiệu suất tổng thể của mô hình.
F1-Score là một chỉ số quan trọng trong phân loại, giúp đánh giá sự kết hợp giữa độ chính xác (precision) và độ bao phủ (recall) của mô hình.
F1-Score là một chỉ số quan trọng trong đánh giá mô hình học máy, được tính dựa trên hai thành phần chính là precision và recall Precision phản ánh tỷ lệ dự đoán dương tính chính xác so với tổng số dự đoán dương tính, trong khi recall thể hiện tỷ lệ mẫu dương tính được phát hiện đúng so với tổng số mẫu dương tính trong tập dữ liệu.
F1-Score là một số từ 0 đến 1, và giá trị càng cao càng tốt Nó được tính bằng công thức: F1-Score = 2 * (precision * recall) / (precision + recall)
F1-Score là một chỉ số kết hợp giữa precision và recall, thường được áp dụng trong các tình huống mà cả hai yếu tố này đều quan trọng Việc chỉ sử dụng precision hoặc recall mà không xem xét yếu tố còn lại có thể dẫn đến việc đánh giá không chính xác về hiệu suất của mô hình phân loại.
F1-Score là chỉ số quan trọng khi làm việc với dữ liệu mất cân bằng, nơi mà số lượng mẫu trong mỗi lớp không đồng đều Chỉ số này giúp đảm bảo rằng cả độ chính xác (precision) và độ nhạy (recall) đều được xem xét, từ đó giảm thiểu tác động tiêu cực của sự mất cân bằng dữ liệu.
Chuẩn bị dữ liệu là bước quan trọng trong việc đánh giá mô hình, bao gồm cả dữ liệu thực tế và dữ liệu dự đoán Dữ liệu thực tế đại diện cho các nhãn chính xác của các điểm dữ liệu, trong khi dữ liệu dự đoán là các giá trị được mô hình dự đoán.
Thiết lập threshold o Thiết lập một danh sách các giá trị threshold để thử nghiệm o Thông thường, danh sách threshold được chọn trong một khoảng giá trị nhất định
Để tính toán F1-score và chọn threshold tốt nhất, cần duyệt qua từng giá trị threshold trong danh sách đã thiết lập Áp dụng threshold lên dữ liệu dự đoán để phân loại các điểm dữ liệu thành nhãn dương tính hoặc âm tính Sau đó, tính toán F1-score bằng cách sử dụng nhãn thực tế và nhãn dự đoán với threshold hiện tại Cuối cùng, lưu trữ F1-score và threshold tương ứng để phân tích sau này.
Để chọn threshold tốt nhất cho mô hình, hãy chọn threshold tương ứng với F1-score cao nhất Sau đó, áp dụng threshold này lên dữ liệu dự đoán để phân loại các điểm dữ liệu Tiếp theo, tính toán F1-score bằng cách sử dụng nhãn thực tế và nhãn dự đoán với threshold tốt nhất Cuối cùng, đánh giá hiệu suất của mô hình dựa trên F1-score đã thu được.
Quá trình xác định threshold tối ưu là cần thiết để phân loại điểm dữ liệu và đánh giá hiệu suất mô hình thông qua F1-score, kết hợp giữa precision và recall Threshold tốt nhất được lựa chọn dựa trên F1-score cao nhất, giúp tối ưu hóa khả năng phân loại của mô hình.
Tổng quan về thuật toán
Tổng quan về Ensemble learning
Ensemble Learning là một phương pháp trong Machine Learning, kết hợp nhiều mô hình học máy để tạo ra một mô hình dự đoán mạnh mẽ hơn Mục tiêu chính của phương pháp này là khai thác sự đa dạng và khác biệt giữa các mô hình nhằm nâng cao khả năng dự đoán.
Ensemble Learning hoạt động bằng cách kết hợp các mô hình độc lập hoặc tương tự, nhưng được huấn luyện trên các tập dữ liệu khác nhau Có ba phương pháp chính để kết hợp các mô hình trong Ensemble Learning.
Các mô hình độc lập được đào tạo trên các tập dữ liệu con thông qua phương pháp tái chọn mẫu có khả năng tái chọn Kết quả dự đoán cuối cùng được xác định bằng cách tính trung bình hoặc lấy đa số phiếu bầu từ các mô hình con.
Các mô hình được huấn luyện theo chuỗi liên tiếp, mỗi mô hình cố gắng cải thiện dự đoán của các mô hình trước đó Dữ liệu được tạo ra bằng cách tập trung vào các mẫu khó phân loại hoặc các mẫu bị dự đoán sai Kết quả dự đoán cuối cùng được tính bằng cách kết hợp các dự đoán từ tất cả các mô hình con.
Xây dựng nhiều mô hình khác nhau cùng với một meta model (mô hình giám sát) là một phương pháp hiệu quả trong học máy Các mô hình này được huấn luyện độc lập, sau đó meta model sẽ học cách kết hợp tối ưu các dự đoán từ các mô hình này.
Ensemble Learning là phương pháp hiệu quả giúp nâng cao độ chính xác và khả năng tổng quát của các mô hình dự đoán Phương pháp này được áp dụng phổ biến trong các bài toán phân loại, hồi quy và xếp hạng trong lĩnh vực Machine Learning.
Bagging
Hình 5: Tổng quát Sơ đồ hoạt động của Bagging
Bagging, hay còn gọi là Bootstrap aggregating, là một kỹ thuật học tập đồng bộ nhằm nâng cao hiệu suất và độ chính xác của các thuật toán học máy Kỹ thuật này giúp giải quyết vấn đề đánh đổi sai lệch-phương sai và giảm thiểu phương sai của mô hình dự đoán Bagging cũng giúp ngăn chặn hiện tượng khớp dữ liệu quá mức và có thể áp dụng cho cả mô hình hồi quy lẫn phân loại, đặc biệt là trong các thuật toán cây quyết định.
● Giả sử có n quan sát và m thuộc tính trong tập huấn luyện Chọn một mẫu ngẫu nhiên từ tập dữ liệu huấn luyện mà không cần thay thế
● Một tập hợp con của m tính năng được chọn ngẫu nhiên để tạo mô hình bằng cách sử dụng các quan sát mẫu
● Tính năng cung cấp sự phân chia lô tốt nhất được sử dụng để phân chia các nút
● Cây được trồng, vì vậy có các nút gốc tốt nhất
● Các bước trên được lặp lại n lần Nó tổng hợp đầu ra của các cây quyết định riêng lẻ để đưa ra dự đoán tốt nhất
● Bagging giảm thiểu việc lắp quá nhiều dữ liệu
● Cải thiện độ chính xác của mô hình
● Xử lý dữ liệu chiều cao hơn một cách hiệu quả
2.4.2.3 Sơ lược dưới dạng toán học
Ta có L bootstrap samples (tương ứng với L bộ dữ liệu) có kích thước B
, , … , , , , … , , … , , , … , ≡ -th observation of the -th bootstrap sample
Tương ứng với L bộ dữ liệu là L model "yếu" w1(.),w2(.), ,wL(.)
Kết hợp các mô hình này tạo ra một mô hình mới mạnh mẽ hơn Đối với các vấn đề khác nhau như hồi quy, đầu ra của các mô hình "yếu" sẽ được tính trung bình, từ đó tạo ra đầu ra cho mô hình "mạnh" Trong trường hợp phân loại, đầu ra của mỗi mô hình sẽ xác định lớp kết quả.
Trong mô hình phân loại, mỗi "model yếu" được xem như một phiếu bầu, và lớp nào nhận được nhiều phiếu bầu nhất sẽ trở thành đầu ra của mô hình "mạnh" thông qua phương pháp hard-voting Ngược lại, nếu mô hình "yếu" dự đoán xác suất cho tất cả các lớp, ta sẽ tính trung bình cộng xác suất của từng lớp và chọn lớp có xác suất cao nhất, phương pháp này được gọi là soft-voting.
( ) = ∑ ( ) (simple average, for regression problem)
( ) = ! ( ∣ ( ) = #)$ (simple majority vote, for classification problem)
Bagging mang lại lợi ích lớn nhờ vào khả năng xử lý song song Với cấu trúc core của bagging, quá trình huấn luyện các mô hình có thể diễn ra đồng thời Nếu bạn sở hữu một máy tính mạnh mẽ, bạn có thể đào tạo từng mô hình một cách song song và sau đó tổng hợp kết quả đầu ra từ các mô hình này.
Bootstrapping
Chuẩn bị tập dữ liệu ban đầu
28 Đầu tiên,cần có một tập dữ liệu ban đầu để tạo các bootstrap samples từ đó
Xác định kích thước bootstrap sample
Xác định kích thước mỗi bootstrap sample mà bạn muốn tạo Thông thường, kích thước của mỗi bootstrap sample bằng kích thước của tập dữ liệu ban đầu
Lặp lại quá trình bootstrap
Các bước để tạo ra bootstrap samples
● Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu với khả năng chọn lại
(replacement) Mẫu này có thể được chọn nhiều lần hoặc không được chọn
● Thêm mẫu đã chọn vào bootstrap sample
● Lặp lại các bước trên cho đến khi kích thước của bootstrap sample đạt được đúng kích thước mong muốn
Có thể lặp lại nhiều lần để tạo ra nhiều mẫu bootstrap, với số lần lặp lại thường được xác định trước hoặc dựa trên các tiêu chí cụ thể.
Sử dụng toàn bộ dữ liệu
Kỹ thuật Bootstrapping cho phép tận dụng toàn bộ tập dữ liệu ban đầu để tạo ra các mẫu bootstrap, đảm bảo rằng không có mẫu nào bị bỏ lỡ và mọi thông tin từ tập dữ liệu gốc đều được sử dụng Phương pháp này dựa trên nguyên tắc độc lập và ngẫu nhiên.
Các mẫu bootstrap được tạo ra từ dữ liệu gốc thông qua việc chọn mẫu ngẫu nhiên lặp lại, giúp đảm bảo tính độc lập và ngẫu nhiên giữa các mẫu Sự độc lập này rất quan trọng để đảm bảo tính khách quan và đại diện của các mẫu bootstrap, từ đó hỗ trợ trong việc ước lượng phương sai chính xác.
Bootstrapping là một kỹ thuật phổ biến trong thống kê để ước lượng phương sai của các ước lượng Bằng cách tạo ra nhiều mẫu bootstrap và tính toán các ước lượng từ mỗi mẫu, chúng ta có thể xây dựng phân phối ước lượng và từ đó ước lượng phương sai Phương pháp này giúp đánh giá độ tin cậy của các ước lượng thống kê và xác định khoảng tin cậy cho chúng.
Các mẫu bootstrap thường có phân phối tương tự như phân phối của tập dữ liệu gốc, điều này giúp việc mô phỏng và kiểm tra giả thuyết thống kê trở nên linh hoạt và hiệu quả hơn.
Sử dụng trong học máy
Bootstrapping là một kỹ thuật quan trọng trong các phương pháp ensemble như Bagging và Random Forest, giúp tạo ra các mẫu bootstrap nhằm tăng cường tính đa dạng và ổn định cho mô hình Bên cạnh đó, bootstrapping còn được áp dụng để đánh giá hiệu suất của mô hình thông qua việc phân chia bootstrap và thực hiện các kiểm tra thống kê.
2.4.3.3 Sơ lược về dạng toán học
Hình 6: Sơ đồ hoạt động của Bootstrap Sampling
, , … , observation of the -th bootstrap sample
Bootstrapping là phương pháp tạo ngẫu nhiên các mẫu dữ liệu từ một tập hợp với sự thay thế để ước tính một tham số tập hợp
Boosting
Để bắt đầu quá trình Boosting, việc chuẩn bị tập dữ liệu là rất quan trọng Tập dữ liệu này cần bao gồm các biến đầu vào và biến mục tiêu, phù hợp với bài toán phân loại hoặc hồi quy.
Chọn mô hình cơ bản
Chọn một mô hình cơ bản trong quá trình Boosting, thường là mô hình yếu như cây quyết định đơn giản hoặc hồi quy tuyến tính.
Xây dựng mô hình ban đầu
Xây dựng mô hình cơ bản đầu tiên trên toàn bộ tập dữ liệu huấn luyện là bước khởi đầu cho quá trình Boosting Đánh giá hiệu suất của mô hình này trên tập dữ liệu huấn luyện giúp xác định khả năng hoạt động của nó và phát hiện những mẫu dữ liệu mà mô hình dự đoán sai.
Tính toán lỗi dự đoán cho từng mẫu trong tập huấn luyện là bước quan trọng, với lỗi dự đoán được xác định dựa trên sự chênh lệch giữa giá trị dự đoán và giá trị thực tế của biến mục tiêu.
Dựa trên các lỗi dự đoán, một mô hình mới (mô hình yếu) được tạo ra nhằm tập trung vào những mẫu dữ liệu bị dự đoán sai Mục tiêu của mô hình này là cải thiện khả năng dự đoán cho các mẫu đó.
Tích hợp mô hình mới
Kết hợp mô hình mới với mô hình ban đầu để xây dựng một mô hình tổng quát, quá trình này bao gồm việc tính toán trọng số cho từng mô hình và xác định cách tính toán đầu ra cuối cùng.
Cập nhật lỗi dự đoán
Cập nhật lỗi dự đoán dựa trên mô hình mới giúp xác định và tập trung vào những mẫu dữ liệu mà mô hình này dự đoán không chính xác.
Lặp lại quy trình từ bước 4 đến bước 8 cho đến khi có đủ số lượng mô hình yếu hoặc khi điều kiện dừng được thỏa mãn Thông thường, phương pháp Boosting sẽ tạo ra một tập hợp các mô hình yếu, sau đó kết hợp chúng để hình thành một mô hình mạnh mẽ (strong learner).
Kết hợp dự đoán từ nhiều mô hình yếu để tạo ra dự đoán cuối cùng là một quá trình quan trọng Quá trình này thường bao gồm việc tính toán trọng số cho từng dự đoán và xác định cách tính toán đầu ra cuối cùng, tùy thuộc vào thuật toán Boosting cụ thể được áp dụng.
Tính mạnh mẽ và hiệu quả
Boosting là một kỹ thuật mạnh mẽ trong học máy, cho phép xây dựng mô hình mạnh từ các mô hình yếu Quá trình lặp đi lặp lại của Boosting tập trung vào những dữ liệu khó dự đoán, từ đó cải thiện hiệu suất và giảm thiểu lỗi trong dự đoán.
Boosting là một kỹ thuật mạnh mẽ có khả năng thích ứng và linh hoạt trong việc giải quyết các bài toán phức tạp Phương pháp này có thể áp dụng cho cả phân loại và hồi quy, đồng thời tương thích với nhiều loại mô hình cơ bản khác nhau, mang lại độ chính xác cao.
Boosting có khả năng tập trung vào các mẫu dữ liệu khó dự đoán, giúp nâng cao độ chính xác so với mô hình đơn lẻ Phương pháp này không chỉ giảm thiểu lỗi mà còn cải thiện khả năng dự đoán trên tập dữ liệu kiểm tra.
Khả năng xử lý nhiễu và overfitting
Boosting là phương pháp hiệu quả trong việc xử lý nhiễu dữ liệu và giảm thiểu tình trạng overfitting Quá trình này tập trung vào các mẫu dữ liệu khó dự đoán, giúp tạo ra mô hình tổng quát hơn.
Quá trình Boosting tạo ra một mô hình tổng hợp bằng cách kết hợp nhiều mô hình yếu
Mô hình tổng quát này có khả năng khai thác sự đa dạng của các mô hình yếu và tổng hợp thông tin từ tất cả các mô hình
Tăng tốc độ học tập
Boosting thường được thực hiện theo cách song song, cho phép các mô hình yếu được huấn luyện đồng thời Phương pháp này không chỉ tăng tốc độ học tập mà còn giảm thời gian huấn luyện so với việc sử dụng một mô hình lớn đơn lẻ.
Boosting được tích hợp sẵn trong các thư viện và framework học máy phổ biến như XGBoost và AdaBoost, giúp việc triển khai và sử dụng trở nên dễ dàng và tiện lợi.
2.4.4.3 Sơ lược về dạng toán học
% & (') = % &( (') + * & ℎ & (', &( ) where * , , and , are the regularization parameters and residuals computed with the
Kỹ thuật
CatBoost áp dụng cây quyết định đối xứng trong huấn luyện mô hình, đảm bảo rằng các quyết định được chia sẻ đồng đều giữa các nhánh, từ đó nâng cao độ chính xác của mô hình.
● Đây là một phương pháp mã hóa dữ liệu định danh mới được đưa ra bởi CatBoost
Nó cho phép mô hình xử lý các tính năng định danh một cách hiệu quả bằng cách tối ưu hóa giá trị đầu vào của chúng
CatBoost có khả năng xử lý các tính năng phân loại và sử dụng dữ liệu định danh làm đặc trưng đầu vào thông qua phương pháp mã hóa độc quyền của nó.
CatBoost được thiết kế để tối ưu hóa tốc độ và giảm thiểu việc sử dụng bộ nhớ, cho phép quá trình huấn luyện mô hình và đưa ra dự đoán diễn ra nhanh chóng và hiệu quả.
● CatBoost hỗ trợ các kỹ thuật cross-validation để đánh giá hiệu quả mô hình của nó
Thực nghiệm thuật toán
Xgboost
Bước 1: Giảm thiểu bộ nhớ để tránh lỗi
Lưu ý: Dữ liệu của cuộc thi đã thay đổi (cụ thể là gấp đôi kích thước) vào cuối tháng 3
Chúng tôi đã chia tập dữ liệu huấn luyện thành 10 phần để xử lý từng phần một, nhằm tránh lỗi bộ nhớ, vì cuộc thi chỉ cho phép sử dụng tối đa 8GB RAM.
Sau khi chia tập dữ liệu train thành 10 phần thì chúng ta sẽ kiểm tra xem ở phần đầu tiên sẽ có kích thước là bao nhiêu:
Hình 9: Train size of first piece
Hình 10: Records of first piece
Bước 2: Phân tích về tập train_labels
Tách phần đuôi của session_id giúp lấy riêng câu hỏi và session, từ đó thuận tiện cho việc dự đoán Sau khi xử lý, kết quả thu được sẽ được trình bày như dưới đây.
Hình 11: Tập train_labels sau khi đã xử lý
Feature engineering là quá trình tạo ra và chọn lọc các đặc trưng từ dữ liệu gốc nhằm nâng cao hiệu suất và kết quả của mô hình dự đoán Quá trình này bao gồm việc áp dụng các phép biến đổi, trích xuất và chọn lọc để tạo ra các biến đầu vào tối ưu cho mô hình học máy Mục tiêu chính của feature engineering là tăng cường tính biểu diễn của dữ liệu, giảm thiểu độ nhiễu và cải thiện khả năng dự đoán của mô hình.
Do đó mà có thể nói Feature engineer là một trong những bước rất quan trọng trong việc quyết định độ thành công của mô hình Ý tưởng:
Dữ liệu nhật ký chứa nhiều sự kiện trong mỗi phiên, vì vậy việc xác định đơn vị phân tích là rất quan trọng cho quá trình lập mô hình.
Đối với mỗi (session_id) _ (câu hỏi #), bạn cần dự đoán chính xác cột bằng cách xác định liệu người dùng trong phiên cụ thể này có khả năng trả lời đúng câu hỏi hay không, chỉ dựa vào thông tin đã có từ trước trong phiên.
Trong trường hợp này, mỗi session_id được coi là một người dùng Tôi sẽ phân tích dữ liệu nhật ký của từng phiên để dự đoán khả năng trả lời đúng các câu hỏi của người dùng.
Hành vi người dùng ở mỗi cấp độ trò chơi là rất quan trọng, vì vậy tôi sẽ tổng hợp dữ liệu theo từng cấp độ trò chơi của mỗi phiên Bên cạnh đó, tôi cũng sẽ tạo các biến giả cho biến event_name để mô hình có thể hiểu rõ hơn về từng sự kiện.
Chúng tôi đã xây dựng ba mô hình để phân tích hành vi đăng nhập của người dùng Mô hình đầu tiên tập trung vào nhóm cấp độ 0-4, nhằm dự đoán các câu hỏi từ 1 đến 3 Mô hình thứ hai nghiên cứu hành vi log của nhóm cấp độ 5-12, với mục tiêu dự đoán câu hỏi từ 4 đến 13 Cuối cùng, mô hình thứ ba tìm hiểu hành vi log của nhóm cấp độ 13-22, để dự đoán các câu hỏi từ 14 đến 18.
Bước 4: Triển khai Feature Engineer
Trong hình 13, chúng ta phân loại các biến thành hai loại: CATS (Category hoặc Categorical) Các biến này bao gồm những cột chứa giá trị thuộc một tập hợp hữu hạn các nhãn hoặc danh mục Các biến đầu vào này không có thứ tự hay mức độ đo được, thường biểu thị các thuộc tính không liên tục.
NUMS (Số liệu) bao gồm các cột chứa giá trị số, có khả năng biểu diễn các thuộc tính định lượng như chiều cao, trọng lượng, tuổi, và các đặc trưng số khác.
Các sự kiện là yếu tố quan trọng cần được phân tích và ứng dụng trong việc dự đoán Vì vậy, trong biến này, chúng ta sẽ liệt kê tất cả các giá trị có trong cột này.
Hình 14: Feature Engineer in code
Trong hàm này, quá trình xử lý diễn ra bằng cách lấy ra những giá trị duy nhất trong cột CATS, dựa trên session_id và level_group, tức là theo mã định danh người dùng và nhóm cấp độ.
Đối với NUMS, chúng ta tính giá trị trung bình và độ lệch chuẩn cho các giá trị của cột này, cũng như CATS, dựa trên session_id và level group Đối với EVENTS, chuyển đổi các giá trị trong cột event_name thành kiểu int8 để tiết kiệm bộ nhớ và cộng với cột elapsed_time, từ đó xác định thời gian người dùng mất cho mỗi sự kiện Cuối cùng, tính tổng cột elapsed_time theo session_id và level group để xác định người dùng và nhóm cấp độ của họ.
Sau khi xử lý, kích thước dữ liệu đã được cải thiện đáng kể Việc áp dụng kỹ thuật Feature Engineering cho các phần còn lại của tập huấn luyện không chỉ giúp tối ưu hóa mô hình mà còn mang lại những cải thiện về thời gian xử lý.
Hình 16: Áp dụng cho các phần còn lại của tập train
Bước 5: Tinh chỉnh siêu tham số và Train XGBoost model
Hình 17: Thuộc tính và users mà ta sẽ train
Train model thuật toán Xgboost với 31 thuộc tính và 23562 bản ghi thông tin người dùng
Tinh chỉnh siêu tham số
Hình 18: Siêu tham số cho Xgboost
Thuật toán sử dụng hồi quy logistic để phân loại nhị phân, và output sẽ là xác suất
Dữ liệu xác thực sẽ được đánh giá bằng các số liệu cụ thể, trong đó rmse được sử dụng cho hồi quy, logloss cho phân loại, và độ chính xác trung bình cho các bài toán xếp hạng như bản đồ.
CatBoost
2.5.2.1 Các bước thực hiện Ở thuật toán CatBoost, Xử lý data kỹ càng hơn để có thể đưa ra được kết quả tốt hơn cho các biến phân loại cũng như là tính đặc trưng của thuật toán
Hình 24: Xử lý data cho cột null
Để nâng cao hiệu suất xử lý của thuật toán, cần xử lý biến thời gian “elapsed_time” theo “session id” Việc này giúp đơn giản hóa ý nghĩa của hàm bằng cách chuyển đổi giá trị số thời gian thành biến phân loại, từ đó cho phép thuật toán Catboost hoạt động hiệu quả hơn.
Hàm sẽ tiếp tục xử lý tất cả các đặc trưng về thời gian, bao gồm “d_time” (đã xử lý lần 1), “hover_duration”, và các biến tháng, năm, ngày, thời gian Các thao tác này bao gồm tính toán giá trị trung bình, độ lệch chuẩn và biến đổi các giá trị thời gian thành biến phân loại.
Hình 26: Tạo đặc trưng cho biến thời gian
CatBoost cải thiện khả năng xử lý dữ liệu bằng cách phân tích từng giá trị cụ thể của các biến thời gian Tất cả các đặc trưng này được tính toán và tạo ra dựa trên "session_id", giúp tăng cường khả năng tương quan và đưa ra dự đoán chính xác về hành vi người dùng.
Tiếp tục tạo thêm đặc trưng cho biến thời gian dựa trên biến đã tạo
Hàm “feature_next_t_otvet” tương tự như hàm “feature_next_t” nhưng chỉ khác biệt một tí xíu về cách gán giá trị và cách truy cập
Hình 27: Lấy ra biến đặc trưng tốt nhất
Hàm “experiment_feature_next_t_otvet” có sự khác biệt so với hai hàm trước đó, đặc biệt trong cách xử lý biến maska Trong khi hai hàm trước mở rộng biến maska khi nhận thấy đặc trưng đã có, hàm này chỉ thực hiện việc so sánh để kiểm tra xem các đặc trưng trước đó đã được cải thiện hay chưa.
Hình 28: Xử lý biến câu hỏi
Trước đây, chúng tôi đã sắp xếp và tạo một tập dữ liệu đặc biệt có tên là “feature_df” để xử lý các đặc trưng quan trọng Trong hàm này, chúng tôi tạo ra những đặc trưng mới cho biến câu hỏi (“quest”) Để tính toán các đặc trưng mới của biến “quest”, chúng tôi gọi lại hàm “feature_next_t_otvet”, dựa trên thời gian trả lời các câu hỏi của người dùng.
Hàm “feature_engineer” sẽ tạo ra một tập dữ liệu mới bằng cách xử lý các đặc trưng liên quan đến thời gian từ tập “feature_df” Quá trình này giúp bổ sung thêm những đặc trưng mới cho dữ liệu.
Hình 30: Xử lý biến câu hỏi dựa trên tập dữ liệu mới
Hàm này xử lý các đặc trưng của biến quest dựa trên tập dữ liệu huấn luyện và tập dữ liệu do hàm “feature_engineer_new” tạo ra, nhằm tạo ra các đặc trưng mới để nâng cao hiệu suất cho thuật toán CatBoost.
Tổng kết phần Kỹ thuật Tính năng: Trong quá trình xử lý đặc trưng cho tập dữ liệu, mô hình CatBoost chú trọng vào đặc trưng quan trọng nhất là thời gian trả lời câu hỏi, tức là thời gian mà từng người dùng cần để đưa ra câu trả lời cho mỗi câu hỏi.
Bước 2: Tinh chỉnh siêu tham số và train model CatBoost
Hình 31: Tinh chỉnh siêu tham số cho mô hình CatBoost
Huấn luyện mô hình CatBoost với các siêu tham số Ở mô hình CatBoost thì chỉ tinh chỉnh 3 siêu tham số, còn những tham số khác thì mặc định
Bên cạnh đó thì như ở XGBoost, chỉ số ngưỡng (Threshold) tốt nhất là 0.63 nên ở CatBoost, thì sử dụng lại chỉ số ngưỡng mà không cần tính toán nữa
Hình 32: Kết quả train câu hỏi từ 1 đến 3
Hình 33: Kết quả train câu hỏi từ 4 đến 11
Hình 34: Kết quả train câu hỏi từ 14 đến 17
Bước 3: Kết quả trên tập test
Hình 35: Kết quả đạt được
Tinh chỉnh siêu tham số
Hình 36: Định nghĩa siêu tham số sử dụng trong thuật toán CatBoost
Trong quá trình huấn luyện, mô hình sẽ huấn luyện 1000 cây tăng cường để tạo ra mô hình cuối cùng.
Tham số quan trọng giúp cải thiện hiệu suất mô hình là việc sử dụng early_stopping Khi áp dụng early_stopping, quá trình huấn luyện mô hình sẽ tự động dừng lại nếu không có sự cải thiện đáng kể trong một số vòng lặp liên tiếp đã định sẵn Điều này không chỉ ngăn chặn hiện tượng overfitting mà còn giảm thiểu thời gian huấn luyện một cách đáng kể.
Các cây tăng cường trong quá trình huấn luyện sẽ có độ sâu tối đa là 4.
Trong bản cập nhật, chúng tôi đã thu hẹp kích thước bước để ngăn ngừa hiện tượng quá mức Sau mỗi bước tăng cường, chúng tôi có thể trực tiếp lấy trọng số của các tính năng mới và điều chỉnh eta để giảm trọng số của tính năng, nhằm làm cho quá trình tăng cường trở nên thận trọng hơn Phạm vi của eta là [0,1], với giá trị mặc định là 0.3.
Logloss Nghĩa là hàm mất mát được sử dụng trong quá trình huấn luyện mô hình là Logarithmic Loss.
Sử dụng hạt giống ngẫu nhiên là 0 đảm bảo tính nhất quán và khả năng tái lặp cho mô hình trong các quá trình ngẫu nhiên, giúp đạt được kết quả giống nhau khi chạy lại mô hình với cùng một cấu hình.
Metric_period:1 Điều này đảm bảo rằng mô hình sẽ tính toán và báo cáo kết quả độ đo sau mỗi bước huấn luyện.
Trong mỗi vòng lặp huấn luyện, 80% mẫu được chọn ngẫu nhiên sẽ được sử dụng, giúp giảm khả năng overfitting và tăng tính tổng quát hóa của mô hình Việc sử dụng một tỷ lệ mẫu nhỏ hơn 100% cho phép mô hình chỉ sử dụng một phần mẫu để huấn luyện, điều này có thể làm giảm độ chính xác trên tập huấn luyện nhưng lại cải thiện khả năng tổng quát hóa và tránh hiện tượng overfitting.
Mỗi cấp của các cây tăng cường sẽ sử dụng ngẫu nhiên 40% số lượng đặc trưng có sẵn để xây dựng cây.
Verbose:0 Điều này đảm bảo rằng không có thông tin hiển thị được in ra trong quá trình huấn luyện mô hình
CatBoost là một thuật toán dựa trên Gradient Boosting, được thiết kế đặc biệt để xử lý dữ liệu có biến dạng danh mục mà không cần mã hóa trước Thay vì yêu cầu mã hóa dữ liệu, CatBoost tự động quản lý các biến danh mục thông qua mã hóa đặc trưng thẳng và học mẫu đặc trưng Điều này không chỉ giảm thiểu khó khăn trong quá trình tiền xử lý dữ liệu mà còn cho phép sử dụng trực tiếp dữ liệu dạng danh mục trong mô hình.
So với kết quả là 0.6 ở thuật toán XGBoost thì thật sự CatBoost làm tốt hơn về bài toán phân loại này
Hình 37: Điểm số của bài dự thi CatBoost
Với điểm số công khai là 0.694 và điểm số bí mật được chấm lại sau khi cuộc thi kết thúc là 0.696
Có thể thấy hiệu suất đạt ngưỡng 68% tỉ lệ trả lời đúng câu hỏi lần đầu tiên của học sinh ở tập train
Thuật toán CatBoost tỏ ra vượt trội hơn XGBoost khi xử lý nhiều biến đầu vào dạng categorical, thể hiện rõ qua hiệu suất tổng thể Mặc dù CatBoost yêu cầu nhiều thời gian xử lý dữ liệu hơn, nhưng hiệu quả mà mô hình này mang lại cho thấy sự ưu thế rõ rệt so với XGBoost.
LightGBM
Với thuật toán LightGBM, ta cũng sẽ có các bước giảm thiểu bộ nhớ để tránh lỗi như Xgboost Vì thế ta sẽ không nói lại ở phần này
Bước 1: Triển khai Feature Engineer
Biến trong thống kê được phân loại thành hai loại chính: biến đếm (count_var) và biến trung bình (mean_var) Biến đếm là những cột có giá trị thuộc một tập hợp hữu hạn các nhãn hoặc danh mục, không có thứ tự hay mức độ đo được, thường biểu thị các thuộc tính không liên tục Ngược lại, biến trung bình bao gồm các cột mang giá trị số, đại diện cho các thuộc tính định lượng như chiều cao, trọng lượng, tuổi và các đặc trưng số khác.
Hình 39: Feature Engineer in code
Trong hàm này, việc xử lý diễn ra như sau: Đối với biến count_var, chúng ta lấy ra các giá trị duy nhất theo session_id và level_group, tức là theo mã định danh người dùng và nhóm cấp độ Đối với biến mean_var, chúng ta tính giá trị trung bình cho các giá trị trong cột này, cũng được phân loại theo session_id và level_group.
Hình 40: Kích thước sau khi xử lý
Bước 2: Tinh chỉnh siêu tham số và train LightGBM model
Hình 41: Train model thuật toán LightGBM
Tinh chỉnh siêu tham số
Hình 42: Tinh chỉnh siêu tham số LightGBM
Trong LightGBM, tham số 'objective': 'binary' được sử dụng để xác định rằng mục tiêu của bài toán huấn luyện là phân loại nhị phân Điều này có nghĩa là LightGBM sẽ tạo ra một mô hình dự đoán nhằm phân loại các điểm dữ liệu thành hai nhóm khác nhau, thường được thể hiện bằng các nhãn nhị phân như 0 và 1, đúng và sai, hoặc positive và negative.
Khi chọn 'objective': 'binary' trong LightGBM, thuật toán sẽ tối ưu hóa một hàm mất mát phù hợp cho phân loại nhị phân Mục tiêu chính là phân loại hiệu quả các điểm dữ liệu thành hai nhóm dựa trên các đặc trưng có sẵn.
Các thuật toán Gradient Boosting Decision Tree (GBDT), chẳng hạn như LightGBM, được áp dụng phổ biến trong các bài toán phân loại nhị phân Trong trường hợp này, giá trị 'binary' thường được sử dụng cho tham số 'objective' trong LightGBM.
Trong tham số của LightGBM, 'metric': 'auc' được sử dụng để chỉ định phương pháp đánh giá hiệu suất của mô hình dự đoán 'AUC' là viết tắt của "Area Under the Curve", một chỉ số quan trọng trong việc đo lường khả năng phân loại của mô hình Việc sử dụng 'auc' giúp người dùng hiểu rõ hơn về độ chính xác và hiệu quả của mô hình trong các bài toán phân loại.
Under the ROC Curve" (diện tích dưới đường cong ROC)
Đường cong ROC là một biểu đồ minh họa mối quan hệ giữa tỷ lệ True Positive (TPR) và tỷ lệ False Positive (FPR) của mô hình dự đoán tại các ngưỡng khác nhau Diện tích dưới đường cong ROC (AUC) được sử dụng để đánh giá khả năng phân loại của mô hình, với giá trị AUC dao động từ 0 đến 1; giá trị AUC cao hơn cho thấy mô hình có khả năng phân loại tốt hơn.
Khi chọn 'metric': 'auc' trong LightGBM, mô hình được tối ưu hóa để gia tăng diện tích dưới đường cong ROC, nhằm tạo ra dự đoán chính xác nhất với tiêu chí đánh giá dựa trên AUC.
AUC là một phương pháp đánh giá phổ biến trong phân loại, đặc biệt hữu ích khi dữ liệu không cân bằng Phương pháp này giúp đánh giá hiệu suất của cả hai lớp dương và âm trong mô hình dự đoán.
Trong LightGBM, 'learning_rate' là một siêu tham số quan trọng, quyết định tỷ lệ học được áp dụng trong quá trình huấn luyện mô hình.
Giá trị 'learning_rate' là một số thực dương trong khoảng từ 0 đến 1, quy định mức độ cập nhật trọng số trong mô hình trong mỗi bước tối ưu Learning rate nhỏ (như 0.01, 0.001) giúp mô hình hội tụ chậm hơn nhưng có khả năng mang lại kết quả tốt hơn, trong khi learning rate lớn (như 0.1, 0.2) cho phép mô hình hội tụ nhanh hơn nhưng có thể gặp khó khăn trong việc đạt được kết quả tối ưu.
Khi thiết lập 'learning_rate' ở mức 0.02, LightGBM sẽ áp dụng tỷ lệ học này để cập nhật trọng số trong quá trình huấn luyện Giá trị này thường được chọn dựa trên kinh nghiệm hoặc điều chỉnh phù hợp với từng bài toán cụ thể.
Trong mô hình LightGBM, 'learning_rate' và các siêu tham số như 'num_iterations' đóng vai trò quan trọng trong việc tối ưu hóa hiệu suất và tốc độ hội tụ Tham số 'max_depth' cũng rất quan trọng, nó xác định độ sâu tối đa của cây quyết định, ảnh hưởng trực tiếp đến khả năng học và tổng quát của mô hình.
Giá trị 'max_depth' trong LightGBM là một số nguyên dương quy định độ sâu tối đa của mỗi cây quyết định, với 'max_depth' được thiết lập là 6, có nghĩa là mỗi cây chỉ có thể phân chia dữ liệu tối đa 6 lần Việc thiết lập 'max_depth' ảnh hưởng đến khả năng khớp dữ liệu huấn luyện và khả năng tổng quát hóa của mô hình; giá trị lớn có thể dẫn đến overfitting, trong khi giá trị nhỏ có thể làm mất khả năng phân loại chi tiết Do đó, 'max_depth' thường được điều chỉnh qua quá trình tìm kiếm siêu tham số để tối ưu hóa hiệu suất và tốc độ học cho từng bài toán cụ thể Thêm vào đó, 'num_iterations' là một siêu tham số quan trọng trong LightGBM, với giá trị thường được đặt là 1000.
Nó xác định số lượng bước tối ưu (iterations) được thực hiện trong quá trình huấn luyện mô hình
Bước 3: Tìm ra điểm Threshold (điểm ngưỡng)
Tinh chỉnh threshold và tương quan với F1-score
Kết quả cho thấy mối tương quan giữa điểm Threshold và F1-Score tốt nhất Bằng cách áp dụng điểm Threshold tối ưu, chúng ta có thể tính toán điểm F1-Score cho từng câu hỏi, từ đó xác định F1-Score tổng cho mô hình dự đoán của mình.
Hình 44: Điểm F1-score cho từng câu hỏi và điểm tổng LightGBM
Random Forest
Với thuật toán Random Forest, ta cũng sẽ có các bước giảm thiểu bộ nhớ để tránh lỗi như Xgboost Vì thế ta sẽ không nói lại ở phần này
Bước 1: Triển khai Feature Engineer
Phân loại các biến thành 2 loại:
CATS là loại biến bao gồm các cột với giá trị thuộc về một tập hợp hữu hạn các nhãn hoặc danh mục Những biến đầu vào này không có thứ tự hay mức độ đo lường và thường thể hiện các thuộc tính không liên tục.
NUMS là biến chứa các cột với giá trị số, có thể đại diện cho các thuộc tính định lượng như chiều cao, trọng lượng, tuổi và các đặc trưng số khác.
Hình 47: Feature Engineer in code
Trong hàm xử lý, đối với CATS, chúng ta lấy ra các giá trị duy nhất từ cột này theo session_id và level_group, tức là theo mã định danh người dùng và nhóm cấp độ Còn đối với NUMS, chúng ta tính giá trị trung bình và độ lệch chuẩn cho các giá trị trong cột, cũng được phân loại theo session_id và level group.
Hình 48: Kích thước sau khi xử lý Bước 2: Tinh chỉnh siêu tham số và train Random Forest model
Hình 49: Thuộc tính và users mà mô hình sẽ train
Train model thuật toán Random Forest với 21 thuộc tính và 2357 bản ghi thông tin người dùng.
Tinh chỉnh siêu tham số
Các siêu tham số đang để mặc định theo thư viện sklearn.ensemble.RandomForestClassifier
Số lượng cây của rừng
Hàm đo lường chất lượng của phép chia
Số lượng mẫu tối thiểu cần được chia có trong 1 node
Số lượng mẫu tối thiểu cần được chia trong mỗi node lá
Bước 3: Tìm ra điểm Threshold (điểm ngưỡng)
Tinh chỉnh threshold và tương quan với F1-score
Hình 50: Tương quan giữa Threshold và F1-Score tốt nhất
2.5.4.2 Kết quả Áp dụng điểm Threshold tốt nhất vào để tính điểm F1-Score cho từng câu hỏi, như vậy
Dự đoán cho thấy 65,98% học sinh sẽ trả lời đúng câu hỏi trên tập train ngay từ lần đầu tiên.
Hình 51: Điểm F1-score cho từng câu hỏi và điểm tổng Random Forest
2.5.4.3 Điểm số của Random Forest
Hình 52: Điểm số của Random Forest
Với điểm số công khai là 0.673 và điểm số bí mật được chấm lại sau khi cuộc thi kết thúc là 0.676
Thuật toán Random Forest cho thấy tốc độ chạy nhanh hơn LightGBM nhờ vào việc chỉ sử dụng một phần dữ liệu ngẫu nhiên để huấn luyện, sau đó tổng hợp kết quả Tuy nhiên, LightGBM đạt điểm số cao hơn (60%) so với Random Forest (55%) nhờ vào khả năng kết hợp nhiều mô hình yếu thành một mô hình mạnh hơn, mang lại nhiều ưu thế vượt trội.
Điểm số và thứ hạng chung
Điểm và thứ hạng trên Bảng xếp hạng công khai (Public Leaderboard) thể hiện vị trí và điểm số tổng hợp của nhóm Điểm số này được xác định dựa trên bài nộp có điểm cao nhất của nhóm và được chấm ngay sau khi bài nộp được gửi.
Bảng xếp hạng bí mật (Private Leaderboard) hiển thị điểm số và thứ hạng chung của nhóm, trong đó điểm số được tính dựa trên bài nộp có điểm cao nhất Điểm số này được đánh giá cẩn thận bởi giám khảo ngay sau khi cuộc thi kết thúc, và nó cũng quyết định đội thi nào sẽ giành giải thưởng.
Kết quả đạt được
Dự đoán hiệu suất học tập
Sử dụng các phương pháp và mô hình học máy, nghiên cứu đã thành công trong việc dự đoán hiệu suất học tập của học sinh dựa trên dữ liệu từ game giáo dục Mô hình này không chỉ dự đoán thành tích học tập mà còn cung cấp thông tin hữu ích để đánh giá và quản lý hiệu suất học tập của học sinh.
Phân tích yếu tố ảnh hưởng
Phân tích dữ liệu từ game giáo dục giúp xác định và đánh giá các yếu tố ảnh hưởng đến hiệu suất học tập của học sinh Các yếu tố như khả năng giải quyết vấn đề, tương tác giữa học sinh và giảng viên, mức độ thử thách trong nhiệm vụ, và sự tương tác xã hội đều có thể được khai thác để cung cấp thông tin giá trị nhằm cải thiện quá trình học tập.
Hỗ trợ quyết định giảng dạy
Nghiên cứu này cung cấp thông tin giá trị để hỗ trợ quyết định giảng dạy, cho phép giáo viên tùy chỉnh phương pháp giảng dạy dựa trên dữ liệu từ hệ thống Điều này giúp tạo ra phản hồi hiệu quả hơn trong quá trình giảng dạy.
74 hồi cá nhân và cung cấp hướng dẫn tùy chỉnh để nâng cao hiệu quả giảng dạy và đạt được kết quả học tập tốt hơn cho học sinh
Cải thiện hiệu suất học tập
Thông qua việc theo dõi và đánh giá hiệu suất học tập, đề tài này đã giúp nâng cao kết quả học tập của học sinh Bằng cách cung cấp phản hồi và hướng dẫn cá nhân, học sinh có khả năng nhận diện điểm mạnh và điểm yếu của bản thân, từ đó nỗ lực cải thiện kỹ năng và kiến thức.
Ưu điểm
Đề tài này cung cấp cái nhìn tổng quan về hiệu suất học tập của học sinh, cho phép theo dõi và đánh giá thông qua game giáo dục Điều này giúp nắm bắt khả năng và tiến bộ của học sinh trong quá trình học tập một cách toàn diện.
Tăng cường tính tương tác và thúc đẩy học tập
Việc áp dụng game giáo dục trong việc theo dõi và dự đoán hiệu suất học tập không chỉ tạo ra một môi trường học tập tích cực mà còn thúc đẩy sự tương tác giữa học sinh và nội dung giáo dục, từ đó gia tăng động lực học tập và mang lại trải nghiệm học tập thú vị.
Cung cấp phản hồi và hướng dẫn cá nhân
Hệ thống này xác định điểm mạnh và điểm yếu của học sinh thông qua trò chơi giáo dục, từ đó cung cấp phản hồi và hướng dẫn cá nhân hóa, giúp học sinh cải thiện kỹ năng và kiến thức hiệu quả hơn.
Hỗ trợ quyết định giảng dạy
Kết quả nghiên cứu có thể mang lại thông tin quý giá cho giáo viên trong việc điều chỉnh phương pháp giảng dạy, đồng thời cung cấp hướng dẫn phù hợp với nhu cầu và khả năng của từng học sinh Điều này không chỉ nâng cao hiệu quả giảng dạy mà còn đáp ứng tốt hơn các yêu cầu đa dạng của học sinh.
Hạn chế
Độ tin cậy của dữ liệu
Một trong những thách thức lớn nhất trong nghiên cứu game giáo dục là đảm bảo tính chính xác và đáng tin cậy của dữ liệu thu thập Sự xuất hiện của sai sót hoặc nhiễu trong dữ liệu có thể ảnh hưởng tiêu cực đến việc theo dõi và dự đoán hiệu suất học tập Do đó, việc định nghĩa và đo lường hiệu suất học tập là rất quan trọng để nâng cao hiệu quả của các công cụ giáo dục này.
Định nghĩa và đo lường hiệu suất học tập là một thách thức phức tạp, vì mỗi trò chơi giáo dục có các tiêu chí và mục tiêu học tập riêng biệt Điều này tạo ra khó khăn trong việc xác định và đánh giá hiệu suất học tập một cách chính xác và công bằng.
Hướng phát triển
Đề tài có thể được mở rộng áp dụng trong nhiều lĩnh vực giáo dục khác nhau như ngôn ngữ, toán học, khoa học và nghệ thuật Sự đa dạng này không chỉ mang lại nhiều ứng dụng hữu ích mà còn tạo cơ hội phát triển cho các lĩnh vực học tập khác nhau.
Để nâng cao độ chính xác và khả năng dự đoán, việc nghiên cứu và áp dụng các phương pháp học máy tiên tiến như học sâu và học tăng cường là cần thiết nhằm xây dựng những mô hình mạnh mẽ hơn.
Nghiên cứu tương tác xã hội trong game giáo dục là cần thiết để nâng cao tính tương tác và động lực học tập Việc khám phá khả năng tương tác giữa học sinh với nhau, giữa học sinh và giáo viên, cùng với cộng đồng học tập trực tuyến sẽ mang lại những hiểu biết quý giá Đánh giá và phân tích kết quả học tập từ những tương tác này sẽ giúp cải thiện hiệu quả giáo dục trong môi trường game.
Nghiên cứu sẽ đánh giá và phân tích kết quả học tập của học sinh thông qua game giáo dục, nhằm cung cấp thông tin quan trọng và hữu ích để cải thiện quá trình học tập và nâng cao chất lượng giáo dục.
Tài liệu tham khảo
[1] George Seif,A Beginner’s guide to XGBoost, 29/05/2019
[2] Matt Przybyla, 4 Easy Steps for Implementing CatBoost, 20/03/2021
[3] DataTechNotes, LightGBM Classification Example in Python, 23/03/2022
[4] Sruthi E R, Understand Random Forest Algorithms With Examples,
[5] Anshul Saini, Gradient Boosting Algorithm: A Complete Guide for
[6] Piyush Agarwal, Dealing with Groups in Cross-Validation, 28/02/2022
[7] Rohit Kundu, F1 Score in Machine Learning: Intro & Calculation,
[8] Jason Brownlee, A Gentle Introduction to Threshold-Moving for
[9] Jason Brownlee, How to Tune the Number and Size of Decision Trees with
[10] Susan Li, Ad Demand Forecast with Catboost & LightGBM, 31/12/2018
[11] Great Learning Team, What is Machine Learning? Defination, Types,
[12] IBM Team, “What is exploratory data analysis?
[13] IBM Team, What is machine learning?