28
Khoa học dữ liệu Bài 4 - Học máy

Khoa học dữ liệu Bài 4 - Học máy

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Khoa học dữ liệu Bài 4 - Học máy

Khoa học dữ liệuBài 4 - Học máy

Page 2: Khoa học dữ liệu Bài 4 - Học máy

Tổng quan về học máyMachine Learning Overview

2

1

Page 3: Khoa học dữ liệu Bài 4 - Học máy

ỨNG DỤNG

▰ Trợ lý ảo (Virtual Personal Assistants)▻ Xử lý ngôn ngữ tự nhiên (Natural Language Processing)▻ Hướng dẫn di chuyển (Predictions while Commuting)

▰ Chăm sóc sức khỏe (Health Care)▻ Đánh giá rủi ro bệnh (Risk assessment)

3

Page 4: Khoa học dữ liệu Bài 4 - Học máy

ỨNG DỤNG

▰ Mạng xã hội▻ Giới thiệu bạn bè (People You May Know)▻ Nhận dạng mặt người (Face Recognition)

▰ An ninh (Personal Security, Data Security)▻ Lọc thư rác, thư độc (Email Spam and Malware Filtering)▻ Giám sát (Videos Surveillance, Sensors Surveillance)

4

Page 5: Khoa học dữ liệu Bài 4 - Học máy

ỨNG DỤNG

▰ Tìm kiếm (Search Engine Result Refining)▰ Marketing

▻ Giới thiệu sản phẩm (Product Recommendations)▰ Tài chính

▻ Phát hiện hành vi xấu (Online Fraud Detection)▻ Giao dịch tần suất cao (High Frequency Financial Trading)

5

Page 6: Khoa học dữ liệu Bài 4 - Học máy

HỌC MÁY LÀ GÌ

▰ Khả năng hệ thống tự động học và cải thiện hiệu năng làm việc▻ Dựa vào dữ liệu▻ Không cần lập trình tường minh

▰ Mục tiêu▻ Tìm kiếm quy luật trong dữ liệu▻ Đưa ra quyết định ngày càng tốt hơn▻ Ít hoặc hoàn toàn không cần con người can thiệp

6

Page 7: Khoa học dữ liệu Bài 4 - Học máy

DỮ LIỆU

▰ Véc-tơ: Mỗi dữ liệu là một dòng của bảng▻ Ví dụ: thông tin khách hàng

▰ Danh sách: Mỗi dữ liệu là một danh sách ▻ Có thể không cùng độ dài▻ Ví dụ: các xét nghiệm trên bệnh nhân

▰ Ma trận: Mỗi dữ liệu là một bảng số▻ Ví dụ: quan hệ giữa khách hàng và sản phẩm

7

Page 8: Khoa học dữ liệu Bài 4 - Học máy

DỮ LIỆU

▰ Ảnh▰ Video▰ Cây

▻ Biểu diễn quan hệ cấp bậc▰ Đồ thị

▻ Quan hệ giữa các cặp đối tượng▻ Có hướng hoặc vô hướng

8

Page 9: Khoa học dữ liệu Bài 4 - Học máy

DỮ LIỆU

▰ Dữ liệu có cấu trúc

▻ Ví dụ: nhân viên có tên, tuổi, ảnh chứng minh, sếp ...

▰ Dữ liệu phi cấu trúc

▻ Ví dụ: văn bản, dữ liệu thô

9

Page 10: Khoa học dữ liệu Bài 4 - Học máy

DỮ LIỆU HUẤN LUYỆN - DỮ LIỆU KIỂM TRA

▰ Huấn luyện mô hình▻ Sử dụng dữ liệu huấn luyện (training data)

▰ Đánh giá mô hình▻ Sử dụng dữ liệu kiểm tra (validation data, test data)▻ Đả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

10

Page 11: Khoa học dữ liệu Bài 4 - Học máy

Các bài toán Học máy cơ bảnMachine Learning Problems

11

2

Page 12: Khoa học dữ liệu Bài 4 - Học máy

HỌC CÓ GIÁM SÁT (SUPERVISED LEARNING)

▰ Phân loại, phân lớp (Classification)▰ Hồi quy (Regression)

12

Page 13: Khoa học dữ liệu Bài 4 - Học máy

HỌC CÓ GIÁM SÁT (SUPERVISED LEARNING)

▰ Phát hiện thư rác, thư độc▰ Nhận dạng chữ, chữ số viết tay▰ Tách các vùng trong ảnh▰ Nhận dạng tiếng nói▰ Giao dịch chứng khoán

13

Page 14: Khoa học dữ liệu Bài 4 - Học máy

HỌC KHÔNG GIÁM SÁT (UNSUPERVISER LEARNING)

▰ Ước lượng mật độ (Density Estimation)▰ Phân cụm (Clustering)

14

Page 15: Khoa học dữ liệu Bài 4 - Học máy

