1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo đồ án xây dựng mô hình ai

40 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 đề Xây dựng mô hình AI
Tác giả Bàng Mỹ Linh, Nguyễn Trần Trung Kiờn, Dao Sy Duy, Nguyễn Lõm Minh Phỳ
Người hướng dẫn Nguyễn Bảo Long
Trường học Trường Đại học Khoa học Tự nhiên
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo đồ án
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 40
Dung lượng 6,02 MB

Nội dung

Nhưng nếu chúng ta có thể chuyển đổi dữ liệu sang một hệ cơ sở mới mà ở đó, sự quan trọng giữa các thành phần chênh lệch rõ rệt, thì ta có thể loại bỏ được những thành phần không quan tr

Trang 2

GIAO VIEN HUGNG DAN

Nguyễn Bảo Long

"Thành viên Nhóm 1 - nhóm AT?s SLAVE

1 Bàng Mỹ Linh - 23122009

2 Nguyễn Trần Trung Kiên - 23122038

3 Dao Sy Duy Minh - 23122041

4 Nguyễn Lâm Phú Quý - 23122048

Tp Hồ Chí Minh, tháng 12/2023

Trang 3

Lời cảm ơn

Lời đầu tiên, xin trân trọng cảm ơn thầy Nguyễn Bảo Long đã tận tình hướng dẫn chúng em trong quá trình nghiên cứu cũng như hoàn thành báo cáo này để hỗ trợ cho đồ án

Xin chân thành cẩm ơn các Thầy, Cô thuộc khoa Công nghệ Thông tin nói riêng và toàn bo Thay,

Cô ở trường Đại học Khoa học Tự Nhiên - DHQG 'TP.HCM nói chung đã tận tình giảng dạy cho chúng

em trong suốt thời gian học tập

Do giới hạn kiến thức và kĩ năng nên chúng em không tránh khỏi có những thiếu sót Kính mong sự chỉ dẫn và đóng góp của các Thầy, Cô để bản báo cáo và sản phẩm đồ án của chúng em được hoàn thiện hơn Chúng em xin chân thành cảm on!

Thành phó Hồ Chí Minh, ngày 24 tháng 12 năm 2023

Nhóm 1

Trang 4

Mục lục

1 Lời cảm ơn

2_ Giới thiệu

3_ Quy trình tìm hiểu và xây dựng mô hình

3.2 Quá trình huấn luyện mô hình «we

3.3.1 Các metric phổ biến dùng trong đánh giá mô hình

4 Tuần 3: Xây dựng mô hình dự đoán giới tính người và cảm xúc trong ảnh

4.2.4 Huấn luyện và Tối ưu Hóa Mô Hình Q.2

Tài liệu tham khảo

Trang 6

Quy trình tìm hiểu và xây dựng mô ình

3.1 Tìm hiểu về quy trình xây dựng một mô hình AI

Hình 3.1: Quy trình chung xây dựng một mô hình AI

e Vì sao ta cần phải tiền xử lý dữ liệu trước khi train một mô hình AT? Dữ liệu thô (Raw data) là những dữ liệu trong thế giới thực, chưa qua các bước xử lý, ví dụ như một tấm ảnh, một

văn bản, một đoạn video Các dữ liệu này thường thiếu tính hệ thống, mất mát hoặc dư thừa

thông tin, điều này ảnh hưởng rất lớn đến quá trình train mô hình và gây ra những sai sót trong đầu ra của mô hình Chính vì thế, bước tiền xử lý dữ liệu là võ cùng quan trọng để đảm bảo mô hình có thể cho ra đầu ra chính xác

e Trong tiền xử lý dữ liệu, ta có các nhiệm vụ quan trong lA: Data cleaning, data integration, data

transformation, data reduction

Lam sach di liéu (Data Cleaning)

e Làm sạch dữ liệu là việc chúng ta tìm và sửa hoặc xóa những dữ liệu lỗi, mất mát, có thể gây nhiễu

