



















Preview text:
lOMoAR cPSD| 58490434
AI: Artificial Intelligence là lĩnh vực nghiên cứu và phát triển các
hệ thống máy tính có khả năng thực hiện những nhiệm vụ
thông minh như con người- những thuật toán có khả năng suy diễn
Machine learning : Là một lĩnh vực con của AI tập trung vào việc
giúp cho máy tính có khả năng tự học hỏi từ dữ liệu mà không
cần phải lập trình một cách “cụ thể”. lOMoAR cPSD| 58490434
Là tập hợp các thuật toán giúp mt có khả năng học hiểu dựa
trên các kinh nghiệm về hiểu biết của con người
Vd: giả sử mình lập trình cho ngân hàng phát hiện lừa đảo: cụ
thể- ko phải ML: cho nó cố định là giao dịch nước ngoài và là
1000$ trở lên mặc định là lừa đảo
Huấn luyện cho nó 1 mô hình và đưa các lịch sử giao dịch bình
thường lẫn lừa đảo để nó tự học hỏi và nhận biết đâu là thật
hay giả thì đây mới là ML Deep learning:
Là một mạng các network mà được ghép lại bằng các perception
Là lĩnh vực con của học máy có liên quan đến các thuật toán
lấy cảm ứng từ cấu trúc cũng như là chức năng của não bộ con người
Có rất nhiều ứng dụng nổi bật nhất ví dụ như chat gpt có 4
phương pháp học máy - học có giám sát:
Học có giám sát là phương pháp học máy trong đó các thuật
toán được huấn luyện trên tập dữ liệu đã gắn nhãn, nhằm tìm
ra mối quan hệ giữa đầu vào (input) và đầu ra (output), từ đó
dự đoán kết quả cho dữ liệu mới. -học không có giám sát lOMoAR cPSD| 58490434 -học bán giám sát -học tăng cường
So sánh học có giám sát và học không giám sát
Học có giám sát Học không giám sát Tiêu chí (Supervised) (Unsupervised) Dữ liệu
Có nhãn (có cả đầuKhông có nhãn (chỉ có
huấn vào & đầu ra) đầu vào) luyện Học cách ánh xạ từ Mục Tìm cấu trúc ẩn trong đầu vào đến đầu tiêu dữ liệu ra Bài toán Phân cụm, Giảm số Phân loại, Hồi quy chính chiều
Học có giám sát Học không giám sát Tiêu chí lOMoAR cPSD| 58490434 (Supervised) (Unsupervised) Nhận diện khuôn Ứng Phân loại khách hàng, mặt, dự đoán giá dụng phát hiện bất thường nhà
Hồi quy và Phân lớp lOMoAR cPSD| 58490434
Data: dữ liệu – thông tin hay các giá trị được thu thập từ nhiều
nguồn khác nhau dữ liệu có thể tồn tại ở dạng thô(raw) hoặc
dạng tinh (processed data) dạng đã qua xử lí rồi
Dataset: tập dữ liệu là tập hợp các cấu trúc của mẫu dữ liệu
được tổ chức hoặc sắp xếp đc sd cho 1 mục đích nào đớ Feature : đặc trưng
Sample: đối tượng, mẫu Label: nhãn lOMoAR cPSD| 58490434
Model: mô hình là một thuật toán hay một hệ thống mà thông
qua quá trình huấn luyện sẽ học từ dữ liệu cách để đưa ra 1 dự
đoán chính xác đồng thời là sự mô phỏng của cách con người học thông qua sách vở
Over và Under : quá đúng và quá ẩu khiến dữ liệu không lấy
được một cách hiệu quả Balance: phân lớp tốt
- Data wrangling: làm sạch dữ liệu lOMoAR cPSD| 58490434 Feature:
+ Select: là quá trình loại bỏ các đặc trưng không quan trọng
để giảm độ phức tạp của mô hình, cải thiện hiệu suất và tránh overfitting. lOMoAR cPSD| 58490434
+ Transform: là quá trình biến đổi dữ liệu để phù hợp hơn với mô hình học máy.
+ Extract: là quá trình tạo ra đặc trưng mới từ dữ liệu gốc, giúp
mô hình học hiệu quả hơn.
Vì sao phải sử dụng các phép như chọn đặc trưng, biến đổi đặc trưng, trích đặc trưng?
Vì số lượng dặc trưng ảnh hưởng đến tốc độ xử lí, giảm độ
chính xác và khả năng hiểu của các mô hình
Training dataset: các sample được gắn (them các feature,
label) mục đích để huấn luyện mô hình hoàn thiện có độ
dataset cao Giải thuật K-NN: Giải thuật Decision Tree lOMoAR cPSD| 58490434
Giải thuật SVM(Support Vector Machines)
Chương 1,2,3 đều là các giải thuật học có giám sát
Entrophy vs Gini: giảm thời gian tính toán và tăng độ chính
xác phương pháp học máy và mô hình học máy là gì? phân biệt? lOMoAR cPSD| 58490434 Missing value
Tại sao học sâu lại ra đời sau học máy ? Tác dụng, lOMoAR cPSD| 58490434 1.
Chuẩn bị code và dữ liệu trên laptop •
Code được viết bằng Python, sử dụng thư viện OpenCV để
xử lý hình ảnh và phát hiện khuôn mặt. •
Sử dụng pickle để lưu trữ dữ liệu khuôn mặt và tên vào file
.pkl để dùng cho các bước tiếp theo. •
Code thực hiện thu thập dữ liệu khuôn mặt từ webcam,
lưu vào mảng NumPy và lưu trữ trong thư mục data/. lOMoAR cPSD| 58490434
📌 Dữ liệu của project: •
Dữ liệu đầu vào: Hình ảnh khuôn mặt được thu thập từ webcam. • Dữ liệu đầu ra:
o faces_data.pkl: Chứa dữ liệu khuôn mặt đã xử lý và
lưu dưới dạng NumPy array.
o names.pkl: Chứa danh sách tên tương ứng với dữ liệu khuôn mặt. •
Mỗi khuôn mặt thu được sẽ được resize về kích thước
50x50 để chuẩn hóa dữ liệu.
2. Lý do chọn project •
Nhận diện khuôn mặt là một ứng dụng quan trọng trong
bảo mật, điểm danh tự động, và cá nhân hóa trải nghiệm người dùng. •
Đây là một bài toán phổ biến trong lĩnh vực Computer
Vision và Machine Learning, giúp hiểu sâu hơn về cách
máy tính nhận diện hình ảnh. •
Dự án giúp rèn luyện kỹ năng xử lý ảnh bằng OpenCV, làm
việc với dữ liệu NumPy, và lưu trữ dữ liệu hiệu quả bằng pickle. lOMoAR cPSD| 58490434
3. Áp dụng lý thuyết và các phép xử lý tính toán
📌 Các lý thuyết áp dụng:
1.Xử lý ảnh với OpenCV:
o Chuyển đổi ảnh sang ảnh xám
(cv2.cvtColor) để dễ dàng phát hiện khuôn mặt.
o Sử dụng bộ phân loại Haar Cascade
(haarcascade_frontalface_default.xml) để phát hiện khuôn mặt.
o Resize khuôn mặt về kích thước 50x50 để chuẩn hóa dữ liệu.
2.Lưu trữ dữ liệu khuôn mặt:
o Dữ liệu khuôn mặt được lưu trữ dưới dạng NumPy
array để thuận tiện cho việc huấn luyện mô hình sau này.
o pickle được dùng để lưu dữ liệu vào file .pkl, giúp dễ
dàng tái sử dụng mà không cần thu thập lại dữ liệu.
3.Lặp và điều kiện dừng:
o Sử dụng vòng lặp while để liên tục thu thập dữ liệu khuôn mặt.
o Điều kiện dừng: Khi thu thập đủ 100 ảnh hoặc nhấn phím 'q'. lOMoAR cPSD| 58490434
4. Tác dụng thực tế của project
✅ Ứng dụng điểm danh tự động: Có thể mở rộng để phát
triển hệ thống điểm danh dựa trên nhận diện khuôn mặt trong lớp học
* ANN là nền tảng của Deep Learning => DL được xây dựng từ ANN
ANN sẽ hỏi về cuối kì
Neurol là danh từ - 1 nơ ron thần kinh trong con người
Neural là tính từ - tính chất là 1 cái nơ ron được tạo ra bởi con người
Perceptron là 1 cái nơ ron nhân tạo- tế bào của mạng X, w : 1 vectơ
Là 1 điểm trong không gian 1 chiều
Activation 1 là có sẵn 2 là tự tạo CNN là 1 perception lOMoAR cPSD| 58490434
DL là 1 network là nhiều perception Hồi quy tuyến tính X1 X2 X3 X4 label X1
Thu thập thông tin của những cái “nhà “ quan sát được
Vd có 1 cái nhà có giá 1 tỉ đồng mà có
Hqtt cho phép truy ra cái nhà để xác định giá
Hồi quy là 1 cái tập đoàn thể hiện giá trị đầu vào và đầu ra theo 1
Muốn sử dụng phải trực quan hóa dữ liệu và chỉ sử dụng hqtt
Trong không gian 2 chiều hay nhiều chiều bỏ vào bộ test
nếu độ chính xác thấp thì vứt bằng cách test hqtt và sử
dụng bộ dữ liệu huấn luyện của hqtt
hqtt là đường thẳng y=ax+b lOMoAR cPSD| 58490434
tách mẫu thành 2 bộ train và test 2pp K-fold: Lấy vd 10 mẫu + lấy k = 5
Lần 1: lấy bộ 1,2,3,4 đi huấn luyện mô hình lấy bộ 5 để test
Lần 2: lấy bộ 1,2,3 ------ --
Lần 5: lấy bộ 1 Hold-out: Vd: 9 mẫu
Lấy ngẫu nhiên từng sample Convolutional Mô hình sinh là chat gpt
Phân loại là tìm một nhãn hợp lí để gán vào dữ liệu mới
Phân cụm từ một đống dữ liệu lớn chúng ta tách ra thành một cụm
Bộ test: Thử từng độ đo và kiểm tra độ chính xác nếu sai số ít nhất thì chọn lOMoAR cPSD| 58490434
K-means là một thuật toán phân cụm (clustering) trong học
không giám sát (unsupervised learning), được sử dụng để chia
tập dữ liệu thành K cụm riêng biệt (với K K K là số cụm được
xác định trước). Thuật toán hoạt động bằng cách:
1.Khởi tạo ngẫu nhiên K K K tâm cụm.
2.Gán mỗi điểm dữ liệu vào cụm có tâm gần nhất (dựa trên khoảng cách Euclidean).
3.Cập nhật tâm cụm bằng cách lấy trung bình cộng của các điểm trong cụm.
4.Lặp lại các bước gán và cập nhật cho đến khi tâm cụm không
thay đổi hoặc đạt số lần lặp tối đa.
Mục tiêu của K-means là tối thiểu hóa tổng bình phương
khoảng cách từ các điểm dữ liệu đến tâm cụm gần nhất, tạo ra
các cụm có độ tương đồng cao bên trong và khác biệt lớn giữa các cụm.
Lí thuyết hỏi đến K-means là dừng
Ôn kĩ học có giám sát( chủ đề 3) nếu sợ rớt
1. Chuẩn Bị Câu Trả Lời Cho Câu Hỏi "Dự Án Em Làm Bằng
Thuật Toán Gì?" a. Câu Trả Lời Chính
Khi giáo sư hỏi "Dự án em làm bằng thuật toán gì?", bạn cần trả
lời một cách tổng quát trước, sau đó đi vào chi tiết các thành lOMoAR cPSD| 58490434
phần chính của dự án (phát hiện khuôn mặt, nhận diện khuôn
mặt, huấn luyện mô hình). Dưới đây là câu trả lời mẫu:
"Dạ, thưa thầy, dự án của em là hệ thống điểm danh bằng
nhận diện khuôn mặt, và em đã sử dụng các thuật toán sau:
1.Phát hiện khuôn mặt: Em sử dụng thuật toán Haar
Cascade Classifier của OpenCV, dựa trên phương pháp
Haar-like features và AdaBoost để phát hiện khuôn mặt
trong khung hình từ webcam.
2.Nhận diện khuôn mặt: Em xây dựng một mô hình
Convolutional Neural Network (CNN) để phân loại khuôn
mặt. Mô hình này được huấn luyện trên dữ liệu khuôn mặt
đã thu thập, sử dụng kiến trúc CNN với các tầng Conv2D,
MaxPooling2D, và Dense để trích xuất đặc trưng và dự đoán nhãn.
3.Huấn luyện mô hình: Để huấn luyện CNN, em sử dụng
thuật toán tối ưu Adam (Adaptive Moment Estimation),
với hàm mất mát là categorical cross-entropy, và áp dụng
data augmentation để tăng tính đa dạng của dữ liệu.
Ngoài ra, em cũng sử dụng một số kỹ thuật hỗ trợ như
LabelEncoder để mã hóa nhãn, và train_test_split để chia dữ
liệu thành tập huấn luyện và kiểm tra." lOMoAR cPSD| 58490434
b. Giải Thích Thêm (Nếu Giáo Sư Yêu Cầu) Haar Cascade Classifier:
o Đây là một thuật toán phát hiện đối tượng dựa trên
machine learning, được đề xuất bởi Paul Viola và Michael Jones vào năm 2001.
o Nó sử dụng các đặc trưng Haar-like (các mẫu sáng-tối)
để phát hiện khuôn mặt, sau đó dùng AdaBoost để
chọn các đặc trưng tốt nhất và tăng tốc độ phát hiện. o Em đã sử dụng file
haarcascade_frontalface_default.xml được cung cấp sẵn bởi OpenCV. •
Convolutional Neural Network (CNN):
o CNN là một loại mạng nơ-ron sâu, phù hợp cho bài
toán phân loại hình ảnh.
o Mô hình của em gồm 3 tầng Conv2D (32, 64, 128
filter), 3 tầng MaxPooling2D để giảm kích thước, và 1
tầng Dense (256 nơron) trước tầng đầu ra.
o Tầng đầu ra sử dụng hàm kích hoạt softmax để dự
đoán xác suất cho từng lớp (nhãn). • Adam Optimizer:
o Adam là một thuật toán tối ưu dựa trên gradient
descent, kết hợp ưu điểm của momentum và RMSProp. lOMoAR cPSD| 58490434
o Nó điều chỉnh learning rate tự động, giúp mô hình hội tụ nhanh hơn. • Data Augmentation:
o Em đã sử dụng ImageDataGenerator của Keras để tạo
thêm dữ liệu bằng cách xoay, dịch chuyển, lật ngang,
và thay đổi độ sáng của ảnh.
2. Dự Đoán Các Câu Hỏi Tiếp Theo Và Cách Trả Lời
Giáo sư có thể hỏi thêm các câu hỏi để kiểm tra sự hiểu biết
của bạn về thuật toán và cách bạn áp dụng chúng. Dưới đây là
một số câu hỏi phổ biến và cách trả lời:
a. Câu Hỏi: "Tại sao em chọn Haar Cascade để phát hiện
khuôn mặt? Có phương pháp nào khác tốt hơn không?" Trả Lời:
Lý do chọn Haar Cascade:
o "Dạ, em chọn Haar Cascade vì đây là một phương
pháp phổ biến, được tích hợp sẵn trong OpenCV, và
dễ triển khai. Nó cũng có tốc độ xử lý nhanh, phù hợp với ứng dụng
thời gian thực như điểm danh qua webcam." •
Hạn chế của Haar Cascade:
o "Tuy nhiên, em nhận thấy Haar Cascade có