1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Nguyên lý máy học

111 3K 13

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 111
Dung lượng 4,39 MB

Nội dung

Giới thiệuMục tiêu ν Cung cấp kiến thức cơ bản về quá trình học tự động/dạy cho máy học ν Học có giám sát supervised learning, học không giám sát unsupervised learning ν Bài toán: Phân l

Trang 1

Bài giảng

NGUYÊN LÝ MÁY HỌC

Phạm Nguyên Khang

Trang 2

Giới thiệu

Mục tiêu

ν  Cung cấp kiến thức cơ bản về quá trình học tự động/dạy cho máy học

ν  Học có giám sát (supervised learning), học không giám sát (unsupervised learning)

ν  Bài toán: Phân lớp (classification), Hồi quy (regression), Gom cụm (clustering)

ν  Ứng dụng: nhận dạng chữ viết tay, phân loại văn bản

Trang 3

Giới thiệu

Chương 0

ν  Tại sao phải học Nguyên lý máy học ?

ν  Như thế nào là một định nghĩa đúng về máy học ?

Trang 4

Giới thiệu

Chương 2

ν  Máy học véc-tơ hỗ trợ - SVM (chương 3 giáo trình NLMH)

ν  Mô hình hoá bài toán SVM

ν  SVM cho bài toán nhiều lớp

Chương 3

ν  Đánh giá hiệu quả giải thuật học có giám sát (chương 4 giáo trình NLMH)

ν  Nghi thức kiểm tra

ν  Tiêu chí đánh giá hiệu quả giải thuật

Trang 5

Giới thiệu

Chương 5

ν  Học không giám sát (chương 5 giáo trình NLMH)

ν  Bài toán gom cụm

ν  Giải thuật k-means

ν  Bài toán ước lượng mật độ xác suất

ν  Kỹ thuật cực đại hoá kỳ vọng (EM)

Trang 6

Tài liệu tham khảo

λ Đỗ Thanh Nghị, Phạm Nguyên Khang, Giáo trình Nguyên lý máy học, NXB Đại học

Trang 8

Nguyên lý máy học

Chương 0

Phạm Nguyên Khang pnkhang@cit.ctu.edu.vn

Trang 9

Tại sao phải học NLMH

•   Tiến bộ gần đây trong giải thuật và tin học lý thuyết

•   Dữ liệu ngày càng nhiều hơn, nhất là dữ liệu trực tuyến

•   Năng lực tính toán của máy tính ngày càng phát triển (phần cứng)

•   Đất dụng võ dành cho dân máy học

–   Khai khoáng dữ liệu (data mining): sử dụng dữ liệu quá khứ để

dự đoán tương lai è cải thiện quá trình quyết định

•   Thông tin y khoa è kiến thức y khoa

–   Ứng dụng phần mềm mà ta không thể lập trình thủ công

•  Xe tự hành

•  Nhận dạng tiếng nói

–   Chương trình tự tuỳ biến

•  Chương trình đọc tin tức có thể học để biết được sự quan tâm của người dùng

Trang 10

Nhiệm vụ tiêu biểu của DM

Trang 11

Nhiệm vụ tiêu biểu của DM

•  Các luật được học từ dữ liệu trên là:

•  If Other_Delinquent-Accounts > 2 and

Number-Delinquent-Billing-Cycles > 1 then

Trang 12

Nhiệm vụ tiêu biểu của DM

Trang 15

Vấn đề khó lập trình thủ công

•  Chương trình ALVINN có thể tự lái xe với tốc

độ 70mph (112.654 km/h) trên đường cao tốc

Trang 16

Phần mềm tự tuỳ biến cho người dùng

•  Phần mềm tự thay đổi điều chỉnh giao diện tuỳ theo người dùng

•  Trang web tự đề nghị nội dung cho người đọc

•  Trang web bán hàng tự đề nghị mặt hàng cho người mua

•  …

Trang 17

Các môn học khác có liên quan

•  Trí tuệ nhân tạo

•  Phương pháp Bayes

•  Lý thuyết độ phức tạp tính toán

•  Lý thuyết điều khiển

•  Lý thuyết thông tin

•  Triết học

•  Tâm lý học và thần kinh học (neurobiology)

•  Thống kê

•  …

Trang 18

Học là gì ?

•  Học (Mitchel)= Cải thiện tác vụ (task) nào đó bằng kinh nghiệm

–   Cải thiện tác vụ T,

–   Với độ đo hiệu quả P

Trang 19

•  Biểu diễn nó như thế nào ?