đến quá trình huấn luyện mô hình

e Các phương pháp làm sạch dử liệu

1 Đối với việc xử lý mất mát dữ liệu, ta có thể điền vào chỗ khuyết thiến đó bằng giá trị trung

bình, giá trị trung vị, hoặc "NA"

2 Đối với việc xử lý dữ liệu gây nhiễu, chúng ta có ba phương pháp:

- Phương pháp Bining: Chia dữ liệu thành các nhóm, và mỗi nhóm sẽ được đại diện bởi giá

trị trung bình, trung vị, min hoặc max

- Phương pháp Regression: dự đoán dựa vào các biến phụ thuộc và mồi liên hệ giữa các biến

- Phương pháp Clustering: Gom cụm dữ liện, khiến cho các dữ liệu ngoại lai (outlier) bị cô lập

và ta có thể xóa nó đi

Data Integration

® Data integration là việc ta kết hợp nhiều nguồn dữ liệu không đồng nhất thành một nguồn dữ liệu lớn hơn

e Có hai phương phấp cho data integration

1 Tight coupling: Các nguồn dữ liệu được kết hợp một cách đồng bộ hóa một cách chặt chẽ Điều này khiến cho việc tách ra các nguồn hoặc can thiệp riêng vào một phần của bộ dữ liệu trở nên khó khăn

Trang 7

2 Loose coupling: Các nguồn dữ liệu được kết hợp với nhau thông qua một interface và ta có thể truy cập nó thông qua interface Điều này cho phép các nguồn dữ liệu có thể hoạt động

độc lập

Data transformation

e Trong Data transformation, có hai việc ta hay thường lam: feature scaling va encoding

1 Feature Scaling

Đặt tình huống: Giả sử ta có bảng dữ liệu dé dự đoán giá nhà san

Th thấy có 3 đặc trưng của dữ liệu để dự đoán giá nhà: Số phòng, tổng diện tích, và số tầng Thế nhưng, dữ liệu ở cột số nhà có sự chênh lệch rất lớn so với cột số phòng và số tầng, điều này có thể gây ra vấn đề cho mô hình khi đặc trưng "tổng diện tích" "đóng góp" khá nhiều Nhờ featire scaling, vấn đề này có thể được giải quyết

e Co hai ki thuật feature scaling chính là normalization và standardlization

- Normalization: Tất cả các giá trị x sẽ được rescale vào một khoảng (min,max), và thông thường là 0 và 1 Việc này được thực hiện đơn giản qua công thức sau:

X— Xmin

= (4.1)

X, scale = may Xinin

- Standardlization: Rescale các đặc trưng để nó có tính chất của phan bé Ganss Với bộ đặc

Trang 8

Hinh 3.3: Vi du vé standardlization

2 Encoding: Gin nhãn cho dữ liệu, bởi vì máy tính chỉ có thể làm việc với các dữ liệu số, nên việc

gắn nhãn dữ liệu bằng số là cần thiết để máy tính có thể hiểu và học được

Có hai cách chính để gắn nhãn dữ liệu

® Label Encoding: Sử dụng với những dữ liện có mối quan hệ với nhau, ví dụ như quan hệ thứ

e One-hot Encoding: Sử dụng với những dử liệu không có quan hệ với nhau, ví dụ như tên các nước (rời rạc và không có quan hệ nào)

Gmder | Geography France | Geography Spain

Hinh 3.4: Minh hoa one-hot encoding

Data reduction

e Giâm kích thước của dữ liệu cũng là một việc quan trọng trong tiền xử lý dữ liệu, giúp tăng thời gian chạy, giảm thời gian train mô hình, tăng độ chính xác cũng như loại bỏ những thông tin không cần thiết

e Trong data reduction chúng ta có hai việc quan trọng: feature selection và feature extraction

1 Feature selection

— Có ba phương phap Feature selection pho bién

Trang 9

