1. Trang chủ
  2. » Thể loại khác

HỌC MÁY. Lê Thanh Hương.Viện CNTT & TT - ĐHBK HN

101 3 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 101
Dung lượng 1,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các ví dụ về học máy 2Bài toán phân loại các trang Web theo các chủ đề ◼T: Phân loại các trang Web theo các chủ đề đã định trước ◼P: Tỷ lệ % các trang Web được phân loại chính xác ◼E: Mộ

Trang 1

Chương 5 - Học máy

Lê Thanh Hương Viện CNTT & TT - ĐHBK HN

Trang 2

Nội dung môn học

Chương 1 Tổng quan

Chương 2 Tác tử thông minh

Chương 3 Giải quyết vấn đề

Chương 4 Tri thức và suy diễn

Trang 3

Giới thiệu về Học máy

“Học đề cập đến các thay đổi của hệ thống theo hướng thích

nghi : chúng cho phép hệ thống thực hiện các công việc trong cùng một môi trường hiệu quả hơn từ lần thực hiện thứ 2”

1997]

Học máy = Cải thiện hiệu quả một công việc thông qua kinh

nghiệm

• Một công việc (nhiệm vụ) T

• Đối với các tiêu chí đánh giá hiệu suất P

• Thông qua (sử dụng) kinh nghiệm E

Trang 5

Các ví dụ về học máy (2)

Bài toán phân loại các trang Web theo các chủ đề

T: Phân loại các trang Web theo các chủ đề đã định trước

P: Tỷ lệ (%) các trang Web được phân loại chính xác

E: Một tập các trang Web, trong đó mỗi trang Web gắn với

một chủ đề

Which cat.?

Trang 6

tay, trong đó mỗi ảnh được gắn

với một định danh của một từ

we do in the right way

6

Trang 7

Which steering command?

Go straight

Move left

Move right

Slow Speed down up

Bài toán robot lái xe tự động

T: Robot (được trang bị các

camera quan sát) lái xe tự động

trên đường cao tốc

P: Khoảng cách trung bình

mà robot có thể lái xe tự động

trước khi xảy ra lỗi (tai nạn)

E: Một tập các ví dụ được

ghi lại khi quan sát một người lái

xe trên đường cao tốc, trong đó

mỗi ví dụ gồm một chuỗi các

ảnh và các lệnh điều khiển xe

Trang 8

Các phương pháp học

• Học có giám sát : biết trước câu trả lời đúng

• Học không giám sát : không biết trước câu trả lời đúng

• Học tăng cường : đôi khi có thưởng/phạt cho các hành động

Trang 9

Quá trình học máy

Tập học (Training set)

Tối ưu hóa

các tham số của hệ thống

Tập thử nghiệm (Test set)

Thử nghiệm

hệ thống

đã học

Trang 10

Học có vs không có giám sát

◼ Học có giám sát (supervised learning)

❑ Mỗi ví dụ học gồm 2 phần: mô tả (biểu diễn) của ví dụ học, và

nhãn lớp (hoặc giá trị đầu ra mong muốn) của ví dụ học đó

Bài toán học phân lớp (classification problem)

D_train = {(<Biểu_diễn_của_x>, <Nhãn_lớp_của_x>)}

Bài toán học dự đoán/hồi quy (prediction/regression problem)

D_train = {(<Biểu_diễn_của_x>, <Giá_trị_đầu_ra_của_x>)}

◼ Học không có giám sát (unsupervised learning)

❑ Mỗi ví dụ học chỉ chứa mô tả (biểu diễn) của ví dụ học đó - mà

không có bất kỳ thông tin nào về nhãn lớp hay giá trị đầu ra mong muốn của ví dụ học đó

Bài toán học phân cụm (Clustering problem)

Tập học D_train = {(<Biểu_diễn_của_x>)}

10

Trang 11

Các thành phần chính (1)

◼ Lựa chọn các ví dụ học (training/learning examples)

• Các thông tin hướng dẫn quá trình học (training feedback) được chứa

ngay trong các ví dụ học, hay là được cung cấp gián tiếp (vd: từ môi

trường hoạt động)

• Các ví dụ học theo kiểu có giám sát (supervised) hay không có giám sát

(unsupervised)

• Các ví dụ học phải tương thích với các ví dụ sẽ được sử dụng bởi hệ

thống trong tương lai (future test examples)

