Instiq
第3章 · モデリング·v2.1.0·更新 2026/6/14·読了目安 約12分

変更要約: in-scope サービス網羅: 中核サービスの解説を追加

3.1アルゴリズムの選択

この節の要点

課題に合うモデル——教師あり(分類/回帰)教師なし(クラスタリング/次元削減)SageMaker 組み込みアルゴリズム専門タスク(画像/テキスト/時系列)——を理解します。

モデリングの第一歩は、課題の種類に合うアルゴリズムを選ぶことです。ラベルの有無や出力の種類で大きく分かれます。

3.1.1課題の種類で選ぶ

ML アルゴリズムの選択を示した図。「課題は何か(ラベルの有無・出力の種類)」を起点に、教師あり(分類は XGBoost や Linear Learner、回帰は数値予測、ラベル付きデータ)、教師なし(クラスタリングは K-Means、次元削減は PCA、異常検知は RCF、ラベルなし)、専門(画像は CNN/Image Classification、テキスト/系列は BlazingText・seq2seq、予測は DeepAR、ドメイン特化)に分かれることを示し、ラベルあり→教師あり、ラベルなし→教師なし、画像/テキスト/時系列→専門と選ぶことを示した図。
ML アルゴリズムの選択
  • 教師ありラベル付きデータで学習。分類(XGBoost/Linear Learner)や回帰(数値予測)。
  • 教師なしラベルなし。クラスタリング(K-Means)、次元削減(PCA)、異常検知(Random Cut Forest)。
  • 専門タスク:画像(画像分類/CNN)、テキスト(BlazingText)、時系列予測(DeepAR)。
  • SageMaker 組み込み:上記の多くは組み込みアルゴリズムとして提供され、すぐ使える。
試験ポイント

「表形式の分類/回帰=XGBoost」「クラスタリング=K-Means」「次元削減=PCA」「異常検知=Random Cut Forest」「時系列予測=DeepAR」「テキスト分類/埋め込み=BlazingText」 は MLS-C01 で頻出です。ラベルの有無(教師あり/なし)でまず分け、出力の種類で具体アルゴリズムを選びます。

MLS-C01 では SageMaker 組み込みアルゴリズムの「どれをいつ」が深く問われます。表形式データではまず XGBoost(勾配ブースティング木)が強く、欠損やスケールに頑健で分類・回帰・ランキングに使えます。線形に近い大規模データや疎な特徴には Linear Learner、推薦の協調フィルタリングには Factorization Machines、超大規模の多クラス分類には kNN や Linear Learner を検討します。教師なしでは、球状クラスタの K-Means(k は要指定・エルボー法やシルエットで決める)、次元削減と可視化前処理の PCA、ストリーミング異常検知の Random Cut Forest(RCF)、トピック抽出の LDA/NTM を使い分けます。専門タスクでは、画像分類(Image Classification、ResNet ベース・転移学習)、物体検出(Object Detection)、セマンティックセグメンテーション、テキストの BlazingText(Word2Vec 埋め込み+高速テキスト分類)、系列変換の Seq2Seq(翻訳・要約)、時系列の DeepAR(複数系列をまとめて学習し確率的予測・コールドスタートに強い)を選びます。さらに高水準の選択肢として、コードを書かずに最適なモデルとハイパーパラメータを自動探索する SageMaker Autopilot(AutoML)、独自コンテナ(Bring Your Own Container)、Hugging Face/PyTorch/TensorFlow の スクリプトモード があり、「組み込みで足りるか・AutoML に任せるか・自前実装か」を要件(精度/工数/説明性/カスタム性)で判断します。アルゴリズムの仮定(K-Means は球状等方クラスタを仮定・PCA は線形・線形回帰は線形性と等分散)を外れる場合は別手法(DBSCAN、カーネル法、木系)を検討します。

課題代表アルゴリズムメモ
表形式 分類/回帰XGBoost欠損/スケールに頑健・既定の強候補
クラスタリングK-Meansk 指定・球状仮定(非球状は DBSCAN)
次元削減PCA線形・可視化前処理
ストリーミング異常検知Random Cut ForestKinesis Analytics でも利用可
時系列予測DeepAR複数系列・確率予測・コールドスタート
テキスト分類/埋め込みBlazingTextWord2Vec・高速
補足

シナリオ:数百店舗の日次売上から各店舗の需要を予測したい。店舗ごとに別モデルを作るのは非効率で、新規店舗(履歴が短い)も予測したい。→ DeepAR を使う。複数系列をまとめて 1 つのグローバルモデルとして学習するため系列間でパターンを共有でき、履歴の浅い系列(コールドスタート)にも確率的予測を出せる。店舗ごとに ARIMA を個別に組むより効率的で精度も出やすい。

補足

FAQ:Q. 表形式でまず何を試す? A. XGBoost が頑健で強い既定候補。線形に近い/疎なら Linear Learner。Q. クラスタ数 k はどう決める? A. エルボー法やシルエット係数で評価。非球状なら DBSCAN。Q. コードを書かずに最適モデルを得たい? A. SageMaker Autopilot(AutoML)が前処理・モデル・HP を自動探索し、リーダーボードと説明可能性レポートを出す。

注意

ひっかけ:「時系列予測にも XGBoost や K-Means を使えばよい」は誤りになりやすい。時系列の季節性・トレンド・複数系列の共有学習は DeepAR が適し、K-Means は時系列予測の手法ではない(クラスタリング)。また「PCA で分類できる」も誤りで、PCA は次元削減であって分類器ではない。課題(出力の種類)に合うアルゴリズムを選ぶ。

3.1.2この節のまとめ

  • ラベルあり=教師あり(XGBoost 等)/なし=教師なし(K-Means/PCA/RCF)
  • 時系列=DeepAR、テキスト=BlazingText

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. ラベルのない顧客データを似た者同士のグループに分けたい。どのアルゴリズムが適していますか?

Q2. 過去の売上から将来の需要を時系列で予測したい。SageMaker のどの組み込みアルゴリズムが適していますか?

Q3. 多数の特徴量を、情報をできるだけ保ちつつ少数の次元に圧縮したい。何を使いますか?

理解度を確認第3章「モデリング」の問題を解く