lOMoARcPSD| 58490434
AI: Artificial Intelligence là lĩnh vực nghiên cu và phát trin các
h thng máy tính có kh năng thực hin nhng nhim v
thông minh như con người- nhng thut toán có kh năng suy
din
Machine learning : Là một lĩnh vực con ca AI tp trung vào vic
giúp cho máy tính có kh năng tự hc hi t d liu mà không
cn phi lp trình một cách “cụ thể”.
lOMoARcPSD| 58490434
Là tp hp các thut toán giúp mt có kh năng học hiu da
trên các kinh nghim v hiu biết của con người
Vd: gi s mình lp trình cho ngân hàng phát hin la đo: c
th- ko phi ML: cho nó c định là giao dịch nước ngoài và là
1000$ tr lên mặc định là la đo
Hun luyện cho nó 1 mô hình và đưa các lịch s giao dch bình
thường ln la đảo để nó t hc hi và nhn biết đâu là thật
hay gi thì đây mới là ML
Deep learning:
Là mt mạng các network mà được ghép li bng các
perception
Là lĩnh vực con ca học máy có liên quan đến các thut toán
ly cm ng t cấu trúc cũng như là chức năng của não b con
người
Có rt nhiu ng dng ni bt nht ví d như chat gpt có 4
phương pháp học máy - hc 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 hun luyn trên tp d liệu đã gắn nhãn, nhm tìm
ra mi quan h gia đầu vào (input) đầu ra (output), t đó
d đoán kết qu cho d liu mi.
-hc không có giám sát
lOMoARcPSD| 58490434
-hc bán giám sát
-học tăng cường
So sánh hc có giám sát và hc không giám sát
Hc có giám sát Hc không giám sát
Tiêu chí
(Supervised) (Unsupervised)
D liu
Có nhãn (có c đầuKhông có nhãn (ch
hun vào & đầu ra) đầu vào)
luyn
Hc cách ánh x t
Mc Tìm cu trúc n trong
đầu vào đến đầu
tiêu d liu
ra
Bài toán Phân cm, Gim s
Phân loi, Hi quy
chính chiu
Hc có giám sát Hc không giám sát
Tiêu chí
lOMoARcPSD| 58490434
(Supervised) (Unsupervised)
Nhn din khuôn
ng Phân loi khách hàng,
mt, d đoán giá
dng phát hin bất thường
nhà
Hi quy và Phân lp
lOMoARcPSD| 58490434
Data: d liu thông tin hay các giá tr đưc thu thp t nhiu
ngun khác nhau d liu có th tn ti dng thô(raw) hoc
dng tinh (processed data) dạng đã qua xử lí ri
Dataset: tp d liu là tp hp các cu trúc ca mu d liu
đưc t chc hoc sp xếp đc sd cho 1 mục đích nào đớ
Feature : đặc trưng
Sample: đối tượng, mu
Label: nhãn
lOMoARcPSD| 58490434
Model: mô hình là mt thut toán hay mt h thng mà thông
qua quá trình hun luyn s hc t d liệu cách để đưa ra 1 dự
đoán chính xác đồng thi là s mô phng ca cách con người
hc thông qua sách v
Over và Under : quá đúng và quá ẩu khiến d liu không ly
đưc mt cách hiu qu
Balance: phân lp tt
- Data wrangling: làm sch d liu
lOMoARcPSD| 58490434
Feature:
+ Select: là quá trình loi b các đặc trưng không quan trọng
để giảm độ phc tp ca hình, ci thin hiu sut tránh
overfitting.
lOMoARcPSD| 58490434
+ Transform: là quá trình biến đổi d liu để phù hợp hơn với
mô hình hc máy.
+ Extract: là quá trình tạo ra đặc trưng mới t d liu gc, giúp
mô hình hc hiu qu hơn.
Vì sao phi 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 ng dặc trưng ảnh hưởng đến tốc độ x lí, gim đ
chính xác và kh năng hiểu ca các mô hình
Training dataset: các sample được gn (them các feature,
label) mục đích để hun luyn mô hình hoàn thiện có độ
dataset cao Gii thut K-NN:
Gii thut Decision Tree
lOMoARcPSD| 58490434
Gii thut SVM(Support Vector Machines)
Chương 1,2,3 đều là các gii thut hc có giám sát
Entrophy vs Gini: gim thời gian tính toán và tăng độ chính
xác phương pháp hc máy và mô hình hc máy là gì? phân
bit?
lOMoARcPSD| 58490434
Missing value
Ti sao hc sâu lại ra đời sau hc máy ?
Tác dng,
lOMoARcPSD| 58490434
1. Chun b code và d liu trên laptop
Code được viết bng Python, s dụng thư viện OpenCV đ
x lý hình nh và phát hin khuôn mt.
S dụng pickle để lưu trữ d liu khuôn mt và tên vào file
.pkl để dùng cho các bước tiếp theo.
Code thc hin thu thp d liu khuôn mt t webcam,
lưu vào mảng NumPy và lưu trữ trong thư mục data/.
lOMoARcPSD| 58490434
📌 D liu ca project:
D liệu đầu vào: Hình nh khuôn mặt được thu thp t
webcam.
D liệu đầu ra:
o faces_data.pkl: Cha d liu khuôn mặt đã xử lý và
lưu dưới dng NumPy array.
o names.pkl: Chứa danh sách tên tương ứng vi d liu
khuôn mt.
Mi khuôn mặt thu được s đưc resize v kích thước
50x50 để chun hóa d liu.
2. Lý do chn project
Nhn din khuôn mt là mt ng dng quan trng trong
bo mật, điểm danh t động, và cá nhân hóa tri nghim
người dùng.
Đây là một bài toán ph biến trong lĩnh vực Computer
Vision Machine Learning, giúp hiu sâu hơn về cách
máy tính nhn din hình nh.
D án giúp rèn luyn k năng xửnh bng OpenCV, làm
vic vi d liệu NumPy, và lưu trữ d liu hiu qu bng
pickle.
lOMoARcPSD| 58490434
3. Áp dng lý thuyết và các phép x lý tính toán
📌 Các lý thuyết áp dng:
1.Xnh vi OpenCV:
o Chuyển đổi nh sang nh xám
(cv2.cvtColor) để d dàng phát hin khuôn mt.
o S dng b phân loi Haar Cascade
(haarcascade_frontalface_default.xml) để phát hin
khuôn mt.
o Resize khuôn mt v kích thước 50x50 để chun hóa
d liu.
2.Lưu trữ d liu khuôn mt:
o D liu khuôn mặt được lưu trữ i dng NumPy
array để thun tin cho vic hun luyn mô hình sau
này.
o pickle được dùng để lưu dữ liu vào file .pkl, giúp d
dàng tái s dng mà không cn thu thp li d liu.
3.Lặp và điều kin dng:
o S dng vòng lp while để liên tc thu thp d liu
khuôn mt.
o Điu kin dng: Khi thu thập đủ 100 nh
hoc nhn phím 'q'.
lOMoARcPSD| 58490434
4. Tác dng thc tế ca project
ng dụng điểm danh t động: Có th m rộng để phát
trin h thống điểm danh da trên nhn din khuôn mt
trong lp hc
* ANN là nn tng của Deep Learning => DL được xây dng t
ANN
ANN s hi v cui 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 to ra bi con
người
Perceptron là 1 cái nơ ron nhân tạo- tế bào ca
mng
X, w : 1 vectơ
Là 1 điểm trong không gian 1 chiu
Activation 1 là có sn 2 là t to
CNN là 1 perception
lOMoARcPSD| 58490434
DL là 1 network là nhiu perception
Hi quy tuyến tính
X1
X2
X3
X4
label
X1
Thu thp thông tin ca 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á
Hi quy là 1 cái tập đoàn thể hin giá tr đầu vào và đầu ra theo
1
Mun s dng phi trc quan hóa d liu và ch s dng hqtt
Trong không gian 2 chiu hay nhiu chiu b vào b test
nếu độ chính xác thp thì vt bng cách test hqtt và s
dng b d liu hun luyn ca hqtt
hqtt là đường thng y=ax+b
lOMoARcPSD| 58490434
tách mu thành 2 b train và test 2pp K-fold:
Ly vd 10 mu
+ ly k = 5
Ln 1: ly b 1,2,3,4 đi huấn luyn mô hình ly b
5 để test
Ln 2: ly b 1,2,3 ------
--
Ln 5: ly b 1 Hold-out:
Vd: 9 mu
Ly ngu nhiên tng sample
Convolutional
Mô hình sinh là chat gpt
Phân loi là tìm mt nhãn hợp lí để gán vào d liu mi
Phân cm t một đống d liu ln chúng ta tách ra thành mt
cm
B test: Th từng độ đo và kiểm tra độ chính xác nếu sai s ít
nht thì chn
lOMoARcPSD| 58490434
K-means là mt thut toán phân cm (clustering) trong hc
không giám sát (unsupervised learning), được s dụng để chia
tp d liu thành K cm riêng bit (vi K K K là s cm đưc
xác định trước). Thut toán hoạt động bng cách:
1.Khi to ngu nhiên K K K tâm cm.
2.Gán mỗi điểm d liu vào cm có tâm gn nht (da trên
khong cách Euclidean).
3.Cp nht tâm cm bng cách ly trung bình cng ca các
đim trong cm.
4.Lp li các bước gán cp nhật cho đến khi m cm không
thay đổi hoặc đạt s ln lp tối đa.
Mc tiêu ca K-means là ti thiu hóa tổng bình phương
khong cách t các điểm d liệu đến tâm cm gn nht, to ra
các cụm có độ tương đồng cao bên trong và khác bit ln gia
các cm.
Lí thuyết hỏi đến K-means là dng
Ôn kĩ học có giám sát( ch đề 3) nếu s rt
1. Chun B Câu Tr Li Cho Câu Hi "D Án Em Làm Bng
Thut Toán Gì?" a. Câu Tr Li Chính
Khi giáo sư hỏi "D án em làm bng thut toán gì?", bn cn tr
li mt cách tổng quát trước, sau đó đi vào chi tiết các thành
lOMoARcPSD| 58490434
phn chính ca d án (phát hin khuôn mt, nhn din khuôn
mt, hun luyện mô hình). Dưới đây là câu trả li mu:
"Dạ, thưa thầy, d án ca em là h thống điểm danh bng
nhn din khuôn mặt, và em đã sử dng các thut toán sau:
1.Phát hin khuôn mt: Em s dng thut toán Haar
Cascade Classifier ca OpenCV, dựa trên phương pháp
Haar-like features và AdaBoost để phát hin khuôn mt
trong khung hình t webcam.
2.Nhn din khuôn mt: Em xây dng mt hình
Convolutional Neural Network (CNN) để phân loi khuôn
mặt. Mô hình này được hun luyn trên d liu khuôn mt
đã thu thập, s dng kiến trúc CNN vi các tng Conv2D,
MaxPooling2D, Dense đ trích xuất đặc trưng d
đoán nhãn.
3.Hun luyn mô hình: Để hun luyn CNN, em s dng
thut toán tối ưu Adam (Adaptive Moment Estimation),
vi hàm mt mát là categorical cross-entropy, và áp dng
data augmentation để tăng tính đa dạng ca d liu.
Ngoài ra, em cũng sử dng mt s k thut h tr như
LabelEncoder để mã hóa nhãn, và train_test_split để chia d
liu thành tp hun luyn và kim tra."
lOMoARcPSD| 58490434
b. Gii Thích Thêm (Nếu Giáo Sư Yêu Cầu) Haar Cascade
Classifier:
o Đây là một thut toán phát hin đối tượng da trên
machine learning, được đề xut bi Paul Viola và
Michael Jones vào năm 2001.
o Nó s dụng các đặc trưng Haar-like (các mu sáng-ti)
để phát hin 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 hin.
o Em đã sử dng file
haarcascade_frontalface_default.xml được cung cp
sn bi OpenCV.
Convolutional Neural Network (CNN):
o CNN là mt loi mạng nơ-ron sâu, phù hp cho bài
toán phân loi hình nh.
o Mô hình ca em gm 3 tng 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 dng hàm kích hoạt softmax đ d
đoán xác suất cho tng lp (nhãn).
Adam Optimizer:
o Adam là mt thut toán tối ưu dựa trên gradient
descent, kết hợp ưu điểm ca momentum và
RMSProp.
lOMoARcPSD| 58490434
o Nó điều chnh learning rate t động, giúp mô hình hi
t nhanh hơn.
Data Augmentation:
o Em đã sử dng ImageDataGenerator của Keras để to
thêm d liu bng cách xoay, dch chuyn, lt ngang,
và thay đổi độ sáng ca nh.
2. D Đoán Các Câu Hỏi Tiếp Theo Và Cách Tr Li
Giáo sư có thể hi thêm các câu hỏi để kim tra s hiu biết
ca bn v thut toán và cách bn áp dụng chúng. Dưới đây là
mt s câu hi ph biến và cách tr li:
a. Câu Hi: "Ti sao em chọn Haar Cascade để phát hin
khuôn mặt? Có phương pháp nào khác tốt hơn không?" Trả
Li:
Lý do chn Haar Cascade:
o "D, em chọn Haar Cascade vì đây là một phương
pháp ph biến, được tích hp sn trong OpenCV, và
d trin khai. Nó cũng có tốc độ x lý nhanh, phù hp
vi ng dng
thi gian thực như điểm danh qua webcam."
Hn chế ca Haar Cascade:
o "Tuy nhiên, em nhn thy Haar Cascade có

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)đầ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
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ó