4. GIỚI THIỆU
BẢNTHÂNSƠ LƯỢC
• Thái Quang Tiến
• ĐH Bách Khoa Đà Nẵng, CNTT, Khóa 2015
SỞ THÍCH
• Game, nghe nhạc, tìm & thử cái mới
LĨNH VỰC
QUAN TÂM
• Low-level programming, HCI và một số lĩnh vực khác
thuộc khoa học máy tính
• NNLT thường dùng: C/C++, Java, Assembly,…
6. BÀI TOÁN
NHẬN BIẾT GIAO DỊCH LỪA ĐẢO
SỬ DỤNG HỌC MÁY
(CREDIT CARD FRAUD DETECTION USING
MACHINE LEARNING)
?
7. NỘIDUNG
NỘI DUNG:
Cho bộ dữ liệu gồm các giao dịch
thẻ tín dụng, mỗi giao dịch được
mô tả bởi 30 đặc trưng và được
gán nhãn 0-1 tương ứng với giao
dịch hợp pháp/không hợp pháp.
Yêu cầu viết chương trình bằng
Python sử dụng Machine Learning
để nhận biết một giao dịch có phải
là lừa đảo hay không?
8. PHƯƠNGPHÁP
TIẾPCẬN
PHƯƠNG PHÁP TIẾP CẬN:
•Phân tích dữ liệu
•Lập ra model sơ khai, thử nghiệm
•Đánh giá và cải tiến/thay đổi model
•Thay đổi cách tiếp cận (Supervised
Learning => Unsupervised Learning) và
thực hiện như trên
9. PHƯƠNGPHÁP
ĐÁNHGIÁ
&
NỀNTẢNGLẬPTRÌNH
PHƯƠNG PHÁP ĐÁNH GIÁ:
•Thông số đánh giá chính: AUPRC, Recall
•Thông số tham khảo: AUROC, Fbeta
score, Precision, Accuracy
NỀN TẢNG LẬP TRÌNH:
•Trang luyện tập phân tích dữ liệu Kaggle
•Jupyter notebook
•Python
•Sklearn, matplot, seaborn
10.
11.
12. PHÂN TÍCH
DỮ LIỆU
Kiểm tra nhận
định ban đầu
Phân tích từng
đặc trưng
Tính correlation
giữa các đặc
trưng
Xử lý đặc trưng
“Time”
TÁCH TRAIN
TEST SET
Có/không có
đặc trưng
“Time”
Chia random /
stratified với tỷ
lệ 80/20
Chia random +
Holdout CV
LẬP MODEL
Logistic
Regression
Random Forest
Tuning:
K-fold CV =>
Regularization
Param
Đánh giá với
từng thông số
Class Weight
ĐÁNH GIÁ
MODEL
MAE, Accuracy,
Fscore,
Precision/Recall
Vẽ confusion
matrix
Vẽ ROC curve và
tính AUROC
Vẽ PR curve và
tính AUPRC
TRỌNG TÂM:
AUPRC, RECALL!
TIẾP CẬN
UNSUPER-
VISED
K-Mean
clustering
Isolation Forest
Đánh giá
TRÌNH TỰ THIẾT KẾ
14. ĐÃLÀMĐƯỢC
•Đã lập được kế hoạch, hướng tiếp
cận đối với bài toán mới
•Học được cơ bản cách phân tích dữ
liệu
•Áp dụng được những kiến thức đã
học được vào bài toán thực tế
•Học cách nhìn bài toán dưới nhiều
góc độ
15. CHƯALÀMĐƯỢC
•Kế hoạch không ổn định, hay thay
đổi
•Chưa thuần thục Python và các thư
viện liên quan, mất nhiều thời gian
để viết code
•Lý thuyết còn nhiều chỗ chưa nắm
vững
16. CẢI TIẾN
•Phân tích kĩ hơn dữ liệu, sử dụng
các kĩ thuật phức tạp để tiền xử lý
•Thử nghiệm thêm các model khác
(SVM, Naïve Bayes, NN,…)
•Tuning model với các kĩ thuật khác
nhau (GridSearch,
RandomSearch,…)
•Tiền xử lý dữ liệu cho bài toán
Unsupervised Learning
•Thử nghiệm các model
Unsupervised khác nhau
18. NỘIDUNG
THỰCTẬP
•Training cơ bản: linux, vagrant,
design pattern, git, DB design
•Khóa học Machine Learning cơ bản
•Viết bài blog và thuyết trình
•Bài toán thực tế
•Luyện tập tiếng Nhật
19. NHỮNGĐIỀU
ĐÃHỌCĐƯỢC
•Kiến thức kỹ thuật
•Cách lập kế hoạch và duy trì nó
trong làm việc, học tập
•Cách tự nghiên cứu, tìm hiểu chủ
đề mới trong khoảng thời gian giới
hạn
•Cách trình bày những điều mình
biết đến người khác một cách hệ
thống, rõ ràng, dễ hiểu
20. KHÓKHĂN
•Tiếp xúc với nhiều công nghệ mới
•Giữ lịch trình, kế hoạch ổn định,
chi tiết
•Nền tảng toán học chưa chắc chắn
•Cần nắm vững một lượng lớn lý
thuyết