◼ Xác định hàm mục tiêu (giả thiết, khái niệm) cần học

• F: X → {0,1}

• F: X → {Một tập các nhãn lớp}

• F: X → R + (miền các giá tri số thực dương)

• …

Trang 12

Các thành phần chính (2)

◼ Lựa chọn cách biểu diễn cho hàm mục tiêu cần học

• Hàm đa thức (a polynomial function)

• Một tập các luật (a set of rules)

• Một cây quyết định (a decision tree)

• Một mạng nơ-ron nhân tạo (an artificial neural network)

• …

◼ Lựa chọn một giải thuật học máy có thể học (xấp xỉ)

được hàm mục tiêu

• Phương pháp học hồi quy (Regression-based)

• Phương pháp học quy nạp luật (Rule induction)

• Phương pháp học cây quyết định (ID3 hoặc C4.5)

• Phương pháp học lan truyền ngược (Back-propagation)

• …

12

Trang 13

Các vấn đề trong Học máy (1)

• 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ể và đối với

một cách biểu diễn các ví dụ (đối tượng) cụ

thể, giải thuật học máy nào thực hiện tốt nhất?

Trang 14

Các vấn đề trong Học máy (2)

• Bao nhiêu ví dụ học là đủ?

• Kích thước của tập học (tập huấn luyện) ảnh

hưởng thế nào đối với độ chính xác của

• Các ví dụ lỗi (nhiễu) và/hoặc các ví dụ thiếu

giá trị thuộc tính (missing-value) ảnh hưởng

thế nào đối với độ chính xác?

14

Trang 15

Các vấn đề trong Học máy (3)

• Chiến lược tối ưu cho việc lựa chọn thứ tự sử

dụng (khai thác) các ví dụ học?

• Các chiến lược lựa chọn này làm thay đổi

mức độ phức tạp của bài toán học máy như

thế nào?

• Các tri thức cụ thể của bài toán (ngoài các ví

dụ học) có thể đóng góp thế nào đối với quá

trình học?

Trang 16

Các vấn đề trong Học máy (4)

• 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

phưc tạp của giải thuật và quá trình học

• Các giới hạn đối với khả năng học của các giải thuật học máy?

• Khả năng khái quát hóa của hệ thống từ các ví dụ học?

❑ Để tránh vấn đề “over-fitting” (đạt độ chính xác cao trên tập học, 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ó?

16

Trang 17

Vấn đề over-fitting (1)

Một hàm mục tiêu học được h sẽ được gọi là quá khớp

(over-fit) với một tập học nếu tồn tại một hàm mục tiêukhác h’ sao cho:

học, nhưng

cả những ví dụ được sử dụng sau quá trình huấn luyện)

◼ Vấn đề over-fitting thường do các nguyên nhân:

• Lỗi trong tập huấn luyện

• Số lượng các ví dụ học quá nhỏ, không đại diện cho toàn bộ

tập của các ví dụ của bài toán học

Trang 18

sinh ra đối với tập D_train

◼ Giả thiết h quá khớp (quá phù hợp) tập học D_train

nếu tồn tại một giả thiết khác h’:

• ErrD_train(h) < ErrD_train(h’), và

• ErrD(h) > ErrD(h’)

18

Trang 19

Vấn đề over-fitting (3)

Lưu ý: Mục tiêu của học máy là để đạt được độ chính xác

cao trong dự đoán đối với các ví dụ sau này, không phải đối

với các ví dụ học

f(x)

Occam’s razor: Ưu tiên chọn hàm mục tiêu

đơn giản nhất phù hợp (không nhất thiết

hoàn hảo) với các ví dụ học

→ Khái quát hóa tốt hơn

→ Dễ giải thích/diễn giải hơn

→ Độ phức tạp tính toán íthơn

x

Trong số các hàm mục tiêu học được, hàm mục tiêu nào

khái quát hóa tốt nhất từ các ví dụ học?

Trang 20

Vấn đề over-fitting – Ví dụ

Tiếp tục quá trình học cây quyết định sẽ làm giảm độ chính xác đối

với tập thử nghiệm mặc dù tăng độ chính xác đối với tập học

[Mitchell, 1997]

20

Trang 21

Nội dung môn học

Chương 1 Tổng quan

Chương 2 Tác tử thông minh

Chương 3 Giải quyết vấn đề

Chương 4 Tri thức và suy diễn

