MinAI - Về trang chủ
Quiz
15/152 giờ
Đang tải...

Tổng kết và Bài kiểm tra

Ôn tập kiến thức và bài kiểm tra đánh giá cuối khóa

0

🎯 Mục tiêu bài học

TB5 min

Sau bài học này, học viên sẽ:

✅ Ôn tập toàn bộ kiến thức khóa ML Fundamentals

✅ Hoàn thành bài kiểm tra đánh giá cuối khóa

✅ Tự đánh giá mức độ nắm vững kiến thức

Thời gian: 2 giờ | Độ khó: Quiz

1

� Bảng Thuật Ngữ Ôn Tập

TB5 min
Thuật ngữChủ đềGiải thích đơn giản
Confusion MatrixEvaluationBảng TP/FP/TN/FN
Precision / RecallEvaluationĐộ chính xác / Độ phủ
ROC-AUCEvaluationĐo khả năng phân biệt của model
Gini ImpurityDecision TreeĐộ tạp chất Gini
K-MeansClusteringThuật toán phân cụm phổ biến
PCADimensionalityGiảm chiều giữ variance
Random ForestEnsembleBagging + random features
XGBoostEnsembleGradient Boosting tối ưu
Cross-ValidationModel SelectionĐánh giá khách quan bằng k-fold

Checkpoint

Bạn đã sẵn sàng làm quiz? Hãy ôn lại các thuật ngữ trước!

2

�📚 Tổng quan kiến thức

TB5 min

📚 Tổng quan kiến thức

Cấu trúc khóa học

Chủ đềNội dung chính
Supervised Learning
- RegressionLinear Regression, Polynomial Regression
- ClassificationLogistic Regression, Decision Tree, Random Forest, XGBoost
Unsupervised Learning
- ClusteringK-Means
- Dimensionality ReductionPCA
- Anomaly DetectionIsolation Forest
Evaluation
- MetricsAccuracy, Precision, Recall, F1-Score, ROC-AUC
- ValidationCross-Validation, GridSearchCV
Data Processing
- PreprocessingFeature Scaling, Missing Values, Encoding

ML Algorithm Cheat Sheet

Hình: Scikit-learn Algorithm Cheat Sheet

3

✅ Checklist kiến thức

TB5 min

Checklist kiến thức

1. Preprocessing

  • Xử lý missing values (imputation)
  • Feature scaling (StandardScaler, MinMaxScaler)
  • Encoding categorical (OneHot, Label)
  • Train/Test split đúng cách

2. Algorithms

  • Linear Regression: y^=β0+β1x\hat{y} = \beta_0 + \beta_1 x
  • Logistic Regression: σ(z)=11+ez\sigma(z) = \frac{1}{1+e^{-z}}
  • Decision Tree: Gini Impurity, Information Gain
  • K-Means: Inertia, Elbow Method
  • Random Forest, XGBoost

3. Evaluation

  • Confusion Matrix: TP, TN, FP, FN
  • Precision = TPTP+FP\frac{TP}{TP+FP}
  • Recall = TPTP+FN\frac{TP}{TP+FN}
  • F1 = 2×P×RP+R\frac{2 \times P \times R}{P + R}
  • ROC-AUC, PR Curve

4. Model Selection

  • Cross-Validation (K-Fold, Stratified)
  • GridSearchCV, RandomizedSearchCV
  • Bias-Variance Tradeoff

Checkpoint

Bạn đã ôn tập xong toàn bộ các chủ đề chưa?

4

📝 Bài kiểm tra cuối khóa

TB5 min

Bài kiểm tra cuối khóa

Phần 1: Trắc nghiệm (40 điểm)

Câu 1: Trong bài toán classification với 100 samples, model dự đoán đúng 80 positive và 5 negative, sai 10 positive và 5 negative. Precision là:

A. 0.80
B. 0.89
C. 0.94
D. 0.85

Câu 2: Khi nào nên dùng F1-Score thay vì Accuracy?

A. Dataset cân bằng
B. Dataset imbalanced
C. Chỉ quan tâm positive class
D. Cả B và C

