1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn môn nhập môn khai phá dữ liệu và máy học Đề số 07 cho csdl như bảng dưới Đây sử dụng thuật toán Độ lộn xộn Để rút ra quyết Định (dự báo) quy luật Để Đậu(Đỗ) Đại học hoặc không

22 0 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

Tiêu đề Sử Dụng Thuật Toán Độ Lộn Xộn Để Rút Ra Quyết Định (Dự Báo) Quy Luật Để Đậu(Đỗ) Đại Học Hoặc Không
Tác giả Nguyễn Phi Hùng, Bùi Hiếu Minh
Người hướng dẫn PSG. Nguyễn Quang Hoan
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Nhập Môn Khai Phá Dữ Liệu Và Máy Học
Thể loại Bài Tập Lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 1,37 MB

Nội dung

Chung cho mỗi nhóm sinh viên như sau có thể phát triển cho đồ án TN sau nàya Hãy nghĩ một đầu bài liên quan tới công việc: xây dựng cơ sở dữ liệu hoặc lấy dữliệu từ các thư viện trên mạn

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN MÔN: NHẬP MÔN KHAI PHÁ DỮ LIỆU VÀ MÁY HỌC

Trang 2

Học lực Học thêm Kết quả

Câu 2 Sử dụng mạng Perceptron cho bài toán phân lớp Đối tượng phân lớp và dữ liệu tựchọn

Câu 3 Chung cho mỗi nhóm sinh viên như sau (có thể phát triển cho đồ án TN sau này)a) Hãy nghĩ một đầu bài liên quan tới công việc: xây dựng cơ sở dữ liệu hoặc lấy dữliệu từ các thư viện trên mạng hoặc trong Python

b) Sử dụng một trong các mạng nơ ron học sâu (sẽ dạy ở các buổi tiếp theo) để nhậndạng hoặc phân lớp đối tượng Đối tượng tùy chọn (ví dụ phân loại hoa quả, nhậndạng biển số xe, nhận dạng mặt người…)

c) Đánh giá độ chính xác

Trang 3

Mục lục

Câu 1: Sử dụng thuật toán độ lộn xộn 2

Câu 2: Thiết kế cổng logic AND-Neural-Gate sử dụng mạng Perceptron 6

Mô hình tổng quát 6

Bảng chân lý cổng AND 6

Trọng số khởi tạo (ban đầu): 6

Hàm kích hoạt: 6

Pha học: 7

Vòng 1 : 7

Vòng 2: 8

Vòng 3: 9

Pha chạy: 10

Sơ đồ dự đoán 11

Câu 3: Mạng nơ ron tích chập CNN 12

Tài liệu tham khảo 21

Trang 4

Câu 1: Sử dụng thuật toán độ lộn xộn

BƯỚC 1: Hoàn toàn tương tự như thuật toán Quinlan dung phương pháp “chia để trị

(tức tạo cây)

Học lực: A3 Điều kiện kinh tế:

Trang 5

BƯỚC 2: Chọn gốc: Tính toán theo độ lộn xộn dùng Entropy

BƯỚC 4: Viết luật, dựa vào E=0 ở EA3

Luật 1 : IF ‘ A3’ là Giỏi

THEN ‘kết quả’ là Đậu

Trang 6

Luật 2 : IF ‘A3’ là Trung Bình

THEN ‘kết quả’ là Không Đậu

BƯỚC 5: Tổ hợp chập 2 đặc trưng đầu vào, ta có 3 trường hợp sau:

Xóa nhánh A3(j=1), A3(j=3)

J=1

Khá

(a) (A3 là khá) AND (A1: Bố mẹ đỗ đại học)

(b) (A3 là khá) AND (A2: Điều kiện kinh tế)

Luật 3 : IF (A1 là ‘khá) ʌ (A4 là ‘có”)

THEN “kết quả” là “đậu”

Luật 4: IF (A1 là ‘khá’) ʌ (A4 là ‘không’)

THEN “kết quả” là “không đậu”

Trang 7

Nhận xét 1: Có thể kết hợp 4 luật thành hai luật:

