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

đề tài dự đoán giới tính

20 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 đề Dự Đoán Giới Tính
Tác giả Nhóm 7 - 63HTTT1
Người hướng dẫn Nguyễn Thị Kim Ngân
Trường học Trường Đại Học Thủy Lợi
Chuyên ngành Công Nghệ Thông Tin
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 20
Dung lượng 866,12 KB

Nội dung

Deep learningneural networks trở nên quan trọng, đặc biệt sau thành công của cáchình như AlexNet và AlphaGo.Vai trò:o Dự Đoán và Tự Động Hóa: Học máy được sử dụng để dự đoán các kếdựa tr

Trang 1

TRƯỜNG ĐẠI HỌC THỦY LỢI KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN HỌC PHẦN: HỌC MÁY

ĐỀ TÀI DỰ ĐOÁN GIỚI TÍNH:

Giáo viên hướng dẫn : Nguyễn Thị Kim Ngân

Nhóm thực hiện : Nhóm 7 – 63HTTT1

Sinh viên thực hiện : Phạm Ánh Hường

Hà Nội, tháng 1 năm 2024

Trang 2

MỤC LỤC

Phần 1: Tổng quan 3

1 Giới thiệu về học máy 3

2 Trình bày các phương pháp học máy được sử dụng trong đề tài mà nhóm chọn 7

2.1 Support Vector Machine (SVM) 7

2.2 Cart 8

2.3 Neural Network 9

2.4 Các phương pháp học kết hợp (Bagging, Bootstrapping, Stacking) 9

Phần 2: Thực nghiệm 10

1 Mô tả bài toán 10

2 Mô tả tập dữ liệu của bài toán 11

3 Viết ứng dụng 15

4 Phân tích kết quả của chương trình 18

Trang 3

Phần 1: Tổng quan

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

- Lịch sử và vai trò của Machine Learning:

Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những g được học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà k cần được lập trình cụ thể