Câu 3: Công thức Gini Impurity là:

A. Gini=1pi2Gini = 1 - \sum p_i^2
B. Gini=pi2Gini = \sum p_i^2
C. Gini=pilog(pi)Gini = -\sum p_i \log(p_i)
D. Gini=piqiGini = \sum |p_i - q_i|

Câu 4: Trong K-Means, Elbow Method dùng để:

A. Tính Silhouette Score
B. Chọn số clusters K
C. Khởi tạo centroids
D. Đánh giá convergence

Câu 5: Sigmoid function có output trong khoảng:

A. (,+)(-\infty, +\infty)
B. [0,1][0, 1]
C. [1,1][-1, 1]
D. (0,+)(0, +\infty)

Câu 6: Random Forest khác Bagging ở điểm nào?

A. Sử dụng bootstrap sampling
B. Kết hợp nhiều trees
C. Random feature selection tại mỗi split
D. Voting để predict

Câu 7: Overfitting xảy ra khi:

A. Train error cao, test error cao
B. Train error thấp, test error cao
C. Train error cao, test error thấp
D. Train error thấp, test error thấp

Câu 8: PCA chọn principal components dựa trên:

A. Minimize variance
B. Maximize variance
C. Random selection
D. User input

Câu 9: XGBoost cải tiến so với Gradient Boosting bằng cách:

A. Loại bỏ regularization
B. Thêm L1, L2 regularization
C. Chỉ dùng decision tree
D. Không dùng learning rate

Câu 10: Stratified K-Fold nên dùng khi:

A. Regression problem
B. Classification với imbalanced classes
C. Time series data
D. Small dataset

Phần 2: Tự luận (60 điểm)

Câu 11 (15 điểm): Cho confusion matrix:

Predicted 0Predicted 1
Actual 08515
Actual 11090

Tính: a) Accuracy
b) Precision (class 1)
c) Recall (class 1)
d) F1-Score (class 1)

Câu 12 (15 điểm): Cho data points:

PointXY
A12
B21
C45
D54

Với K-Means (K=2), khởi tạo:

  • Centroid 1 = A = (1, 2)
  • Centroid 2 = D = (5, 4)

a) Gán mỗi điểm vào cluster (Iteration 1)
b) Cập nhật centroids
c) Tính Inertia sau iteration 1

Câu 13 (15 điểm): Giải thích sự khác biệt giữa: a) Bagging vs Boosting
b) Precision vs Recall
c) ROC-AUC vs PR-AUC

Câu 14 (15 điểm): Viết code Python hoàn chỉnh để:

  • Load dataset (có thể dùng sklearn datasets)
  • Preprocess data (scale, split)
  • Train Random Forest
  • Tune hyperparameters với GridSearchCV
  • Evaluate với cross-validation
  • In confusion matrix và classification report
5

📚 Đáp án tham khảo

TB5 min

Đáp án tham khảo

Trắc nghiệm

CâuĐáp ánGiải thích
1BTP=80, FP=5. Precision = 80/(80+5) = 0.89
2DF1 hữu ích khi imbalanced và focus positive
3ACông thức Gini chuẩn
4BElbow tìm K tối ưu
5BSigmoid output (0,1)
6CRF thêm feature randomness
7BHigh variance = overfitting
8BPCA maximize variance
9BXGBoost có regularization
10BStratified cho classification imbalanced

Câu 11

a) Accuracy = 85+90200=0.875\frac{85+90}{200} = 0.875

b) Precision = 9090+15=0.857\frac{90}{90+15} = 0.857

c) Recall = 9090+10=0.9\frac{90}{90+10} = 0.9

d) F1 = 2×0.857×0.90.857+0.9=0.878\frac{2 \times 0.857 \times 0.9}{0.857 + 0.9} = 0.878

Câu 12

a) Khoảng cách:

Pointd(C1)d(C2)Cluster
A04.47C1
B1.414.24C1
C4.241.41C2
D4.470C2

b) New centroids:

  • C1 = ((1+2)/2, (2+1)/2) = (1.5, 1.5)
  • C2 = ((4+5)/2, (5+4)/2) = (4.5, 4.5)

