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

Bài giảng Trí tuệ nhân tạo: Chương 5 - Lý Anh Tuấn

43 43 0

Đ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 43
Dung lượng 694,97 KB

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

Nội dung

Chương 5 giúp người học hiểu về "Học máy". Nội dung trình bày cụ thể gồm có: Một số khái niệm, cây quyết định, học cây quyết định, thuật toán dựng cây, tập dữ liệu huấn luyện, cây phức tạp, gia lượng thông tin của tất cả các thuộc tính,...

Trang 1

1

Học Máy

– Cây quyết định

– Mạng neural

Trang 2

2

Học Máy

• Học (learning) là bất cứ sự thay đổi nào trong một

hệ thống cho phép nó thi hành tốt hơn ở lần thứ hai khi lặp lại cùng một nhiệm vụ hoặc với nhiệm vụ

khác từ tập các nhiệm vụ

• Học liên quan đến vấn đề khái quát hóa từ kinh

nghiệm (dữ liệu huấn luyện) => bài toán quy nạp

• Nhiệm vụ học

– Xác định người học cần học cái gì ?

– Người học cần được cung cấp những gì ?

– Đánh giá thành tích học

Trang 3

3

Một số khái niệm

• Tập ví dụ huấn luyện (training set, training example): Là các

ví dụ đã biết trước kết quả phân l ớp cũng như các giá trị của các thuộc tính, dùng để xây dựng nên cây quyết định

• Mẫu (instance): Là một trường hợp cụ thể cần phân lớp Một mẫu là một ví dụ cụ thể, biết một số hay toàn bộ các giá trị

của các thuộc tính song không biết giá trị của thuộc tính phân lớp

• Thuộc tính đích (target distribute): Là thuộc tính chỉ ra một ví

dụ thuộc một lớp nào đó, còn có tên gọi khác là thuộc tính

phân lớp

• Hàm học (target function/ learning function): VD cây quyết

định cần xây dựng, có chức năng phân lớp các mẫu

Trang 4

4

Một số khái niệm

• Ví dụ: Phân loại ba loại quả Mơ, Mận, Đào:

– Xác định hàm f: từ tập M là tập gồm 3 loại quả Mơ, Mận, Đào => Tên quả = {Mơ, Mận, Đào}

Hàm f gọi là hàm mục tiêu hay còn gọi là hàm học

– Tập các ví dụ huấn luyện: D={(a, b)| a  M, b là tên quả}

– Đánh giá thành tích: Cho xác định tên quả, xác định tỉ

lệ đúng

Trang 5

5

Cây quyết định

Trang 6

• Mỗi nhánh tương ứng với giá trị của thuộc tính

Thị trường London sẽ tăng trưởng ngày hôm nay

{ day1 }

Thị trường London sẽ tăng

trưởng ngày hôm nay

Ra quyết định: Thị trường London tăng trưởng hôm nay?

Trang 7

• Xác định và loại bỏ các nhánh phản ánh nhiễu hoặc dị biệt

• Sử dụng cây quyết định: Phân loại một đối tượng chưa biết

– Kiểm tra các giá trị thuộc tính của đối tượng dựa vào cây quyết định

7

Trang 8

Ví dụ: Cây quyết định Chơi Tennis

• Mục đích: Kiểm tra xem sáng thứ sáu nào thì thích hợp cho việc chơi tennis

• Cây quyết định:

Quang cảnh nắng Âm u mưa

cao Trung bình mạnh nhẹ

Không

Có Không

VD: Trường hợp (Quang cảnh=nắng, Nhiệt độ=Nóng, Độ ẩm=cao, Gió=mạnh) thì Chơi Tennis = Không

Trang 9

9

Thuật toán dựng cây

Ở mỗi nút của cây:

Trang 10

10

Tập dữ liệu huấn luyện

Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi Tennis

D14 Mưa ấm áp Cao Mạnh Không

Giá trị của các thuộc tính + Phân loại ví dụ

Trang 12

Cây đơn giản

cao bình thường

Có Không

mạnh nhẹ

Cây đơn giản hơn nhiều khi chọn Quang cảnh làm nút gốc