IF (A1 là “giỏi”) ¿(A1 là ‘khá’) ʌ (A4 là ‘có’)) THEN “kết quả” là “đỗ”

IF (A1 là “trung bình”) ¿( (A1 là ‘khá’) ʌ (A4 là ‘không’))

THEN “kết quả” là “không đỗ”

Trang 8

Câu 2: Thiết kế cổng logic AND-Neural-Gate sử dụng mạng Perceptron

Trang 9

Pha học:

Vòng 1 :

B1 Xét mẫu thứ 1: có véc tơ đặc trưng(véc tơ vào): x = (0, 0);véc tơ ra (nhãn): d1=0 ;

B1.1: tính trạng thái của nơ ron: u1= x1w1 + x2w2 + w0 = 0*0,3+0*0,4 - 0,2 = -0,2B1.2: Tính đầu ra: y1 = f (u1) = f (x1w1 + x2w2 + w0)=f(-0,2<0) → y1=0 (giống giá trị mong muốn 0)

B1.3 Tính sai số e1 = d1 - y1 = 0 - 0 = 0 => Đúng

B1.4 : Không tính lại tập trọng số

B2 : Xét mẫu thứ 2 : có véc tơ đặc trưng (véc tơ vào): x= (0, 1) ; véc tơ ra (nhãn) : d2=0

B2.1: Tính trạng thái của mẫu số 2 :

u2 = x1w1 + x2w2 + w0 = 0*0,3 + 1*0,4 -0,2 = 0,2

B2.2: Tính đầu ra của mẫu hai :

y2 = f(u2)= f (x1w1 + x2w2 + w0) = f(0,2>0) → y2=1(không giống giá trị mong muốn 0)

B2.3: Tính sai số của mẫu hai : e2 = d2 –y2 = 0 - 1= -1 ≠ 0 => Đúng

B2.4: Tính lại tập trọng số

w0(k+1)= w0(k) + (d2-y2)x0 = -0,2 + 0,1*(0 - 1)*1 = -0,3w1(k+1)= w1(k) + (d2-y2)x1 = 0,3 + 0,1*(0 - 1)*1 = 0,2w2(k+1)= w2(k) + (d2-y2)x2 = 0,4 + 0,1*(0 - 1)*0 = 0,3

B3: Xét mẫu thứ 3: có véc tơ đặc trưng (véc tơ vào): x= (1, 0) ; véc tơ ra (nhãn): d3=0

B3.1:Tính trạng thái của mẫu 3:

Trang 10

B4.1: Tính trang thái của mẫu 4:

Bước 5 :Điều kiện dừng của thuật toán : căn cứ tổng sai số tuyệt đối của 4 mẫu : tính

tổng sai số tuyệt đối của 4 bước :

e = /e1/+/e2/+/e3/+/e4/ = 1 0

Kết luận : Có sai :Quay lại tính tiếp vòng 2

Kết luận : giữ nguyên tập trong số

Xét mẫu thứ 2 : có véc tơ đặc trưng (véc tơ vào): x= (0, 1) ; véc tơ ra (nhãn) : d2=0

u1 = x1w1 + x2w2 + w0 = 0*0,2 + 1*0,3 - 0,3 = 0

y3 = f (u) = f (x1w1 + x2w2 + w0)=f(0=0) → y2=1

e2 = d2 –y2= 0 – 1 = 1 ≠ 0 => SaiTính lại tập trọng số

w0(k+1)= w0(k) + (d2-y2)x0 = -0,2 + 0,1*(0 - 1)*1 = -0,3w1(k+1)= w1(k) + (d2-y2)x1 = 0,2 + 0,1*(0 - 1)*1 = 0,1w2(k+1)= w2(k) + (d2-y2)x2 = 0,3 + 0,1*(0 - 1)*0 = 0,2

Xét mẫu thứ 3 : có véc tơ đặc trưng (véc tơ vào): x= (1, 0) ; véc tơ ra (nhãn) : d3=0

u3 = x1w1 + x2w2 + w0 = 1*0,1 + 0*0,2 – 0,3 = -0,2