•  Giải thuật nào để học ?

Trang 20

Kiểu dạy/huấn luyện

•  Trực tiếp hay gián tiếp ?

•  Có thầy hay không có thầy ?

•  Vấn đề: việc huấn luyện có phải là kinh nghiệm

có thể biểu diễn được của mục tiêu hiệu quả ?

Trang 21

Chọn hàm mục tiêu

•  Lựa chọn nước đi: Bàn cờ à Nước đi ??

•  V: Bàn cờ à R ?? Lượng giá bàn cờ

•  …

Trang 22

Dự báo giá đất dựa trên diện tích

•  Tác vụ T: ???

•  Độ đo hiệu quả P: ???

•  Kinh nghiệm E: ???

Mảnh đất có dt 2500 ft 2 sẽ có giá bằng báo

Trang 23

Ví dụ khác

•  Nhiệm vụ:

•  Độ do hiệu quả:

•  Kinh nghiệm:

Trang 24

Phân loại học máy

Trang 25

NGUYÊN LÝ MÁY HỌC

(Học có giám sát)

Phạm Nguyên Khang

pnkhang@cit.ctu.edu.vn

Trang 26

Nội dung trình bày

•  Ví dụ

–   Bài toán dự báo giá nhà dựa vào diện tích

–   Hồi quy tuyến tính

•   Biểu diễn hàm dự báo

•   Giải thuật tìm tham số cho hàm dự báo –   Bài toán phân lớp và hồi quy logistic

–   Bài tập

Trang 27

Ví dụ

•  Dự báo giá nhà dựa vào diện tích

Trang 28

Ví dụ

•  Dự báo giá nhà dựa vào diện tích

Trang 29

Quy ước

•  Biến đầu vào (input variables)/đặc trưng

(features), kí hiệu: x(i)

•  Biến đầu ra (output variable)/biến mục tiêu, kí hiệu y(i)

•  Mẫu huấn luyện (training example)

–   kí hiệu (x (i) , y (i) )

•  Tập huấn luyện X = {(x(i), y(i))}, i = 1 m

Trang 30

Định nghĩa

luyện {(x (i) , y (i) )}

•   Tìm hàm h: X à Y sao

cho h(x) dự báo được y

từ x

giả thiết (hypothesis)

•   Y liên tục: hồi quy

(regression)

•   Y rời rạc: phân lớp

(classification)

Trang 31

Hồi quy tuyến tính

•  Ví dụ: bài toán dự báo giá nhà

–   2 biến đầu vào/thuộc tính: diện tích, số phòng

ngủ

–   1 biến đầu ra: giá nhà

Trang 32

Hồi quy tuyến tính

•  Thiết lập bài toán

–   Xác định thuộc tính:

•   Dự báo cái gì ?

•   Dựa trên cái gì ?

•  Biểu diễn giả thiết (hàm dự báo) h

–   Ví dụ h là một hàm tuyến tính 2 biến, h(x1, x2) có dạng:

•   Trong đó, θ0, θ1, θ2 là các tham số cần mà ta phải tìm trong qua trình “dạy cho máy học” hay còn gọi là qua trình huấn luyện

Trang 33

Hồi quy tuyến tính

•  Dạy cho máy học/huấn luyện như thế nào ?

huấn luyện (training error) nhỏ nhất

–   Trong ví dụ trên, ta phải tìm h sao cho h(x) gần

với y nhất

–   Hàm chi phí/hàm lỗi (cost function/error function)

Trang 34

Giải thuật LMS

•  LMS (Least mean square): bình phương trung bình nhỏ nhất

–   Khởi tạo ngẫu nhiên θ

nhỏ hơn J(θ)

–   α: tốc độ học

Trang 35

Giải thuật LMS

•  Tính đạo hàm riêng theo từng tham số:

Trang 36

Giải thuật LMS

nhật:

Trang 37

Ví dụ

•  Dự báo giá đất dựa vào diện tích

Trang 38

Bài toán phân lớp và hồi quy logistic

•  Bài toán phân lớp:

–   giống như bài toán hồi quy, ngoài trừ y có giá trị rời rạc

–   Ví dụ bài toán 2 lớp:

•   0: lớp âm

•   1: lớp dương

–   Ta có thể giải bài toán phân lớp này bằng giải

thuật hồi quy tuyến tính như trên Tuy nhiên, vì y chỉ có thể có giá trị là 0 hoặc 1, nên không cần

thiết phải định nghĩa h có nhiều giá trị

Trang 39

Hồi quy logistic

•  Thay đổi hàm h như sau:

Trong đó

Hàm logistic hay hàm sigmoid

Trang 40

Hồi quy logistic

•  Đạo hàm của g(z)

Trang 41

Hồi quy logistic

•  Tìm tham số như thế nào với hàm hồi quy

logistic ?

•  Bỏ qua các công thức phức tạp, ta thu được luật cập nhật tham số y hệ như trường hợp hồi quy tuyến tính !

•  Tuy nhiên cần phải chú ý rằng: hàm h(x) trong trường hợp này là hàm logistic

Trang 42

Bài tập

•  Cho tập dữ liệu

–   Biểu diễn tập dữ liệu lên

mặt phẳng toạ độ Oxy

giá trị khởi tạo (0, 0.5),

Trang 43

CẢM ƠN

Trang 44

NGUYÊN LÝ MÁY HỌC

(Mạng nơ-ron nhân tạo)

Phạm Nguyên Khang

pnkhang@cit.ctu.edu.vn

Trang 45

Nội dung trình bày

•  Giới thiệu

•  Mô hình nơ-ron McCulloch & Pitts

•  Mô hình perceptron đa tầng (MLP)

•  Một số vấn đề cần chú ý khi huấn luyện mạng nơ-ron

•  Bài tập

Trang 47

Giới thiệu

•  Lịch sử

–   1943, McCulloch & Pitts đưa ra mô hình nơ-ron đầu tiên

Trang 48

Mô hình nơ-ron McCulloch & Pitts

•  Nơ-ron: đơn vị tính toán cơ bản/đơn vị của tất

Trang 49

Mô hình nơ-ron McCulloch & Pitts

Trang 50

Kiến trúc mạng

•  Mạng truyền thẳng (forward)

•  Mạng hồi tiếp (feedback)

Trang 51

Mô hình perceptron đa tầng

•  Mô hình perceptron

McCulloch&Pitts

•   n đầu vào, 1 ngưỡng, 1 đầu ra

f g

Trang 53

Mô hình perceptron

•   n +1 đầu vào, 1 đầu ra

•   Đầu vào giả x0 luôn có giá trị 1, w0 = θ

•   Hàm mạng tuyến tính

f g

Trang 54

Mô hình perceptron

•  Ý nghĩa hình học

siêu phẳng trong không gian n chiều

Trang 55

Huấn luyện perceptron

•   Huấn luyện:

–   Dạy cho perceptron

–   Tìm kiếm n tham số: w0, w1, w2, …, wn sao cho đầu ra của nơ-ron phù hợp với giá trị mong muốn của tất cả dữ liệu học nhất

•   Về mặt hình học:

–   Tìm siêu phẳng tách dữ liệu thành 2 lớp sao cho mỗi lớp

về 1 phía của siêu phẳng này

•   Dữ liệu đầu vào:

–   Tập các mẫu huấn luyện

–   Mỗi mấu huấn luyện gồm:

•   véc-tơ đặc trưng x và nhãn y

•   Tham số:

Trang 56

Huấn luyện perceptron

•  Trường hợp dữ liệu khả tách tuyến tính

giá trị đầu ra

nhật lại các trọng số theo công thức:

–   Giải thuật: xem giáo trình trang 29

Trang 57

Huấn luyện perceptron

•  Trường hợp dữ liệu không khả tách tuyến tính

•   Tối = lỗi (trên tập học) nhỏ nhất có thể

Trang 58

Huấn luyện perceptron

Trang 59

Huấn luyện perceptron

•  Giải thuật:

–   Lặp cho đến khi điều kiện

∂E

i=1 m

Trang 60

Huấn luyện perceptron

Trang 62

Mạng nơ-ron đa tầng (MLP)

•  Huấn luyện mạng MLP:

•   Định nghĩa hàm lỗi: bình phương sai khác giữa đầu ra

và đầu ra mong muốn

•   Tính toán lỗi

•   Lan truyền lỗi từ đầu ra ngược trở về đầu vào để cập nhật các trọng số w Trọng số được cập nhật dựa trên gradient của hàm lỗi

Trang 64

Mạng nơ-ron đa tầng (MLP)

•  Xét các nơ-ron ở tầng đầu ra:

•  Để cập nhật được các trọng số ta cần

tính đạo hàm riêng của E theo nó

•  Áp dụng quy tắc chuỗi để tính đạo hàm ta

được (xem giáo trình trang 41, công thức 2.17 – 2.20):

Trang 66

Mạng nơ-ron đa tầng (MLP)

•  Giải thuật:

•   Với mỗi mẫu huấn luyện, tính đầu ra o

•   Tính đạo hàm riêng của E theo từng trọng số w

•   Cập nhật trọng số theo đạo hàm riêng này (chú ý dấu trừ vì đi ngược hướng của gradient)

•  Bài tập 7 trang 48

Trang 67

CẢM ƠN

Trang 68

NGUYÊN LÝ MÁY HỌC

(Máy học véc-tơ hỗ trợ - SVM)

Phạm Nguyên Khang pnkhang@cit.ctu.edu.vn

Trang 69

Nội dung trình bày

•  Giới thiệu

•  SVM cho bài toán phân lớp

•  Giải thuật SVM

•  SVM cho bài toán đa lớp

•  SVM cho bài toán hồi quy (xem giáo trình)

•  SVM cho bài toán phát hiện phần tử cá biệt (xem giáo trình)

•  Proximal SVM

•  Bài tập

Trang 70

Giới thiệu

SVM được Vapnik nghiên cứu từ những năm

1965

1990

máy học, nhận dạng và khai mỏ dữ liệu

phân loại văn bản, phân loại bệnh ung thư,

method)

Trang 71

SVM cho bài toán phân lớp

x1

x2

w0 1x1 2x2

Lớp dương (+1)

(–1)

A B

C

•  Bài toán phân lớp nhị

phân (hai chiều)

Trang 72

SVM cho bài toán phân lớp

•  Bài toán phân lớp nhị

(–1)

A B

C

Trang 73

SVM cho bài toán phân lớp

•  Tìm đường biên như

thế nào để an toàn ?

–  Trực quan: tìm

liệu thành hai phía,

(–1)

Trang 74

SVM cho bài toán phân lớp

x1

x2

w0 1x1 2x2

Lớp dương (+1)

Trang 75

SVM cho bài toán phân lớp

Trang 76

SVM cho bài toán phân lớp

Trang 77

SVM cho bài toán phân lớp

•  Trường hợp dữ liệu không khả tách tuyến tính:

–   Bài toán: tìm w, b sao cho lề lớn nhất và lỗi huấn luyện nhỏ nhất

Trang 78

SVM cho bài toán phân lớp

•  Giải bài toán quy hoạch toàn phương

Trang 80

lý được dữ liệu phi tuyến

Kernel function:

K(Xi, Xj): hàm nhân được định nghĩa trong không gian gốc = tích

vô hướng trong không gian trung gian (feature space)

Trang 81

SVM và phương pháp hàm nhân

•  SVM tuyến tính trong không gian gốc

•  SVM tuyến tính trong không gian trung gian

Trang 82

SVM và phương pháp hàm nhân

•   Một số hàm nhân thông dụng:

–   Tuyến tính: K(u, v) = u.v

–   Đa thức bậc d: K(u, v) = (u.v + c) d

–   Radial Basis Function (RBF):

•   Cài đặt trong libSVM:

•   -s svm_type (default 0): 0 (phân lớp), 2 (1 lớp), 3 (hồi quy)

•   -t kernel_type (default 2): 0 (tuyến tính), 1 (đa thức), 2

(RBF)

•   -d degree (default 3): bậc của hàm nhân đa thức