Occam’s razor: cái đơn giản thường là cái tốt nhất!

Trang 13

[29+, 36-] A1 = ? [29+, 36-] A2 = ?

[21+, 6-] [8+, 30-] [18+, 34-] [11+,2-]

Trang 14

14

Entropy

Entropy đo độ pha trộn của một tập đối tượng bất kỳ,

bất kỳ trong tập

S là tập các đối tượng dương và âm

là tỉ lệ đối tượng dương trong S

là tỉ lệ đối tượng âm trong S

Trang 15

Entropy

Hàm entropy tương

ứng với phân lớp

Boolean, vì tỉ lệ

của các đối tượng

dương biến thiên

Entropy

1

2

log)

(

p

Trang 16

1 Entropy bằng 0 nếu tất cả các phần tử của S cùng

thuộc một lớp

2 Entropy bằng 1 nếu tập bao chứa số lượng ví dụ

dương và âm bằng nhau Nếu chúng không bằng nhau entropy nằm giữa 0 và 1

16

Trang 17

Gia lượng thông tin

Information Gain

Gain(S, A) = Lượng giảm entropy mong đợi qua việc chia các ví

dụ theo thuộc tính A

trong đó:

- Values(A) là tập tất cả các giá trị có thể có của thuộc tính A

- Sv là tập con của S mà thuộc tính A của các phần tử có giá trị v

( )

,

(

A Values v

v

v

S

Entropy S

S S

Entropy A

S Gain

Trang 18

Gia lượng thông tin

( )

,

(

Manh Yeu

S S

Entropy Gió

S Gain

Trang 22

22

Điều kiện dừng

1 Nhánh hiện tại của cây đã chứa tất cả các thuộc tính có thể có

2 Các ví dụ huấn luyện liên kết với mỗi nút lá đều

âm hoặc đều dương (tức là entropy của chúng bằng 0)

Lưu ý: Thuật toán ID3 sử dụng Information Gain

để xây dựng cây quyết định

Trang 23

23

Overfitting trong cây quyết định

• Cây quyết định có thể quá khớp (overfit) với dữ liệu

huấn luyện:

– Có quá nhiều nhánh, phản ánh sự bất thường do nhiễu

hoặc dị biệt

– Dẫn đến phân loại thiếu chính xác các đối tượng chưa gặp

• Hai tiếp cận để tránh overfitting

– Cắt tỉa trước: Dừng việc xây dựng cây sớm – không phân chia một nút nếu việc này làm cho độ tốt của cây rơi

xuống dưới một ngưỡng

– Cắt tỉa sau: Loại bỏ các nhánh khỏi một cây đã được phát triển đầy đủ - nhận được một chuỗi liên tiếp các cây được cắt tỉa

Trang 24

cao Trung bình mạnh nhẹ

không

có không

Trang 25

25

Đánh giá hiệu suất

• Mục đích: một cây quyết định có thể phân loại đúng một

ví dụ chưa từng gặp

• Việc học sử dụng một “tập huấn luyện”

• Việc đánh giá hiệu suất sử dụng một “tập kiểm tra”:

1 Thu thập một tập lớn các ví dụ

2 Chia thành tập huấn luyện và tập kiểm tra

3 Sử dụng giải thuật và tập huấn luyện để xây dựng cây quyết

định h

4 Đo phần trăm tập kiểm tra được phân loại đúng bởi h

5 Lặp lại bước 1 đến 4 cho các tập kiểm tra có kích cỡ khác nhau được chọn ngẫu nhiên

Trang 26

Bài tập

• Thuộc tính nào là gốc của cây quyết định được huấn

luyện bởi tập dữ liệu sau?

26

Height Hair Eyes Attractive?

Trang 27

27

Mạng nơron

Trang 28

28

Mạng nơron

• Ưu điểm

– Mức độ dự đoán chính xác tương đối cao

– Làm việc cả khi các đối tượng huấn luyện có chứa lỗi – Đầu ra có thể là rời rạc, giá trị thực hoặc một véc tơ các thuộc tính rời rạc hoặc giá trị thực

– Ước lượng nhanh nếu hàm mục tiêu đã được học

Trang 29

29

Perceptron

• Khái niệm cơ bản

– Perceptron là một mô hình đơn giản nhất của mạng nơron

– Percetron biểu diễn hàm boolean của n biến (x1, x2,… xn) với xi

wn

w1

w0

y (1/0)

Trang 30

30

Perceptron

• Trong đó:

• Khả năng biểu diễn:

– là phương trình của một siêu phẳng – Perceptron chỉ biểu diễn được các hàm siêu phẳng tuyến tính,

siêu phẳng này chia không gian thành 2 phần

i x w w x w x

w

0

1 1

0 1

s s

0

1 1

0  w x   w n x n

w

Trang 31

31

Perceptron

• Ví dụ:

– Xây dựng perceptron biểu diễn các hàm boolean:

AND, OR, NAND, NOR

– Xây dựng một mạng nơron kết hợp các perceptron

để biểu diễn các hàm boolean: XOR, NXOR

Giả sử các giá trị logic 1(true) và -1(false)

AND: w0=-.8, w1=w2=.5

OR: w0=.3, w1=w2=.5

XOR: ?

Trang 32

32

Luật học perceptron

• Hàm cần học: là hàm biểu diễn được bằng perceptron

• Giá trị đầu ra: y = f (x1, x2,… xn)

• Tập ví dụ huấn luyện:

D = {(x, t) | x= (x1, x2,… xn), t = 1/0}

• Nhiệm vụ: là xác định vector trọng số w = (w1, w2,… wn) sao cho khi đưa giá trị vào x thì giá trị ra tương ứng y=t

Trang 33

33

Luật học perceptron

• Tư tưởng: xuất phát từ việc khởi tạo 1 bộ trọng số ngẫu nhiên tính được đầu ra, căn cứ vào đầu ra điều chỉnh đầu vào

• Thuật toán:

i Khởi tạo vector trọng số (w0,w1 ,wn), wi nhỏ Ví dụ:

chọn (-0,5, 0,5)

ii.Bước lặp: Đối với mọi ví dụ huấn luyện d=(x,t)  D

• Tính đầu ra Ô của Perceptron ứng với x

• Cập nhật trọng số theo công thức wi  wi +

(i=0,1, ,n) ( : hằng số dương nhỏ gọi là tốc độ học) i

x Ô

t ) ( 

Trang 34

34

Mạng nơron truyền thẳng nhiều

tầng

Một mạng nơ ron truyền thẳng nhiều tầng:

Một ví dụ huấn luyện, X=(x1, x2, …, xi) được đưa vào

tầng đầu vào Giữa các tầng tồn tại các liên kết có trọng

số, trong đó wij thể hiện trọng số từ một đơn vị j ở một tầng tới một đơn vị i ở một tầng phía trước

Trang 35

35

Mạng nơron truyền thẳng nhiều

tầng

• Thuật toán lan truyền ngược thực

hiện việc học trên một mạng nơron

truyền thẳng nhiều tầng

• Đầu vào tương ứng với số các thuộc

tính dùng đánh giá các đối tượng

Trang 37

37

Xác định một tôpô cho mạng

• Trước khi huấn luyện người sử dụng phải quyết định tô

pô cuả mạng: số lượng các tầng, số lượng các đơn vị ở mỗi tầng

• Thường thì các giá trị đầu vào được chuẩn hoá sao cho rơi vào trong khoảng 0,1 hoặc -1,1 Các thuộc tính có

giá trị riêng rẽ có thể được mã hoá sao cho có một đơn

vị đầu vào cho mỗi miền giá trị

• Một đơn vị đầu ra có thể được sử dụng để đại diện cho hai lớp Nếu nhiều hơn hai lớp, thì sử dụng một đơn vị đầu ra cho mỗi lớp

• Không có quy tắc rõ ràng để xác định số lượng “tốt nhất” các đơn vị tầng ẩn Thiết kế mạng là quá trình thử- và-lỗi

Trang 38

38

Huấn luyện mạng nơron

• Mục tiêu chính của việc huấn luyện:

– Thu được một tập các trọng số làm cho hầu hết các đối tượng trong tập dữ liệu huấn luyện được phân

loại chính xác

• Các bước:

– Khởi tạo các trọng số với các giá trị ngẫu nghiên

– Lần lượt đưa từng đối tượng đầu vào vào trong mạng – Với mỗi đơn vị:

• Tính toán đầu vào thực sự của đơn vị là sự kết hợp tuyến tính tất cả các đầu vào của đơn vị

• Tính toán giá trị đầu ra bằng việc sử dụng hàm hoạt hoá

• Tính toán lỗi

Trang 39

39

Thuật toán lan truyền ngược

• Học bằng cách lặp lại việc xử lý một tập các đối tượng huấn luyện, so sánh dự đoán mạng của mỗi đối tượng với nhãn lớp đã biết của nó (sai số)

• Các trọng số được chỉnh sửa để làm cực tiểu sai số

trung bình bình phương Việc chỉnh sửa được thực hiện theo chiều “đi lùi”: từ tầng đầu ra, xuyên qua mỗi tầng ẩn xuống tầng đầu tiên

• Đầu vào: Các đối tượng huấn luyện, tốc độ học l, một

mạng truyền thẳng nhiều tầng

• Đầu ra: Mạng nơron được huấn luyện để phân lớp các đối tượng

Trang 40

• Lan truyền các đầu vào về phía trước

– Tính đầu vào và đầu ra của mỗi đơn vị ẩn và đơn vị đầu ra

– Đầu vào được tính theo công thức: Ij = Σi wij Oi + θj

– Ví dụ đầu ra có thể được tính bởi hàm sigmoid Oj = 1/(1+e -Ij )

• Lan truyền ngược sai số

– Sai số được tính toán và được lan truyền ngược lại bằng cách cập nhật các trọng số (wij = wij + Δwij) và bias (θj = θj + Δθj) để phản hồi sai số dự đoán của mạng

Trang 41

41

Thuật toán lan truyền ngược

Trang 42

42

Thuật toán lan truyền ngược

Khởi tạo các trọng số và các bias trong mạng

While điều kiện dừng chưa được thoả mãn {

for mỗi đối tượng huấn luyện X { /* lan truyền thẳng đầu vào */

for mỗi đơn vị tầng ẩn hoặc tầng đầu ra j {

Ij = Σi wijOi + θj /* tính toán đầu vào thực sự của đơn vị j dựa vào tầng phía

trước */

Oj = 1/(1+e -Ij ) }

for mỗi đơn vị j ở tầng đầu ra /* lan truyền ngược các sai số */

Errj = Oj(1 - Oj)(Tj – Oj) /* tính toán sai số */

for mỗi đơn vị j ở các tầng ẩn, từ tầng ẩn cuối cùng đến tầng ẩn đầu tiên

Errj = Oj(1 - Oj) Σk Errkwjk /* tính toán sai số dựa vào tầng cao hơn tiếp theo k */ for mỗi trọng số wij trong mạng {

Δ wij = (l) Errj Oi /* số gia trọng số */

wij = wij + Δ wij } /* cập nhật trọng số */

for mỗi bias θj trong mạng {

θj = (l) Errj /* số gia bias */

θj = θj + Δ θj } /* cập nhật bias */

}}

Trang 43

Bài tập

• Xét mạng đơn giản sau đây:

Giả sử các nơron sử dụng hàm hoạt hóa Sigmoid

(i) Thực hiện một lần truyền thẳng trên mạng

(ii) Thực hiện một lần (huấn luyện) truyền ngược (mục tiêu = 0.5) (iii) Thực hiện thêm một lần truyền thẳng và nhận xét kết quả

Ngày đăng: 27/06/2020, 08:51

HÌNH ẢNH LIÊN QUAN

– Perceptron là một mô hình đơn giản nhất của mạng nơron. – Percetron biểu diễn hàm boolean của n biến (x 1, x2,… xn ) với x i - Bài giảng Trí tuệ nhân tạo: Chương 5 - Lý Anh Tuấn
erceptron là một mô hình đơn giản nhất của mạng nơron. – Percetron biểu diễn hàm boolean của n biến (x 1, x2,… xn ) với x i (Trang 29)

TỪ KHÓA LIÊN QUAN

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