y3 = f (u) = f (x1w1 + x2w2 + w0)=f(-0,2<0) → y3=0

e3 = d3 –y3 = 0 - 0 = 0 => Đúng

Trang 11

Kết luận : giữ nguyên tập trong số

Xét mẫu thứ 4 : có véc tơ đặc trưng (véc tơ vào): x=(1, 1); véc tơ ra (nhãn): d4 = 1

u4= x1w1 + x2w2 + w0 = 1*0,1 + 1*0,2 – 0,3 = 0

y4 = f(u)= f(x1w1 + x2w2 + w0)=f(0=0) → y4=1

e4 = d4 –y4 = 1-1 = 0=> Đúng

Kết luận : giữ nguyên tập trong số ban đầu đã cho

Điều kiện dừng của thuật toán : căn cứ tổng sai số tuyệt đối của 4 mẫu : tính tổng sai số tuyệt đối của 4 bước :

e = /e1/+/e2/+/e3/+/e4/ = 1 0

Kết luận : Có sai :Quay lại tính tiếp vòng 3

Kết luận : giữ nguyên tập trọng số ban đầu đã cho

Xét mẫu thứ 2 : có véc tơ đặc trưng (véc tơ vào): x= (0, 1) ; véc tơ ra (nhãn) : d2=0

u1= x1w1 + x2w2 + w0 = 0*0,1 + 1*0,2 - 0,3= -0,1

y2 = f (u) = f (x1w1 + x2w2 + w0)=f(-0,1<0) → y2=0

e2 = d2 –y2 = 0-0 =0=> Đúng

Kết luận : giữ nguyên tập trọng số

Xét mẫu thứ 3 : có véc tơ đặc trưng (véc tơ vào): x= (1, 0) ; véc tơ ra (nhãn) : d3=0

u3 = x1w1 + x2w2 + w0 = 1*0,1 + 0*0,2 – 0,3 = -0,2

y3 = f (u) = f (x1w1 + x2w2 + w0)=f(-0,2<0) → y3=0

e3 = d3 –y3 = 0-0 = 0 => Đúng

Kết luận : giữ nguyên tập trọng số

Trang 12

u4 = x1w1 + x2w2 + w0 = 1*0,1+1*0,2 - 0,3 = 0

y4 = f(u) = f(x1w1 + x2w2 + w0)=f(0=0) → y4=1

e4 = d4 –y4 = 1 – 1 = 0 => Đúng

Kết luận : giữ nguyên tập trọng số

Điều kiện dừng của thuật toán : căn cứ tổng sai số tuyệt đối của 4 mẫu : tính tổng sai số tuyệt đối của 4 bước :

e = /e1/+/e2/+/e3/+/e4/ = 0 => Thỏa mãn điều kiện dừng

Kết luận : giữ nguyên tập trọng số ban đầu đã cho

Xét mẫu thứ 2 : có véc tơ đặc trưng (véc tơ vào): x= (0, 1) ; véc tơ ra (nhãn) : d2=0

u1= x1w1 + x2w2 + w0 = 0*0,1 + 1*0,2 - 0,3= -0,1

y2 = f (u) = f (x1w1 + x2w2 + w0)=f(-0,1<0) → y2=0 (giống giá trị mong muốn)

e2 = d2 –y2 = 0-0 =0=> Đúng

Kết luận : giữ nguyên tập trọng số

Xét mẫu thứ 3 : có véc tơ đặc trưng (véc tơ vào): x= (1, 0) ; véc tơ ra (nhãn) : d3=0

u3 = x1w1 + x2w2 + w0 = 1*0,1 + 0*0,2 – 0,3 = -0,2

y3 = f (u)= f (x1w1 + x2w2 + w0)=f(-0,2<0) → y3=0(giống giá trị mong muốn)

Trang 13

e3 = d3 –y3 = 0 - 0 = 0 => Đúng

Kết luận : giữ nguyên tập trọng số

Xét mẫu thứ 4 : có véc tơ đặc trưng (véc tơ vào): x=(1, 1); véc tơ ra (nhãn): d4 =1

Trang 14

Câu 3: Mạng nơ ron tích chập CNN

