

# コンテンツ分野 3: モデリング
<a name="machine-learning-specialty-01-domain3"></a>

**Topics**
+ [タスク 3.1: ビジネス上の問題を ML の問題として捉える。](#machine-learning-specialty-01-domain3-task1)
+ [タスク 3.2: 特定の ML 問題に適したモデルを選択する。](#machine-learning-specialty-01-domain3-task2)
+ [タスク 3.3: ML モデルをトレーニングする。](#machine-learning-specialty-01-domain3-task3)
+ [タスク 3.4: ハイパーパラメータの最適化を実行する。](#machine-learning-specialty-01-domain3-task4)
+ [タスク 3.5: ML モデルを評価する。](#machine-learning-specialty-01-domain3-task5)

## タスク 3.1: ビジネス上の問題を ML の問題として捉える。
<a name="machine-learning-specialty-01-domain3-task1"></a>
+ ML を使用すべき場合と使用すべきでない場合を判断する。
+ 教師あり学習と教師なし学習の違いを知る。
+ 分類、回帰、予測、クラスタリング、レコメンデーション、基盤の中からモデルを選択する。

## タスク 3.2: 特定の ML 問題に適したモデルを選択する。
<a name="machine-learning-specialty-01-domain3-task2"></a>
+ XGBoost、ロジスティック回帰、K-means、線形回帰、決定木、ランダムフォレスト、RNN、CNN、アンサンブル、転移学習、大規模言語モデル (LLM)
+ モデルの背景にある直感を表現する。

## タスク 3.3: ML モデルをトレーニングする。
<a name="machine-learning-specialty-01-domain3-task3"></a>
+ データをトレーニング用と検証用 (交差検証など) に分割する。
+ ML トレーニングの最適化手法 (最急降下法、損失関数、収束など) を理解する。
+ 適切なコンピューティングリソース (GPU または CPU、分散型または非分散型など) を選択する。
  + 適切なコンピューティングプラットフォーム (Spark または Spark 以外) を選択する。
+ モデルを更新して再トレーニングする。
  + バッチまたはリアルタイム/オンライン

## タスク 3.4: ハイパーパラメータの最適化を実行する。
<a name="machine-learning-specialty-01-domain3-task4"></a>
+ 正則化を実行する。
  + ドロップアウト
  + L1/L2
+ 交差検証を実行する。
+ モデルを初期化する。
+ ニューラルネットワークのアーキテクチャ (レイヤーとノード)、学習率、活性化関数を理解する。
+ ツリーベースのモデル (ツリーの数、レベルの数) を理解する。
+ 線形モデル (学習率) を理解する。

## タスク 3.5: ML モデルを評価する。
<a name="machine-learning-specialty-01-domain3-task5"></a>
+ オーバーフィットやアンダーフィットを避ける。
  + バイアスとバリアンスを検出して処理する。
+ メトリクス [曲線下面積 (AUC) - 受信者動作特性 (ROC)、正解率、適合率、再現率、二乗平均平方根誤差 (RMSE)、F1 スコアなど] を評価する。
+ 混同行列を解釈する。
+ オフラインおよびオンラインでのモデル評価 (A/B テスト) を実行する。
+ メトリクス (モデルのトレーニング時間、モデルの品質、エンジニアリングコストなど) を使用してモデルを比較する。
+ 交差検証を実行する。