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 1TRƯỜ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 2MỤ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 3Phầ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 5tưở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 6o 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 7o 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 8o 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 92.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 10o 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