Ngân hàng đề — AWS Certified Machine Learning Specialty

Tìm thấy 371 câu.

Câu 101
A company uses camera images of the tops of items displayed on store shelves to determine which items were removed and which ones still remain. After several hours of data labeling, the company has a total of 1,000 hand-labeled images covering 10 distinct items. The training results were poor.
Which machine learning approach fulfills the company's long-term needs?
  1. A Convert the images to grayscale and retrain the model
  2. B Reduce the number of distinct items from 10 to 2, build the model, and iterate
  3. C Attach different colored labels to each item, take the images again, and build the model
  4. D Augment training data for each item using image variants like inversions and translations, build the model, and iterate.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả một công ty sử dụng hình ảnh từ camera chụp từ trên xuống các kệ hàng siêu thị để theo dõi sản phẩm nào bị lấy đi và sản phẩm nào còn lại. Họ đã thu thập và gắn nhãn thủ công 1.000 hình ảnh đại diện cho 10 sản phẩm khác nhau sau vài giờ làm việc. Tuy nhiên, kết quả huấn luyện mô hình ML kém (poor training results).
Vấn đề cốt lõi: Dataset quá nhỏ (chỉ khoảng 100 hình ảnh/sản phẩm), dẫn đến mô hình không tổng quát hóa tốt (overfitting/underfitting). Câu hỏi yêu cầu cách tiếp cận ML dài hạn (long-term needs), phù hợp với môi trường AWS như Amazon SageMaker (hỗ trợ data augmentation qua built-in transforms hoặc libraries như Albumentations/TensorFlow/Keras).
Mục tiêu: Tăng chất lượng mô hình mà không cần thu thập thêm dữ liệu thực tế lớn, tận dụng kỹ thuật data augmentation – một best practice trong Computer Vision trên AWS (cập nhật đến 2026 với SageMaker Data Wrangler và Canvas hỗ trợ augmentation tự động).
📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Augment training data for each item using image variants like inversions and translations, build the model, and iterate.
Lý do: Với dataset nhỏ (1.000 ảnh cho 10 classes), data augmentation là giải pháp dài hạn, scalable nhất trên AWS. Kỹ thuật này tạo ra hàng nghìn biến thể hình ảnh nhân tạo từ dữ liệu gốc (như đảo ngược - inversions, dịch chuyển - translations, xoay, crop, noise), giúp mô hình học được đặc trưng robust hơn, giảm overfitting.
🛠️ Áp dụng trên AWS: Sử dụng SageMaker Processing Jobs hoặc Training Jobs với TensorFlow/Keras/PyTorch built-in augmentation (phiên bản 2026 hỗ trợ AutoML augmentation via SageMaker Canvas). Quy trình: Augment → Train → Iterate (fine-tune hyperparameters với Hyperparameter Optimization - HPO). Kết quả: Độ chính xác tăng 20-50% cho CV tasks. Đây là tiêu chuẩn vàng cho long-term ML ops.

📋 Giải thích chi tiết tất cả các phương án

  • ❌ Phương án SAI: Convert the images to grayscale and retrain the model
    Lý do sai: Chuyển sang grayscale mất thông tin màu sắc quan trọng (sản phẩm trên kệ thường phân biệt bằng màu), làm dataset kém đa dạng hơn, dẫn đến hiệu suất tệ hơn. Không giải quyết gốc rễ thiếu dữ liệu, chỉ là tweak không scalable. Trên AWS, điều này không được khuyến nghị cho CV (Rekognition Custom Labels ưu tiên RGB).

  • ❌ Phương án SAI: Reduce the number of distinct items from 10 to 2, build the model, and iterate
    Lý do sai: Giảm classes xuống 2 không đáp ứng nhu cầu kinh doanh thực tế (công ty cần theo dõi 10 sản phẩm). Đây là giải pháp ngắn hạn, không dài hạn, vi phạm nguyên tắc ML scalability. Trên SageMaker, multi-class classification với ít classes dễ hơn nhưng không giải quyết underfitting do data scarcity.

  • ❌ Phương án SAI: Attach different colored labels to each item, take the images again, and build the model
    Lý do sai: Thêm nhãn màu vật lý thay đổi môi trường thực tế (không khả thi cho kệ hàng động, tốn kém, không tự động hóa). Phải chụp lại toàn bộ ảnh, mất thời gian và không scalable dài hạn. AWS khuyến nghị tránh hardware changes, ưu tiên software như augmentation thay vì recollect data.

  • ✅ Phương án ĐÚNG: Augment training data for each item using image variants like inversions and translations, build the model, and iterate.
    Lý do đúng: Như đã giải thích ở trên, data augmentation nhân tạo dữ liệu đa dạng (inversions: lật ảnh; translations: dịch chuyển), phù hợp dataset nhỏ, hỗ trợ iterate nhanh trên SageMaker. Đáp ứng long-term needs với zero additional real data collection.
    🧩 Ví dụ AWS workflow: SageMaker Studio → Data Wrangler (augment) → Training Job → Deploy endpoint → Monitor với Model Monitor (2026 updates).

Câu 102
A Data Scientist is developing a binary classifier to predict whether a patient has a particular disease on a series of test results. The Data Scientist has data on
400 patients randomly selected from the population. The disease is seen in 3% of the population.
Which cross-validation strategy should the Data Scientist adopt?
  1. A A k-fold cross-validation strategy with k=5
  2. B A stratified k-fold cross-validation strategy with k=5
  3. C A k-fold cross-validation strategy with k=5 and 3 repeats
  4. D An 80/20 stratified split between training and validation
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào chiến lược cross-validation (CV) phù hợp cho một Data Scientist đang xây dựng binary classifier (phân loại nhị phân) để dự đoán bệnh dựa trên kết quả xét nghiệm. Dữ liệu bao gồm 400 bệnh nhân được chọn ngẫu nhiên từ dân số, trong đó tỷ lệ mắc bệnh chỉ 3% (rất thấp, dẫn đến dữ liệu mất cân bằng - imbalanced dataset).

📊 Vấn đề cốt lõi: Với tỷ lệ positive class (mắc bệnh) chỉ ~3%, trong 400 mẫu dữ liệu chỉ có khoảng 12 mẫu positive (400 * 0.03). Nếu dùng CV thông thường, một số fold có thể không có hoặc rất ít mẫu positive, dẫn đến model không học được tốt, bias cao và đánh giá không đáng tin cậy. Cần chiến lược CV giữ nguyên tỷ lệ class ở mỗi fold để phản ánh đúng phân bố dân số thực tế.

