Bài 1 Tổng quan học máy. PowerPoint Presentation Bài 1 Tổng quan về học máy 1 Thông tin giảng viên. 2206 Research interest machine learning.. Slide machine learning 2022. Học máy 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ể. Ví dụ như các máy có thể học cách phân loại thư điện tử xem có phải thư rác hay không và tự động xếp thư vào thư mục tương ứng
Trang 1Bài 1: Tổng quan về học máy
Trang 2Thông tin giảng viên
Trang 3Nội dung buổi học
• Học máy
• Quy trình xây dựng hệ thống học máy
• Quá trình từ chuẩn bị dữ liệu cho tới đánh giá kết quả
• Thiết lập môi trường làm việc
• Cài đặt các bộ công cụ phục vụ cho xây dựng hệ thống học máy
Trang 4GIỚI THIỆU VỀ HỌC MÁY
4 caotruongtran@gmail.com
Trang 6caotruongtran@gmail.com 6
Trang 7QUY TRÌNH XÂY DỰNG HỆ
THỐNG
Trang 8Các bước xây dựng mô hình học máy
Trang 9Thu thập dữ liệu (Data Collection)
• Chất lượng và khối lượng dữ liệu ảnh hưởng trực tiếp đến mô hình học máy
• Dữ liệu thực tế hay dữ liệu phòng lab
• Dữ liệu thực tế: dữ liệu của bạn hay dữ liệu nguồn khác
• Đánh giá dữ liệu: độ lớn, nguồn, độ phức tạp, độ mất mát …
• Lưu trữ dữ liệu: Tập trung hay phân tán
Trang 10Chuẩn bị dữ liệu (Data Preparation)
• Lý do chuẩn bị dữ liệu
• Phù hợp với thuật toán, công cụ
• Dữ liệu không sạch: không đầy đủ, nhiễu, không nhất quán
• Các vấn đề trong chuẩn bị dữ liệu
Trang 11Khám phá dữ liệu (Data exploration)
• Thuộc tính ảnh hưởng tới quyết định
• Mối liên hệ giữa các thuộc tính
Trang 12Làm sạch dữ liệu (Data cleansing)
• Dữ liệu mất mát (missing data)
• Vì một lý do nào đó mà dữ liệu bị mất mát (dữ liệu không được thu thập, lỗi
lưu trữ )
• Một vài giải pháp:
• Bỏ qua bản ghi hoặc thuộc tính chứa thông tin bị mất mát
• Điền thông tin mới với: ngẫu nhiên hoặc liên quan đến các dữ liệu xung quanh
• Dữ liệu có nhiễu: giá trị không phù hợp
• Dữ liệu trùng lặp
• Xảy ra khi tổng hợp nhiều nguồn tin khác nhau.
12
Trang 13Biến đổi dữ liệu
• Rời rạc hóa (discretization)
• Biến đổi dữ liệu từ dạng liên tục (continuous) sang rời rạc (discrete)
• Nhiều model yêu cầu dữ liệu ở dạng rời rạc: cây phân lớp
• Cho phép thu gọn dữ liệu
Trang 14Biến đổi dữ liệu
• Chuẩn hóa dữ liệu (normalization)
• Với nhiều mô hình dựa trên độ đo khoảng cách (distance-based method), việc chuẩn hóa giúp cho các thuộc tính có sự ảnh hưởng cân bằng với nhau
• Ví dụ tuổi từ 0-99, lương từ 1 triệu VNĐ tới 1 tỉ VNĐ
• Chuẩn hóa các thuộc tính về các khoảng tương tự nhau hoặc miền giá trị từ 0 tới 1
• Các phương pháp:
• min-max normalization
• z-score normalization (standardization)
14
Trang 15Cân bằng dữ liệu
• Dữ liệu bất cân bằng khi một lớp đối tượng có lượng bản ghi lớn hơn hẳn
các lớp còn lại
• Bài toán phát hiện phishing
• Trong 1 triệu email mới có khoảng 30 là phishing
99.997% accuracy
Trang 16Rút gọn thuộc tính (Feature Selection)
• Rút gọn thuộc tính là quá trình chọn tập con tối ưu các thuộc tính
theo một số điều kiện nhất định
• Tại sao phải rút gọn
• Tăng hiệu quả của mô hình: tăng tốc độ, độ chính xác và giảm độ
phức tạp
• Trực quan hóa dữ liệu
• Giảm bớt nhiễu và những ảnh hưởng không cần thiết
16
ID Nhiệt độ Đau đầu Nôn mửa Cúm
Trang 17Lựa chọn mô hình (Model selection)
• Mô hình phù hợp với bài toán và dữ liệu
• Phân loại ảnh, âm thanh hay văn bản
• Dữ liệu rời rạc hay dữ liệu số nguyên
• Nhiều hay ít thuộc tính
• Phân loại hay phân cụm
Trang 19Lựa chọn mô hình
• Lựa chọn siêu tham số (hyper parameter)
Trang 20Huấn luyện mô hình (Training)
• Là các bước tìm kiếm giá trị các tham số của mô hình sao cho mô hình xấp xỉ được tốt nhất phân bố của dữ liệu
20
y = f(x)
dự đoán f bằng cách cực tiểu hóa lỗi dự đoán
• Kiểm tra: áp dụng f với dữ liệu mới (chưa được huấn luyện) x để dự đoán output y = f(x)
output prediction function Input data
Trang 21Đánh giá (Evaluation)
• Đánh giá mô hình
• Sử dụng dữ liệu kiểm tra (validation data, test data)
• Tách biệt với tập huấn luyện
• Đảm bảo tính khách quan
• Ước lượng trước hiệu năng hệ thống khi vận hành thật
Trang 22Tập dữ liệu đánh giá mô hình
• Khi huấn luyện mô hình, chưa có dữ liệu kiểm
tra
• Sử dụng một phần dữ liệu đã có để đánh giá
mô hình trước khi sử dụng
22
labeled data set
learning
accuracy evaluation
Trang 23Kiểm định (Validation)
• Kiểm định trong quá trình huấn luyện
learning method
learned model accuracy evaluation
learning method
Trang 24Kiểm định chéo (Cross Validation)
24
Trang 25Đánh giá (Evaluation)
Trang 26Tổng hợp
26
Các thuật toán cơ bản
Trang 27NỀN TẢNG và CÔNG CỤ
Giới thiệu các nền tảng cho học máy và phân tích dữ liệu
Cài đặt các bộ công cụ sử dụng trong khóa học
Trang 28• Ngôn ngữ thông dịch (Làm việc tương tự Java nhưng độ linh hoạt cao hơn), dễ tiếp cận
• Python là ngôn ngữ lập trình rất phổ biến trong cả môi trường học thuật và công nghiệp.
• Được thiết kế gần với ngôn ngữ tự nhiên (tiếng Anh), sử dụng nhóm từ vựng toán học
• Đa nền tảng (Windows, Mac, Linux, etc)
• Ngôn ngữ hỗ trợ lập trình thủ tục, hướng đối tượng, lập trình hàm
• Tồn tại hai phiên bản tương đối độc lập: Python 2 vs Python 3
• Quản lý và cài đặt Packages sử dụng PIP
28
Trang 29• Khuyến nghị sử dụng Python 3
• Cài đặt từ gói phân phối chính thức tại python.org/downloads/
Trang 30• Chọn “Add Python 3.7 to PATH
30
Trang 31• Cài đặt Python với Anaconda
• Download Anaconda tại: https://www.anaconda.com/download/
Trang 32chiều
> pip install numy
32
Trang 33• Là gói thư viện vẽ đồ thị 2D cho Data visualization
• Tạo plots, histograms, power spectra, bar charts,
errorcharts, scatterplots, etc với chỉ vài dòng code
• Matplotlib được tích hợp nhiều plug-ins, đặc biệt là
mplot3d cho đồ thị 3D
• Cài đặt thông qua PIP:
> pip install matplotlib
Trang 34• Là thư viện Machine Learning mã nguồn mở nổi tiếng
34
Trang 35• Mã nguồn mở, được cấp phép cho môi trường doanh nghiệp
• Built trên Numpy, Scipy, và Matplotlib
• Là công cụ hiệu quả cho khai phá dữ liệu và phân tích dữ liệu
• Cài đặt đầy đủ các thuật toán học máy
• Cài đặt thông qua PIP:
> pip install scikit-learn
Trang 36• Có rất nhiều pre-trained models cho Tensorflow
• Framework tính toán hết sức hiệu quả
• Có thể thực hiện tính toán trên GPU để tăng tốc độ
• Hiện tại đã hỗ trợ gần như đầy đủ các nền tảng, kể cả
Mobiles, Raspberry, Browsers (với tensorflow.js)
36
Trang 37• Với máy tính không có GPU của NVIDIA, Cài đặt bản TensorFlow được built cho CPU thông qua
PIP:
> pip install tensorflow
• Cài đặt bản built cho GPU:
> pip install tensorflow-gpu
• Kiểm tra cài đặt
• Với tensorflow CPU:
Hello, Tensorflow
Trang 38• Kiểm tra cài đặt
• Với tensorflow GPU:
Trang 39Các toolkit khác
Trang 40Cài đặt thư viện với anacoda
• conda create name LibLib
• conda activate LibLib
• conda install -c anaconda numpy
40
Trang 41Học Python
Trang 42Thank you!
42