Trang 22

Học cây quyết định

Bài toán: quyết định có đợi 1 bàn ở quán ăn không, dựa trên các

thông tin sau:

1 Lựa chọn khác : có quán ăn nào khác gần đó không?

2 Quán rượu : có khu vực phục vụ đồ uống gần đó không?

3 Fri/Sat : hôm nay là thứ sáu hay thứ bảy?

5 Khách hàng : số khách trong quán (không có, vài người,

đầy)

6 Giá c ả : khoảng giá ($,$$,$$$)

8 Đặt chỗ : chúng ta đã đặt trước chưa?

10 Thời gian đợi : 0-10, 10-30, 30-60, >60

Trang 23

Phép biểu diễn dựa trên thuộc tính

(logic, rời rạc, liên tục)

• Ví dụ, tình huống khi đợi 1 bàn ăn

Trang 24

Patrons, WaitEstimates, Alternative, Hungry, Rain

Trang 25

Cây quyết định

… là cách biểu diễn các giả thiết

Trang 26

Không gian giả thiết

Khi có n thuộc tính Boolean, số lượng các cây quyết định là?

Trang 27

Thuật toán ID3

Mục đích: tìm cây thoả mãn tập mẫu

Ý tưởng: (lặp) chọn thuộc tính quan trọng nhất làm gốc của cây/cây con

ID3(Examples, Target_attribute, Attributes)

/* Examples: các mẫu luyện

Target_attribute : thuộc tính cần đoán giá trị

Attributes : các thuộc tính có thể được kiểm tra qua phép học cây quyết định */

• Tạo 1 nút gốc Root cho cây

• If  Examples +, trả về cây chỉ có 1 nút Root, với nhãn +

• If  Examples -, trả về cây chỉ có 1 nút Root, với nhãn –

• If Attributes rỗng, trả về cây chỉ có 1 nút Root, với nhãn = giá trị thường xuất hiện nhất của Target_attribute trong Examples

Trang 28

– Thuộc tính quyết định của nút gốc  A

tính A = vi

– Then, dưới nhánh mới này, thêm 1 lá với nhãn = giá trị

thường xuất hiện nhất của Target_attribute trong

Examples

– Else, dưới nhánh mới này thêm cây con

ID3(Examplesvi, Target_attribute, Attributes - {A}))

• End

• Return Root

Trang 29

Thuộc tính nào tốt nhất?

Sử dụng lượng thông tin đạt được Information Gain

 xác định thông qua độ đo Entropy

Trang 30

•Entropy đo độ nhiễu của S = số các bit cần thiết để

mã hoá lớp + hoặc - của các thành viên ngẫu nhiên

của S

•Entropy(S) = - p+*log2p+ - p-*log2p

-•S là một tập mẫu của tập luyện

•p+ là tỷ lệ các mẫu dương trong S

•p- là tỷ lệ các mẫu âm trong S

Trang 31

Entropy H(X) của biến ngẫu nhiên X:

Ví dụ, với S gồm 9 mẫu dương và 5 mẫu âm, kí hiệu S([9+,5-])

Entropy([9+,5-])

= - (9/14)log2(9/14) – (5/14)log2(5/14)

= 0.940

Trang 32

Entropy S

Sv

A Values

Trang 33

Ví dụ: tập luyện

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

