Agent Grow Tech Notes
😸

AWS Certified Machine Learning - Associate (MLA-C01) 備忘録

に公開

はじめに

あけましておめでとうございます。
2026年1月、AWS Certified Machine Learning - Associate (MLA-C01) に合格しました。

年末年始は出かける予定もなく、まとまった時間がとれそうだったので、
機械学習の案件経験皆無の人間が、年末年始の1週間ほどでMLAに合格できるのか挑戦したところ、
なんとか合格できました。ほんとよかった。

AWSのサービスやアーキテクチャについてはなんとなく理解度がある方なのですが、
機械学習については本当に基礎からわからなくて苦労しました、、、

いつものように合格体験記を書いても同じ内容になってしまうので、
前回の記事のように、MLAの学習を通じて学んだことを備忘録としてまとめようと思います。

これから MLA を目指す方、あるいは ML の基礎を AWS サービスと紐づけて理解したい方の参考になれば幸いです。


🤖 機械学習・AWS MLA 重要単語徹底解説

1. 🧹 データの準備と「下ごしらえ」 (Data Preparation)

機械学習において、データの品質はモデルの命です。インフラでいう「パッチ当て」や「クリーンインストール」のように、まずは土台を整える工程を学びます。

1-1. 🏗️ ETL とデータクレンジング

  • ETL (Extract, Transform, Load): データを「取り出して」「加工して」「保存する」一連のパイプライン。
  • データクレンジング: 汚いデータを洗う作業。
  • 中学生向け例え: 砂まみれのジャガイモ(生データ)を洗って、芽(異常値)を取り除き、皮を剥く作業。芽を残したままポテトサラダ(AIモデル)を作ると、食べた人がお腹を壊します(AIが誤作動します)。

1-2. 🔧 特徴量エンジニアリング (Feature Engineering)

  • 概要: AIが計算しやすいようにデータを加工すること。
  • 代表的な手法:
  • ワンホットエンコーディング: 「赤・青」という文字を「1, 0」のような数字に分ける。AIは文字が読めませんが、数字のフラグなら理解できます。
  • スケーリング / 正規化: 身長(170cm)と体重(60kg)のように桁が違う数字を、0〜1の間に揃えること。AIが「数字が大きいから身長の方が重要だ!」と勘違いするのを防ぎます。

1-3. 🛠️ AWS データの準備サービス

  • AWS Glue DataBrew: 「ビジネスデータ」をGUIでポチポチと綺麗にするツール。Excelのような操作感で整形したい時向け。
  • Amazon SageMaker Data Wrangler: 「ML専用」の整形ツール。データの偏り(バイアス)を診断する機能が標準装備されています。
  • AWS Glue Find Matches: 「名寄せ」のプロ。重複しているデータを、AIが自動で見つけて一つにまとめてくれます。

2. 🧠 アルゴリズム:AIの「性格」を知る (Algorithms)

どのアルゴリズムを使うかは、どんな性格の先生に教わるかを選ぶようなものです。

2-1. 🎯 教師あり学習:答え合わせをしながら学ぶ

  • 決定木 (Decision Tree): 「もし〜なら」という樹形図で考える。中学生がフローチャートを書くようなイメージ。
  • ランダムフォレスト: 100人の「決定木くん」に多数決を取らせる。「3人寄れば文殊の知恵」作戦です。
  • XGBoost: 決定木の進化系。1人目が間違えた問題を、2人目が重点的に解き直す「リレー形式の復習」で最強の精度を目指します。
  • K-近傍法 (KNN): 「類は友を呼ぶ」アルゴリズム。自分の周りにいるデータが「猫」なら、自分も「猫」だと判定します。
  • 因数分解機 (Factorization Machines): 「ユーザーAと映画Bの相性」のような複雑な組み合わせを解くのが得意。Amazonの「おすすめ商品」などで活躍します。

