- 機械学習とは何か
- なぜ機械学習が重要か
- 機械学習の歴史と進化
[[初期のAIと機械学習 (パーセプトロン、最近傍法など)]]
[[エキスパートシステムと冬の時代]]
[[統計的機械学習の台頭 (SVM、決定木)]]
[[深層学習 (Deep Learning) のブレークスルー]]
- 機械学習と関連分野
[[人工知能 (AI) との関係]] (AI > ML > DL)
[[データサイエンスとの関係]]
[[統計学との関係]]
[[データマイニングとの関係]]
- 1. 問題定義と目標設定
[[ビジネス課題の理解と機械学習問題への落とし込み]]
[[評価指標の決定]]
[[制約条件の確認 (計算リソース, 応答時間など)]]
- 2. データ収集 (Data Collection)
[[データソースの特定 (データベース, API, ログファイル, Webスクレイピング)]]
[[データの取得方法]]
- 3. データ理解と探索的データ分析 (EDA - Exploratory Data Analysis)
[[データの基本的な統計量の確認]]
[[データの可視化 (ヒストグラム, 散布図, 箱ひげ図)]]
[[相関分析]]
[[外れ値と欠損値の確認]]
- 4. データ前処理と特徴量エンジニアリング (Data Preprocessing and Feature Engineering) (詳細は後述)
- 5. モデルの選択と訓練 (Model Selection and Training)
[[適切なアルゴリズムの選択]]
[[訓練データ、検証データ、テストデータへの分割]]
[[モデルの訓練 (学習)]]
- 6. モデルの評価 (Model Evaluation) (詳細は後述)
[[テストデータを用いた性能評価]]
[[評価指標の計算と解釈]]
- 7. ハイパーパラメータチューニング (Hyperparameter Tuning)
[[グリッドサーチ (Grid Search)]]
[[ランダムサーチ (Random Search)]]
[[ベイズ最適化 (Bayesian Optimization)]]
- 8. モデルのデプロイと統合 (Model Deployment and Integration)
[[モデルのシリアライズ]]
[[APIとしての公開]]
[[バッチ推論とオンライン推論]]
- 9. モデルの運用と監視 (Model Operations and Monitoring)
[[パフォーマンスの継続的な監視]]
[[モデルの劣化 (Model Drift / Concept Drift) の検出]]
[[モデルの再学習と更新]]
- MLOps (Machine Learning Operations) の概要 (開発と運用の連携)
[[訓練データ (Training Set)]]
[[検証データ (Validation Set)]] (ハイパーパラメータチューニング用)
[[テストデータ (Test Set)]] (モデルの最終的な性能評価用)
[[データ分割の際の注意点 (シャッフル, 層化サンプリング)]]
- 交差検証 (Cross-Validation) MOC
[[k-分割交差検証 (k-Fold Cross-Validation)]]
[[層化k-分割交差検証 (Stratified k-Fold Cross-Validation)]]
[[(オプション) Leave-One-Out Cross-Validation (LOOCV)]]
[[平均絶対誤差 (MAE - Mean Absolute Error)]]
[[平均二乗誤差 (MSE - Mean Squared Error)]]
[[二乗平均平方根誤差 (RMSE - Root Mean Squared Error)]
[[決定係数 (R-squared / R²)]]
- 混同行列 (Confusion Matrix)
[[真陽性 (TP - True Positive)]]
[[真陰性 (TN - True Negative)]]
[[偽陽性 (FP - False Positive) / 第一種の誤り]]
[[偽陰性 (FN - False Negative) / 第二種の誤り]]
[[正解率 (Accuracy)]]
[[適合率 (Precision)]] (TP / (TP + FP))
[[再現率 (Recall) / 感度 (Sensitivity)]] (TP / (TP + FN))
[[特異度 (Specificity)]] (TN / (TN + FP))
[[F1スコア (F1-Score)]] (適合率と再現率の調和平均)
- ROC曲線 (Receiver Operating Characteristic Curve)
[[ROC曲線の描画 (偽陽性率 vs. 真陽性率)]]
- AUC (Area Under the ROC Curve)
[[(オプション) PR曲線 (Precision-Recall Curve)]]
[[(オプション) Log-loss (対数損失)]]
- 過学習 (Overfitting)
[[過学習の定義 (訓練データに過剰に適合し、未知のデータに対する汎化性能が低い状態)]]
[[過学習の原因 (モデルが複雑すぎる, データが少なすぎる, ノイズが多い)]]
[[過学習の検出方法 (訓練誤差と検証誤差の乖離)]]
- 未学習 (Underfitting)
[[未学習の定義 (訓練データの特徴を十分に捉えきれていない状態)]]
[[未学習の原因 (モデルが単純すぎる, 特徴量が不足している)]]
- バイアス-バリアンストレードオフ (Bias-Variance Tradeoff)
[[バイアス (Bias) とは (モデルの予測の体系的な誤り、単純なモデルほど高い)]]
[[バリアンス (Variance) とは (データセットの違いによるモデルの予測のばらつき、複雑なモデルほど高い)]]
[[モデルの複雑性とバイアス、バリアンスの関係]]
[[最適なモデル複雑度の追求]]
- 過学習への対策
[[訓練データを増やす (Data Augmentationなど)]]
[[モデルの複雑度を下げる]]
- 正則化 (Regularization)
[[L1正則化 (Lasso回帰)]]
[[L2正則化 (Ridge回帰)]]
[[Elastic Net]]
[[ドロップアウト (Dropout)]] (ニューラルネットワーク)
[[早期終了 (Early Stopping)]]
[[交差検証の活用]]
[[特徴量選択 (Feature Selection)]]
- 特徴量スケーリング (Feature Scaling)
[[標準化 (Standardization / Z-score Normalization)]]
[[正規化 (Normalization / Min-Max Scaling)]]
[[スケーリングが必要なアルゴリズム]]
- カテゴリ変数のエンコーディング (Encoding Categorical Variables)
[[ラベルエンコーディング (Label Encoding)]]
[[ワンホットエンコーディング (One-Hot Encoding)]]
[[(オプション) ターゲットエンコーディング, 特徴量ハッシング]]
- テキストデータの前処理
[[トークン化 (Tokenization)]]
[[ストップワード除去 (Stop Word Removal)]]
[[ステミング (Stemming) とレンマ化 (Lemmatization)]
[[Bag-of-Words (BoW)]]
[[TF-IDF (Term Frequency-Inverse Document Frequency)]]
[[単語埋め込み (Word Embeddings - Word2Vec, GloVe, FastText)]] (概要)
- 特徴量生成 (Feature Creation) (交互作用特徴量, 多項式特徴量など)
- 特徴量選択 (Feature Selection)
[[フィルタ法 (Filter Methods)]] (相関係数、カイ二乗検定)
[[ラッパー法 (Wrapper Methods)]] (再帰的特徴量削減 - RFE)
[[埋め込み法 (Embedded Methods)]] (L1正則化など)
- 次元削減 (Dimensionality Reduction) (再掲・手法として)
[[主成分分析 (PCA - Principal Component Analysis)]]
[[(オプション) t-SNE (t-distributed Stochastic Neighbor Embedding)]] (可視化向け)
- 線形モデル (Linear Models) MOC (線形回帰, ロジスティック回帰)
- 決定木 (Decision Trees) MOC (ID3, C4.5, CART)
- アンサンブル学習 (Ensemble Learning) MOC
[[バギング (Bagging) とランダムフォレスト (Random Forest)]]
[[ブースティング (Boosting) - AdaBoost, 勾配ブースティング (Gradient Boosting), XGBoost, LightGBM, CatBoost]]
[[スタッキング (Stacking)]]
- サポートベクターマシン (SVM - Support Vector Machine) MOC (マージン最大化, カーネルトリック)
- k-最近傍法 (k-Nearest Neighbors - k-NN) MOC (インスタンスベース学習)
- ニューラルネットワークと深層学習 (Neural Networks and Deep Learning) MOC
[[パーセプトロン]]
[[多層パーセプトロン (MLP)]]
[[活性化関数 (Sigmoid, Tanh, ReLU)]]
[[順伝播と逆伝播 (Backpropagation)]]
[[畳み込みニューラルネットワーク (CNN - Convolutional Neural Network)]] (画像認識)
[[再帰型ニューラルネットワーク (RNN - Recurrent Neural Network)]] (時系列データ)
[[LSTM (Long Short-Term Memory), GRU (Gated Recurrent Unit)]]
[[Transformerモデル]] (自然言語処理)
- クラスタリングアルゴリズム MOC
[[k-means法]]
[[階層的クラスタリング]]
[[DBSCAN]]
- ベイズ学習 (Bayesian Learning) MOC (ナイーブベイズ分類器)
- プログラミング言語
[[Python (デファクトスタンダード)]]
[[R]] (統計解析)
[[Julia, Scala, Javaなど]]
- 主要なライブラリとフレームワーク
[[Scikit-learn]] (総合機械学習ライブラリ)
[[Pandas]] (データ操作・分析)
[[NumPy]] (数値計算)
[[Matplotlib / Seaborn]] (データ可視化)
- 深層学習フレームワーク
[[TensorFlow / Keras]]
[[PyTorch]]
[[XGBoost / LightGBM]] (勾配ブースティング)
- 実行環境
[[Jupyter Notebook / JupyterLab]]
[[Google Colaboratory]]
- MLOpsプラットフォーム (Kubeflow, MLflowなど - 概要)
- クラウドMLプラットフォーム (AWS SageMaker, Google AI Platform/Vertex AI, Azure Machine Learning)