- Authors

- Name
- Youngju Kim
- @fjvbn20031
1. MLS-C01 試験概要
AWS Machine Learning Specialty (MLS-C01) は、AWS プラットフォームで ML ソリューションを設計、実装、運用する能力を検証する上級資格です。
| 項目 | 内容 |
|---|---|
| 試験時間 | 180分 |
| 問題数 | 65問 |
| 合格点 | 750点 (1000点満点) |
| 問題形式 | 択一、複数選択 |
| 受験料 | USD 300 |
| 有効期限 | 3年 |
ドメイン別割合
| ドメイン | 割合 |
|---|---|
| Data Engineering | 24% |
| Exploratory Data Analysis | 36% |
| Modeling | 30% |
| ML Implementation and Operations | 10% |
2. AWS ML 核心サービスまとめ
2.1 SageMaker 主要機能
| 機能 | 説明 |
|---|---|
| Studio | 統合 ML IDE |
| Data Wrangler | データ前処理、フィーチャーエンジニアリング |
| Feature Store | フィーチャーの保存と再利用 |
| Training Jobs | マネージドトレーニング |
| Hyperparameter Tuning | 自動ハイパーパラメータ最適化 |
| Autopilot | AutoML |
| Endpoints | リアルタイム/バッチ/非同期/サーバーレス推論 |
| Pipelines | MLOps ワークフロー |
| Model Monitor | データ/モデルドリフト検出 |
| Clarify | バイアス検出と説明可能性 |
2.2 SageMaker 組み込みアルゴリズム
| アルゴリズム | ユースケース |
|---|---|
| XGBoost | 分類、回帰 (表形式データ) |
| Linear Learner | 線形分類、回帰 |
| KNN | K最近傍法 |
| DeepAR | 時系列予測 |
| BlazingText | テキスト分類、Word2Vec |
| Object Detection | 物体検出 |
| Semantic Segmentation | ピクセル単位の分類 |
| Seq2Seq | 機械翻訳、テキスト要約 |
| LDA | トピックモデリング |
| PCA | 次元削減 |
| IP Insights | IP ベースの異常検知 |
2.3 Kinesis サービス比較
| サービス | 用途 | 特徴 |
|---|---|---|
| Kinesis Data Streams | リアルタイムストリーミング | カスタムコンシューマー、7〜365日の保持 |
| Kinesis Data Firehose | ETL パイプライン | S3/Redshift/OpenSearch への自動配信 |
| Kinesis Data Analytics | リアルタイム分析 | SQL / Apache Flink |
2.4 データサービス
| サービス | 用途 |
|---|---|
| S3 | データレイクストレージ |
| Glue | サーバーレス ETL、メタデータカタログ |
| Athena | S3 に対する SQL クエリ |
| Lake Formation | データレイクの構築とセキュリティ |
| Redshift | データウェアハウス |
3. 実践練習問題 (Q1〜Q65)
Data Engineering (Q1〜Q16)
Q1. S3 に保存された大容量 CSV ファイルを Athena で効率よくクエリするにはどのようにデータをパーティショニングすべきですか?
A) ファイルサイズでパーティショニング B) フィルタリングに頻繁に使うカラム (日付、地域など) を基準に Hive スタイルでパーティショニング C) ランダムパーティショニング D) パーティショニングなしで圧縮のみ適用
正解: B
解説: Athena のパフォーマンス最適化のため、s3://bucket/data/year=2024/month=03/day=01/ 形式の Hive スタイルパーティショニングを使用します。WHERE 句で頻繁に使うカラムでパーティショニングすることでスキャンデータを削減し、コストとクエリ時間を節約できます。Parquet、ORC などのカラム形式と組み合わせるとさらに効果的です。
Q2. AWS Glue ETL ジョブのコストを最適化するにはどの設定を使うべきですか?
A) On-demand Worker Type B) G.1X Worker Type に増やす C) Job Bookmarks を有効にして重複処理を防止 D) 常に最大 DPU を使用
正解: C
解説: AWS Glue Job Bookmarks を有効にすると、以前に処理されたデータを追跡して新しいデータのみを処理します。これにより重複処理を防止してコストを削減できます。Flex execution (フレキシブル実行クラス) もコスト最適化に役立ちます。
Q3. Kinesis Data Streams と Kinesis Data Firehose の主な違いは何ですか?
A) 違いはなく、同じサービス B) Streams はカスタムコンシューマーと再処理をサポート、Firehose は S3/Redshift などへ自動配信 C) Firehose の方がレイテンシが低い D) Streams は S3 にのみ保存可能
正解: B
解説: Kinesis Data Streams は複数のコンシューマーが独立して読み取ることができ、シャードによる並列処理、保持期間中の再処理が可能です。Kinesis Data Firehose はコードなしで S3、Redshift、OpenSearch、Splunk などへデータを自動配信するフルマネージドサービスです。
Q4. SageMaker Feature Store を使用する主なメリットは何ですか?
A) モデルトレーニング速度の向上 B) フィーチャーの一貫した再利用、トレーニング/サービングスキューの防止、ポイントインタイムフィーチャー検索 C) コスト削減 D) 自動ハイパーパラメータチューニング
正解: B
解説: SageMaker Feature Store は ML フィーチャーをオンライン (低レイテンシ検索) とオフライン (大規模バッチトレーニング) ストアで管理します。複数のチームがフィーチャーを再利用でき、トレーニング-サービングスキューを防止し、タイムスタンプベースでの過去特定時点のフィーチャー検索によりデータ漏洩を防ぎます。
Q5. Lake Formation の細粒度アクセス制御 (fine-grained access control) で制御できるものは何ですか?
A) S3 バケットポリシー B) データベース、テーブル、カラム、行レベルのアクセス権限 C) EC2 インスタンスへのアクセス D) IAM ポリシーのみ
正解: B
解説: Lake Formation は Glue Data Catalog のデータベース、テーブル、カラムレベルまで細粒度のアクセス制御をサポートします。行フィルター (row filter) を使用すると特定のユーザーが見られる行も制限できます。IAM 権限よりも細かくデータアクセスを制御します。
Q6. リアルタイムストリーミングデータから集計統計を計算するのに適した AWS サービスの組み合わせは?
A) S3 + Athena B) Kinesis Data Streams + Kinesis Data Analytics (Apache Flink) C) DynamoDB + Lambda D) RDS + EC2
正解: B
解説: Kinesis Data Streams でリアルタイムデータを収集し、Kinesis Data Analytics for Apache Flink でウィンドウベースの集計、フィルタリング、変換をリアルタイムに処理します。結果を再び Kinesis Streams や S3 に保存できます。
Q7. S3 に保存されたデータのスキーマを自動で発見し Glue Data Catalog に登録するサービスは?
A) AWS Glue Crawler B) AWS Glue Studio C) AWS Data Pipeline D) AWS Batch
正解: A
解説: AWS Glue Crawler は S3、RDS、DynamoDB などのデータソースをスキャンしてスキーマを自動検知し、Glue Data Catalog にテーブルメタデータを作成します。スケジュールに従って自動実行するか、オンデマンドで実行できます。
Q8. データレイクアーキテクチャで S3 を使用する際、別の AWS アカウントとデータを安全に共有する方法は?
A) S3 バケットをパブリックに設定 B) Lake Formation Data Sharing または S3 バケットポリシーに外部アカウント ARN を追加 C) データをメールで送信 D) クロスリージョンレプリケーションのみ使用
正解: B
解説: Lake Formation の RAM (Resource Access Manager) を通じたデータ共有や、S3 バケットポリシーに外部アカウントの IAM ARN を追加する方法を使います。Lake Formation クロスアカウント共有はカラム/行レベルのアクセス制御を維持しながらデータを共有できます。
Q9. ML パイプラインで生データをフィーチャーに変換するステップを SageMaker サービスで自動化するには?
A) SageMaker Training Jobs のみ使用 B) SageMaker Data Wrangler で変換を定義してから SageMaker Pipelines で自動化 C) 手動で pandas スクリプトを実行 D) AWS Batch を使用
正解: B
解説: SageMaker Data Wrangler は GUI ベースで 300 以上の組み込み変換を提供し、フィーチャーエンジニアリングを定義します。定義した変換は SageMaker Processing Jobs としてエクスポートし、SageMaker Pipelines に統合することで ML ワークフロー全体を自動化できます。
Q10. Kinesis Data Firehose で S3 に保存する前にデータを変換するには?
A) 別途 EC2 インスタンスが必要 B) Lambda 関数を Data Transformation として接続 C) Glue ETL ジョブを直接呼び出す D) 変換は不可能
正解: B
解説: Kinesis Data Firehose は Lambda 関数をデータ変換目的で接続できます。各レコードが Lambda 関数を通じて変換 (フィルタリング、形式変換、データ拡充など) された後、宛先 (S3 など) へ配信されます。
Q11. 大規模な ML データセットを SageMaker トレーニングに効率的にロードする方法は?
A) データセット全体をローカル EBS にコピー B) File モードの代わりに Pipe モードまたは FastFile モードを使用 C) トレーニング前にデータを EFS に移動 D) 解凍してから使用
正解: B
解説: SageMaker トレーニングのデータ入力モード: File モードはトレーニング開始前に全データをコピーします。Pipe モードは S3 からストリーミングでデータをロードします。FastFile モード (推奨) は S3 を直接マウントし、全データのコピー時間を省いてトレーニングを即座に開始できます。
Q12. AWS Glue Studio の主な特徴は何ですか?
A) 機械学習モデルのトレーニング B) コードなしで視覚的に ETL パイプラインを設計して実行 C) データベース管理 D) リアルタイムストリーミング処理のみ
正解: B
解説: AWS Glue Studio はドラッグアンドドロップのインターフェイスで ETL パイプラインを視覚的に構築できます。Spark ベースの ETL ジョブをコードなしで作成・監視し、生成されたコード (Python/Scala) を直接編集することもできます。
Q13. データレイクで機密個人情報 (PII) を自動検知してマスキングするサービスは?
A) Amazon Macie B) AWS Shield C) Amazon GuardDuty D) AWS WAF
正解: A
解説: Amazon Macie は ML を使用して S3 バケット内の機密データ (クレジットカード番号、SSN、個人情報など) を自動検知します。検知結果は Security Hub と統合して管理でき、Glue ETL でマスキング処理が可能です。
Q14. SageMaker Processing Jobs の主な用途は何ですか?
A) モデルサービング B) 前処理、後処理、モデル評価、フィーチャーエンジニアリングなどの ML ワークフロータスクを実行 C) ハイパーパラメータチューニング D) A/B テスト
正解: B
解説: SageMaker Processing Jobs はフルマネージドでデータ前処理、フィーチャーエンジニアリング、モデル評価、デプロイ後分析などを実行します。組み込みコンテナ (Scikit-learn、Spark、XGBoost) またはカスタムコンテナを使用できます。
Q15. 複数のソースから来るストリーミングデータを S3 データレイクに収集するアーキテクチャは?
A) RDS → Lambda → S3 B) ソース → Kinesis Data Streams → Kinesis Data Firehose → S3 C) EC2 → EBS → S3 D) DynamoDB → S3 直接コピー
正解: B
解説: 複数のデータソースから Kinesis Data Streams でリアルタイムデータを収集し、Kinesis Data Firehose でバッファリング、圧縮、暗号化を適用して S3 に保存します。Firehose はパーティションキーに基づいた動的パーティショニングもサポートしています。
Q16. Glue Crawler がスキーマを自動検知する際のカスタム分類子 (classifier) をカスタマイズする理由は?
A) パフォーマンス向上 B) デフォルト分類子が認識できないカスタムデータ形式や区切り文字を処理するため C) コスト削減 D) セキュリティ強化
正解: B
解説: デフォルトの Glue 分類子は CSV、JSON、Parquet、ORC などの一般的な形式をサポートします。固定幅形式、カスタム区切り文字、非標準形式のデータがある場合は、カスタム分類子 (Grok、XML、JSON、CSV) を作成して正確なスキーマ検知を保証します。
Exploratory Data Analysis (Q17〜Q40)
Q17. ML トレーニングデータのクラス不均衡 (class imbalance) 問題を解決する方法として正しくないものは?
A) SMOTE (合成少数クラスオーバーサンプリング) B) 多数クラスのアンダーサンプリング C) クラス重みの調整 D) データを追加収集せずに精度 (accuracy) のみ使用
正解: D
解説: クラス不均衡時に精度は誤解を招く指標です。SMOTE (少数クラスの合成サンプル生成)、多数クラスのアンダーサンプリング、クラス重みの調整、収集データの拡大などが正しい方法です。AUC-ROC、F1-score、Precision-Recall 曲線などの指標を使用すべきです。
Q18. SageMaker Data Wrangler で数値変数の分布を確認し外れ値を検出する方法は?
A) 生データをダウンロードしてローカルで分析 B) Data Wrangler の Data Quality and Insights Report を活用 C) 手動で SQL クエリを作成 D) 別の EC2 で分析
正解: B
解説: SageMaker Data Wrangler の Data Quality and Insights Report は各カラムの統計 (平均、中央値、標準偏差、分布)、欠損値、外れ値、クラス不均衡、データ型情報を自動生成します。これにより素早く EDA を実施できます。
Q19. カテゴリ変数に One-Hot Encoding を適用する際に発生する問題とその解決方法は?
A) 問題はない B) 高カーディナリティ変数で次元の呪いが発生 — Target Encoding または埋め込みを使用 C) 数値変数にも適用する D) 常に Label Encoding の方が良い
正解: B
解説: カテゴリ値が数百〜数千個ある高カーディナリティ変数に One-Hot Encoding を適用すると非常に疎 (sparse) な高次元ベクトルが生成されます。この場合 Target Encoding (カテゴリごとのターゲット平均で置換)、埋め込み、Frequency Encoding などがより効果的です。
Q20. SageMaker Clarify を使用してモデルの特定フィーチャーが予測に与える影響を説明する手法は?
A) Confusion Matrix B) SHAP (SHapley Additive exPlanations) C) ROC Curve D) Learning Curve
正解: B
解説: SageMaker Clarify は SHAP (Shapley ゲーム理論ベース) を使用して各フィーチャーが予測に貢献する程度を説明します。全体的な説明 (データセット全体のフィーチャー重要度) と局所的な説明 (個別予測に対するフィーチャー寄与度) の両方を提供します。
Q21. トレーニングデータの欠損値 (missing values) を処理する方法として適切でないものは?
A) 平均/中央値/最頻値による代替 (Imputation) B) KNN インピュテーション C) 該当する行/列の削除 (割合が低い場合) D) 欠損値をそのままモデルに入力
正解: D
解説: ほとんどの ML アルゴリズムは欠損値を処理できません。適切な方法: 統計ベースの代替 (平均、中央値、最頻値)、KNN インピュテーション、予測ベースのインピュテーション、または欠損値の割合が低い場合は該当する行/列の削除です。XGBoost は内部的に欠損値を処理できます。
Q22. データのスケール差を正規化する方法として正しくないものは?
A) Min-Max 正規化 B) StandardScaler (Z-スコア正規化) C) Robust Scaler (中央値と IQR を使用) D) 何も処理しない (木ベースモデルを除く)
正解: D
解説: 距離ベースアルゴリズム (KNN、SVM、ニューラルネットワーク) はスケールに敏感です。Min-Max は [0,1] に変換、StandardScaler は平均 0、標準偏差 1 に変換、RobustScaler は外れ値に強健です。木ベースモデル (Random Forest、XGBoost) はスケールに比較的無関係ですが、他のアルゴリズムにはスケーリングが必要です。
Q23. トレーニングデータのバイアスを検出するために SageMaker Clarify が使用する指標は?
A) RMSE B) クラス不均衡 (CI)、正のラベル割合の差 (DPL) C) AUC-ROC D) F1-score
正解: B
解説: SageMaker Clarify はトレーニング前のデータバイアス指標 (DPL: グループ間のラベル割合差、CI: クラス不均衡など) とトレーニング後のモデルバイアス指標 (DPPL: 予測ラベル割合差) を提供します。人口統計グループ間の公平性を評価します。
Q24. 時系列データから季節性 (seasonality) とトレンド (trend) を除去する前処理方法は?
A) 正規化 (Normalization) B) 差分 (Differencing) と季節分解 (Seasonal Decomposition) C) PCA の適用 D) ワンホットエンコーディング
正解: B
解説: 時系列データの定常性 (stationarity) 確保のために差分 (1次、季節差分) を適用します。statsmodels の seasonal_decompose や STL 分解でトレンド、季節性、残差成分を分離できます。ARIMA、SARIMA、DeepAR などのモデルではこの前処理が重要です。
Q25. フィーチャーエンジニアリングで日付/時刻データを ML に活用するための方法は?
A) Unix タイムスタンプへの変換のみ B) 年、月、日、曜日、時間、週番号などの多様なフィーチャーに分解 C) 日付フィーチャーを削除 D) 文字列のままで使用
正解: B
解説: 日付/時刻から年、月、日、曜日、時間帯、四半期、週番号、祝日かどうかなど多様なフィーチャーを抽出します。曜日や月などの循環的 (cyclical) フィーチャーは sin/cos 変換で連続性を表現します。これにより季節性や週間パターンを捉えられます。
Q26. 相関分析で 2 つの数値変数間の線形関係を測定する係数は?
A) スピアマン相関係数 B) ピアソン相関係数 C) ケンドールのタウ D) カイ二乗統計量
正解: B
解説: ピアソン相関係数は 2 つの連続変数間の線形関係の強さを -1 から 1 で測定します。スピアマンはランクベース (非線形単調関係)、ケンドールは順序一致度を測定します。外れ値に強健なスピアマンが ML 前処理でより一般的に使用されます。
Q27. SageMaker Data Wrangler でフィーチャー重要度を素早く確認する方法は?
A) 別途トレーニングが必要 B) Quick Model 機能でフィーチャー重要度を自動計算 C) 手動で相関分析 D) 不可能
正解: B
解説: Data Wrangler の Quick Model 機能は選択されたターゲット変数に対して Random Forest モデルを素早くトレーニングし、各フィーチャーの重要度 (feature importance) を可視化します。フィーチャー選択とデータ品質評価に活用できます。
Q28. 分類モデルの性能評価に適した指標の組み合わせは?
A) RMSE、MAE、R2 B) Precision、Recall、F1-score、AUC-ROC C) BLEU、Perplexity D) MAPE、SMAPE
正解: B
解説: 分類モデルの評価指標: Precision (予測陽性のうち実際の陽性割合)、Recall (実際の陽性のうち予測された陽性割合)、F1-score (Precision と Recall の調和平均)、AUC-ROC (閾値に依存しない性能測定)。クラス不均衡時は F1-score と AUC-PR (Precision-Recall 曲線の下面積) が重要です。
Q29. 高次元データを可視化する際に次元削減に使用する教師なし学習手法は?
A) 線形回帰 B) t-SNE、PCA、UMAP C) Random Forest D) KNN
正解: B
解説: PCA は分散を最大化する線形次元削減です。t-SNE は高次元データの局所構造を保存してクラスタを可視化します。UMAP は t-SNE より速く大域構造も保存します。SageMaker の組み込みアルゴリズムに PCA があります。
Q30. 回帰モデルの性能評価指標のうち外れ値に強健な指標は?
A) RMSE (平均二乗誤差平方根) B) MAE (平均絶対誤差) C) R2 (決定係数) D) MAPE
正解: B
解説: RMSE は誤差を二乗するため外れ値に敏感です。MAE は誤差の絶対値の平均で外れ値の影響が少ないです。RMSE は大きな誤差により多くのペナルティを与えたい場合に使用します。R2 はモデルがデータの分散をどれだけ説明するかを示します。
Q31. テキストデータを ML に使用するための前処理ステップに該当しないものは?
A) トークナイジング (tokenizing) B) ストップワード (stopwords) の除去 C) 画像拡張 (image augmentation) D) TF-IDF ベクトル化
正解: C
解説: テキスト前処理にはトークナイジング、小文字変換、ストップワード除去、語幹抽出 (stemming)/見出し語化 (lemmatization)、TF-IDF や Word2Vec などのベクトル化が含まれます。画像拡張はコンピュータービジョンで使用する技法です。
Q32. 多重共線性 (multicollinearity) を検出する方法は?
A) 交差検証 B) VIF (分散膨張係数) の計算または相関ヒートマップ C) 学習率の調整 D) バッチサイズの変更
正解: B
解説: 多重共線性は独立変数間の強い相関から発生します。VIF (Variance Inflation Factor) の値が 10 以上であれば多重共線性を疑います。相関ヒートマップで視覚的に把握することもできます。多重共線性がある場合は Ridge Regression や PCA で処理します。
Q33. 異常検知 (anomaly detection) に適した SageMaker 組み込みアルゴリズムは?
A) Linear Learner B) Random Cut Forest (RCF) と IP Insights C) BlazingText D) DeepAR
正解: B
解説: SageMaker Random Cut Forest (RCF) は教師なし異常検知アルゴリズムで、各データポイントの異常スコアを計算します。IP Insights は IP アドレスの使用パターンを学習して異常な IP アクセスを検出します。
Q34. 二値分類で閾値 (threshold) を 0.5 から下げると何が変化しますか?
A) Precision が増加し Recall が減少 B) Recall が増加し Precision が減少 C) AUC-ROC が増加 D) 変化なし
正解: B
解説: 閾値を下げると陽性と予測するケースが増えるため Recall (実際の陽性をより多く捉える) が増加し Precision (誤った陽性予測も増加) が減少します。不正検知のように False Negative を最小化すべき場合に閾値を下げます。AUC-ROC は閾値に依存しない指標です。
Q35. モデルで過学習 (overfitting) が発生していることを示すサインは?
A) トレーニング誤差と検証誤差がともに高い B) トレーニング誤差は低いが検証誤差が高い C) トレーニング誤差と検証誤差がともに低い D) 検証誤差のみ低い
正解: B
解説: 過学習はモデルがトレーニングデータには良く適合するが新しいデータ (検証/テスト) では性能が低い現象です。トレーニング-検証誤差の差が大きければ過学習です。解決策: より多くのトレーニングデータ、正則化 (L1/L2)、ドロップアウト、早期終了、アンサンブルなど。
Q36. AWS Glue DataBrew を使用する場合は?
A) コード作成が必要な複雑な ETL B) コードなしで視覚的にデータのクリーニングと変換を実施 C) ストリーミングデータ処理 D) モデルトレーニング
正解: B
解説: AWS Glue DataBrew はコードなしで 250 以上の事前ビルド変換を使用してデータを整理・標準化する視覚的データ準備ツールです。非技術的なユーザーがデータを探索・準備するのに適しています。
Q37. 変数間の非線形相互作用を捉えるためにフィーチャーエンジニアリングで使用する方法は?
A) スケーリングのみ適用 B) 多項式フィーチャー (polynomial features) の生成またはフィーチャークロス C) ワンホットエンコーディング D) PCA の適用
正解: B
解説: 多項式フィーチャー (x1^2、x1*x2 など) やフィーチャークロス (feature crossing) により変数間の非線形相互作用を捉えます。Google の Wide and Deep Learning のようにクロスフィーチャーを明示的に生成することもあります。ただし次元が急激に増加するため注意が必要です。
Q38. K-Fold 交差検証のメリットは?
A) トレーニング速度の向上 B) すべてのデータをトレーニングと検証に活用してより安定した性能推定が可能 C) データ拡張の自動化 D) ハイパーパラメータの自動設定
正解: B
解説: K-Fold 交差検証はデータを K 個のフォールドに分割し、K 回繰り返しながら各フォールドを検証セットとして使用します。すべてのデータがトレーニングと検証に使用されるため、検証セットが小さい場合に発生する高分散問題を減らし、より信頼できる性能推定を提供します。
Q39. 不均衡データに適したサンプリング戦略は?
A) 全データを使用、重み付けなし B) 層化サンプリング (Stratified Sampling) でクラス割合を維持 C) ランダムサンプリングのみ使用 D) 少数クラスを削除
正解: B
解説: 層化サンプリングはトレーニング、検証、テストセットの分割時に各セットで元のクラス割合を維持します。sklearn の train_test_split(stratify=y) で実装し、不均衡データでも各セットが均衡のとれたクラス分布を持つことを保証します。
Q40. SageMaker Clarify のトレーニング後バイアス検出における DPPL (Difference in Positive Proportions in Predicted Labels) とは?
A) 予測精度の差 B) 保護属性で定義された異なるグループでモデルが陽性ラベルを予測する割合の差 C) モデルパラメータ数の差 D) トレーニング/検証誤差の差
正解: B
解説: DPPL は保護属性 (性別、年齢など) で定義された異なるグループでモデルが陽性結果を予測する割合の差を測定します。値が 0 に近いほど公平なモデルです。負の DPPL はあるグループへの不利なバイアスを示します。
Modeling (Q41〜Q58)
Q41. SageMaker XGBoost で過学習を防ぐハイパーパラメータは?
A) num_round を増やす
B) alpha (L1)、lambda (L2) 正則化、subsample、colsample_bytree
C) eta を増やす
D) max_depth を無制限に
正解: B
解説: XGBoost の正則化: alpha (L1 正則化)、lambda (L2 正則化) で過学習を抑制。subsample (行サンプリング率)、colsample_bytree (列サンプリング率) で多様性を増加させます。max_depth の制限、min_child_weight の増加、early_stopping_rounds も過学習防止に使用されます。
Q42. SageMaker Hyperparameter Tuning Jobs でベイズ最適化を使用するメリットは?
A) 常にランダムサーチより遅い B) 以前の実験結果に基づいてより有望なハイパーパラメータの組み合わせを効率的に探索 C) 違いはない D) コストが高くなる
正解: B
解説: ベイズ最適化は以前の実験結果を使用して次に探索するハイパーパラメータの組み合わせを智的に選択します。ランダムサーチやグリッドサーチより少ない実験で良いハイパーパラメータを見つけられ、コストと時間を節約します。SageMaker は Bayesian、Random、Hyperband 戦略をサポートしています。
Q43. SageMaker Autopilot を使用するときの特徴は?
A) コード作成が必須 B) AutoML 機能でデータに最適なアルゴリズム、フィーチャー前処理、ハイパーパラメータを自動探索 C) ディープラーニングモデルのみサポート D) モデルの説明が不可能
正解: B
解説: SageMaker Autopilot は完全な AutoML サービスです。データを分析し、複数のアルゴリズム (XGBoost、Linear、MLP など) とフィーチャー変換を自動的に試み、最適なモデルを選択します。透明性のために生成されたノートブックコードを提供し、Explainability Report も含まれています。
Q44. 時系列予測のための SageMaker 組み込みアルゴリズムは?
A) BlazingText B) DeepAR C) KNN D) PCA
正解: B
解説: SageMaker DeepAR は自己回帰型 RNN (ARNN) ベースで時系列予測に最適化されたアルゴリズムです。複数の関連時系列を同時にトレーニングすることで個別の時系列より優れた予測を提供し、予測分布 (確率的予測) も出力します。
Q45. Transfer Learning を使用して画像分類モデルをファインチューニングする際の一般的なアプローチは?
A) モデル全体をランダム初期化して最初からトレーニング B) 事前トレーニング済みモデルの下位レイヤーを凍結 (freeze) し、上位レイヤーのみトレーニング C) データセットサイズに関わらず同じ戦略を適用 D) 転移学習は画像には適用不可
正解: B
解説: Transfer Learning の一般的なアプローチ: 1) ImageNet で事前トレーニングされた VGG、ResNet、EfficientNet などのモデルを使用、2) 下位 (特徴抽出) レイヤーを凍結、3) タスク固有の上位レイヤー (分類ヘッド) のみ新しいデータセットでファインチューニングします。データが少ないほどより多くのレイヤーを凍結します。
Q46. SageMaker での分散トレーニングの 2 つの主要な方式は?
A) シングルノード、マルチコア B) データ並列化 (Data Parallelism) とモデル並列化 (Model Parallelism) C) 直列トレーニング、並列トレーニング D) GPU トレーニング、CPU トレーニング
正解: B
解説: データ並列化: 同じモデルを複数の GPU にコピーし、異なるバッチを処理してからグラジエントを同期します。SageMaker Data Parallel Library を使用。モデル並列化: モデル自体を複数の GPU に分割します。モデルが単一 GPU に収まらない場合に使用します。SageMaker Model Parallel Library を使用。
Q47. SageMaker BlazingText アルゴリズムの主な使用ケースは?
A) 画像分類 B) Word2Vec 埋め込み学習とテキスト分類 (教師あり/なし) C) 時系列予測 D) 推薦システム
正解: B
解説: SageMaker BlazingText は 2 つのモードをサポートします: 1) Word2Vec モード: 単語埋め込みを教師なし学習で生成 (Skip-gram、CBOW)、2) Text Classification モード: 教師あり学習でテキストを分類します。fastText と類似した構造で大規模テキストを高速処理します。
Q48. モデル評価で BLEU スコアが使用されるタスクは?
A) 二値分類 B) 機械翻訳、テキスト要約などのテキスト生成タスク C) 回帰 D) 時系列予測
正解: B
解説: BLEU (Bilingual Evaluation Understudy) は機械翻訳品質を評価する指標です。生成されたテキストと参照訳の n-gram 一致率を測定します。SageMaker Seq2Seq アルゴリズム (機械翻訳、テキスト要約) の性能評価に使用されます。
Q49. SageMaker でカスタムトレーニングコンテナ (BYOC) を使用する理由は?
A) コスト削減 B) SageMaker 組み込みアルゴリズムやフレームワークがサポートしないライブラリやアルゴリズムの使用 C) より高速なトレーニング D) 自動分散トレーニング
正解: B
解説: BYOC (Bring Your Own Container) は SageMaker がサポートしない ML フレームワーク、カスタムアルゴリズム、特定バージョンのライブラリが必要な場合に使用します。Docker イメージを ECR にプッシュして SageMaker で使用します。SageMaker のトレーニング/推論コントラクトに準拠する必要があります。
Q50. 言語モデルの評価指標 Perplexity が低いほど何を意味しますか?
A) モデルがより不確実 B) モデルがテキストをより良く予測 (低いほど良い) C) モデルサイズが小さい D) トレーニング速度が速い
正解: B
解説: Perplexity は言語モデルがテスト データをどれだけ上手く予測するかを測定します。数学的にはテストデータのクロスエントロピー損失の指数関数です。Perplexity が低いほどモデルが次の単語をより確実に予測するため、より良い言語モデルです。
Q51. SageMaker トレーニングで Spot インスタンスを使用するメリットと注意点は?
A) 常により高い B) 最大 90% のコスト削減が可能だが、中断が発生する可能性があるため、チェックポイントが必須 C) より高速なトレーニング速度 D) 追加設定不要
正解: B
解説: SageMaker Managed Spot Training を使用すると On-Demand 対比最大 90% のコストを削減できます。ただし Spot インスタンスはいつでも中断される可能性があるため、チェックポイントを S3 に保存して中断後の再開をサポートする必要があります。MaxWaitTimeInSeconds で最大待機時間を設定します。
Q52. SageMaker での Object Detection アルゴリズムの入力形式は?
A) CSV ファイル B) RecordIO または拡張マニフェスト形式 (augmented manifest) C) JPEG のみ D) TFRecord のみ
正解: B
解説: SageMaker Object Detection (SSD/Faster RCNN ベース) は RecordIO-protobuf 形式または拡張マニフェスト (S3 画像 URL + ラベルを JSON Lines 形式) をサポートします。Ground Truth で生成されたラベルデータを直接使用できます。
Q53. トレーニングデータが非常に少ない場合に効果的なモデル開発方法は?
A) 複雑なディープラーニングモデルを使用 B) Transfer Learning、Data Augmentation、Few-shot Learning C) データなしでモデルをトレーニング D) 正則化を除去
正解: B
解説: データが少ない場合: 1) Transfer Learning - 関連ドメインの事前トレーニング済みモデルをファインチューニング、2) Data Augmentation - 既存データを変形してデータセットを拡大、3) Few-shot Learning - 少ない例示から新しいクラスを学習、4) SageMaker JumpStart の事前トレーニング済みモデルを活用。
Q54. K-Means クラスタリングの K 値を決定する方法は?
A) 常に K=3 を使用 B) エルボー法 (Elbow Method) またはシルエットスコア C) データサイズを K として使用 D) ランダムに選択
正解: B
解説: エルボー法: K 値に対する WCSS (クラスター内二乗和) のグラフを描き、傾きが急激に緩やかになる「肘」の点を最適な K として選択します。シルエットスコア: クラスター内の凝集度とクラスター間の分離度を測定して K を評価します。SageMaker K-Means は複数の K を自動試行する機能を提供しています。
Q55. SageMaker の Semantic Segmentation アルゴリズムの出力は?
A) バウンディングボックスの座標 B) 各ピクセルに対するクラスラベル C) 画像ラベル一つ D) テキストの説明
正解: B
解説: Semantic Segmentation は画像の各ピクセルを特定のクラス (人、車、道路など) に割り当てます。出力は入力画像と同じサイズのマスクで、各ピクセル値がクラス ID です。自律走行、医療イメージング分野で多く使用されます。
Q56. アンサンブル学習における Boosting と Bagging の違いは?
A) 違いはない B) Boosting は逐次的に前モデルの誤りを修正、Bagging は独立したモデルの結果を平均 C) Bagging の方が遅い D) Boosting は回帰にのみ使用
正解: B
解説: Bagging (Bootstrap Aggregating): 独立したモデルを並列にトレーニングし結果を平均、分散を減少 (Random Forest)。Boosting: 前のモデルが誤ったサンプルにより集中して順次モデルをトレーニング、バイアスを減少 (XGBoost、AdaBoost、LightGBM)。一般的に Boosting が単独モデルより性能が高いですが過学習リスクも高いです。
Q57. SageMaker の LDA (Latent Dirichlet Allocation) アルゴリズムの主な使用ケースは?
A) 二値分類 B) テキスト文書のトピックモデリング (隠れたトピックの発見) C) 画像分類 D) 数値予測
正解: B
解説: LDA は教師なし学習アルゴリズムで文書コレクションから潜在的なトピックを発見します。各文書は複数のトピックの混合として表現され、各トピックは単語の分布として定義されます。ニュース分類、コンテンツ推薦などに活用されます。
Q58. SageMaker でトレーニングジョブ開発時にローカルモード (Local Mode) を使用するメリットは?
A) 大規模データセットの処理 B) 高速なコード開発とデバッグ (ローカルで SageMaker コードを実行) C) 自動分散トレーニング D) プロダクションデプロイ
正解: B
解説: SageMaker Local Mode は実際の SageMaker インスタンスを起動せずにローカル環境 (または SageMaker Studio) でトレーニング/推論コードを実行します。高速な反復開発とデバッグに役立ちます。Docker が必要で、大規模データや分散トレーニングには適していません。
ML Implementation and Operations (Q59〜Q65)
Q59. SageMaker Endpoint のリアルタイム推論と非同期推論の違いは?
A) 違いはない B) リアルタイムは即座にレスポンスを返す、非同期は大容量/時間のかかるリクエストをキューに入れて結果を S3 に保存 C) 非同期の方が速い D) リアルタイムのみオートスケーリングをサポート
正解: B
解説: リアルタイムエンドポイント: 即時レスポンスが必要な低レイテンシのリクエスト。非同期推論: リクエストを S3 に保存してキューに入れ、結果も S3 に保存します。大容量ペイロード (最大 1GB)、処理時間が長いリクエストに適しています。バッチ変換: 大規模バッチデータを一度に処理します。
Q60. SageMaker Model Monitor で検出できる問題は?
A) ネットワークレイテンシのみ B) データドリフト、モデル品質低下、バイアスドリフト、フィーチャー属性変化 C) コスト超過のみ D) コードバグのみ
正解: B
解説: SageMaker Model Monitor の 4 種類のモニター: 1) Data Quality Monitor - 入力データの統計的変化を検出、2) Model Quality Monitor - 予測性能の低下を検出、3) Bias Drift Monitor - モデルバイアスの変化を検出、4) Feature Attribution Drift Monitor - フィーチャー重要度の変化を検出。
Q61. SageMaker Pipelines を使用する主な理由は?
A) 単一モデルのトレーニング実行 B) ML ワークフロー (データ処理 → トレーニング → 評価 → デプロイ) を再現可能に自動化 C) コスト削減のみ D) データ保存
正解: B
解説: SageMaker Pipelines は ML ワークフローを DAG (有向非循環グラフ) として定義し自動化します。パイプラインステップ (Processing、Training、Evaluation、RegisterModel、Deploy など) を連接し、条件付き実行、パラメータ渡し、実験追跡が可能です。CI/CD 統合で MLOps を実現します。
Q62. SageMaker エンドポイントで A/B テストを実施する方法は?
A) 2 つの別々のエンドポイントを作成 B) プロダクションバリアント (Production Variants) でトラフィック比率を指定して複数モデルを同時サービング C) Lambda 関数でルーティング D) CloudFront による配分
正解: B
解説: SageMaker Endpoint の Production Variants 機能を使用して一つのエンドポイントで複数のモデルバージョンを同時にサービングします。各バリアントにトラフィックの重みを割り当て (例: 現在のモデル 90%、新しいモデル 10%)、性能指標を比較してから徐々にトラフィックを移行します。
Q63. SageMaker Neo を使用する目的は?
A) モデルトレーニングの高速化 B) 特定ハードウェア (エッジデバイス、クラウドインスタンス) に最適化されたモデルのコンパイル C) データ前処理 D) ハイパーパラメータチューニング
正解: B
解説: SageMaker Neo はトレーニング済みの ML モデルを特定のハードウェア (ARM、x86、NVIDIA GPU、Intel チップなど) に最適化してコンパイルします。Apache TVM をベースにモデルサイズを削減し推論速度を向上させます。IoT/エッジデバイスのデプロイに特に有用です。
Q64. ML モデルをデプロイした後に性能が低下する主な原因と対応方法は?
A) サーバーエラー、再起動で解決 B) データドリフト (入力データの分布変化)、Model Monitor で検出後に再トレーニング C) ネットワーク問題 D) コードバグ
正解: B
解説: モデル性能低下の主な原因はデータドリフトです。プロダクションの入力データの分布がトレーニング時と異なると性能が低下します。SageMaker Model Monitor でドリフトを継続的に監視し、ドリフト検出時に自動でアラートを送り、再トレーニングパイプラインをトリガーします。
Q65. SageMaker Serverless Inference に適した使用ケースは?
A) 継続的な高トラフィックのリアルタイムサービス B) 断続的なトラフィック、使用しない場合コストゼロの推論 C) 大規模バッチ処理 D) ミリ秒以下のレイテンシ要件
正解: B
解説: SageMaker Serverless Inference は使用時のみ課金され、アイドル状態ではインフラコストがありません。断続的または予測不可能なトラフィックパターンに適しています。コールドスタートのレイテンシがあるため、厳格なレイテンシ要件がある場合には適していません。
4. 試験のヒント
- SageMaker サービスの深い理解: 各 SageMaker コンポーネントの目的と違いを明確に区別
- 組み込みアルゴリズム: 各アルゴリズムの入力形式、ユースケース、核心ハイパーパラメータを記憶
- Kinesis サービスの区別: Streams vs Firehose vs Analytics の違いを明確に理解
- コスト最適化: Spot インスタンス、サーバーレス推論、Managed Spot Training
- MLOps: SageMaker Pipelines、Model Monitor、Model Registry の流れを理解
- データサービス: Glue、Lake Formation、Athena、S3 パーティショニング戦略
- セキュリティ: VPC、IAM ロール、KMS 暗号化、SageMaker のネットワーク分離