SỬ DỤNG PHƯƠNG PHÁP GIẢM CHIỀU PCA VÀO BÀI TOÁN DỰ ĐOÁN BỆNH TIỂU ĐƯỜNG, giảm chiều PCA, Học máy nâng cao, học máy, machine learning, ML nâng cao, báo cáo môn học máy, báo cáo công nghệ thông tin. Cái đéo gì mà mô tả phải hơn 200 kí tự?
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN HỌC MÁY NÂNG CAO ĐỀ TÀI: SỬ DỤNG PHƯƠNG PHÁP GIẢM CHIỀU PCA VÀO BÀI TOÁN DỰ ĐOÁN BỆNH TIỂU ĐƯỜNG Sinh viên thực : LÊ QUANG HUY NGUYỄN HOÀNG SƠN ĐỖ TRIỆU BÌNH Giảng viên hướng dẫn : PHẠM ĐỨC HỒNG Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM Lớp : D13CNPM1 Khóa : 2018-2023 Hà Nội, tháng 11 năm 2021 PHIẾU CHẤM ĐIỂM ST T Họ tên sinh viên Nội dung thực Lê Quang Huy 18810310680 Đỗ Triệu Bình 18810310044 Chữ ký Code dự án 18810310040 Nguyễn Hoàng Sơn Điểm Kiểm thử phần mềm làm báo cáo Chuẩn bị liệu, tiền xử lý liệu Phiếu chấm điểm giảng viên Giảng viên chấm điểm Giảng viên chấm 1: Giảng viên chấm 2: Chữ ký Ghi MỤC LỤC LỜI CẢM ƠN Thực tế khơng có thành công mà không gắn liền với học tập thực hành Kèm theo hỗ trợ, giúp đỡ từ giảng viên hướng dẫn tìm tịi, học hỏi thân Trong suốt q trình học tập giảng đường Đại học đến nay, em nhận nhiều quan tâm, giúp đỡ thầy cơ, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi đến thầy cô Khoa Công Nghệ Thông Tin - trường Đại Học Điện Lực truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, kỳ này, em tiếp cận với mơn học hữu ích sinh viên ngành Cơng Nghệ Thơng Tin Đó môn: “Học máy nâng cao” Chúng em xin chân thành cảm ơn thầy Phạm Đức Hồng tận tâm hướng dẫn chúng em qua buổi học lớp buổi nói chuyện, thảo luận mơn học Trong thời gian học tập thực hành hướng dẫn thầy, em thu nhiều kiến thức bổ ích, mà cịn truyền say mê thích thú mơn “Học máy nâng cao” Nếu khơng có lời hướng dẫn, dạy bảo thầy chúng em nghĩ báo cáo khó hồn thành Mặc dù cố gắng hoàn thiện báo cáo với tất nỗ lực Tuy nhiên, thời gian có hạn mà lại bước vào thực tế, vốn kiến thức hạn chế, nhiều bỡ ngỡ, nên báo cáo dự án “Sử dụng phương pháp giảm chiều PCA vào toán dự đốn bệnh tiểu đường” chắn khơng thể tránh khỏi thiếu sót Chúng em mong nhận quan tâm, thơng cảm đóng góp quý báu thầy cô bạn để báo cáo hoàn thiện Chúng em xin trân trọng cảm ơn quý thầy cô giáo! LỜI MỞ ĐẦU Phân tích liệu cơng việc thân quen với sống thường ngày Rất nhiều công ty đến trường học sử dụng để phân tích xác báo cáo, số liệu dơn vị Những liệu mang thông tin nhiều ngành nghề nhiều kiểu liệu khác nhau, đặc biệt lĩnh vực y tế Trong thời gian gần đây, Việt Nam đại hóa hệ thống thơng tin y tế, vậy, vấn đề đặt phải có phương pháp tổ chức sở liệu tốt với kỹ thuật tìm kiếm, tra cứu thơng tin hiệu quả, có độ xác cao hiệu tốt Hiện nay, công nghệ sử dụng rộng rãi phạm vi rộng khắp toàn giới ích lợi mang lại khơng nhỏ Bản báo cáo chúng em xin trình bày đề tài: “Sử dụng phương pháp giảm chiều PCA vào toán dự đoán bệnh tiểu đường” CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY 1.1 Tổng quan Học máy (Machine Learning) ngành khoa học nghiên cứu thuật tốn cho phép máy tính học khái niệm (concept) Có phương pháp học máy - Phương pháp quy nạp: Máy học / phân biệt khái niệm dựa liệu thu thập trước Phương pháp cho phép tận dụng nguồn liệu nhiều sẵn có - Phương pháp suy diễn: Máy học / phân biệt khái niệm dựa vào luật Phương pháp cho phép tận dụng kiến thức chuyên ngành để hỗ trợ máy tính Hiện nay, thuật toán học máy dựa phương pháp Các ngành khoa học liên quan: - Lý thuyết thống kê: kết xác suất thống kê tiền đề cho nhiều phương pháp học máy Đặc biệt, lý thuyết thống kê cho phép ước lượng sai số phương pháp học máy - Các phương pháp tính: thuật tốn học máy thường sử dụng tính tốn số thực / số ngun liệu lớn Trong , tốn như: tối ưu có / khơng ràng buộc, giải phương trình tuyến tính vv sử dụng phổ biến - Khoa học máy tinh: sở đánh giá thuật toán, đồng thời đánh giá thời gian chạy, nhớ thuật toán học máy 1.2 Các thuật toán học máy 1.2.1 Phân loại dựa phương thức học Theo phương thức học, thuật toán Machine Learning thường chia làm nhóm: Supervised learning, Unsupervised learning, Semi-supervised learning Reinforcement learning Có số cách phân nhóm khơng có Semi-supervised learning Reinforcement learning - Supervised Learning (Học có giám sát): Supervied Learning thuật toán dự đoán đầu (outcome) liệu (new input) dựa cặp (input, outcome) biết từ trước Cặp liệu gọi (data, label), tức (dữ liệu, nhãn) Supervised learning nhóm phổ biến thuật tốn Machine Learning Thuật toán chia làm loại: Classification(Phân loại) Regression(Hồi quy) - Unsupervised Learning (Học không giám sát): Được chia làm loại: Clustering(Phân nhóm) Association - Semi-Supervised Learning (Học bán giám sát): Các tốn có lượng lớn liệu XX phần chúng gán nhãn gọi Semi-Supervised Learning Những tốn thuộc nhóm nằm hai nhóm nêu bên - Reinforcement Learning (Học củng cố): Reinforcement Learning toán giúp cho hệ thống tự động xác định hành vi dựa hoàn cảnh để đạt lợi ích cao (maximizing the performance) Hiện tại, Reinforcement learning chủ yếu áp dụng vào Lý Thuyết Trò Chơi (Game Theory), thuật toán cần xác định nước để đạt điểm số cao 1.2.2 Phân nhóm dựa chức - Thuật tốn Regression: o Linear Regression o Logistic Regression o Stepwise Regression - Thuật toán Classification - - - - - - - o Linear Classifier o SVM(Support Vector Machine) o Kernel SVM o SRC (Sparse Representation-based classification) Thuật toán dựa Instance o K-láng giềng gần nhất(KNN) o Learning Vector Quantization(LVQ) Thuật toán Regularization o Ridge Regression o Least Absolute Shrinkage and Selection Operator (LASSO) o Least-Angle Regression (LARS) Thuật toán Bayesian o Naive Bayes o Gaussian Naive Bayes Thuật toán Clustering o K-mean o K-median o Exceptation Maximization (EM) Thuật toán mạng nơ ron o Perceptron o Softmax Regression o Multi-Layer Regression o Back-Propagation Thuật toán Dimensionality Reduction o Principal Component Analysis (PCA) o Linear Discriminant Analysis (LDA) Thuật toán Ensemble o Boosting o AdaBoost o Random Forest 1.3 Các ứng dụng học máy Ứng dụng: Học máy có ứng dụng rộng khắp ngành khoa học / sản xuất, đặc biệt ngành cần phân tích khối lượng liệu khổng lồ Một số ứng dụng thường thấy • Xử lý ngơn ngữ tự nhiên (Natural Language Processing): xử lý văn bản, giao tiếp người – máy… • Nhận dạng (Pattern Recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy (Computer Vision)… • Tìm kiếm (Search Engine) • Chẩn đốn y tế: phân tích ảnh X - quang , hệ chun gia chẩn đốn tự động • Tin sinh học phân loại chuỗi gene, trình hình thành gene / protein • Vật lý: phân tích ảnh thiên văn , tác động hạt… • Phát gian lận tài (financial fraud): gian lận thẻ tỉn dụng • Phân tích thị trường chứng khốn (stock market analysis) • Chơi trò chơi: tự động chơi cờ , hành động nhân ảo… • Rơbốt: tổng hợp nhiều ngành khoa học, học máy tạo nên hệ thần kinh / não người máy 1.4 Một số toán ứng dụng học máy - Phân lớp(classification): toán phân lớp liệu dự đoán đầu từ danh sách khả Một số toán phân lớp tiêu biểu: ảnh chụp hình động vật phân vào lớp sau [cá heo, mèo, chuột, gà], thư gửi vào hịm thư bạn [thư spam, thư spam]… - Các thuật toán học tiêu biểu: Naive Bayes, k nearest neighbor, logistic regression, decision tree, support vector machine, neural network - Hồi quy(regression): đầu số thực Một số toán hồi quy tiêu biểu là: dự đoán thu nhập cá nhân, dự đoán giá nhà đất, dự đoán sản lượng nơng nghiệp, - Các thuật tốn học tiêu biểu: linear regression, decision tree regression, generalized linear model… - Phân cụm(clustering): tốn gom nhóm đối tượng tương tự cấu trúc (theo ngữ cảnh) Bài tốn có nhiều ứng dụng khác như: phân đoạn hình ảnh, gom nhóm đối tượng tương tự nhau… - Các thuật toán học tiêu biểu: k-mean, k-medium, DBSCAN, Fuzzy C-Mean, Expectation–maximization algorithm… - Giảm chiều liệu (dimensionality reduction): đối mặt với tốn cụ thể ngồi thực tế, có khả số lượng chiều lớn (như toán ảnh cần ảnh width:1000, height:1000 có 1000000 chiều liệu), điều gây nhiều trở ngại tốc độ tính tốn khả dự đốn mơ hình - Các thuật tốn học tiêu biểu: principal component analysis, factor analysis, rough set theory 10 CHƯƠNG 2: TỔNG QUAN VỀ PCA, SVM VÀ KNN 2.1 Tổng quan PCA Trong thời đại liệu bùng nổ ngày nay, liệu ta thu thập lớn Trong thực tế, vector đặc trưng (feature vectors) có số chiều lớn, tới vài nghìn Đồng thời, lượng điểm liệu lớn Điều gây khó khăn cho việc lưu trữ tính tốn Vì vậy, bước quan trọng nhiều toán học máy ta phải giảm chiều liệu (dimentionality reduction) Giảm chiều liệu phương pháp sử dụng để giảm vấn đề khớp (overfitting), có hai hướng hướng lựa chọn đặc trưng (feature selection) hướng trích xuất đặc trưng (feature extraction) Hơm ta tìm hiểu thuật tốn theo hướng trích xuất đặc trưng Principal Component Analysis (PCA) 2.1.1 Giới thiệu PCA thuật toán tìm khơng gian (với số chiều nhỏ không gian cũ), trục tọa độ không gian xây dựng cho trục, độ biến thiên liệu lớn Hình 2.1 Ví dụ minh họa PCA 11 PCA về kỹ thuật giảm kích thước đơn giản, biến đổi cột liệu thành tập đặc trưng Nó thực điều cách tìm tập hợp hướng (như trục X Y) giải thích biến đổi tối đa liệu, tức hướng ta tìm maximum variance Tại lại maximum variance? Như ta thấy, variance thể độ phân tán liệu, variance lớn độ phân tán lớn ngược lại Mà thuật tốn muốn lấy tối đa thơng tin, nên lấy theo hướng variance lớn, liệu có độ biến thiên cao, mang lại nhiều thông tin Trục tọa độ hệ thống gọi Principal Components (PCs) Các phép chiếu liệu gốc trục tọa độ (PC) đóng vai trò liệu chuyển đổi Nhưng lại tính tốn PCs? Vì thơng tin chứa cột liệu tỉ lệ thuận với lượng phương sai Tương tự, PCs có lượng phương sai lớn mang lại nhiều thông tin từ ta chọn PCs chứa nhiều thơng tin 2.1.2 Các bước thuật tốn PCA Chuẩn hóa liệu Tìm ma trận hiệp phương sai(covariance matrix) Tìm trị riêng ( ) vector riêng ( ) ma trận này, xếp theo giảm dần trị riêng Các vector Chọn độc lập tuyến tính, trục không gian vector riêng (PCs) ứng với trị riêng lớn để xây dựng ma trận Xây dựng ma trận chiếu (projection matrix) 12 Chiếu liệu ban đầu chuẩn hóa thông qua ma trận chiếu để tạo thành không gian đặc trưng K chiều Dữ liệu tọa độ điểm liệu không gian Hình 2.2 Trình tự thuật tốn PCA 2.1.3 Ưu nhược điểm PCA Ưu điểm: - Loại bỏ đặc trưng tương quan Cải thiện hiệu suất thuật toán Giảm khớp liệu(overfitting) Cải thiện trực quan hóa liệu Nhược điểm: 13 - Các biến độc lập trở nên khó hiểu hơn(các đặc trưng không dễ đọc dễ hiểu đặc trưng ban đầu) - Chuẩn hóa liệu trước sử dụng PCA - Mất thơng tin 2.2 Thuật tốn SVM 2.2.1 Giới thiệu SVM(Support Vector Machine) thuật toán giám sát, sử dụng cho việc phân loại đệ quy Tuy nhiên sử dụng chủ yếu cho việc phân loại Trong thuật toán này, vẽ đồi thị liệu điểm n chiều ( n số lượng tính bạn có) với giá trị tính phần liên kết Sau thực tìm "đường bay" (hyper-plane) phân chia lớp Hyper-plane hiểu đơn giản đường thẳng phân chia lớp thành hai phần riêng biệt Support Vectors hiểu cách đơn giản đối tượng đồ thị tọa độ quan sát, Support Vector Machine biên giới để chia hai lớp tốt 2.2.2 Phương thức làm việc SVM • Kernel 14 Q trình xây dựng siêu phẳng phân cách SVM thực qua phép biển đổi đại số Với kernel dạng tuyến tính (linear kernel) cơng thức dùng để dự đốn điểm liệu là: thực tích vơ hướng đầu vào (x) với support vector (xi) sau: f(x) = B(0) + sum(ai (x, xi)) Các hệ số B0 (cho đầu vào) phải ước tính từ liệu học Với kernel dạng đa thức (polynomial kernel) viết dạng: K(x, xi) = + sum(x, xi) ^ d Còn với kernel dạng lũy thừa (exponential kernel) có dạng: K(x, xi) = exp(-gamma * sum((x - xi2)) Kernel dạng đa thức dạng lũy thừa tính tốn đường phân cách chiều không gian cao gọi kernel trick • Regularization Tham số Regularization ( nhắc đến thư viên sklearn tham số C) điều chỉnh việc có nên bỏ qua điểm liệu bất thường q trình tối ưu mơ hình SVM Nếu tham số có giá trị lớn, q trình tối ưu chọn siêu phẳng cho siêu phẳng phân cách tất điểm liệu cách tốt nhất, từ khoảng cách siêu phẳng tới điểm liệu lớp có giá trị nhỏ (small-margin) Ngược lại, tham số có giá trị nhỏ, siêu phẳng xây dựng cho khoảng cách với điểm liệu lớp có giá trị lớn (largemargin), kể siêu phẳng phân loại sai nhiều điểm liệu Dưới ví dụ trường hợp chọn tham số C: Tham số C có giá trị nhỏ 15 Tham số C có giá trị lớn • Gamma Tham số gamma xác định việc sử dụng điểm liệu cho việc xây dựng siêu phẳng phân cách Với giá trị gamma nhỏ, điểm liệu nằm xa đường phân cách sử dụng việc tính tốn đường phân cách Ngược lại, với giá trị gamma lớn, điểm nằm gần đường phân cách sử dụng để tính tốn 16 • Margin Margin SVM khoảng cách siêu phẳng phân cách với điểm liệu gần Khoảng cách điểm liệu gần lớp lớn mơ hình phân loại xác Các ví dụ margin: SVM có margin tốt : khoảng cách lớn cân siêu phẳng điểm liệu lớp 17 SVM có margin tồi: khoảng cách không cân & nghiêng hẳn phía 2.3 Thuật tốn KNN 2.3.1 Giới thiệu KNN (K-Nearest Neighbors) thuật tốn học có giám sát đơn giản sử dụng nhiều khai phá liệu học máy Ý tưởng thuật tốn khơng học điều từ tập liệu học (nên KNN xếp vào loại lazy learning), tính tốn thực cần dự đốn nhãn liệu Lớp (nhãn) đối tượng liệu dự đốn từ lớp (nhãn) k hàng xóm gần 18 2.3.2 Phương thức làm việc KNN Ta có D tập điểm liệu gắn nhãn A liệu chưa phân loại Đo khoảng cách (Euclidian, Manhattan, Minkowski, Minkowski Trọng số) từ liệu A đến tất liệu khác phân loại D Chọn K (K tham số mà bạn định nghĩa) khoảng cách nhỏ Kiểm tra danh sách lớp có khoảng cách ngắn đếm số lượng lớp xuất Lấy lớp (lớp xuất nhiều lần nhất) Lớp liệu lớp nhận bước Ưu điểm: - Thuật toán đơn giản, dễ dàng triển khai - Độ phức tạp tính tốn nhỏ - Xử lý tốt với tập liệu nhiễu Nhược điểm: - Với K nhỏ dễ gặp nhiễu dẫn tới kết đưa khơng xác - Cần nhiều thời gian để thực phải tính tốn khoảng cách với tất đối tượng tập liệu - Cần chuyển đổi kiểu liệu thành yếu tố định tính 19 CHƯƠNG 3: ỨNG DỤNG THUẬT TỐN VÀO BÀI TỐN 3.1 Mơ tả tốn Hiện nay, bệnh viện đại hóa hệ thống thơng tin mình, với việc cho mắt đường dây nóng, bệnh nhân truy cập để tự kiểm tra sức khỏe Tuy nhiên, việc trực đường dây người đảm nhiệm Để giảm bớt gánh nặng nhân sự, bệnh viện bắt đầu áp dụng trí tuệ nhân tạo vào việc chẩn đoán bệnh nhanh, tiết kiệm thời gian cho bệnh nhân giảm chi phí lao động Chính vậy, nhóm chúng em xây dựng mơ hình máy học, giúp dự đốn bệnh tiểu đường 3.2 Dữ liệu thực nghiệm Dữ liệu thực nghiệm Diabetes Dataset, Bộ liệu có nguồn gốc từ Viện Tiểu đường Tiêu hóa Bệnh thận Quốc gia Hoa Kỳ Mục tiêu dự đoán dựa phép đo chẩn đốn liệu bệnh nhân có mắc bệnh tiểu đường hay khơng Bộ liệu tải trang https://www.kaggle.com/mathchi/diabetesdata-set Thống kê liệu thực nghiệm: Tổng số trường liệu Dương tính với bệnh tiểu đường(1) Âm tính với bệnh tiểu đường(0) Số lớp tập liệu thực nghiệm Tiền xử lý liệu: 768 268 500 Dữ liệu hoàn tồn thuộc kiểu số, nhiên lại có thuộc tính số thực thuộc tính số nguyên Để áp dụng thuật tốn học máy, cần chuẩn hóa liệu StandarScaler Tuy nhiên, liệu có giá trị Những giá trị báo hiệu liệu bị trống Vì trước áp dụng StandarScaler cần điền giá trị giá trị trung bình thuộc tính 3.3 Mơi trường thực nghiệm Sử dụng tảng Colab Google https://colab.research.google.com/ 20 Sử dụng ngơn ngữ lập trình Python 3.4 Kết thực nghiệm Sử dụng phương pháp học máy SVM KNN, trường hợp có khơng sử dụng phương pháp giảm chiều liệu PCA Dữ liệu chia thành 80% huấn luyện 20% test Sử dụng độ đo Percision, Recall F1-Score Độ đo Percision: TP/(TP+FP) Độ đo Recall: TP/(TP+FN) Độ đo F1-Score: 2/([1/Percision]+[1/Recall]) Bảng đánh giá kết phương pháp Phương pháp Percision Recall F1-Score 0.8842 0.8038 SVM không 0.7368 PCA 0.7250 0.4915 0.5859 0.6975 0.8737 0.7757 SVM có PCA 0.6571 0.3898 0.4894 0.8737 0.7793 KNN không 0.7034 PCA 0.6667 0.4068 0.5053 0.7030 0.7474 0.7245 KNN có PCA 0.5472 0.4915 0.5179 3.5 Đánh giá kết thực nghiệm Như ta thấy bảng trên, việc sử dụng PCA vào tập dự liệu Nhãn 1 1 có thuộc tính(8 thuộc tính tập liệu tiểu đường) thuộc tính liên quan nhiều đến kết đầu ra, phương pháp PCA tỏ thiếu xác áp dụng vào thuật toán học máy Việc sử dụng PCA tập liệu nhìn chung cho kết thiếu xác so với việc không sử dụng PCA Ta thấy thuật toán học máy cho kết xác dựa điểm F1-Score, nhận thấy sử dụng SVM cho kết xác so với việc sử dụng KNN 21 KẾT LUẬN Như vậy, nhóm chúng em thành cơng việc chứng minh phương pháp giảm chiều PCA không tốt tập liệu có q thuộc tính, thuộc tính ảnh hưởng nhiều tới kết đầu Việc làm giảm số thuộc tính trường hợp thực khơng ổn Vì không nên sử dụng PCA trường hợp Qua việc thực nghiên cứu đề tài “Sử dụng phương pháp giảm chiều PCA vào toán dự đốn bệnh tiểu đường”, nhóm chúng em biết thêm nhiều kiến thức thuật toán bước đầu nắm bắt ứng dụng môn học Học máy nâng cao Bên cạnh đó, việc làm nghiên cứu giúp chúng em đoàn kết hơn, rèn luyện cho chúng em kỹ làm việc nhóm Trong q trình thực đề tài có nhiều ý tưởng hay độc đáo Nhưng kiến thức chúng em cịn hạn hẹp thời gian khơng cho phép nên chúng em chưa thể thực ý tưởng Tuy nhiên chúng em cố gắng để xây dựng chương trình hồn chỉnh đẹp để đưa tới Thầy/Cơ Trong q trình xây dựng chương trình nhóm chúng em khó tránh khỏi sai xót cịn tồn Vì chúng em mong nhận lời góp ý chỉnh sửa từ Thầy/Cơ để hồn thành chương trình cách hồn chỉnh Chúng em lần xin cảm ơn thầy giáo Phạm Đức Hồng tận tình giảng dạy hướng dẫn chúng em làm sản phẩm kết thúc học phần môn học Học máy nâng cao, thầy giúp đỡ chúng em trình nghiên cứu đề tài chia sẻ tài liệu hay kỹ lập trình cần thiết 22 DANH MỤC TÀI LIỆU THAM KHẢO [1] Slide giảng dạy thầy Phạm Đức Hồng [2] Vũ Hữu Tiệp; Machine Learning bản; Last update: March8, 2018 [3] Nguyễn Thanh Tuấn; Deep Learning bản; Last update: October 2019 [4] https://machinelearningcoban.com/2017/06/15/pca/ 23 ... QUAN VỀ HỌC MÁY 1.1 Tổng quan Học máy (Machine Learning) ngành khoa học nghiên cứu thuật toán cho phép máy tính học khái niệm (concept) Có phương pháp học máy - Phương pháp quy nạp: Máy học / phân... - Khoa học máy tinh: sở đánh giá thuật toán, đồng thời đánh giá thời gian chạy, nhớ thuật toán học máy 1.2 Các thuật toán học máy 1.2.1 Phân loại dựa phương thức học Theo phương thức học, thuật... Tin Đó mơn: ? ?Học máy nâng cao? ?? Chúng em xin chân thành cảm ơn thầy Phạm Đức Hồng tận tâm hướng dẫn chúng em qua buổi học lớp buổi nói chuyện, thảo luận mơn học Trong thời gian học tập thực hành