•   -g gamma (default 1/#attr): tham số γ của hàm nhân RBF

•   -c cost (default 1) : hằng số c

Trang 83

SVM cho bài toán đa lớp

!

1 chống lại tất cả

Trang 84

Proximal SVM

•  Do Fung và Mangasarian đề xuất

•  Thay đổi hai siêu phẳng hỗ trợ

•  Thay đổi độ lớn của lề

•  Bài toán quy hoạch toàn phương à bài toán giải hệ phương trình tuyến tính

Trang 85

Proximal SVM

x1

x2

Lớp dương (+1)

Trang 87

Proximal SVM

phần tử mxm

–   Xây dựng ma trận H = D[A -e]

–   Tính u = c(I – H(1/c + H’H) -1 H’)e

–   Tính w = A’Du

–   Tính b = -e’Du

Trang 88

Proximal SVM

•  Tham khảo thêm:

–   http://research.cs.wisc.edu/dmi/svm/psvm/

Trang 89

CẢM ƠN

Trang 90

NGUYÊN LÝ MÁY HỌC (Đánh giá hiệu quả giải thuật học

có giám sát)

Phạm Nguyên Khang pnkhang@cit.ctu.edu.vn

Trang 91

Nội dung trình bày

•  Giới thiệu

•  Nghi thức kiểm tra

•  Đo hiệu quả giải thuật

Trang 92

Giới thiệu

•  2 tiêu chí chính:

–   Thời gian

•   Thời gian huấn luyện

•   Thời gian phân lớp

Trang 93

Nghi thức kiểm tra

•  Train – Test

•  Hold out

•  K-fold

Trang 94

Đo hiệu quả phân lớp/dự báo

•  Bài toán phân lớp

•   Lớp dương và lớp âm

•   Dùng giải thuật phân lớp đã huấn luyện xong PHÂN LỚP tập kiểm tra (test ), Thiết lập ma trân phân lớp (confusion matrix):

Dự báo à Dự báo Dương Dự báo Âm

Trang 95

Đo hiệu quả phân lớp/dự báo

Trang 96

Đo hiệu quả phân lớp/dự báo

•  Tường hợp nhiều hơn 2 lớp

Dự báo lớp 2

Trang 97

Đo hiệu quả dự báo (hồi quy)

•  Tính toán giá trị dự báo cho các phần tử trong tập test è pi

•  Tính lỗi so với giá trị mong muốn yi

•  Lỗi thường dùng: MSE (mean squared error)

Trang 98

CẢM ƠN

Trang 99

NGUYÊN LÝ MÁY HỌC

(Học không giám sát)

Phạm Nguyên Khang

pnkhang@cit.ctu.edu.vn

Trang 100

Nội dung trình bày

•  Giới thiệu

•  Bài toán gom nhóm dữ liệu

•  Giải thuật k-means

•  Đo hiệu quả giải thuật k-means

•  Bản đồ tự tổ chức (SOM): đọc giáo trình

•  Bài toán ước lượng hàm mật độ xác suất

•  Kỹ thuật cực đại hoá kỳ vọng (Expectation

Maximization)

Trang 101

Giới thiệu

–   Tìm hiểu “bản chất của dữ liệu” dựa trên “thể hiện

–   Hiểu được cấu trúc của dữ liệu

–   Bài toán gom nhóm (gom cụm/phân cụm/phân nhóm,

…): clustering problem

–   Ước lượng hàm mật độ xác suất (density function

Trang 102

Bài toán gom nhóm dữ liệu

xác định trong giải thuật

!

!

Trang 103

Giải thuật k-means

•  Do MacQueen đề xuất năm 1967

•  Giải thuật đơn giản, hiệu quả để giải bài toán gom nhóm

•  Tham số đầu vào: số nhóm k

•  Ý tưởng:

khoảng cách tử các phần tử trong nhóm đến tâm của nhóm nhỏ nhất

Trang 104

Giải thuật k-means

•  Phân hoạch (partition)

–   Phân m phần tử của X vào k nhóm S1, S2, …, Sksao cho mỗi phần tử chỉ thuộc vào 1 nhóm

•  Tìm một phân hoạch tối ưu (tổng khoảng cách nhỏ nhất) đòi hỏi phải liệt kê gần như tất cả

các phân hoạch có thể => NP-hard

k nhóm

Trang 105

Giải thuật k-means

•  Giải thuật k-means

được nữa

•  Khởi tạo phân hoạch

nhất

Trang 106

Giải thuật k-means

•  Cải tiến phân hoạch

–   Từ phân hoạch S = {S1, S2, …, Sk}, tìm 1 phân

hoạch khác tốt hơn phân hoạch này

–   Gọi µ1, µ2, …, µk là tâm của các nhóm S1, S2, …,

Trang 107

Giải thuật k-means

•  Tìm S, µ bằng phương pháp lặp

–   Cố định S, tìm µ

–   Cố định µ tính lại S

•  Với S cố định, tìm µ bằng cách giải phương

trình đạo hàm riêng của J theo µ

Trang 108

Giải thuật k-means

•  Giải thuật k-means

  Repeat

  Until hội tụ hoặc số lần lặp đủ lớn

•  Giải thuật chi tiết: giáo trình trang 85

Trang 109

Giải thuật k-means

•   áp dụng kết quả của các phương pháp phân tích khác

•   Thử các giá trị k khác nhau => giá trị tốt nhất

–   Khởi động tâm µ:

•   Thực hiện k-means nhiều lần với các tâm µ khác nhau

=> giữ lại kết quả tốt nhất

Trang 110

Giải thuật k-means

•  Đánh giá kết quả của k-means:

khoảng cách từ các phần tử đến tâm của nhóm

Trang 111

CẢM ƠN

Ngày đăng: 15/09/2014, 01:50

TỪ KHÓA LIÊN QUAN

w