2-2. 🔍 教師なし学習:正解なしでグループ分け

  • クラスター分析 (k-means法): 似た者同士を自動でN個のグループに分ける。
  • 主成分分析 (PCA): 100項目あるデータを、エッセンスだけ凝縮して3項目くらいに減らす。情報の「要約」です。

3. ⚖️ クラスの不均衡との戦い (Handling Imbalance)

「100万件中、1件の不正」を見つけるのは至難の業。これをクラスの不均衡と呼びます。

3-1. 解決策のバリエーション

  1. アンダーサンプリング: 多い方のデータ(正常品)を間引いて、比率を合わせる。
  2. オーバーサンプリング (SMOTE): 少ない方のデータ(異常品)を、似たようなデータで合成して「水増し」する。
  3. 重み付け: 少ない方を間違えた時のペナルティを重くする。「ここは絶対に見逃すなよ!」とAIに強く指導します。
  4. 異常検知問題として扱う: そもそも分類を諦めて、「いつものパターンと違うもの」を探す手法に切り替えます。

4. 📉 学習のデバッグと評価 (Training & Metrics)

AIの伸び悩みはグラフで健康診断します。

4-1. トレーニング損失 vs 検証損失

  • トレーニング損失: 練習問題のミス率。
  • 検証損失: 模擬試験(初見の問題)のミス率。
  • バイアス(学習不足): 練習も本番も点数が低い。AIが単純すぎてルールを理解できていない。
  • バリアンス(過学習): 練習は100点なのに本番は0点。AIが問題を「丸暗記」してしまった状態。

4-2. 学習の安定化テクニック

  • 学習率 (Learning Rate): 谷底(正解)へ降りる一歩の幅。グラフが激しく振動しているなら、一歩が大きすぎて谷の右と左を飛び越えています。学習率を下げるのが正解です。
  • レイヤーのドロップアウト: 学習中、脳細胞の一部をランダムに「気絶」させます。一部が使えなくても正解できるように鍛えることで、応用力が上がります。
  • ハイパーバンド (Hyperband): 100個のモデルを一斉に走らせ、成績の悪い下位から即座に「クビ」にしていく時短テクニック。

4-3. 評価指標の「見方」

  • FP(誤報): 何もないのに警報が鳴ること。
  • FN(見逃し): 事件なのに警報が鳴らないこと。
  • 適合率 (Precision): 鳴った時に「本当に事件だった」確率。誤報 (FP) を嫌う時に。
  • 再現率 (Recall): すべての事件のうち「何回鳴らせたか」。見逃し (FN) を嫌う時に。
  • DPL (Difference in Proportions of Labels): 学習を始めるに、データの公平性をチェックする指標。

5. 🏗️ AWS SageMaker エコシステム (Ops & Governance)

インフラエンジニアが最も活躍する、プラットフォームの活用術です。

5-1. 開発と実験の管理

  • SageMaker ノートブックインスタンス: ブラウザで動く開発用サーバー。
  • SageMaker Experiments: 100回試した学習のパラメータやスコアを自動で記録し、並べて比較できる機能。
  • SageMaker ML Lineage Tracking: モデルの「家系図」。どのデータからどのモデルが生まれたか、証跡をすべて記録します。

5-2. 特徴量とラベルの管理

  • SageMaker Feature Store: 作成した「特徴量」をチームで再利用するために保管する倉庫。

  • Feature Processing: 倉庫に入れるための加工プロセス自体も管理。

  • SageMaker Ground Truth: 大量のデータに「これは猫、これは犬」と人間がラベルを付ける作業を助けてくれるサービス。


6. 🚀 推論とデプロイの最適化 (Inference & Deployment)

6-1. エンドポイントの工夫

  • マルチモデルエンドポイント (MME): 1つのインスタンスに100個のモデルを詰め込む。コスト節約。
  • マルチコンテナエンドポイント: 1つのAPIの中で「前処理 → 推論 → 後処理」とコンテナを連結させて動かす。
  • ペイロード (Payload) 制限: リアルタイム推論は 6MB まで。これを超える「重い」リクエストは、非同期推論(S3経由)が正解です。