c) Inertia: J=d(A,C1)2+d(B,C1)2+d(C,C2)2+d(D,C2)2J = d(A,C1)^2 + d(B,C1)^2 + d(C,C2)^2 + d(D,C2)^2 =0.52+0.52+0.52+0.52+0.52+0.52+0.52+0.52=2= 0.5^2+0.5^2 + 0.5^2+0.5^2 + 0.5^2+0.5^2 + 0.5^2+0.5^2 = 2

Câu 14 - Code mau

Python
1from sklearn.datasets import load_breast_cancer
2from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score
3from sklearn.preprocessing import StandardScaler
4from sklearn.ensemble import RandomForestClassifier
5from sklearn.metrics import classification_report, confusion_matrix
6import numpy as np
7
8# 1. Load data
9data = load_breast_cancer()
10X, y = data.data, data.target
11
12# 2. Preprocess
13scaler = StandardScaler()
14X_scaled = scaler.fit_transform(X)
15
16X_train, X_test, y_train, y_test = train_test_split(
17 X_scaled, y, test_size=0.2, random_state=42, stratify=y
18)
19
20# 3. Train Random Forest
21rf = RandomForestClassifier(random_state=42)
22
23# 4. GridSearchCV
24param_grid = {
25 'n_estimators': [50, 100, 200],
26 'max_depth': [5, 10, None],
27 'min_samples_split': [2, 5]
28}
29
30grid_search = GridSearchCV(rf, param_grid, cv=5, scoring='f1', n_jobs=-1)
31grid_search.fit(X_train, y_train)
32
33print(f"Best params: {grid_search.best_params_}")
34print(f"Best CV F1: {grid_search.best_score_:.4f}")
35
36# 5. Cross-validation
37best_model = grid_search.best_estimator_
38cv_scores = cross_val_score(best_model, X_train, y_train, cv=5, scoring='f1')
39print(f"\nCV Scores: {cv_scores}")
40print(f"Mean: {cv_scores.mean():.4f} (+/- {cv_scores.std()*2:.4f})")
41
42# 6. Evaluate on test set
43y_pred = best_model.predict(X_test)
44
45print("\n=== Confusion Matrix ===")
46print(confusion_matrix(y_test, y_pred))
47
48print("\n=== Classification Report ===")
49print(classification_report(y_test, y_pred, target_names=data.target_names))
6

🎉 Chúc mừng hoàn thành khóa học!

TB5 min

Bạn đã nắm vững các kiến thức nền tảng về Machine Learning!

  • 📊 Supervised Learning: Linear/Logistic Regression, Decision Tree, Ensemble
  • 📊 Unsupervised Learning: K-Means, PCA, Anomaly Detection
  • 📏 Evaluation: Metrics, ROC-AUC, Threshold, Cross-Validation

Bước tiếp theo

  1. Thực hành: Làm các projects thực tế
  2. Kaggle: Tham gia competitions
  3. Deep Learning: Học tiếp Neural Networks
  4. Chuyên sâu: NLP, Computer Vision, Time Series

Câu hỏi tự kiểm tra

  1. Hãy tóm tắt sự khác biệt giữa Supervised Learning và Unsupervised Learning với 2 ví dụ mỗi loại.
  2. Khi đánh giá model classification, tại sao cần xem xét nhiều metrics (Precision, Recall, F1, AUC) thay vì chỉ Accuracy?
  3. So sánh Random Forest và Gradient Boosting — ưu nhược điểm và khi nào dùng mỗi loại?
  4. Nếu bạn có một bài toán ML thực tế, bạn sẽ thực hiện những bước nào từ đầu đến cuối?

🎉 Tuyệt vời! Bạn đã hoàn thành toàn bộ khóa học Machine Learning Fundamentals!

Chúc mừng: Bạn đã nắm vững nền tảng ML — hãy tiếp tục thực hành và khám phá Deep Learning!

Checkpoint

Chúc mừng! Bạn đã hoàn thành khóa ML Fundamentals! 🎉