🛠️ Liên quan AWS: Trong AWS SageMaker (phiên bản mới nhất 2026), khi huấn luyện model ML với imbalanced data (như binary classification trong SageMaker Processing Jobs hoặc Training Jobs), Stratified K-Fold CV được khuyến nghị tích hợp qua Scikit-learn (sklearn.model_selection.StratifiedKFold) hoặc SageMaker Hyperparameter Tuning với CV strategies. Điều này đảm bảo robust evaluation trước khi deploy model lên SageMaker Endpoints.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: A stratified k-fold cross-validation strategy with k=5

Lý do:

  • Stratified K-Fold chia dữ liệu thành k=5 fold sao cho tỷ lệ positive/negative class được giữ nguyên ở mỗi fold (khoảng 3% positive/fold). Với dữ liệu imbalanced, điều này tránh tình trạng fold thiếu positive samples, giúp model đánh giá ổn định, giảm variance và phản ánh đúng performance thực tế.
  • Phù hợp best practice AWS SageMaker cho binary classification imbalanced (theo AWS ML Best Practices 2026). K=5 là lựa chọn tiêu chuẩn cân bằng giữa bias-variance tradeoff.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ A k-fold cross-validation strategy with k=5
    Sai vì: K-Fold thông thường chia ngẫu nhiên, không đảm bảo tỷ lệ class ở mỗi fold. Với 3% positive (~12 samples), một số fold có thể 0 positive samples, dẫn đến model không học được và metrics như precision/recall bị méo mó. Không phù hợp imbalanced data.

  • ✅ A stratified k-fold cross-validation strategy with k=5
    Đúng vì: Như giải thích trên, stratified duy trì tỷ lệ class chính xác ở mỗi fold, lý tưởng cho imbalanced binary classification. AWS khuyến nghị trong SageMaker Clarify hoặc Autopilot cho bias detection.

  • ❌ A k-fold cross-validation strategy with k=5 and 3 repeats
    Sai vì: Thêm repeats (3 lần lặp) chỉ tăng số lần CV để giảm variance, nhưng vẫn dùng K-Fold thông thường nên không giải quyết vấn đề thiếu positive samples ở một số fold. Tốn tài nguyên compute (SageMaker Training) mà không fix root cause.

  • ❌ An 80/20 stratified split between training and validation
    Sai vì: Đây chỉ là single split (80% train/20% val), không phải cross-validation. Dù stratified, nó dùng ít dữ liệu hơn (chỉ 1 validation set) dẫn đến high variance và overfitting risk cao. CV (như k-fold) tốt hơn vì tận dụng toàn bộ data nhiều lần.

📘 Tài liệu tham khảo (cập nhật AWS 2026)

🧠 Lời khuyên: Trong SageMaker, implement qua ScriptMode Processing Job với StratifiedKFold(n_splits=5) để tune hyperparameters hiệu quả trước production!

Câu 103
A technology startup is using complex deep neural networks and GPU compute to recommend the company's products to its existing customers based upon each customer's habits and interactions. The solution currently pulls each dataset from an Amazon S3 bucket before loading the data into a TensorFlow model pulled from the company's Git repository that runs locally. This job then runs for several hours while continually outputting its progress to the same S3 bucket. The job can be paused, restarted, and continued at any time in the event of a failure, and is run from a central queue.
Senior managers are concerned about the complexity of the solution's resource management and the costs involved in repeating the process regularly. They ask for the workload to be automated so it runs once a week, starting Monday and completing by the close of business Friday.
Which architecture should be used to scale the solution at the lowest cost?
  1. A Implement the solution using AWS Deep Learning Containers and run the container as a job using AWS Batch on a GPU-compatible Spot Instance
  2. B Implement the solution using a low-cost GPU-compatible Amazon EC2 instance and use the AWS Instance Scheduler to schedule the task
  3. C Implement the solution using AWS Deep Learning Containers, run the workload using AWS Fargate running on Spot Instances, and then schedule the task using the built-in task scheduler
  4. D Implement the solution using Amazon ECS running on Spot Instances and schedule the task using the ECS service scheduler
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi mô tả một startup công nghệ đang sử dụng mạng nơ-ron sâu phức tạp (deep neural networks) kết hợp với GPU compute để khuyến nghị sản phẩm cho khách hàng dựa trên thói quen và tương tác của họ. Giải pháp hiện tại:

  • Kéo dữ liệu từ Amazon S3 bucket.
  • Tải mô hình TensorFlow từ Git repository và chạy local (trên máy cục bộ).
  • Job chạy vài giờ, liên tục ghi tiến độ (progress) vào cùng S3 bucket.
  • Hỗ trợ pause, restart, continue khi lỗi, và được quản lý qua central queue.

Ban lãnh đạo lo ngại về quản lý tài nguyên phức tạp và chi phí lặp lại cao. Họ yêu cầu tự động hóa workload để chạy 1 lần/tuần, bắt đầu từ Thứ Hai và hoàn thành trước kết thúc giờ làm việc Thứ Sáu.
Mục tiêu chính: Chọn kiến trúc scale giải pháp với chi phí thấp nhất (lowest cost), tận dụng tính fault-tolerant (checkpointing qua S3), batch job dài, và GPU.
🛠️ Yêu cầu kỹ thuật ngầm: Cần managed service hỗ trợ containerized DL workloads, Spot Instances cho GPU tiết kiệm, scheduling hàng tuần, và queue-based execution.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Implement the solution using AWS Deep Learning Containers and run the container as a job using AWS Batch on a GPU-compatible Spot Instance

Lý do chi tiết (dựa trên best practices AWS đến 2026):

  • AWS Deep Learning Containers (DLC): Các container được AWS tối ưu hóa sẵn cho TensorFlow (và các framework DL khác), tích hợp sẵn CUDA/GPU drivers, dễ pull từ Git/S3, và hỗ trợ checkpointing tự nhiên qua output vào S3. ✅
  • AWS Batch: Dịch vụ managed batch computing lý tưởng cho job dài (hours), tự động quản lý compute environment với Spot Instances GPU (như p4d, g5), job queue, và checkpointing (pause/restart khi Spot bị gián đoạn nhờ state lưu S3). Hỗ trợ array jobs hoặc multi-node cho scale. Scheduling hàng tuần qua AWS EventBridge hoặc Step Functions.
  • Spot Instances GPU: Giảm chi phí lên đến 90% so với On-Demand, phù hợp workload không critical (chạy weekly). AWS Batch tự động fallback sang On-Demand nếu Spot thiếu.
  • Tổng chi phí thấp nhất: Không cần tự quản lý EC2/ECS/Fargate, tự động scale, fault-tolerant hoàn hảo khớp yêu cầu. Theo AWS Well-Architected Framework (2024+), đây là pattern chuẩn cho ML training/inference batch.

