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)
41 trang |
Chia sẻ: thanhle95 | Lượt xem: 732 | Lượt tải: 1
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