6-2. 便利な関連サービス

  • Amazon Lake Formation: データのアクセス権を「列単位」で細かく制御するガードマン。
  • Amazon Kendra: 社内ドキュメント専用の賢い検索エンジン。自然言語で質問しても答えを見つけてくれます。

7. 🎯 評価指標の迷宮を攻略する:結局どれを使えばいい?

学習を進めていると必ずぶつかるのが、正解率、適合率、再現率、F1スコアがややこしくて、どれを選べばいいかわからないという悩みです。ここでは、定義の正確な理解と、現場での使い分け基準を整理します。

7-1. 「適合率」と「再現率」の定義をスッキリ整理する

よく「書き方が違うだけで同じ意味では?」と混同されますが、実は「見ている視点」が真逆です。

  • 適合率 (Precision): モデルが「正」と予測したサンプルのうち、実際に正である割合。

  • AI側の視点: 「私が『正解だ!』と自信満々に言ったうち、どれだけ本当だったかな?」

  • 再現率 (Recall): 実際に正であるサンプルのうち、モデルが正と予測できた割合。

  • 事実側の視点: 「世の中にある本物の正解のうち、AIくんは何個取りこぼさずに拾えたかな?」

7-2. 💡 覚え方のコツ:FP(誤報)と FN(見逃し)

「どうしても覚えられない!」という時は、嫌いなミスとセットで覚えましょう。

  • FP (偽陽性 = 誤報): AIが Positive(正)と答えたが、実際は False(間違い)。

  • イメージ: 「オオカミ少年」。何もないのに「オオカミ(Positive)だ!」と騒ぐ。

  • FN (偽陰性 = 見逃し): AIが Negative(負)と答えたが、実際は False(間違い)。

  • イメージ: 「泥棒のスルー」。泥棒がいるのに「いない(Negative)」とスルーしてしまう。

7-3. ⚖️ 現場での指標選び:どっちのミスで「クビ」になるか?

問題設定によって、重視すべき指標は明確に分かれます。

選ぶべき指標 重視する背景 具体的なユースケース
正解率 (Accuracy) 全体のバランスが良く、単純な正しさを知りたい。 犬と猫が 50:50 の写真集での分類。
適合率 (Precision) 誤報 (FP) が大損害を招く時。AIが「正」と言ったら、それは絶対であってほしい。 スパム判定: 大事なメールを誤ってスパム扱い(誤報)して削除するのは最悪。
再現率 (Recall) 見逃し (FN) が命取りになる時。怪しいものは全部捕まえたい。 不正アクセス検知 / がん検診: 一人でも見逃すと(スルー)大事故になる。
F1スコア 適合率と再現率のどちらも大事。偏りがあるデータでの「総合力」を見たい時。 データの不均衡がある中での、標準的なモデル評価。

8. 🤖 SageMaker アルゴリズム選定ガイド

SageMaker の組み込みアルゴリズムが多すぎて、どれをいつ使えばいいかわからないという疑問を解決するため、インフラエンジニアに馴染みのあるユースケースでまとめました。

アルゴリズム名 概要 (直感的な理解) 主なユースケース
Linear Learner 最も基本的な「線」を引いて分ける。 売上予測、シンプルな二値分類。
XGBoost 決定木をリレー形式で繋いで鍛える。表形式データの最強格。 ユーザーの離脱予測、ローンの審査。
DeepAR 過去のトレンドから未来を予測する。 サーバー負荷予測、在庫の需要予測。
BlazingText 大量のテキストを爆速で処理・分類する。 問い合わせメールの自動カテゴリ仕分け。
Object2Vec 異なるもの(ユーザーと商品)の相性を数字にする。 映画や商品のレコメンデーション。
Random Cut Forest 「いつもと違う」データの動きを検知する。 異常検知、工場のセンサー故障予兆。
K-Means 特徴が似ているデータを自動でグループ分け。 顧客のセグメンテーション。