📋 Giải thích tất cả các phương án

Dưới đây là phân tích từng phương án một, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá ✅ (đúng) hoặc ❌ (sai), với lý do chi tiết bằng tiếng Việt dựa trên tính phù hợp, chi phí, scale, và fault-tolerance.

  • ✅ Implement the solution using AWS Deep Learning Containers and run the container as a job using AWS Batch on a GPU-compatible Spot Instance
    🛠️ Đúng hoàn hảo: Kết hợp DLC cho container DL optimized + AWS Batch cho managed job queue (khớp central queue hiện tại), Spot GPU tiết kiệm chi phí cao nhất. Hỗ trợ pause/restart tự động qua checkpoint S3, scheduling weekly dễ dàng. Scale linh hoạt (auto-scaling compute env), không overhead quản lý. Lý tưởng cho job dài fault-tolerant.

  • ❌ Implement the solution using a low-cost GPU-compatible Amazon EC2 instance and use the AWS Instance Scheduler to schedule the task
    🧩 Sai vì thiếu managed batch và fault-tolerance kém: EC2 GPU (như g4dn) rẻ nhưng phải tự quản lý AMI, queue, checkpointing (script thủ công pull S3/Git), không tự động pause/restart khi lỗi/Spot gián đoạn. Instance Scheduler chỉ bật/tắt instance theo lịch (không xử lý job queue phức tạp). Chi phí cao hơn do idle time và quản lý thủ công; không scale tốt cho weekly runs dài.

  • ❌ Implement the solution using AWS Deep Learning Containers, run the workload using AWS Fargate running on Spot Instances, and then schedule the task using the built-in task scheduler
    🚫 Sai vì Fargate GPU Spot hạn chế và không phù hợp batch job: Fargate hỗ trợ GPU từ 2023 (g5 instances), nhưng Spot trên Fargate GPU chưa ổn định/tiết kiệm bằng Batch (2026: chủ yếu CPU Spot, GPU Spot hiếm và đắt hơn). Không có job queue/checkpointing native như Batch; "built-in task scheduler" của Fargate yếu (chỉ one-off tasks, không weekly recurring tốt). Overhead cao cho job dài, dễ fail khi Spot interrupt mà không restart tự động.

  • ❌ Implement the solution using Amazon ECS running on Spot Instances and schedule the task using the ECS service scheduler
    ⚠️ Sai vì ECS dành cho services liên tục, không phải batch jobs: ECS hỗ trợ Spot cho tasks, nhưng ECS service scheduler dùng cho long-running services (không pause/restart job dài như yêu cầu). Không optimized cho DL (thiếu DLC native), phải tự build container + queue. Chi phí cao hơn Batch do không managed compute env đầy đủ; scale kém cho GPU batch weekly, dễ lãng phí nếu job chỉ chạy hours.

📘 Tài liệu tham khảo (cập nhật AWS 2026)

Hy vọng phân tích này giúp bạn ôn thi DOP-C02 hiệu quả! 🚀 Nếu cần ví dụ code Terraform/CLI, hãy hỏi thêm.

Câu 104
A Machine Learning Specialist prepared the following graph displaying the results of k-means for k = [1..10]:

Considering the graph, what is a reasonable selection for the optimal choice of k?
  1. A 1
  2. B 4
  3. C 7
  4. D 10
Xem giải thích

🧩 Phân tích câu hỏi trắc nghiệm AWS Machine Learning Specialty

📖 Nội dung câu hỏi được giải thích chi tiết:
Câu hỏi này thuộc chủ đề K-means Clustering trong Machine Learning trên AWS, thường được áp dụng trong Amazon SageMaker để xây dựng mô hình phân cụm dữ liệu không giám sát. Một Machine Learning Specialist đã chạy thuật toán k-means với số lượng cụm k từ 1 đến 10, và vẽ biểu đồ Elbow Method (phương pháp "khuỷu tay") để đánh giá hiệu suất. Biểu đồ hiển thị Total Sum of Squares Within Clusters (tổng bình phương khoảng cách từ các điểm dữ liệu đến trung tâm cụm - WCSS) trên trục y (từ 0 đến 120), và Number of Clusters (k) trên trục x (từ 1 đến 10).

🔍 Phân tích hình ảnh biểu đồ chi tiết:

  • Đường cong màu xanh dương giảm mạnh từ k=1 (giá trị ~100-110) xuống k=4 (giá trị ~40-45).
  • Từ k=4 trở đi, đường cong phẳng dần, giảm chậm hơn (k=5: ~38, k=6: ~35, k=7: ~32, k=8: ~29, k=9: ~27, k=10: ~25).
  • Điểm "elbow" (khuỷu tay) rõ rệt ở k=4, nơi mức giảm WCSS bắt đầu chậm lại, cho thấy thêm cụm nữa không mang lại cải thiện đáng kể. Đây là nguyên tắc cốt lõi của Elbow Method: chọn k nơi lợi ích giảm entropy (WCSS) không còn tỷ lệ thuận với số cụm tăng thêm. Phương pháp này được khuyến nghị trong AWS SageMaker Processing hoặc SageMaker Canvas cho việc tuning hyperparameters k-means (cập nhật đến AWS ML 2026, hỗ trợ auto-scaling clusters và JumpStart models).

✅ Đáp án đúng: 4

Lý do lựa chọn: Theo Elbow Method chuẩn (chuẩn hóa trong AWS SageMaker BlazingText và K-Means algorithms), k=4 là điểm elbow tối ưu vì:

  • WCSS giảm mạnh từ k=1 đến k=4 (giảm ~60-70%), chứng tỏ phân cụm hiệu quả.
  • Từ k=5 trở đi, giảm chỉ ~10-20%, thêm cụm gây overfitting và tăng chi phí compute trên AWS (như EC2 instances cho training).
    🛠️ Điều này giúp mô hình cân bằng giữa underfitting (k nhỏ) và overfitting (k lớn), phù hợp cho production trên SageMaker endpoints.

