Bài giảng Máy học nâng cao - Chương 1: Giới thiệu - Trịnh Tấn Đạt

Hình thức đánh giá  Chuyên cần: 10%  Điểm bài tập: 30 %  Đánh giá cuối kỳ: Đồ án môn học 60% ❖ Yêu cầu đồ án: tìm hiểu bài toán và ứng dụng liên quan đến máy học  Đọc các papers, các công trình nghiên cứu đã được công bố.  Lý thuyết: đọc hiểu, và viết báo cáo.  Cài đặt: code, data thực nghiệm, kết quả và đánh giá.  Trình bày (powerpoint): ❑ Sơ lược ý chính lý thuyết ❑ Ý tưởng giải quyết(thuật toán, thuật giải) bài toán ❑ Kết quả ❑ Đánh giá kết quả: ưu – nhược điểm (lý do) ❑ Đề xuất ý tưởng cải tiến (nếu có – điểm cộng thêm)

pdf41 trang | Chia sẻ: thanhle95 | Lượt xem: 746 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Máy học nâng cao - Chương 1: Giới thiệu - Trịnh Tấn Đạt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trịnh Tấn Đạt Khoa CNTT – Đại Học Sài Gòn Email: trinhtandat@sgu.edu.vn Website: https://sites.google.com/site/ttdat88/ 1 Nội dung  Giới thiệu môn học  Các nội dung  Tài liệu tham khảo  Hình thức đánh giá  Danh sách các đề tài  Các vấn đề trong máy học  Trao đổi và thảo luận 2 Giới Thiệu Môn Học  Máy học nâng cao (Advanced Machine Learning)  3 tín chỉ  Môn bắt buộc  Mục tiêu:  Nâng cao kiến thức về máy học, cách thức hoạt động và khả năng ứng dụng của các thuật toán.  Cung cấp nền tảng tốt về suy luận thống kê và cấu trúc toán học cần thiết để phục vụ cho công việc nghiên cứu khoa học.  Kỹ năng thực hành, thiết kế thí nghiệm sử dụng ngôn ngữ Python. 3 Các Nội Dung  Giới thiệu Machine Learning và các vấn đề liên quan  Machine Learning với Python.  Linear Regression/ Logistic Regression  Naïve Bayes Classifier  Neural Network  Giới thiêu về Deep Learning  Clustering  Giảm số chiều và lựa chọn đặc trưng  Support vector machine (SVM)  Decision Tree  Ensemble Model 4 Tài liệu tham khảo  Slide giảng viên cung cấp  Tom Mitchell, Marchine Learning, McGraw Hill, Second Edition.  C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.  Sebastian Raschka, Python Machine Learning, Packt Publishing Ltd., 2015  Các nguồn khác trên internet  Google  Kaggle  5 Hình thức đánh giá  Chuyên cần: 10%  Điểm bài tập: 30 %  Đánh giá cuối kỳ: Đồ án môn học 60% ❖ Yêu cầu đồ án: tìm hiểu bài toán và ứng dụng liên quan đến máy học  Đọc các papers, các công trình nghiên cứu đã được công bố.  Lý thuyết: đọc hiểu, và viết báo cáo.  Cài đặt: code, data thực nghiệm, kết quả và đánh giá.  Trình bày (powerpoint): ❑ Sơ lược ý chính lý thuyết ❑ Ý tưởng giải quyết(thuật toán, thuật giải) bài toán ❑ Kết quả ❑ Đánh giá kết quả: ưu – nhược điểm (lý do) ❑ Đề xuất ý tưởng cải tiến (nếu có – điểm cộng thêm) 6 Danh sách đề tài tham khảo  Học viên có thề tự đề xuất bài toán cần giải quyết sau đó thảo luận với giảng viên để thống nhất. ❖ Danh sách đề tài (sẽ được update thêm) o Probabilistic Graphical Models: Bayesian Networks và ứng dụng o Gradient boosting, Xgboost và ứng dụng o Object detection: R-CNN, Fast R-CNN, Faster-RCNN và ứng dụng o Object detection: YOLO, Single Shot Detection và ứng dụng o Image Recognition using Deep Learning (VGG, InceptionNet, ResNet, DenseNet, ) o Face Recognition using Deep Learning (FaceNet, VGGface, ) o Speech/Speaker Recognition using Deep Learning o Audio Event Recognition using Deep Learning o LSTM và ứng dụng o Image Segmentation using Deep Learning (U-net, Mask-RCNN,) o Text Detector using Deep Learning (Connectionist Text Proposal Network, EAST, ) o OCR using Deep Learning o Generative Adversarial Network (GAN) và ứng dụng o 7 Các Vấn Đề Trong Máy Học ❖ Máy học là gì?  From wikipedia - Máy học là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể  Tom Mitchell, giáo sư nổi tiếng của Đại học Carnegie Mellon University - CMU định nghĩa cụ thể và chuẩn mực hơn như sau: "" (máy đã học) Một chương trình máy tính (CT) được xem là học cách thực thi một lớp nhiệm vụ (NV) thông qua trải nghiệm (KN), đối với thang đo năng lực (NL) nếu như dùng NL ta đo thấy năng lực thực thi của chương trình có tiến bộ sau khi trải qua KN. 8 Các Vấn Đề Trong Máy Học  Các ứng dụng : Object Detection 9 Các Vấn Đề Trong Máy Học  Các ứng dụng: Biometric recognition – face, fingerprint, iris, gait, 10 Các Vấn Đề Trong Máy Học  Các ứng dụng: Text detector and OCR 11 Các Vấn Đề Trong Máy Học  Các ứng dụng: Medical Image 12 Các Vấn Đề Trong Máy Học  Các ứng dụng: Speech Recognition 13 Các Vấn Đề Trong Máy Học  Các ứng dụng : Recommender system 14 Các Vấn Đề Trong Máy Học  Các ứng dụng : Sentiment Analysis 15 Các Vấn Đề Trong Máy Học  Các ứng dụng : Credit scoring 16 Các Vấn Đề Trong Máy Học ❖ Tại sao cần máy học ?  Một vài lý do có thể cần tới máy học để giải quyết:  hard to code up a solution by hand (e.g. vision, speech)  system needs to adapt to a changing environment (e.g. spam detection)  want the system to perform better than the human programmers  privacy/fairness (e.g. ranking search results) 17 Các Vấn Đề Trong Máy Học  Processing: - Input - Model - Output 18 Các Vấn Đề Trong Máy Học  Phân loại các thuật toán: (phương pháp học)  Supervised learning (học có giám sát) : regression, classification, recognition  Unsupervised learning (học không giám sát): clustering, dimensional reduction, association  Semi-supervised learning (học bán giám sát): Self-training và Co-training  Reinforcement Learning (học Củng Cố): AlphaGo, OpenAI+Dota2 19 Các Vấn Đề Trong Máy Học  Phân loại các thuật toán: (chức năng)  Regression Algorithms  Classification Algorithms  Bayesian Algorithms  Clustering Algorithms  Artificial Neural Network Algorithms  Dimensionality Reduction Algorithms  Ensemble Algorithms 20 Các vấn đề trong Supervised Learning  Regression vs. Classification  Regression: biến đầu ra là định lượng (liên tục/dạng số/có thứ tự)  Classification: biến đầu ra dạng định tính (kiểu rời rạc/thứ bậc/định danh) (categorical) 21 Các vấn đề trong Supervised Learning  Prediction vs. Inference  Prediction (dự đoán): Dự đoán biến output với tập dữ liệu input cho trước, sử dụng một hàm ước lượng thống kê.  Inference (suy diễn): Tìm hiểu mối quan hệ giữa output với các biến input 22 Các vấn đề trong Supervised Learning  Recognition: Verification vs. Identification 23 Các vấn đề trong Supervised Learning  Recognition: Closed set vs. Open set 24 Các Vấn Đề Trong Unsupervised Learning ❖ Phân cụm (clustering) & Giảm chiều (dimensional reduction)  Clustering  Chia dữ liệu thành các tập con mà chúng có các đặc tính chung  Dimensional Reduction:  Tạo ra các biến mới từ các biến đầu vào ban đầu sao cho bảo toàn được các thông tin quan trọng 25 Các Vấn Đề Trong Máy Học ❑ Dataset  Tập học (Training set): được dùng xây dựng model  Tập tối ưu (kiểm chứng) (Validation set): dùng để ước lượng lỗi nhằm chọn tham số và model tối ưu trong lúc huấn luyện  Tập thử nghiệm (Test set): dùng để đánh giá hiệu năng của mô hình đã được huấn luyện. Dữ liệu chưa biết (unseen) không được dùng trong quá trình huấn luyện 26 Các Vấn Đề Trong Máy Học ❖ Giải thuật học máy (Learning algorithm)  Những giải thuật học máy nào có thể học (xấp xỉ) một hàm mục tiêu cần học?  Với những điều kiện nào, một giải thuật học máy đã chọn sẽ hội tụ (tiệm cận) hàm mục tiêu cần học?  Đối với một lĩnh vực bài toán cụ thể, giải thuật học máy nào thực hiện tốt nhất? 27 Các Vấn Đề Trong Máy Học ❖ Training data  Bao nhiêu mẫu dùng để huấn luyện là đủ?  Kích thước, độ biến động của tập huấn luyện ảnh hưởng thế nào đối với độ chính xác của hàm mục tiêu học được?  Các mẫu lỗi (noise, outlier) và/hoặc các mẫu thiếu giá trị thuộc tính (missing- value) ảnh hưởng thế nào đối với độ chính xác? 28 Các Vấn Đề Trong Máy Học ❖ Quá trình học (Learning process)  Chiến lược tối ưu được lựa chọn?  Các tham số được lựa chọn có ảnh hưởng đến quá trình học?  Học bao lâu thì có thể dừng quá trình học? 29 Các Vấn Đề Trong Máy Học ❖ Khả năng/giới hạn học (Learning capability)  Hàm mục tiêu nào mà hệ thống cần học? Biểu diễn hàm mục tiêu: Khả năng biểu diễn (vd: hàm tuyến tính / hàm phi tuyến) vs. Độ phưc tạp của giải thuật và quá trình học  Khả năng khái quát hóa (generalize) của hệ thống từ các mẫu học? Để tránh vấn đề “over-fitting” (đạt độ chính xác cao trên tập huấn luyện, nhưng đạt độ chính xác thấp trên tập thử nghiệm)  Khả năng hệ thống tự động thay đổi (thích nghi) biểu diễn (cấu trúc) bên trong của nó? 30 Các Vấn Đề Trong Máy Học ❖ Vấn đề Over-fitting và Under-fitting ❑ Over-fitting là hiện tượng mô hình hoạt động tốt trên tập huấn luyện (cả dữ liệu nhiễu, hoặc dữ liệu bất thường trong tập huấn luyện đều được chọn và học để đưa ra quy luật mô hình) nhưng đạt kết quả kém trên tập test. ▪ Thường xảy ra trong các mô hình phi tham số hoặc phi tuyến, những mô hình có sự linh hoạt cao trong xây dựng hàm mục tiêu ▪ Ví dụ, bài toán cây quyết định là một thuật toán học máy phi tham số. Đây là thuật toán thường xảy ra hiện tượng Overfitting. Ta có thể tránh hiện tượng này bằng phương pháp cắt tỉa cây (pruning).  Vấn đề over-fitting thường do các nguyên nhân:  Lỗi (nhiễu) trong tập huấn luyện (do quá trình thu thập/xây dựng tập dữ liệu)  Số lượng các mẫu học quá nhỏ, không đại diện cho toàn bộ tập (phân bố) của các ví dụ của bài toán học 31 Các Vấn Đề Trong Máy Học ❖ Vấn đề Over-fitting và Under-fitting ❑ Under-fitting là hiện tượng mô hình không đạt được độ chính xác cao trên tập huấn luyện và cũng như tổng quát trên cả tập dữ liệu. Có thể hiểu là mô hình không học được gì cả ▪ Hiện tượng Underfitting thường ít xảy ra trong bài toán hơn. Khi Underfitting xảy ra, ta có thể khắc phục bằng cách thay đổi thuật toán hoặc là bổ sung thêm dữ liệu đầu vào. 32 Các Vấn Đề Trong Máy Học ❖ Chuẩn bị dữ liệu  Tiền xử lý dữ liệu (data preprocessing) để chuẩn hóa dữ liệu trước khi áp dụng vào giải thuật học máy – Lấy mẫu: chọn tập con các quan sát/mẫu – Trích chọn thuộc tính: Chọn các biến đầu vào – Chuẩn hóa dữ liệu (Normalization) (standardization, scaling, binarization) – Xử lý dữ liệu thiếu và phần tử ngoại lai (missing data and outliers)  Ngoài ra, còn phụ thuộc vào giải thuật học máy – Decision Tree, Xgboost có thể xử lý dữ liệu thiếu/phần tử ngoại lai – PCA, SVM, Neural Nets yêu cầu dữ liệu đã được chuẩn hóa 33 Các Vấn Đề Trong Máy Học  Các software frameworks và các nguồn tham khảo:  Python: numpy, scikit-learn  Tìm source code tham khảo: github,  Các thư viện cho deep learning 34 Các Vấn Đề Trong Máy Học: Math Essentials  Machine learning is part of both statistics and computer science  Probability  Statistical inference  Linear Algebra  Hugely useful for compact representation of linear transformations on data transformations on data.  Dimensionality reduction techniques  Optimization theory  Gradient descent  Maximum likelihood 35 Why worry about the math?  There are lots of easy-to-use machine learning packages out there. (i.e. module scikit-learn).  Understand the inner workings of the individual algorithms. class sklearn.svm.LinearSVC(penalty=’l2’, loss=’squared_hinge’, dual=True, tol=0.0001, C=1.0, multi_class=’ovr’, fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None, max_iter=1000) 36 Why worry about the math? These intuitions will allow you to:  Choose the right algorithm(s) for the problem  Make good choices on parameter settings  Recognize over- or underfitting  Troubleshoot poor / ambiguous results  37 Probability  Random variables  Conditional probability  Expectation, Variance, Covariance  Bayes’ rule  38 Linear Algebra  Operations on or between vectors and matrices  Linear dependence and independence  Solution of linear systems of equations  Eigenvalue , eigenvector, SVD (singular value decomposition)  Dimensionality reduction 39 Optimization Theory  Lagrange multiplier  Gradient descent  Maximum likelihood  Most of the machine learning problems are, in the end, optimization problems 40 Optimization Theory 41
Tài liệu liên quan