- Phương pháp Embedded: Tích hợp việc chọn lọc đặc trưng trong quá trình tối u hóa,

mô hình (Ví dụ các thuật toán như Eorest Random, cây quyết định có thể thực hiện

việc này)

- Phương pháp Pilter: Sử dụng các công cụ để tìm ra các đặc trưng có sự tương quan đáng

kể so với biến mục tiêu Quy trình - Phương pháp Wrapped: Lặp đi lặp lại việc chọn ra

Hinh 3.5: Quy trinh cua phuong phap filter các đặc trưng tốt nhất cho đến khi chọn ra được đủ số đặc trưng mong muốn

Selecting the best subset

2 Feature extraction Là quá trình chuyển đổi dữ liệu đầu vào thành các đặc trưng có ý nghĩa,

và tối tu hóa quá trình tính toán

Đôi khi, chúng ta không thể bỏ đi đặc trưng nào vì sự quan trọng đồng đều của các đặc trưng, mất đi một cũng có thể gây mất mát một lượng thông tin cần thiết Nhưng nếu chúng ta có thể chuyển đổi dữ liệu sang một hệ cơ sở mới mà ở đó, sự quan trọng giữa các thành phần chênh lệch rõ rệt, thì ta có thể loại bỏ được những thành phần không quan trọng, và phương pháp PCA rất hữu ích trong việc này

Về mặt ý tưởng, thuật toán PCA tìm một hệ không gian mới và tối đa hóa phương sai dữ liệu của không gian mới đó Sau đó lựa chọn ra n chiều có phương sai lớn nhất (giả thuyết rằng

dữ liệu càng phân tán, phương sai càng lớn thì càng có giá trị)

rõ ràng mà không làm tăng số chiều của dữ liệu

Các bước tiền xử lý dữ liệu

e Bước I: Thu thập bộ dữ liệu liên quan đến mô hình cần train và tổ chức một cách hợp lý

Trang 10

Buéc 2: Import những thư viện cần thiết như numpy, pandas, matplotlib

Tước 3: Tìm và xử lý dữ liệu sai sót, khuyết thiếu, các dữ liệu ngoại lai

Tước 4: Sắp xếp dữ liệu : các tác vụ liên quan tới data transformation va data reduction

Jrước 5: Gắn nhãn cho dữ liệu

Tước 6: Chia dữ liệu thành 3 tap cho phục vụ cho các quá trình tiếp theo

- Tập dữ liệu để train model

- Tap dit liéu dé tune model

- Tập dữ liệu để test model

Trang 11

3.2 Quá trình huấn luyện mô hình

Mô hình dự đoán một mẫu bằng cách sử dụng các trọng số và bias da được huấn luyện sẵn

e Dan đầu, đầu vào sẽ được truyền qua các nơ ron ở tầng đầu tiên

e Các nơron ở tầng đầu tiên sử dụng hàm kích hoạt để tính toán đầu ra của chúng

e Dầu ra của các nơron 6 tang đầu tiên được truyền qua các trọng số liên kết đến các nơron 6 tang tiếp theo

e Quá trình này lặp lại cho đến khi các nơron ở tầng cuối cùng được tính toán đầu ra

Lay ví dụ là mô hình mạng neuron Logistic regression:

e Dau tiên, đầu vào sẽ đi qua mạng nơ ron đầu tiên

e Tính tổng Linear:

ZzZ = Ì*1ọo + đ #101 Ta x 10a

e Ap dung Sigmoid function:

ÿ = ơ(2z)

e Cuối cùng sẽ ra được kết quả dự đoán của một mẫu

w4 , \ZEMot Maen" ÿ=ơ(z

e Activation function (ham kích hoạt) là một hàm toán học được sử dụng để giới hạn giá trị của đầu

ra của một neuron Hàm này được sử dụng để chuyển đổi giá trị đầu ra của một tầng nơ-ron thành giá trị đầu vào của tang no-ron tiếp theo