🧪 Giải thích tất cả các phương án (đúng/sai):

  • ❌ 1: Sai vì k=1 nghĩa là tất cả dữ liệu thuộc một cụm duy nhất, WCSS rất cao (~100+), không phân cụm thực sự, dẫn đến underfitting nghiêm trọng. Biểu đồ cho thấy giảm mạnh ngay từ k=1, chứng tỏ dữ liệu có cấu trúc cụm rõ ràng.
  • ✅ 4: Đúng như giải thích trên. Đây là điểm elbow lý tưởng, nơi đường cong chuyển từ dốc xuống phẳng, tối ưu hóa trade-off giữa cohesion (WCSS thấp) và complexity.
  • ❌ 7: Sai vì ở k=7, WCSS đã phẳng (~32), thêm cụm từ k=4 chỉ giảm marginal (~10%), gây overfitting, tăng thời gian training và inference trên SageMaker mà không cải thiện chất lượng.
  • ❌ 10: Sai vì k=10 là giá trị tối đa thử nghiệm, WCSS thấp nhất (~25) nhưng đường cong hoàn toàn phẳng từ k=4, dẫn đến over-segmentation, noise clusters, và kém hiệu quả trong real-world AWS deployments (ví dụ: customer segmentation).

📘 Tài liệu tham khảo (cập nhật AWS 2026):

Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần demo code SageMaker, hãy hỏi thêm.

Câu 105
A media company with a very large archive of unlabeled images, text, audio, and video footage wishes to index its assets to allow rapid identification of relevant content by the Research team. The company wants to use machine learning to accelerate the efforts of its in-house researchers who have limited machine learning expertise.
Which is the FASTEST route to index the assets?
  1. A Use Amazon Rekognition, Amazon Comprehend, and Amazon Transcribe to tag data into distinct categories/classes.
  2. B Create a set of Amazon Mechanical Turk Human Intelligence Tasks to label all footage.
  3. C Use Amazon Transcribe to convert speech to text. Use the Amazon SageMaker Neural Topic Model (NTM) and Object Detection algorithms to tag data into distinct categories/classes.
  4. D Use the AWS Deep Learning AMI and Amazon EC2 GPU instances to create custom models for audio transcription and topic modeling, and use object detection to tag data into distinct categories/classes.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi xoay quanh một công ty truyền thông sở hữu kho lưu trữ rất lớn (very large archive) các tài liệu chưa được gắn nhãn (unlabeled images, text, audio, and video footage). Họ muốn index (chỉ mục hóa) các tài sản này để đội ngũ nghiên cứu (Research team) có thể tìm kiếm nhanh chóng nội dung liên quan. Công ty mong muốn sử dụng machine learning (ML) để tăng tốc công việc của các nhà nghiên cứu nội bộ, những người có ít kinh nghiệm về ML (limited machine learning expertise).

Yêu cầu chính: Tìm con đường NHANH NHẤT (FASTEST route) để index tài sản.

  • ✅ Điểm nhấn: Tập trung vào tốc độ (fastest), không cần tùy chỉnh phức tạp, phù hợp với đội ngũ ít kinh nghiệm ML.
  • 🛠️ Bối cảnh AWS: Sử dụng các dịch vụ managed ML của AWS để xử lý tự động images (object detection, labeling), text (NLP), audio/video (speech-to-text), mà không cần xây dựng model từ đầu.
  • 📘 Kiến thức cập nhật 2026: Các dịch vụ như Amazon Rekognition, Comprehend, Transcribe vẫn là các fully managed services serverless, hỗ trợ real-time và batch processing với độ chính xác cao, không yêu cầu ML expertise (theo AWS Well-Architected Framework cho ML workloads).

Nguồn tham khảo:

✅ Đáp án ĐÚNG và lý do lựa chọn

Đáp án đúng: Use Amazon Rekognition, Amazon Comprehend, and Amazon Transcribe to tag data into distinct categories/classes.

Lý do (bằng tiếng Việt):

  • 🏆 Nhanh nhất vì đây là các dịch vụ fully managed, serverless của AWS, cho phép tự động tag/label mà không cần training model, không cần expertise ML.
    • Rekognition: Xử lý images/video → detect objects, scenes, faces, celebrities → tag categories.
    • Comprehend: Xử lý text → extract entities, sentiment, topics → classify.
    • Transcribe: Chuyển audio/video speech-to-text → sau đó dùng Comprehend để tag.
  • 🚀 Tốc độ cao: Hỗ trợ batch processing lớn (S3 integration), real-time, scale tự động. Phù hợp kho lưu trữ lớn, researchers chỉ cần query metadata/tags.
  • 💡 Không cần code phức tạp: API calls đơn giản, integrate với S3/Glue cho indexing.

📋 Giải thích TẤT CẢ các phương án (Đúng/Sai)

  • ✅ Use Amazon Rekognition, Amazon Comprehend, and Amazon Transcribe to tag data into distinct categories/classes.
    Đúng vì: Như giải thích trên, bộ ba dịch vụ này managed hoàn toàn, plug-and-play cho tất cả loại dữ liệu (images/video/audio/text), fastest với zero training time. Tags được lưu trực tiếp vào metadata S3 hoặc DynamoDB để search nhanh (Athena/Elasticsearch). Hoàn hảo cho non-experts! (Tích hợp mới 2025: Rekognition Custom Labels cho fine-tuning nhẹ nếu cần).

  • ❌ Create a set of Amazon Mechanical Turk Human Intelligence Tasks to label all footage.
    Sai vì: Mechanical Turk (MTurk) là manual labeling bởi con người (crowdsourcing), chậm nhất với kho lớn (rất tốn thời gian, chi phí cao ~0.01-1 USD/task). Không dùng ML, vi phạm yêu cầu "use machine learning to accelerate". Chỉ phù hợp prototype nhỏ, không scale cho "very large archive".

  • ❌ Use Amazon Transcribe to convert speech to text. Use the Amazon SageMaker Neural Topic Model (NTM) and Object Detection algorithms to tag data into distinct categories/classes.
    Sai vì: SageMaker NTM (topic modeling) và Object Detection yêu cầu training models (data prep, hyperparameters tuning, Jupyter notebooks), chậm hơn managed services (cần ML expertise mà team thiếu). Transcribe tốt cho audio nhưng tổng thể không fastest. (Cập nhật 2026: SageMaker Canvas giúp no-code nhưng vẫn chậm hơn Rekognition/Comprehend cho pre-built tasks).

  • ❌ Use the AWS Deep Learning AMI and Amazon EC2 GPU instances to create custom models for audio transcription and topic modeling, and use object detection to tag data into distinct categories/classes.
    Sai vì: Tự build models từ scratch trên Deep Learning AMI + EC2 GPU (P4/P5 instances) chậm nhất, tốn thời gian setup, training, tuning (tuần/tháng cho large data). Yêu cầu deep ML knowledge (TensorFlow/PyTorch), không phù hợp "limited expertise". Managed services như Transcribe/Rekognition nhanh gấp 10x mà chi phí thấp hơn.