9. 🏗️ データ準備ツールの棲み分け:DataBrew vs. Data Wrangler

続いて、どちらも GUI でデータをいじれるけど、どう使い分けるのかという背景には、作業者の「目的」の違いがあります。

  • AWS Glue DataBrew:

    • 役割: データの「清掃」。
    • ユースケース: データアナリストが、BI ツールで見やすいように日付形式を揃えたり、重複を消したりする。
  • Amazon SageMaker Data Wrangler:

    • 役割: ML のための「特徴量エンジニアリング」。
    • ユースケース: ML エンジニアが、モデルの精度を上げるためにバイアス(不公平性)を診断したり、不均衡データのサンプリング (SMOTE) を行ったりする。学習ジョブや特徴量ストアへのエクスポート機能が強力です。

10. 🚀 デプロイの安全策:カナリアデプロイと線形デプロイ

新モデルへの切り替え、失敗したくないけどどんな手法があるという現場の不安に応える 2 つの戦略です。

10-1. カナリアデプロイ (Canary Deployment)

  • 背景: 「毒味」をさせて安全を確認したい。
  • 仕組み: 最初に少数のトラフィック(例:5%)だけを新モデルに流し、一定時間エラーが出なければ一気に全量を切り替えます。
  • 向いているケース: モデルのロジックを大幅に変更し、予期せぬ挙動のリスクが高いとき。

10-2. 線形デプロイ (Linear Deployment)

  • 背景: 「急激な変化」を避け、滑らかに移行したい。
  • 仕組み: 10 分ごとに 10% ずつ、といった具合に、一定のペースで段階的に新モデルへトラフィックを移します。
  • 向いているケース: 大規模なシステムで、一気にトラフィックを動かすとインフラの負荷(CPU やメモリ)が急増する恐れがあるとき。

動画学習について

今回はYouTubeにも色々お世話になりましたので紹介します。

機械学習について

https://www.youtube.com/@aiby8596

  • AWSというよりは、機械学習について色々解説しているチャンネルです。
  • 機械学習に関する用語がわからないときに助けてもらいました。
  • 他動画も端的にわかりやすくまとまってるので、趣味で見ても面白そうです。

AWS系の動画

https://youtu.be/eapwYF7ARBk?si=MFpYr_K9-dOs17HO

https://youtu.be/7pScGkPped8?si=3xYMLuCs5m1Pl3BT

https://youtu.be/5fbdx849AYw?si=yXqf6VWghC9c5eW1

https://youtu.be/BLregKUjhi4?si=GVqpLVvKkXA3w5lG

試験について(おまけ)

ただ備忘録を書いているだけの記事も味気ないので、MLA試験や勉強法についてかるーーくふれておきます。

  • 当たり前ですが、機械学習に関するAWSサービスがメインで出題されます。
  • AWSの機械学習系サービスだけではなく、機械学習に関する用語(アルゴリズムなど)についても出題されるので注意しましょう。
  • また、機械学習の問題化と思いきや、IAMロール、バケットポリシーなどアソシエイト系の問題も混ざっているので、先に他のAWS資格(AIF、SAA、G検定など)をとっておくと理解しやすいと思います。
  • しっかり対策しておけば、見直しを含めても試験時間的には余裕ができると思います!

おわりに

色々まとめているとなかなかのボリュームとなってしまったので、必要そうな部分だけ読んでいただけたら幸いです。
今度は、MLSに挑戦しようと思います。機械学習素人からすると一番苦戦するんだろうなぁ、、落ちても二回目が無料になるバウチャーもうまくつかってがんばります。バウチャーの詳細はこちら。
https://pages.awscloud.com/GLOBAL-other-GC-Traincert-Global-Retake-Registration-2025.html?gc-language=ja-jp

Agent Grow Tech Notes
Agent Grow Tech Notes

Discussion