e Activation function giiip cho dau ra cia neuron có thể thay đổi theo input, và giúp cho mô hình có thể học được các mối quan hệ phức tạp giữa các input

e Nếu không có các activation fuinctions, khả năng dự đoán của mạng neural sẽ bị giới hạn và giảm

đi rất nhiều, sự kết hợp của các activation fmction giữa các tầng ẩn là để giúp mô hình học được các quan hệ phi tuyên phức tạp tiêm ẩn trong dữ liệu

max(0.1z, x)

o(z) = =

tanh Maxout tanh(z) max(t0ƒ# + bị, tu z + bạ

ax(0,z ẽ BÀ

Trang 12

Một số activation function phổ biến

1 Hàm Sigmoid

Ham sigmoid là một hàm số có dạng đường cong hình "S*" hay cồn gọi là đường cong sigmoid (3.7)

1 h(z;9,b) = g(Ÿz + b), where g(z) = I+exp(—z) which graphically should look like this:

e Hàm sigmoid là một hàm bị chặn, nghĩa là giá trị của hàm luôn nằm trong một khoảng nhất định

Trong trường hợp của hàm Logie, giá trị của hàm luôn nằm trong khoảng |0,1]

e Hàm sigmoid là một hàm khả vi, nghĩa là đạo hàm của hàm luôn tồn tại

e Hàm sigmoid có một điểm nốn cong, đó là điểm mà đạo hàm của hàm bằng 0

"Trong ANN, hàm sigmoid thường được sử dụng trong các bài toán phân loại nhị phân Trong các bài toán này, đầu ra của mạng nơron cần được phân loại thành hai loại khác nhau Hàm sigmoid có thể được sử dụng để chuyển đổi giá trị đầu ra của mạng nơron thành một giá trị xác suất Giá trị xác suất này có thể được sử dụng để phân loại đầu ra của mạng nơ-ron thành một trong hai loại

Tuy nhiên, hàm sigmoid cũng có một số nhược điểm, chẳng hạn như:

e Ham sigmoid cé thể bị bão hòa khi đầu vào có trị tuyệt đối lớn Điều này có thể khiến cho quá

trình học tập của mạng nơ-ron trở nên chậm chạp

e Hàm sigmoid có thể không thể biểu diễn được một số hàm phức tạp

Trang 13

e Hàm tanh có giá trị trong khoảng (-1;1)

e Ham tanh là hàm đơn điệu, nghĩa là nó luôn tăng hoặc luôn giảm

e Hàm tanh có tính đối xứng qua gốc 0

e Dao ham cia ham tanh luôn tồn tại và khác 0

e Ưu điểm:

— Hàm tanh có thể học được các mối quan hệ phức tạp giữa các đầu vào và đầu ra

— Hàm tanh có tính đối xứng qua gốc 0, giúp các mạng nơron có thể thể hiện các trạng thái cân bằng

— Đạo hàm của hàm tanh luôn tồn tại và khác 0, giúp các mạng nơ-ron có thể học được các ham

số phức tạp

e Nhược điểm: Hàm tanh bị bão hòa ở hai đầu, nghĩa là đạo hàm của hàm tanh có thể trở nên rất

nhỏ ở hai đầu Điều này có thể dẫn đến hiện tượng gradient vanishing, khiến quá trình học tập của

Một số ưu điểm khá vượt trội của hàm ReLU so với Sigmoid và Tanh:

e Tốc độ hội tụ nhanh hơn hẳn: ReLU có tốc độ hội tụ nhanh gấp 6 lần Tanh Điều này có thể do ReLU không bị bão hoà ở 2 đầu nhu Sigmoid va Tanh

Tính toán nhanh hơn: Tanh và Sigmoid sử dụng hàm exp và công thức phức tạp hơn ReLU rất nhiều do vậy sẽ tốn nhiều chỉ phí hơn để tính toán

Tuy nhiên ReLU cũng có một nhược điểm: Với các node có giá trị nhỏ hơn 0, qua ReLU activation

sẽ thành 0, hiện tượng đấy gọi là “Dying ReLU* Nếu các node bị chuyển thành 0 thì sẽ không có

ý nghĩa với bước linear activation ở lớp tiếp theo và các hệ số tương ứng từ node đấy cũng không được cập nhật với gradient descent Khi learning rate lớn, các trọng số (weights) có thể thay đổi

theo cách làm tất cả neuron dừng việc cập nhật

11

Trang 14

3.2.3 Tim hiéu vé Loss function

e Loss function 1A mét hàm toán học được sử dụng để đo lường mức độ sai lệch giữa kết quả dự đoán

của mô hình và kết quả thực tế

® Loss ñmction giúp cho mô hình có thể học được các tham số sao cho kết quả dự đoán của mô hình càng gần với kết quả thực tế càng tốt

A loss function tells how good our current classifier is

Given a dataset of examples

Cơ chế hoạt động cia Squared Loss:

1 Squared Loss = (9 — y)?

Hình 3.10: Square Loss

e Tính toán sai số giữa giá trị dự đoán và giá trị thực tế của từng dữ liệu Bình phương mỗi sai số

e Tính tổng trung bình của các sai số đã bình phương (được gọi là Mean Squared Error - MSE)

e Giá trị MSE càng lớn, sai số trung bình giữa dự đoán và thực tế càng lớn, nghĩa là mô hình dự

đoán kém chính xác Ngược lại, MSE nhỏ cho thay mô hình dự đoán tốt hơn

12

Trang 15

Absolute loss, cOn được gọi là Mean Absolute Error (MAPF), là một hàm mất mát được sử dung trong thống kê và học máy để đo lường mức độ sai lệch giữa giá trị dự đoán và giá trị thực tế của một biến

2 Absolute Loss = |7 — yl

Hinh 3.11: Absolute Loss

Cơ chế hoat déng cia Absolute Loss:

e Tính toán sai số giữa giá trị dự đoán và giá trị thực tế của từng dữ liệu

e Lay giá trị tuyệt đối của mỗi sai số

e Tính tổng trung bình của các sai số tuyệt đối (được gọi là Mean Absolute Error - MAP)

e Giá trị MAP càng lớn, sai số trung bình giữa dự đoán và thực tế càng lớn, nghĩa là mô hình dự

đoán kém chính xác Ngược lại, MAE nhỏ cho thấy mô hình dự đoán tốt hơn

So sánh giữa Squared Loss và Absolute Loss:

13

Trang 16

3.2.4 Tim hiéu vé Optimizer

Khai niém

Optimizer là các thuật toán được sử dụng để cập nhật tham số của mô hình sao cho hàm loss giảm

xuống

Thuật toán chủ đạo: Gradient Descent

Gradient descent là một thuật toán học máy được sử dụng để tìm điểm cực tiểu của một hàm số Thuật toán này hoạt động bằng cách bắt đầu từ một điểm ngẫn nhiên và sau đó cập nhật điểm đó theo

hướng ngược lại với gradient của hàm số tại điểm đó Gradient của hàm số là một vector chi ra hướng

mà hàm số đang tăng hoặc giảm nhanh nhất

Gradient descent hoạt động theo các bước sau:

e Chon một điểm ngẫu nhiên làm điểm khởi đầu

e Tính gradient của hàm số tại điểm khởi đầu

e Cập nhật điểm khởi đầu theo hướng ngược lại với gradient

e Lặp lại các bước 2 và 3 cho đến khi đạt được độ chính xác mong muốn

Gradient descent có hai tham sé chinh lA learning rate va number of iterations

e Learning rate là một số dương xác định tốc độ cập nhật của điểm khởi đầu Learning rate quá nhỏ

sẽ khiến quá trình hội tụ chậm, còn learning rate quá lớn có thể khiến quá trình hội tụ không ổn

định hoặc không hội tụ

e Number ofiterations là số lần lặp lại của quá trình gradient descent Quá trình gradient descent sé dừng lại khi số lần lặp lại đạt đến số tối đa hoặc khi độ chính xác mong muốn đã đạt được Các biến thể của gradient descent

e Stochastic gradient descent (SGD): Thay vì tính gradient của hàm số trên toàn bộ tập dữ

liệu, SGD chi tinh gradient cia ham số trên một điểm dữ liệu ngẫu nhiên SGD thường được sử dụng khi tập dữ liệu lớn

e Mini-batch gradient descent (MBGD): MBGD 1a sw két hgp giita gradient descent va SGD

MBGD tính gradient của hàm số trên một nhóm nhỏ các điểm dữ liệu MBGD thường được sử

dụng khi tập dữ liệu vừa phải

e Adagrad: Adagrad tự động điều chỉnh learning rate trong quá trình gradient descent

14

Trang 17

e RMSprop: RMSprop cũng tự động điều chỉnh learning rate trong quá trình gradient descent, nhưng có hiệu quả hơn Adagrad

e Adam: Adam là một biến thể của RMSprop với hiệu quả cao hơn

3.3 Quá trình đánh giá mô hình

Tất cả các mô hình học máy đều cần một metric để đánh giá hiệu suất

Trang 18

Precision nhằm trả lời câu hỏi: Tỉ lệ xác định positive thực sự chính xác là bao nhiêu?

TP TP+ FP

Recall nham trả lời cân hỏi: Tỉ lệ tích cực thực tế đã được xác định chính xác là bao nhiêu?

Precision =

TP TP+FN

Để đánh giá day đủ tính hiệu quả của một mô hình, ta phai kiém tra ca d6 precision va recall

Recall =

Classification Threshold

@ Actually not spam

0.0 Output of Logistic Regression model

Figure 1 Classifying email messages as spam or not spam

Trang 19

1 Mean Squared Error (MSE)

Giá trị trung bình của chênh lệch bình phương giữa giá trị mong muốn và giá trị được dự đoán bởi

mô hình hồi quy

House price (in $)

House size (in sqft)

Hay còn được viết dưới dạng:

2 Mean Absolute Error (MAE)

Trung bình của sự khác biệt giữa giá trị mong muốn và giá trị được dự đoán bởi mô hình hồi quy

¬

House size (in sat)

3 Root Mean Squared Error (RMSE) Tring binh cia su khác biệt giữa giá trị mục tiêu và giá

trị được dự đoán bởi mô hình hồi quy

17

Trang 20

House size (in sqft)

CLUSTERING METRIC

Các cách phổ biến nhất để đo lường hiệu suất của các mô hình phân cụm là đo lường mức độ khác

biệt hoặc sự tương đồng giữa các nhóm được tạo

C6 ba metrics phé bién dé sit dung 1A: Silhouette Score, Calinski-Harabaz Index và Davies- Bouldin Index

1 Silhouette Score

Silhouette Score 1a hé sé Silhouette trung binh cho tat ca cc cum, được tính bằng khoảng cách trung bình trong cụm và khoảng cách trung bình trong cụm gần nhất Điểm này nằm trong khoảng từ -1 đến

1, trong đó điểm càng cao thì cụm càng được xác định rõ ràng và khác biệt

Silhouette Score có thể được tính toán bằng seikit-learn như sau:

from sklearn import metrics from sklearn.cluster import KMeans

KMeans ( ) fit(X , model 1abels_

Chỉ số Calinski-Harabaz có thể được tính toán bằng scikit-learn như sau:

from sklearn import metrics

from sklearn.cluster import KMeans

my_model = KMeans().fit(x

labels = my_model.labels_

metrics.calinski_harabasz_score(X, labels

18

Ngày đăng: 26/09/2024, 17:28

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

TÀI LIỆU LIÊN QUAN

w