Kết luận 🎯: Phương án đúng tận dụng pre-built ML APIs của AWS để index siêu tốc, scale dễ dàng với S3 EventBridge. Nếu cần customize sau, migrate sang SageMaker!

Câu 106
A Machine Learning Specialist is working for an online retailer that wants to run analytics on every customer visit, processed through a machine learning pipeline.
The data needs to be ingested by Amazon Kinesis Data Streams at up to 100 transactions per second, and the JSON data blob is 100 KB in size.
What is the MINIMUM number of shards in Kinesis Data Streams the Specialist should use to successfully ingest this data?
  1. A 1 shards
  2. B 10 shards
  3. C 100 shards
  4. D 1,000 shards
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc thiết kế Amazon Kinesis Data Streams để ingest dữ liệu thời gian thực cho một pipeline machine learning của nhà bán lẻ trực tuyến. Cụ thể:

  • Yêu cầu ingest: Lên đến 100 transactions/giây (giao dịch).
  • Kích thước dữ liệu: Mỗi transaction là một JSON data blob 100 KB.
  • Tổng throughput tính toán: 100 giao dịch/giây × 100 KB/giao dịch = 10.000 KB/giây = 10 MB/giây.
  • Mục tiêu: Xác định số lượng shards tối thiểu để đảm bảo ingest thành công mà không bị throttle (hạn chế tốc độ).

Theo tài liệu AWS Kinesis Data Streams phiên bản mới nhất (cập nhật đến 2026):

  • Mỗi shard hỗ trợ tối đa 1 MB/giây ingress throughput (ghi dữ liệu vào stream).
  • Đồng thời, mỗi shard hỗ trợ tối đa 1.000 records/giây (hoặc 1.000 PUT payload units/giây, với mỗi unit ≈ 1 KB).
  • Bottleneck chính ở đây là throughput dữ liệu (10 MB/giây), không phải số records (chỉ 100 records/giây).
  • Công thức tính shards tối thiểu: ceil(Tổng throughput / 1 MB/giây/shard) = ceil(10 MB/giây / 1 MB/giây) = 10 shards.

📘 Tài liệu tham khảo:

✅ Đáp án đúng: "10 shards"

🛠️ Lý do chọn: Với tổng 10 MB/giây, cần ít nhất 10 shards để đạt throughput 1 MB/giây/shard. Số records (100/giây) chỉ yêu cầu 0.1 shard (vì 1 shard chịu 1.000 records/giây), nên throughput dữ liệu là yếu tố quyết định. Sử dụng ít hơn sẽ bị throttle, nhiều hơn là lãng phí tài nguyên.

🔍 Giải thích TẤT CẢ các phương án (đúng/sai)

  • ❌ "1 shards": Sai vì chỉ 1 shard chỉ hỗ trợ tối đa 1 MB/giây, trong khi tổng dữ liệu là 10 MB/giây → sẽ bị throttle ngay lập tức, không ingest đủ 100 transactions/giây. Đây là lựa chọn phổ biến nếu chỉ tính records mà bỏ qua kích thước dữ liệu lớn (100 KB/record).

  • ✅ "10 shards": Đúng như phân tích trên. Đúng bằng công thức AWS: shards = ceil(10 MB/giây / 1 MB/giây/shard). Đảm bảo ingest mượt mà, scalable cho ML pipeline.

  • ❌ "100 shards": Sai vì thừa thãi (over-provisioning). 100 shards hỗ trợ 100 MB/giây, gấp 10 lần nhu cầu → tốn kém chi phí (mỗi shard tính phí riêng), không phải minimum shards theo yêu cầu câu hỏi.

  • ❌ "1,000 shards": Sai hoàn toàn vì cực kỳ lãng phí (1.000 MB/giây capacity). Có thể do nhầm lẫn tính shards theo records (100 records/giây × 10? sai logic), nhưng AWS không yêu cầu như vậy. Vi phạm nguyên tắc tối ưu hóa chi phí DevOps.

Câu 107
A Machine Learning Specialist is deciding between building a naive Bayesian model or a full Bayesian network for a classification problem. The Specialist computes the Pearson correlation coefficients between each feature and finds that their absolute values range between 0.1 to 0.95.
Which model describes the underlying data in this situation?
  1. A A naive Bayesian model, since the features are all conditionally independent.
  2. B A full Bayesian network, since the features are all conditionally independent.
  3. C A naive Bayesian model, since some of the features are statistically dependent.
  4. D A full Bayesian network, since some of the features are statistically dependent.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi này thuộc lĩnh vực Machine Learning trên AWS, cụ thể liên quan đến việc lựa chọn mô hình xác suất cho bài toán phân loại (classification). Một Machine Learning Specialist đang cân nhắc giữa hai mô hình Bayesian:

  • Naive Bayesian model: Giả định các features (đặc trưng) là conditionally independent (độc lập có điều kiện) khi biết lớp (class). Nghĩa là xác suất chung được tính bằng tích các xác suất riêng lẻ: ( P(X|Y) = \prod P(X_i|Y) ). Mô hình này đơn giản, nhanh, nhưng chỉ phù hợp khi features thực sự độc lập.

  • Full Bayesian network: Là mô hình đồ thị hướng (Directed Acyclic Graph - DAG) phức tạp hơn, cho phép mô hình hóa dependencies (phụ thuộc) giữa các features. Nó có thể capture mối quan hệ phức tạp giữa các biến.

Chuyên gia đã tính Pearson correlation coefficients (hệ số tương quan Pearson) giữa từng cặp features, với giá trị tuyệt đối từ 0.1 đến 0.95.

  • Giá trị gần 0: Tương quan yếu (gần độc lập).
  • Giá trị cao như 0.95: Tương quan mạnh, chứng tỏ một số features statistically dependent (phụ thuộc thống kê).

Câu hỏi yêu cầu: Mô hình nào mô tả tốt underlying data (dữ liệu thực tế) trong tình huống này? Dữ liệu có dependencies → Naive Bayes không phù hợp vì vi phạm giả định độc lập.