HỌC KHÔNG GIÁM SÁT (UNSUPERVISER LEARNING)

▰ Giảm số chiều (Dimensionality Reduction)▰ Phát hiện bất thường (Outlier / Novelty Detection)

15

Page 16: Khoa học dữ liệu Bài 4 - Học máy

HỌC BÁN GIÁM SÁT (SEMI-SUPERVISED LEARNING)

▰ Học chủ động (Active Learning)▰ Học chuyển tiếp (Transfer Learning)

16

Page 17: Khoa học dữ liệu Bài 4 - Học máy

HỌC TĂNG CƯỜNG (REINFORCEMENT LEARNING)

17

Môi trường

Hành

độ

ng

Tác nhân (robot)

ThưởngTrạng thái

Ảnh đầu vào Hành động ?Ước lư

ợng điểm thư

ởng

chạy

nhảy

Page 18: Khoa học dữ liệu Bài 4 - Học máy

Dự đoán với mô hình Hồi quy tuyến tínhLinear Regression

18

3

Page 19: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN DỰ ĐOÁN

19

▰ Dữ liệu: Các cặp dữ liệu - nhãn (x1, y1), (x2, y2), ..., (xn, yn)

Ví dụ: hàng đã mua - tuổi, hành vi sử dụng - khả năng rời mạng

▰ Huấn luyện: Tìm một mô hình (hàm số) y = f(x)▻ Mô tả mối quan hệ giữa các xi, yi tốt nhất có thể

▰ Dự đoán: Với một dữ liệu x mới (chưa từng nhìn thấy), ▻ Sử dụng f(x) đưa ra dự đoán về x

Page 20: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHLINEAR REGRESSION

20

▰ Dự đoán với

▻ Dữ liệu là số hoặc véc-tơ

▻ Nhãn là số thực

▰ Mô hình y = f(x) là hàm tuyến tính của x

Hạnh phúc và Số giờ ngủ

Chiều cao và Cân nặng

Page 21: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHLINEAR REGRESSION

21

Mô hình y = f(x) là hàm tuyến tính của x▰ 1-chiều: y = b + ax▰ D-chiều: y = b + w1x1 + w2x2 + … + wdxd

x: biến độc lậpy: biến phụ thuộcw: các hệ số tuyến tính của mô hìnhb: điểm cắt

Hạnh phúc và Số giờ ngủ

Chiều cao và Cân nặng

Page 22: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHLINEAR REGRESSION

22

Mô hình y = f(x) là hàm tuyến tính của x▰ 1-chiều: y = b + wx▰ D-chiều: y = b + w1x1 + w2x2 + … + wdxd

Ý nghĩawi: tính quan trọng của thuộc tính xi

1 đơn vị của xi tương đương wi đơn vị của y

Hạnh phúc và Số giờ ngủ

Chiều cao và Cân nặng

Page 23: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHDỮ LIỆU (DẠNG BẢNG)

23

import pandas

Page 24: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHHUẤN LUYỆN

24

▰ Huấn luyện: Tìm một mô hình (hàm số) y = f(x)

▻ Mô tả mối quan hệ giữa các xi, yi tốt nhất có thể

▰ Với mô hình hồi quy: Tổng (yi - f(xi))2 là nhỏ nhất

▰ ri = yi - f(xi): phần dư (residual) của mẫu dữ liệu thứ i

▰ Trong Python: sử dụng các hàm .fit() trong gói scikit-learn

phần dư

Page 25: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHDỰ ĐOÁN

25

▰ Dự đoán: Sử dụng mô hình y = f(x)

▻ Tính giá trị y của một dữ liệu x mới

▰ Trong Python: sử dụng các hàm .predict() trong gói scikit-learn

phần dư

Page 26: Khoa học dữ liệu Bài 4 - Học máy

MÔ HÌNH TUYẾN TÍNH VỚI SCIKIT-LEARN

26

Đọc dữ liệu, chuyển sang numpy với .values.reshape(-1,1)

Tạo mô hình, huấn luyện

với .fit()

Dự đoán dữ liệu mới với .predict

regr = sklearn.linear_model.LinearRegression()

regr.fit(X, y)

import sklearn

data = pandas.read_csv(...)X = data[[ ... ]].values.reshape(-1,1)y = data[ ... ].values.reshape(-1,1)

ypred = regr.predict(X)

Page 27: Khoa học dữ liệu Bài 4 - Học máy

BÀI TOÁN HỒI QUY TUYẾN TÍNHĐÁNH GIÁ MÔ HÌNH

27

▰ Đánh giá mô hình sử dụng tập dữ liệu kiểm tra

▻ Tách biệt với tập huấn luyện

▰ Tính tổng giá trị bình phương của lỗi (phần dư)

▰ Tính hệ số r2

▰ Trong Python: sử dụng các hàm trong sklearn.metrics

phần dư