Bài toán machine learning thường được chia làm hai loại là dự đoán (predict

và phân loại (classification) Các bài toán dự đoán như dự đoán giá nhà, giá Các bài toán phân loại như nhận diện chữ viết tay, nhận diện đồ vật… Lịch sử:

o Thập kỷ 1940-1950: Nguồn gốc của học máy bắt đầu trong lĩnh vực thố

kê và toán học Alan Turing đưa ra khái niệm máy Turing, có thể co khởi đầu của ý tưởng máy tính có thể tự học

o Thập kỷ 1950-1960: John McCarthy đưa ra thuật ngữ "Trí tuệ Nhân tạ (AI)" và Herbert Simon và Allen Newell tạo ra chương trình Logic Theorist, một trong những đỉnh cao đầu tiên của AI

o Thập kỷ 1960-1970: Học máy chuyển hướng từ thống kê sang các mô hì

cơ sở trên máy tính Frank Rosenblatt phát triển Perceptron, một kiến trú

cơ sở của mạng nơ-ron

o Thập kỷ 1980-1990: Dự án như CYC của Doug Lenat đưa ra hy vọng việc hiểu biểu đồ tri thức của con người

o Thập kỷ 1990-2000: Sự tiến bộ trong thuật toán và sự gia tăng của dữ dẫn đến sự phổ biến của học máy trong nhiều lĩnh vực

o Thập kỷ 2000-Đến Nay: Bùng nổ dữ liệu và sự mạnh mẽ của máy tính tạo ra một sự tiến triển nhanh chóng trong học máy Deep learning neural networks trở nên quan trọng, đặc biệt sau thành công của các hình như AlexNet và AlphaGo

Vai trò:

o Dự Đoán và Tự Động Hóa: Học máy được sử dụng để dự đoán các kế dựa trên dữ liệu hiện tại và quá khứ, cũng như để tối ưu hóa các qu

tự động hóa

o Phân tích Dữ liệu Lớn: Trong môi trường big data, học máy giúp rút t thông tin quan trọng từ lượng lớn dữ liệu và làm cho nó có ý nghĩa

o Tìm Kiếm và Phân loại: Học máy được sử dụng trong các công cụ tìm trực tuyến, quét và phân loại nội dung web, cũng như trong ứng dụng chatbot

o Y Học và Điều trị: Trong lĩnh vực y học, học máy giúp trong chẩn bệnh, dự đoán biến đổi và tối ưu hóa phác đồ điều trị

Trang 4

- Trình bày Học có giám sát, Học không có giám sát, bài toán Hồi quy,

bài toán Phân lớp, bài toán Phân cụm

1 Học có giám sát (Supervised Learning)

Định nghĩa:

o Supervised learning còn được gọi là máy học có giám sát, được địn nghĩa bằng cách sử dụng các tập dữ liệu được gắn nhãn để hu luyện các thuật toán phân loại dữ liệu hoặc dự đoán kết quả một chính xác

Khi dữ liệu đầu vào được đưa vào mô hình, mô hình sẽ điều chỉnh lượng của nó cho đến khi nó được lắp một cách thích hợp Điều này x như một phần của quá trình xác nhận chéo để đảm bảo rằng mô hình trang bị quá nhiều hoặc trang bị thiếu thông tin

Supervised machine learning giúp các tổ chức giải quyết nhiều vấn đề tro thế giới thực trên quy mô lớn, chẳng hạn như phân loại thư rác trong thư mục riêng biệt từ hộp thư đến của bạn

Một số phương pháp được sử dụng trong Supervised machine learning ba gồm: logistic regression, neural networks, linear regression, naive bayes, random forest, và support vector machine (SVM)

Ưu điểm:

nhãn, điều này có nghĩa là dữ liệu thường đầy đủ và chất lượng c

học có giám sát thường có độ chính xác cao hơn so với các phư pháp khác

khả năng đoán trực tiếp nhãn của các mẫu mới

Nhược điểm:

thể tốn nhiều thời gian và chi phí

được gán nhãn, nếu có dữ liệu không gán nhãn, mô hình sẽ khô thể học từ nó

2 Học không có giám sát (Unsupervised Learning)

Định nghĩa:

o Unsupervised machine learning là phương pháp sử dụng các thuật toán máy học để phân tích và phân cụm các tập dữ liệu không đ gắn nhãn

Không cần sự can thiệp của con người, các thuật toán này có thể phát

ra các mẫu hoặc nhóm dữ liệu ẩn Khả năng phát hiện ra những điểm đồng và khác biệt trong thông tin của phương pháp này khiến nó trở nê

Trang 5

tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán chéo (cro sell), phân khúc khách hàng cũng như nhận dạng hình ảnh và mẫu Unsupervised machine learning cũng được sử dụng để giảm số lượng cá tính năng trong một mô hình thông qua quá trình giảm kích thước Ph tích thành phần chính (PCA) và phân tích giá trị đơn lẻ (SVD) là hai tiếp cận phổ biến cho việc này

Các thuật toán khác được sử dụng trong học tập không giám sát bao k-means clustering, neural networks, và probabilistic clustering methods

Ưu điểm:

dữ liệu phải được gán nhãn, giảm chi phí và công sức trong quá t thu thập dữ liệu

đặc trưng phức tạp mà con người khó mô tả hoặc nhận biết Nhược điểm:

có giám sát thường có độ chính xác thấp hơn so với mô hình học giám sát

suất của mô hình học không có giám sát thường khó khăn hơn

3 Bài toán hồi quy (Regression)

Định nghĩa:

o Bài toán hồi quy là một loại bài toán trong machine learning, mụ tiêu của nó là dự đoán giá trị của một biến liên tục dựa trên các độc lập Trong bối cảnh này, biến liên tục thường được gọi là b mục tiêu hoặc biến phản ứng, trong khi các biến độc lập được dụng để dự đoán giá trị của biến mục tiêu

Ưu điểm:

o Dự đoán giá trị liên tục: Phù hợp để giải quyết vấn đề khi muốn đoán giá trị số thay vì lớp hoặc nhóm

o Lincoln hoạt và ứng dụng rộng rãi: Có nhiều phương pháp và m hình hồi quy, từ các mô hình đơn giản như Linear Regression đế các mô hình phức tạp như Neural Networks, giúp phù hợp với đ dạng các loại dữ liệu

Nhược điểm:

o Nhạy cảm với nhiễu: Mô hình có thể bị ảnh hưởng bởi dữ liệu nh đặc biệt là nếu có giá trị ngoại lệ (outliers)

o Giả định về tuyến tính: Các mô hình hồi quy thường giả định m quan hệ giữa các biến là tuyến tính, điều này có thể không phản đúng mô hình thực tế

Trang 6

o Khả năng hạn chế trong môi trường phức tạp: Trong các tình huốn

có nhiều tương tác và phi tuyến, mô hình hồi quy có thể không mạnh mẽ để mô phỏng mối quan hệ phức tạp đó

4 Bài toán phân lớp(Classification)

Định nghĩa:

o Bài toán phân lớp là một loại bài toán trong machine learning, mụ tiêu của nó là dự đoán lớp hoặc nhóm mà một mẫu dữ liệu thuộ dựa trên các đặc trưng của nó Trong bối cảnh này, chúng ta thườ

có một biến phụ thuộc (lớp hoặc nhóm) được xác định và các b độc lập được sử dụng để dự đoán lớp đó

Ưu điểm:

o Áp dụng rộng rãi: Phù hợp trong nhiều lĩnh vực, từ nhận diện c viết tay đến dự đoán email spam và phân loại hình ảnh

o Dễ hiểu và thực hiện: Có nhiều mô hình phân lớp có sự đơn giả hiệu quả, như Decision Trees và Support Vector Machines

o Cung cấp quyết định rõ ràng: Kết quả của bài toán phân lớp thườ

là lớp hoặc nhóm, giúp hiểu rõ quyết định của mô hình

Nhược điểm:

o Nhạy cảm với dữ liệu không cân bằng: Nếu có sự chênh lệch l giữa số lượng mẫu thuộc các lớp khác nhau, mô hình có thể bị lập về lớp thiểu số

o Khả năng mô hình hóa giả định: Một số mô hình có thể giả định quan hệ giữa các biến là tuyến tính, điều này có thể hạn chế t trường hợp mối quan hệ thực sự phức tạp và phi tuyến

o Không xử lý tốt với dữ liệu không rõ ràng: Nếu dữ liệu có n hoặc không rõ ràng, hiệu suất của mô hình có thể giảm

5 Bài toán phân cụm (Clustering)

Định nghĩa:

o Bài toán phân cụm là một dạng bài toán trong machine learning m mục tiêu chính là phân nhóm các mẫu dữ liệu vào các cụm (cluste khác nhau dựa trên sự tương đồng giữa chúng Cụ thể, chúng ta gắng tìm ra cách phân chia dữ liệu sao cho các mẫu trong cùng cụm có sự tương đồng lớn, trong khi giữ cho sự khác biệt giữa cụm là lớn

Ưu điểm:

o Phát hiện cấu trúc ẩn: Phân cụm giúp phát hiện cấu trúc ẩn trong liệu mà không cần thông tin nhãn trước

o Khám phá thông tin mới: Có thể tìm ra nhóm hay mối quan không được biết trước đối với dữ liệu không gian không rõ ràng

Trang 7

o Dễ hiểu và trực quan: Kết quả thường được biểu diễn bằng các b

đồ phân tán hoặc biểu đồ radar, giúp hiểu rõ cấu trúc của dữ liệu Nhược điểm:

o Phụ thuộc vào thuật toán và tham số: Kết quả có thể thay đổi vào thuật toán và giá trị tham số được chọn

o Không phải lúc nào cũng có cấu trúc rõ ràng: Đôi khi, dữ liệu có không phân chia thành các cụm có ý nghĩa

o Nhạy cảm với nhiễu và giá trị ngoại lệ: Dữ liệu nhiễu hoặc giá ngoại lệ có thể ảnh hưởng đến quá trình phân cụm

2 Trình bày các phương pháp học máy được sử dụng trong đề tài mà nhóm chọn

2.1 Support Vector Machine (SVM)

Input của phương pháp: Tập dữ liệu huấn luyện đã gán nhãn( X_train, Y_train Output của phương pháp: Siêu phẳng f(x,w) = w x phân chia dữ liệu huấn luT sao cho:

o Tất cả điểm dữ liệu có nhãn 1 thuộc về cùng một phía của siêu phẳng

o Khoảng cách từ điểm gần nhất của mỗi lớp tới đường phân chia là như (margin, lề)

o Margin này là phải cực đại

Bài toán tối ưu của phương pháp (hoặc hàm mất mát):

Cách giải bài toán tối ưu hoặc các bước thực hiện của thuật toán:

o Bài toán tối ưu này là bài toán lồi, và là một quadratic programm (phương trình bậc 2)

o Suy ra nghiệm cho SVM là duy nhất

o Để giải bài toán này, người ta thường giải bài toán đối ngẫu Lagrange Các độ đo để đánh giá chất lượng mô hình dự đoán: Accuracy, Precision, Re F1 score:

o Độ chính xác (Accuracy): Đây là tỷ lệ giữa số lượng dự đoán đúng tổng số mẫu dữ liệu Độ chính xác là một độ đo cơ bản và d nhưng nó có thể không phản ánh đầy đủ về hiệu suất nếu dữ liệ đối xứng (có sự chênh lệch lớn giữa các lớp)

o Chính xác (Precision) đo lường khả năng của mô hình làm sao tránh việc dự đoán giả mạo (false positives)

o Độ chuẩn xác (Recall) đo lường khả năng của mô hình để bắt lấy

cả các trường hợp tích cực (true positives)

Trang 8

o F1 Score: Là sự kết hợp của Precision và Recall Nó là một độ đ bằng giữa chính xác và độ chuẩn xác, thường được sử dụng khi làm việc với dữ liệu không cân bằng

2.2 Cart

Input của phương pháp: Tập dữ liệu huấn luyện đã gán nhãn( X_train, Y_train Output của phương pháp: Là một vector dự đoán

Bài toán tối ưu của phương pháp (hoặc hàm mất mát):

o C: số lớp cần phân loại

o pi = n / Ni

o n là số lượng phần tử ở lớp thứ ii

o N là tổng số lượng phần tử ở node đó

Cách giải bài toán tối ưu hoặc các bước thực hiện của thuật toán:

- Sử dụng chỉ số “gini index” làm thước đo trong khi tạo cây quyết định (dec tree) trong thuật toán CART (Classification and Regression Tree), chỉ số “gini index” càng cao càng tốt

Algorithm GenDecTree(Sample S, Attlist A)

o 1 Tạo một nút N

o 2 Nếu tất cả các mẫu thuộc cùng lớp C thì N được gán nhãn C; dừng toán;

o 3 Nếu A là rỗng thì N được gán nhãn C là nhãn phổ biến nhất trong dừng thuật toán;

o 4 Chọn a ∈ A, có độ đo Gini Index cao nhất; Gán nhãn N theo a;

o 5 Với mỗi giá trị v của a:

a Phát triển 1 nhánh từ N với điều kiện a=v;

b Đặt S là tập con của S với a=v;v

c Nếu S là rỗng thì gắn một lá có nhãn phổ biến nhất trong S;v

d Ngược lại gắn một nút được tạo bởi GenDecTree(S , A-a)v Các độ đo để đánh giá chất lượng mô hình dự đoán: Accuracy, Precision, Reca F1 score

Trang 9

2.3 Neural Network

Input của phương pháp: Tập dữ liệu huấn luyện( Xtrain, Ytrain ), kiến trúc mạ

nơ ron (số lớp ẩn, số nơron của mỗi lớp ẩn), hàm kích hoạt (activation functio hàm mất mát (loss function)

Output của phương pháp: Bộ vector trọng số của các liên kết giữa các nơron

để hàm mất mát đạt giá trị tối ưu

Bài toán tối ưu của phương pháp (hoặc hàm mất mát):

o Hàm mất mát tại tầng output của mạng nơ-ron tùy thuộc vào bài toán th hiện

o Nếu bài toán Hồi quy, hàm mất mát có thể sử hàm mất mát của Hồi tuyến tính

o Nếu bài toán phân lớp, có thể sử dụng hàm mất mát của Perceptron hoặc Logistic Regression, …

Cách giải bài toán tối ưu hoặc các bước thực hiện của thuật toán:

o Phương pháp phổ biến nhất để tối ưu hàm mất mát của mạng nơ ron là Gradient Descent (GD)

o Để áp dụng GD, chúng ta cần tính được đạo hàm của hàm mất mát the từng trọng số trong mạng nơ-ron bằng phương pháp lan truyền ngược (backpropagation)

Các độ đo để đánh giá chất lượng mô hình dự đoán: Accuracy, Precision, Reca F1 score

2.4 Các phương pháp học kết hợp (Bagging, Bootstrapping, Stacking)

- Bootstrapping: phương pháp lấy mẫu có hoàn lại (sampling with replacement)

Các bước thực hiện:

1 Sinh ra mẫu ngẫu nhiên có hoàn lại kích thước n từ tổng thể

2 Tính các thông số thống kê đặc trưng của mẫu được sinh ra

3 Lặp lại bước 1 và bước 2

4 Sử dụng các ước lượng thống kê của Bootstrapping sampling đã tính

ở bước 2 để đánh giá độ đo chính xác các ước lượng thống kê c mẫu ban đầu

- Bagging: xây dựng một lượng lớn các model trên những subsamples khác nhau tập training dataset, các model được huấn luyện độc lập và đầu ra sẽ được tín trung bình cộng (hoặc bỏ phiếu) để cho ra model tốt nhất

Các bước thực hiện:

1 Xây dựng một lượng lớn các model (thường là cùng loại)

2 Mỗi model sau sẽ học cách sửa những error của model trước (dữ liệ

mà model trước dự đoán sai)

3 Tạo thành một chuỗi các model mà model sau sẽ tốt hơn model trước bởi trọng số được update qua mỗi model:

Trang 10

o Trọng số của những dữ liệu dự đoán đúng sẽ không đổi,

o Trọng số của những dữ liệu dự đoán sai sẽ được tăng thêm

4 Chúng ta sẽ lấy kết quả của model cuối cùng trong chuỗi model này làm kết quả trả về (vì model sau sẽ tốt hơn model trước nên tươn kết quả sau cũng sẽ tốt hơn kết quả trước)

- Stacking: một kỹ thuật trong học máy được sử dụng để kết hợp các mô hình đoán khác nhau để tạo ra một mô hình dự đoán cuối cùng

Các bước thực hiện:

1 Xây dựng một số model (thường là khác loại) và một meta model (supervisor model)

2 Train những model này độc lập

3 Sau đó meta model sẽ học cách kết hợp kết quả dự báo của một s

mô hình một cách tốt nhất

Phần 2: Thực nghiệm

1 Mô tả bài toán

- Tên bài toán: Dự đoán giới tính

- Mô tả:

Bài toán dự đoán giới tính là một bài toán trong lĩnh vực học máy v thác dữ liệu Mục tiêu của bài toán là xây dựng một mô hình dự đoán giới một người dựa trên các đặc trưng liên quan đến hình dáng khuôn mặt

Các đặc trưng có thể được sử dụng để đưa ra dự đoán bao gồm chiều dài t rộng và chiều cao của trán, chiều rộng và chiều dài của mũi, độ mỏng của khoảng cách từ mũi đến môi Các đặc trưng này được trích xuất từ hình ảnh mặt và được sử dụng để xây dựng một mô hình máy học để phân loại giới Một số thuật toán phổ biến để giải quyết bài toán này là Support Vector Ma (SVM), Decision Trees (Cart) và Neural Networks Sau khi xây dựng mô hìn chúng ta có thể sử dụng nó để dự đoán giới tính cho các mẫu mới dựa trê trưng của họ

Bài toán dự đoán giới tính có ứng dụng rộng rãi trong nhiều lĩnh vực, ba nhận dạng khuôn mặt, phân loại ảnh, xác định đối tượng, và các ứng dụng khác

- Input: Dữ liệu gồm các thuộc tính đã được gán nhãn: long_hair,

forehead_width_cm, forehead height cm, nose_wide, nose_long, lips_thin,

distance_nose_to_lip_long

Ngày đăng: 15/05/2024, 18:47

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

TÀI LIỆU LIÊN QUAN