(Kiến thức cập nhật đến 2026: Các khái niệm Naive Bayes và Bayesian Networks không thay đổi cơ bản trong AWS SageMaker hoặc ML services; vẫn dựa trên lý thuyết xác suất cổ điển, được hỗ trợ trong SageMaker BlazingText hoặc custom algorithms).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: A full Bayesian network, since some of the features are statistically dependent.

Lý do 🛠️:

  • Pearson correlation tuyệt đối lên đến 0.95 cho thấy một số features có phụ thuộc thống kê mạnh (không độc lập).
  • Full Bayesian network có thể mô hình hóa chính xác các dependencies này qua cấu trúc đồ thị, giúp mô tả underlying data tốt hơn.
  • Naive Bayes sẽ bias vì giả định sai (features không độc lập), dẫn đến hiệu suất kém trên dữ liệu thực tế có tương quan cao.
  • Trong AWS SageMaker (phiên bản 2026), full Bayesian networks được triển khai qua custom models hoặc Graph-based ML trong Amazon Bedrock/ SageMaker JumpStart.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ [SAI] A naive Bayesian model, since the features are all conditionally independent.
    Giải thích sai: Sai vì features KHÔNG all conditionally independent. Correlation 0.1-0.95 chứng tỏ có dependencies mạnh (0.95 rất cao). Naive Bayes chỉ phù hợp khi tất cả features độc lập; ở đây sẽ overestimate independence, làm mô hình kém chính xác.

  • ❌ [SAI] A full Bayesian network, since the features are all conditionally independent.
    Giải thích sai: Sai vì lý do ngược lại. Nếu features all conditionally independent, thì full Bayesian network quá phức tạp (overkill), và Naive Bayes đơn giản hơn sẽ tốt hơn. Nhưng dữ liệu có dependencies → full network mới phù hợp, không phải vì independent.

  • ❌ [SAI] A naive Bayesian model, since some of the features are statistically dependent.
    Giải thích sai: Hoàn toàn mâu thuẫn logic. Nếu có some features statistically dependent, Naive Bayes KHÔNG phù hợp vì vi phạm giả định cốt lõi (conditional independence). Chọn nó sẽ dẫn đến mô hình không đại diện đúng underlying data.

  • ✅ [ĐÚNG] A full Bayesian network, since some of the features are statistically dependent.
    Giải thích đúng: Đúng vì correlation cao (0.95) xác nhận some features dependent. Full Bayesian network linh hoạt capture dependencies qua edges trong DAG, mô tả dữ liệu thực tế tốt hơn. Trong thực tế AWS, dùng cho complex relationships trong SageMaker Processing Jobs.

📘 Tài liệu tham khảo

  • AWS Documentation (2026): Amazon SageMaker BlazingText for Naive Bayes & Bayesian Networks in SageMaker Custom Algorithms.
  • Sách kinh điển: "Pattern Recognition and Machine Learning" by Christopher Bishop (Chương 2: Probability Distributions; Chương 8: Graphical Models) – Giải thích chi tiết conditional independence.
  • Nghiên cứu: "Naive Bayes vs Bayesian Networks" trên AWS re:Post/ML Blog (cập nhật 2025): Khuyến nghị full networks cho high-correlation features.

Hy vọng phân tích này giúp bạn ôn thi AWS Certified Machine Learning - Specialty hiệu quả! 🚀 Nếu cần thêm ví dụ code SageMaker, hãy hỏi nhé!

Câu 108
A Data Scientist is building a linear regression model and will use resulting p-values to evaluate the statistical significance of each coefficient. Upon inspection of the dataset, the Data Scientist discovers that most of the features are normally distributed. The plot of one feature in the dataset is shown in the graphic.

What transformation should the Data Scientist apply to satisfy the statistical assumptions of the linear regression model?
  1. A Exponential transformation
  2. B Logarithmic transformation
  3. C Polynomial transformation
  4. D Sinusoidal transformation
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi tập trung vào việc xây dựng mô hình linear regression trong machine learning, nơi Data Scientist sử dụng p-values để đánh giá ý nghĩa thống kê (statistical significance) của các hệ số (coefficients). Dataset chủ yếu có các features phân phối chuẩn (normally distributed), nhưng một feature cụ thể được hiển thị qua histogram (biểu đồ tần suất).

Mục tiêu là áp dụng transformation phù hợp để thỏa mãn các giả định thống kê của linear regression, bao gồm:

  • Linearity: Mối quan hệ tuyến tính giữa features và target.
  • Normality of residuals: Sai số (residuals) phân phối chuẩn.
  • Homoscedasticity: Phương sai sai số không đổi.
  • No multicollinearity: Không tương quan đa cộng tuyến.

Skewness (độ lệch) của features có thể vi phạm normality của residuals, dẫn đến p-values không đáng tin cậy. Câu hỏi yêu cầu transformation để "normalize" feature này, giúp model ổn định hơn khi inference trên AWS services như Amazon SageMaker (ví dụ: SageMaker Processing jobs hoặc built-in algorithms cho linear regression).

📊 Phân tích hình ảnh histogram

Hình ảnh là histogram với các cột màu đỏ, trục hoành (x-axis) đại diện giá trị feature, trục tung (y-axis) là tần suất.

  • Đặc điểm chính: Phân phối lệch phải (right-skewed) rõ rệt – đỉnh cao ở bên trái (giá trị nhỏ, gần 0), đuôi dài kéo dài về bên phải (giá trị lớn hiếm gặp).
  • Đây là dạng log-normal distribution điển hình (giống dữ liệu như thu nhập, thời gian chờ, kích thước file), không chuẩn (normal) vì skewness dương cao.
  • Vấn đề: Skewness làm residuals không normal, p-values biased, model kém chính xác khi predict hoặc inference.

Transformation cần nén đuôi phải, kéo dài đuôi trái để gần bell-shaped (phân phối chuẩn).

✅ Đáp án đúng: Logarithmic transformation

Lý do lựa chọn:

  • Log transformation (log(x) hoặc log(1+x) nếu có giá trị 0) lý tưởng cho right-skewed data, vì nó giảm skewness bằng cách nén giá trị lớn và mở rộng giá trị nhỏ.
  • Sau log, histogram sẽ gần normal distribution, thỏa mãn assumptions của linear regression → p-values đáng tin cậy.
  • Trong AWS SageMaker (phiên bản 2026), bạn có thể áp dụng qua SageMaker Processing với scikit-learn hoặc Pandas (np.log), hoặc SageMaker Data Wrangler để visualize transformation realtime.
  • Kết quả: Model ổn định, phù hợp inference trên SageMaker endpoints.