Trang 34

) (

Sv

Entropy S

Sv

A Values

Trang 36

Cây quyết định sử dụng khi nào?

Các bài toán với các đặc tính sau thích hợp với học cây quyết định:

• Các mẫu mô tả được bởi các cặp thuộc tính-giá trị

• Hàm đích có giá trị rời rạc

• Cần có các giả thiết rời rạc

• Các dữ liệu luyện có thể có nhiễu

• Dữ liệu luyện có thể thiếu giá trị thuộc tính

Ví dụ:

• Chẩn đoán y tế

• Phân tích các nguy cơ về tín dụng

• Mô hình hoá việc lập lịch

Trang 37

Đánh giá và lựa chọn mô hình

Trang 38

Đo độ chính xác

Làm sao để biết h ≈ f ?

• Sử dụng lý thuyết tính toán

1 Thử giả thiết h trên 1 tập các ví dụ mới (tập thử) (sử dụng

cùng 1 mức độ phân bố các mẫu như tập luyện)

Learning curve = % chính xác trên tập thử, sử dụng hàm xây dựng

trên tập luyện

Trang 39

Nội dung môn học

Chương 1 Tổng quan

Chương 2 Tác tử thông minh

Chương 3 Giải quyết vấn đề

Chương 4 Tri thức và suy diễn

Trang 40

Học dựa trên các láng giềng gần nhất

• Một số tên gọi khác của phương pháp học dựa trên các láng

giềng gần nhất (Nearest neighbor learning)

─ (Đơn giản là) lưu lại các ví dụ học

─ Không cần xây dựng một mô hình (mô tả) rõ ràng và tổng quát của hàm mục tiêu cần học

• Đối với một ví dụ cần phân loại/dự đoán

─ Xét quan hệ giữa ví dụ đó với các ví dụ học để gán giá trị của hàm mục tiêu (một nhãn lớp, hoặc một giá trị thực)

Trang 41

Học dựa trên các láng giềng gần nhất

• Biểu diễn đầu vào của bài toán

• Mỗi ví dụ x được biểu diễn là một vectơ n chiều trong không gian các vectơ XRn

• x = (x1,x2,…,xn), trong đó xi (R) là một số thực

• Có thể áp dụng được với cả 2 kiểu bài toán học

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

─Hàm mục tiêu có giá trị rời rạc (a discrete-valued target function)

─Đầu ra của hệ thống là một trong số các giá trị rời rạc đã xác định trước (một trong các nhãn lớp)

• Bài toán dự đoán/hồi quy (prediction/regression)

─Hàm mục tiêu có giá trị liên tục (a continuous-valued target function)

─Đầu ra của hệ thống là một giá trị số thực

Trang 42

Ví dụ bài toán phân lớp

Lớp c1 Lớp c2

Trang 43

Ví dụ:

kNN

S1 S2 S3

Trang 45

• Để định nghĩa độ tương tự giữa 2 TH, ta dùng

ma trận

• Giả sử các mẫu là các điểm trong không gian n

j

X

Trang 46

Giải thuật phân lớp k-NN

• Mỗi ví dụ học x được biểu diễn bởi 2 thành phần:

• Mô tả của ví dụ: x=(x1,x2,…,xn), trong đó xiR

• Nhãn lớp : c (C, với C là tập các nhãn lớp được xác định trước)

• Giai đoạn học

• Đơn giản là lưu lại các ví dụ học trong tập học: D = {x}

• Giai đoạn phân lớp: Để phân lớp cho một ví dụ (mới) z

• Với mỗi ví dụ học xD, tính khoảng cách giữa x và z

Trang 47

Giải thuật kNN cho các giá trị rời rạc

Thuật toán (tham số k)

tập luyện

yz = lớp của đa số các thành viên trong k láng giềng gần nhất của z

với δ(a,b) = 1 nếu a = b và 0 nếu ngược lại

v

f(Xi)) (v,

argmax

(Xq)

Trang 48

Giải thuật dự đoán k-NN

• Mỗi ví dụ học x được biểu diễn bởi 2 thành phần:

• Mô tả của ví dụ: x=(x1,x2,…,xn), trong đó xiR

• Giá trị đầu ra mong muốn: yxR (là một số thực)

• Giai đoạn học

• Đơn giản là lưu lại các ví dụ học trong tập học D

• Giai đoạn dự đoán: Để dự đoán giá trị đầu ra cho ví dụ z

• Đối với mỗi ví dụ học xD, tính khoảng cách giữa x và z

Trang 49

Một hay nhiều láng giềng gần nhất?

• Việc phân lớp (hay dự đoán) chỉ dựa trên duy nhất một láng giềng gần nhất (là ví dụ học gần nhất với ví dụ cần phân

lớp/dự đoán) thường không chính xác

• Nếu ví dụ học này là một ví dụ bất thường, không điển hình (an outlier) – rất khác so với các ví dụ khác

• Nếu ví dụ học này có nhãn lớp (giá trị đầu ra) sai – do lỗi trong quá trình thu thập (xây dựng) tập dữ liệu

• Thường xét k (>1) các ví dụ học (các láng giềng) gần nhất với

ví dụ cần phân lớp/dự đoán

• Đối với bài toán phân lớp có 2 lớp, k thường được chọn là

một số lẻ, để tránh cân bằng về tỷ lệ các ví dụ giữa 2 lớp

• Ví dụ: k= 3, 5, 7,…

Trang 50

• Các hàm khoảng cách hình học: Dành cho các bài toán có các

thuộc tính đầu vào là kiểu số thực (xiR)

• Hàm khoảng cách Hamming: Dành cho các bài toán có các

thuộc tính đầu vào là kiểu nhị phân (xi{0,1})

• Hàm tính độ tương tự Cosine: Dành cho các bài toán phân lớp

văn bản (xi là giá trị trọng số TF/IDF của từ khóa thứ i)

Trang 51

x d

1

),(

x d

1

2

) , (

p n

i

p i

i z x z

x d

/ 1

1

),

