Amazon Web ServicesLevel 3

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

AWS MLA-C01のサンプル問題(本番形式・解説付き)

AWS MLA-C01(Amazon Web Services・AWS Certified Machine Learning Engineer – Associate(MLA-C01))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(65問)の冒頭から抜粋したオリジナル問題です。当サイトは全715問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

ある ML エンジニアは、XGBoost で解約予測モデルを作ったが、精度が目標に届かないという相談を受けた。チームからいくつかの前処理の案が出ており、効果の見込めない案を外してから試したい。効果が見込めない対処はどれか。

  • 連続値をビニングして非線形な関係を取り込む
  • 木ベースのモデルなので入力データを正規化する(正解)
  • 特徴量の組み合わせが効くように交互作用項を作る
  • 右に長い裾を持つ列に対数変換を掛ける

解説

XGBoost は木ベースのモデルで、分割の閾値で判断するため値の範囲をそろえても分割の結果は変わらない。したがって精度が出ないので入力データを正規化するという対処は効果が見込めない。交互作用項の作成は特徴量の組み合わせを明示的に与える技法で、木が見つけにくい関係を補える。対数変換は右に長い裾の列を扱いやすくし、ビニングは連続値を区間に区切って非線形な関係を取り込む技法で、どちらも精度改善の打ち手になりうる。

設問2

ある小売企業のマーケティング部門は、購買の傾向が似た顧客をいくつかのまとまりに分け、まとまりごとに販促の施策を変えたい。どのようなまとまりに分けるかは事前に決まっておらず、顧客に正解の区分も付いていない。選ぶべきアルゴリズムはどれか。

  • K-Means を使い、同じグループのメンバー同士が似るように分割を学習させる(正解)
  • Factorization Machines を使い、疎な購買履歴から特徴量間の交互作用を学習させる
  • DeepAR を使い、複数の関連する時系列をまとめて1つのモデルとして学習させる
  • XGBoost を使い、既存の顧客区分をラベルとして多クラス分類のモデルを学習させる

解説

グループが未定義でラベルも無い場合はクラスタリングであり、K-Means が該当します。K-Means はデータ内の離散的なグループを見つけ、同じグループのメンバー同士はできるだけ似ており、他グループのメンバーとはできるだけ異なるように分けます。Factorization Machines は高次元で疎なデータセットの特徴量間の交互作用を捉える推薦向けの手法です。DeepAR はスカラー時系列を予測する教師あり学習アルゴリズムです。XGBoost の多クラス分類はラベルが必要で、区分が事前に決まっていない前提と合いません。

設問3

ある製造企業の MLOps 担当は、SageMaker Pipelines でパイプラインを組んでいる。前処理と学習だけでなく、流れの制御や外部とのやり取りも組み込みたい。そこで、ステップ種別ごとの役割を整理している。ステップ種別の役割として正しいものはどれか。(2つ選択)

  • Fail ステップはパイプラインの失敗を検知して、自動で前の成功実行まで巻き戻す
  • Callback ステップは Amazon SQS にトークン付きメッセージを送り、外部の処理の完了を待つ(正解)
  • Condition ステップはステッププロパティの条件を評価し、実行するステップ群を切り替える(正解)
  • EMR ステップは Amazon EMR のログを収集して、パイプラインの実行履歴に保存する
  • Notebook Job ステップはノートブックを対話的に開いて、担当者の入力を待って進む

解説

Callback ステップは、Pipelines が Amazon SQS キューにトークン付きメッセージを送り、外部の処理が終わったら結果を返す仕組みである。Condition ステップはステッププロパティの条件を評価し、true の時と false の時のステップ群を切り替える。Fail ステップは望んだ条件が達成されなかった時に実行を止めてカスタムのエラーメッセージを出すもので、巻き戻しは行わない。EMR ステップは EMR ステップの処理やクラスターの管理、Notebook Job ステップはノートブックを非対話的に実行するものである。

設問4

ある小売企業の需要予測のチームは、毎週月曜日の深夜に、前の週のデータでモデルを再学習するパイプラインを自動で回したい。再学習の時刻は固定で、データの到着や品質の変化に応じて起動する必要は無い。使う仕組みはどれか。

  • モニタリングスケジュールの実行結果を条件にパイプラインを起動する
  • EventBridge のスケジュールルールで SageMaker Pipelines を起動する(正解)
  • SageMaker Training Job State Change のイベントでパイプラインを起動する
  • CloudWatch のアラームを ALARM 状態のまま保ち、それを起点に起動し続ける

解説

定時の実行には EventBridge のスケジュールルールを使い、ターゲットに SageMaker Pipelines や Step Functions を指定します。Training Job State Change は学習ジョブの状態変化で、定時の起動には結びつきません。アラームを ALARM 状態のまま保つ運用は、異常を知らせる仕組みを潰し、決まった時刻に起動することもできません。モニタリングスケジュールの結果は監視の分析であって、定時起動の仕組みではありません。

設問5

ある ML エンジニアは、ロジスティック回帰の前処理で標準化を使っている。検証データでのスコアが、本番に出した後のスコアよりも常に高く出ていた。調べると、標準化を掛ける順序に問題があった。正しい手順はどれか。

  • 全データでスケーラーを学習してから、学習データと検証・テストデータを分ける
  • 検証データでスケーラーを学習してから、学習データとテストデータへ適用する
  • 分割ごとに別々のスケーラーを学習してから、それぞれの分割へ適用する
  • 学習データと検証・テストデータを分けてから、学習データだけでスケーラーを学習する(正解)

解説

学習データと検証/テストデータを分割してから学習データだけでスケーラーを学習(fit)し、その同じスケーラーで検証/テストデータを変換(transform)する。全データでスケーラーを学習すると、テストデータの情報が学習に漏れるデータリーケージになる。検証データでスケーラーを学習すると、評価に使うデータの情報が変換に入り込む。分割ごとに別のスケーラーを学習すると、同じ値が分割ごとに違う数値へ変換され、学習時と評価時で特徴量の意味がずれる。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く