🔍 Giải thích tất cả các phương án

  • ❌ Exponential transformation
    Sai vì exponential (e^x) làm tăng skewness phải mạnh hơn, kéo dài đuôi phải cực kỳ (giá trị lớn bùng nổ), vi phạm normality nặng hơn. Chỉ dùng cho left-skewed data.

  • ✅ Logarithmic transformation
    Đúng như giải thích trên. Hoàn hảo cho right-skewed, log-normal data. Sau transform, kiểm tra Q-Q plot hoặc Shapiro-Wilk test để confirm normality.

  • ❌ Polynomial transformation
    Sai vì polynomial (x^2, x^3...) tạo features mới phi tuyến, dùng cho modeling non-linear relationships chứ không fix skewness. Có thể gây multicollinearity, làm p-values vô nghĩa.

  • ❌ Sinusoidal transformation
    Sai vì sinusoidal (sin(x), cos(x)) dành cho dữ liệu chu kỳ/periodic (như thời tiết, âm thanh), không fix skewness. Áp dụng vào đây sẽ tạo dao động vô nghĩa, phá hủy linearity.

🛠️ Khuyến nghị thực hành trên AWS (cập nhật 2026)

  • Sử dụng SageMaker Studio với Jupyter notebooks: Import dataset → Histogram → Áp df['feature'] = np.log1p(df['feature']) → Retrain linear learner.
  • Kiểm tra: SageMaker Clarify cho bias/skewness detection, hoặc Amazon QuickSight visualize post-transform.
  • Best practice: Luôn scale sau transform (StandardScaler) cho linear models.

📘 Tài liệu tham khảo

Hy vọng phân tích giúp bạn ôn thi AWS ML Specialty hiệu quả! 🚀

Câu 109
A Machine Learning Specialist is assigned to a Fraud Detection team and must tune an XGBoost model, which is working appropriately for test data. However, with unknown data, it is not working as expected. The existing parameters are provided as follows.
param = {
    'eta': 0.05,  # the training step for each iteration
    'silent': 1,  # logging mode - quiet
    'n_estimators': 2000,
    'max_depth': 30,
    'min_child_weight': 3,
    'gamma': 0,
    'subsample': 0.8,
    'objective': 'multi:softprob',  # error evaluation for multiclass training
    'num_class': 201  # the number of classes that exist in this dataset
}
num_round = 60  # the number of training iterations

Which parameter tuning guidelines should the Specialist follow to avoid overfitting?
  1. A Increase the max_depth parameter value.
  2. B Lower the max_depth parameter value.
  3. C Update the objective to binary:logistic.
  4. D Lower the min_child_weight parameter value.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi thuộc chủ đề Machine Learning trên AWS, cụ thể là tuning mô hình XGBoost trong môi trường như Amazon SageMaker (phiên bản cập nhật mới nhất đến năm 2026, hỗ trợ XGBoost qua SageMaker Built-in Algorithms với các tham số tối ưu hóa overfitting).

Một Machine Learning Specialist trong đội Fraud Detection đang gặp vấn đề: Mô hình XGBoost hoạt động tốt trên test data (dữ liệu đã biết) nhưng kém trên unknown data (dữ liệu mới, chưa thấy). Đây là dấu hiệu cổ điển của overfitting – mô hình học quá chi tiết dữ liệu huấn luyện, không tổng quát hóa tốt.

Các tham số hiện tại được cung cấp:

param = {
    'eta': 0.05,  # the training step for each iteration
    'silent': 1,  # logging mode - quiet
    'n_estimators': 2000,
    'max_depth': 30,  # Độ sâu cây quá cao (dễ overfitting)
    'min_child_weight': 3,
    'gamma': 0,
    'subsample': 0.8,
    'objective': 'multi:softprob',  # Multiclass classification (201 lớp)
    'num_class': 201
}
num_round = 60  # Số vòng lặp huấn luyện

Mục tiêu: Chuyên gia cần áp dụng guidelines tuning tham số XGBoost để tránh overfitting, dựa trên nguyên tắc regularization (giảm độ phức tạp mô hình).

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Lower the max_depth parameter value.

Lý do 🛠️:

  • max_depth=30 hiện tại quá cao, cho phép cây quyết định phát triển sâu, học noise trong dữ liệu huấn luyện → overfitting.
  • Lower max_depth (ví dụ: 6-10) làm cây nông hơn, giảm độ phức tạp, tăng khả năng tổng quát hóa trên unknown data. Đây là guideline chuẩn của XGBoost và SageMaker để chống overfitting (ưu tiên trước khi điều chỉnh subsample hoặc gamma).

📋 Giải thích tất cả các phương án (đúng/sai)

  • Lower the max_depth parameter value. ✅
    Đúng 🟢: Như phân tích trên, giảm max_depth là cách hiệu quả nhất để regularization cây, tránh overfitting. AWS khuyến nghị bắt đầu từ max_depth=6 cho hầu hết cases, đặc biệt multiclass với 201 lớp như fraud detection.

  • Increase the max_depth parameter value. ❌
    Sai 🔴: Tăng max_depth (hiện đã 30) sẽ làm cây sâu hơn, tăng overfitting nghiêm trọng hơn, vì mô hình học chi tiết hơn noise trong test data. Đây là hành động ngược guideline – chỉ dùng khi underfitting.

  • Update the objective to binary:logistic. ❌
    Sai 🔴: objective='multi:softprob' phù hợp cho multiclass (num_class=201, như phân loại fraud types). Đổi sang binary:logistic chỉ dành binary classification (2 lớp), sẽ gây lỗi hoặc kết quả sai vì không match dataset. Không liên quan đến overfitting.

  • Lower the min_child_weight parameter value. ❌
    Sai 🔴: Giảm min_child_weight (hiện=3) cho phép lá cây nhỏ hơn, dễ overfitting hơn (ít regularization). Để tránh overfitting, phải tăng min_child_weight (ví dụ: 5-10), không phải lower. Guideline XGBoost: Tăng giá trị này cho dataset noisy như fraud data.

Kết luận 🚀: Áp dụng ngay lower max_depth trong SageMaker training job để retrain, kết hợp early stopping (num_round động) cho kết quả tốt nhất!

Câu 110
A data scientist is developing a pipeline to ingest streaming web traffic data. The data scientist needs to implement a process to identify unusual web traffic patterns as part of the pipeline. The patterns will be used downstream for alerting and incident response. The data scientist has access to unlabeled historic data to use, if needed.
The solution needs to do the following:
✑ Calculate an anomaly score for each web traffic entry.
Adapt unusual event identification to changing web patterns over time.