Bài toán nhận dạng là X hay O

Trong trò cờ caro Cần nhận biết ký tự là X hay O

Khi zoom lên vào các ký tự X và O Ta nhận thấy nó chính là các pixel

Trang 15

Ta đặt các pixel đen tương ứng với 1 còn trắng tương ứng với 0 Như với chữ O dưới đây:

Chữ X:

Trong trò chơi caro này mỗi ô đều có kích thước 6x6 pixels

Sử dụng mạng CNN (mạng tích chập)

Ưu điểm của thuật toán này:

- Giảm số nút đầu vào

- Ít bị ảnh hưởng bới các thay đổi nhỏ trong các pixel

- Tận dụng được sự tương quan trong hình ảnh

Trang 16

Mạng CNN sẽ sử dụng một filter(kernel) vào hình ảnh đầu vào (Ở đây sử dụng hình ảnh chữ O)

Độ dày sẽ được quyết định bằng thuật toán lan truyền ngược (BackPropagration)

Trước khi huấn luyện, ta có giá trị pixel ngẫu nhiên:

Sau khi sử dụng thuật toán lan truyền ngược:

Đặt filter lên ảnh và nhân các ô với vị trí tương ứng Như với filter trên áp vào hình ảnh đầu vào O:

(0x0) + (0x0) + (1x1) + (0x0) + (1x1) + (0x0) + (1x1) + (0x0) + (0x0) = 3

Phép cộng trên được gọi là Dot Product (tích vô hướng)

Trang 17

Sau khi thực hiện xong phép tính trên Ta có thể nói rằng Filter đã được tích chập với ảnhinput.

Từ giá trị: 3 ở trên

(0x0) + (0x0) + (1x1) + (0x0) + (1x1) + (0x0) + (1x1) + (0x0) + (0x0) = 3

Cộng với b (Bias vào giá trị trên) = -2

Sau đó từ ảnh input trên dịch sang bên phải một cột và tiếp tục tính như trên:

Trang 18

Sau đó được bảng feature đầy đủ:

Sử dụng thuật toán ReLu áp dụng vào feature map trên

Đặt các giá trị âm thành 0 các giá trị dương vẫn như trước

Feature map sau khi sử dụng thuật toán ReLu

Trang 19

Ta thấy các giá trị âm sẽ trở thành 0 còn các giá trị dương giữ nguyên

Sau đó ta áp lên feature một filter nữa Nhưng filter này chỉ lấy giá trị max của mỗi vùng.Điều này được gọi là Max Polling:

Max pooling có tác dụng như thế nào đối với ví dụ này?

Max pooling sẽ thể hiện các khu vực mà filter giống nhất với ảnh đầu vào

Từ max pooling trên chuyển về vecto cột

Max pooling dạng cột chính là đầu vào

Trang 20

Hidden layer chính là hàm ReLu với một nút duy nhất

Và 2 nút đầu ra xác định xem là X hay O

- Cộng các giá trị đầu vào của max pooling với b (bias là bằng 0.97)

(1x-0.8) + (0x-0.07) + (0x0.2) + (1x0.17) + 0.97 = 0.34

Đưa giá trị 0.34 qua hàm ReLu Ta được giá trị = 0.34

- Tiếp tục đưa giá trị qua 2 output Ta được các giá trị:

Trang 21

Nếu dịch chuyển ảnh lệch đi thì sao? Mạng học sâu vẫn xác định được

Ta có thể rằng giá trị đầu ra bằng -0,2 với đầu ra của O

Và bằng 1,23 với đầu ra của X

Mạng học sâu vẫn xác định được đây là X

Trang 22

Tài liệu tham khảo

[1] Deep-learning-co-ban-v2-NGUYỄN THANH TUẤN

[2] Machine Learning cơ bản - Origine

[3] Introduction to Machine Learning - Ethem Alpaydin.2004

[4] Vũ Hữu Tiệp, Machine Learning cơ bản 2018

[5] AI 2nd addition MICHAEL NEGNEVITSKY

Ngày đăng: 04/11/2024, 12:25

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

TÀI LIỆU LIÊN QUAN

w