i x − z

= max

p n

i

p i i

z x d

/ 1

1

lim)

Trang 52

Hàm tính khoảng cách (3)

Hamming

• Đối với các thuộc tính đầu

vào là kiểu nhị phân ({0,1})

x d

1

) , ( )

, (

, 0

) (

, 1 )

,

(

b a if

b a if b

a Difference

z x

z x z

x

z

x z

x d

1

2 1

2

1

)

, (

Trang 53

Chuẩn hóa miền giá trị thuộc tính

• Hàm tính khoảng cách Euclid:

• Giả sử mỗi ví dụ được biểu diễn bởi 3 thuộc tính: Age, Income (cho mỗi tháng), và Height (đo theo mét)

• x = (Age=20, Income=12000, Height=1.68)

• z = (Age=40, Income=1300, Height=1.75)

• Khoảng cách giữa x và z

• d(x,z) = [(20-40) 2 + (12000-1300) 2 + (1.68-1.75) 2 ] 1/2

• Giá trị khoảng cách bị quyết định chủ yếu bởi giá trị khoảng cách (sự khác biệt) giữa 2 ví dụ đối với thuộc tính Income

→ Vì: Thuộc tính Income có miền giá trị rất lớn so với các thuộc tính khác

• Cần phải chuẩn hóa miền giá trị (đưa về cùng một khoảng giá trị)

• Khoảng giá trị [0,1] thường được sử dụng

• Đối với mỗi thuộc tính i: x = x /max(f )

x d

1

2

) , (

Trang 54

Trọng số của các thuộc tính

• Hàm khoảng cách Euclid:

• Tất cả các thuộc tính có cùng (như nhau) ảnh hưởng đối với giá trị khoảng cách

• Các thuộc tính khác nhau có thể (nên) có mức độ ảnh hưởng

khác nhau đối với giá trị khoảng cách

• Cần phải tích hợp (đưa vào) các giá trị trọng số của các thuộc tính trong hàm tính khoảng cách

• wi là trọng số của thuộc tính i:

• Làm sao để xác định các giá trị trọng số của các thuộc tính?

• Dựa trên các tri thức cụ thể của bài toán (vd: được chỉ định bởi các chuyên gia trong lĩnh vực của bài toán đang xét)

• Bằng một quá trình tối ưu hóa các giá trị trọng số (vd: sử dụng một tập học để học một bộ các giá trị trọng số tối ưu)

x d

1

2

) , (

w z

x d

1

2

) , (

Trang 55

Khoảng cách của các láng giềng (1)

• Xét tập NB(z) – gồm k ví dụ học gần

nhất với ví dụ cần phân lớp/dự đoán z

• Mỗi ví dụ (láng giềng gần nhất) này có

khoảng cách khác nhau đến z

• Các láng giềng này có ảnh hưởng như

nhau đối với việc phân lớp/dự đoáncho

• Cần gán các mức độ ảnh hưởng (đóng

góp) của mỗi láng giềng gần nhất tùy

theo khoảng cách của nó đến z

• Mức độ ảnh hưởng cao hơn cho các

láng giềng gần hơn!

Test instance z

Trang 56

Khoảng cách của các láng giềng (2)

• Đối với một giá trị d(x,z) – khoảng cách giữa x và z

• v(x,z) tỷ lệ nghịch với d(x,z)

)) ( , ( ).

, ( max

arg )

(

z NB x

j C

c

x c c Identical z

x v z

, 0

) (

, 1 )

, (

b a if

b a if b

a Identical

) (

),(

)()

,()

(

z NB x

z NB x

z x v

x f z x v z

f

) , (

1 )

,

(

z x d

z x

1 )

,

(

z x d

z x v

) ,

z x d

e z

x v

=

Ngày đăng: 18/11/2020, 18:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w