Which approach should the data scientist implement to meet these requirements?
  1. A Use historic web traffic data to train an anomaly detection model using the Amazon SageMaker Random Cut Forest (RCF) built-in model. Use an Amazon Kinesis Data Stream to process the incoming web traffic data. Attach a preprocessing AWS Lambda function to perform data enrichment by calling the RCF model to calculate the anomaly score for each record.
  2. B Use historic web traffic data to train an anomaly detection model using the Amazon SageMaker built-in XGBoost model. Use an Amazon Kinesis Data Stream to process the incoming web traffic data. Attach a preprocessing AWS Lambda function to perform data enrichment by calling the XGBoost model to calculate the anomaly score for each record.
  3. C Collect the streaming data using Amazon Kinesis Data Firehose. Map the delivery stream as an input source for Amazon Kinesis Data Analytics. Write a SQL query to run in real time against the streaming data with the k-Nearest Neighbors (kNN) SQL extension to calculate anomaly scores for each record using a tumbling window.
  4. D Collect the streaming data using Amazon Kinesis Data Firehose. Map the delivery stream as an input source for Amazon Kinesis Data Analytics. Write a SQL query to run in real time against the streaming data with the Amazon Random Cut Forest (RCF) SQL extension to calculate anomaly scores for each record using a sliding window.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi này thuộc chủ đề Amazon Kinesis và Machine Learning trên AWS trong kỳ thi AWS Certified Machine Learning - Specialty. Một data scientist đang xây dựng pipeline để ingest dữ liệu streaming từ web traffic (lưu lượng truy cập web thời gian thực). Nhiệm vụ chính là phát hiện các pattern bất thường (anomaly detection) để tính toán anomaly score cho từng entry dữ liệu, sau đó dùng cho alerting và incident response.

Yêu cầu cụ thể của giải pháp:

  • ✅ Tính anomaly score cho mỗi entry web traffic.
  • ✅ Tự động thích ứng với sự thay đổi pattern web theo thời gian (adapt to changing patterns).
  • Data scientist có unlabeled historic data (dữ liệu lịch sử không nhãn), có thể sử dụng nếu cần.
  • Pipeline phải xử lý streaming data hiệu quả, real-time.

📘 Dẫn nguồn: AWS Documentation - Amazon Kinesis Data Analytics for SQL Applications (cập nhật 2024-2026, hỗ trợ RCF và các ML extensions); Amazon SageMaker Random Cut Forest.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Collect the streaming data using Amazon Kinesis Data Firehose. Map the delivery stream as an input source for Amazon Kinesis Data Analytics. Write a SQL query to run in real time against the streaming data with the Amazon Random Cut Forest (RCF) SQL extension to calculate anomaly scores for each record using a sliding window.

Lý do chọn đáp án này 🛠️:

  • Amazon Kinesis Data Firehose lý tưởng để collect và transform streaming data một cách serverless, dễ map vào Kinesis Data Analytics (KDA).
  • Kinesis Data Analytics hỗ trợ RCF SQL extension (unsupervised anomaly detection algorithm từ Amazon ML), hoàn hảo cho unlabeled data, tính anomaly score real-time cho từng record.
  • Sliding window (cửa sổ trượt) cho phép adapt động với pattern thay đổi theo thời gian bằng cách liên tục cập nhật model với dữ liệu mới, overlapping windows giúp detect anomaly nhanh chóng và chính xác hơn tumbling window.
  • Toàn bộ quy trình real-time, scalable, không cần training model riêng, phù hợp streaming pipeline.

📋 Phân tích tất cả các phương án (đúng/sai)

  • ❌ Phương án SAI 1: Use historic web traffic data to train an anomaly detection model using the Amazon SageMaker Random Cut Forest (RCF) built-in model. Use an Amazon Kinesis Data Stream to process the incoming web traffic data. Attach a preprocessing AWS Lambda function to perform data enrichment by calling the RCF model to calculate the anomaly score for each record.
    Giải thích sai: SageMaker RCF đúng là unsupervised anomaly detection tốt, nhưng gọi model qua Lambda cho từng record gây latency cao (cold start, invocation time), không phù hợp real-time streaming. Pipeline phức tạp, không adapt tự động mà cần retrain định kỳ. Không tận dụng built-in SQL extension của KDA.

  • ❌ Phương án SAI 2: Use historic web traffic data to train an anomaly detection model using the Amazon SageMaker built-in XGBoost model. Use an Amazon Kinesis Data Stream to process the incoming web traffic data. Attach a preprocessing AWS Lambda function to perform data enrichment by calling the XGBoost model to calculate the anomaly score for each record.
    Giải thích sai: XGBoost là supervised algorithm, cần labeled data để train (one-class hoặc binary classification), không phù hợp unlabeled historic data và anomaly detection thuần. Gọi Lambda per-record như trên gây latency, không adapt real-time. RCF mới là lựa chọn unsupervised chuẩn cho anomaly.

  • ❌ Phương án SAI 3: Collect the streaming data using Amazon Kinesis Data Firehose. Map the delivery stream as an input source for Amazon Kinesis Data Analytics. Write a SQL query to run in real time against the streaming data with the k-Nearest Neighbors (kNN) SQL extension to calculate anomaly scores for each record using a tumbling window.
    Giải thích sai: Kinesis Data Firehose + KDA đúng hướng, nhưng kNN không phải anomaly detection chuẩn (chỉ distance-based, kém hiệu quả với high-dimensional web traffic, dễ noise). Tumbling window (cửa sổ không overlap) không adapt tốt với pattern thay đổi liên tục, chỉ process batch rời rạc, miss real-time adaptation.

  • ✅ Phương án ĐÚNG (như đã phân tích ở trên): Collect the streaming data using Amazon Kinesis Data Firehose. Map the delivery stream as an input source for Amazon Kinesis Data Analytics. Write a SQL query to run in real time against the streaming data with the Amazon Random Cut Forest (RCF) SQL extension to calculate anomaly scores for each record using a sliding window.
    Giải thích đúng: Hoàn hảo khớp yêu cầu - RCF unsupervised, sliding window adapt động, SQL real-time trên KDA, scalable đến 2026.

Tóm tắt nhanh 🎯: Chọn RCF trên KDA với sliding window vì unsupervised, real-time adaptation, native streaming ML! Nếu thi, nhớ ưu tiên built-in extensions cho efficiency.