機械学習初心者(私)が、機械学習の初歩を学ぶ際に残した記録です。
ソースコード・Jupyter Notebook・実行環境は、GitHub 上の debimate/projects/ml/ を参照してください。記載内容の誤り(認識違い)の指摘は大歓迎です。
コンテンツ一覧
Mathematics(数学の基礎)
| No. | 項目 | カテゴリ |
|---|---|---|
| 1 | 平均(算術平均) | 代表値 |
| 2 | 中央値(メジアン) | 代表値 |
| 3 | 四分位点(quantile) | 代表値・散らばり |
| 4 | 分散(バリアンス) | 散らばり |
| 5 | 標準偏差 | 散らばり |
| 6 | 歪度(skewness)と log1p 変換 | 分布の形 |
| 7 | カーネル密度推定(KDE) | 分布の可視化 |
| 8 | 相関係数 | 2 変数の関係 |
| 9 | 期待値 | 確率分布の基礎 |
| 10 | 同時分布・周辺分布・条件付き分布 | 確率分布の基礎 |
| 11 | 代表的な確率分布 | 確率分布 |
| 12 | ベイズの定理 | 確率推論 |
| 13 | 対数・指数関数の性質と log-odds | 関数 |
| 14 | 情報理論(エントロピー / KL / 相互情報量) | 情報理論 |
| 15 | ベクトルと行列の演算(内積・行列積) | 線形代数 |
| 16 | 固有値・固有ベクトルと固有値分解 | 線形代数 |
| 17 | 偏微分と勾配 | 微分 |
| 18 | 最急降下法・確率的勾配降下法(SGD) | 最適化 |
| 19 | 凸関数と凸最適化 | 最適化 |
| 20 | 大数の法則と中心極限定理(LLN / CLT) | 統計的推論 |
| 21 | 仮説検定・p 値・信頼区間 | 統計的推論 |
Machine Learning(評価・概念・アルゴリズム)
MLOps
| No. | 項目 | カテゴリ |
|---|---|---|
| 1 | 実験管理(experiment tracking) | 開発 |
| 2 | モデルレジストリとバージョニング | 開発 |
| 3 | 推論サービング(バッチ / オンライン) | 配信 |
| 4 | データドリフト(data drift / concept drift) | 監視 |
| 5 | モデル性能劣化の監視 | 監視 |
| 6 | 再学習パイプライン | 運用 |
理解度チェック
学習で扱った判断軸を自分でも試せる形式にまとめたクイズ集。問題と折りたたみ解答で構成されており、判断軸の定着を確認したいときに使う(Claude製)。
| No. | 項目 |
|---|---|
| 1 | 機械学習の判断軸クイズ集 |
Notebooks
| No. | 内容 |
|---|---|
| 1 | クレカ不正検出 |
プロジェクト構成
projects/ml/
├── notes/ ← このページ配下のMarkdown本体
│ ├── math/
│ ├── ml/
│ └── mlops/
├── notebooks/ ← Jupyter Notebooks
├── datasets/ ← 分析対象データ(再取得可能なので Git 非追跡)
├── scripts/ ← データセット取得スクリプト
└── pyproject.toml
前提
- Python 3.12 以上
- uv(Python パッケージ・環境管理)
- Visual Studio Code + Jupyter 拡張
- Kaggle アカウント(API トークンを
~/.kaggle/kaggle.jsonに配置)
インストール
cd projects/ml
uv sync
データセットのダウンロード
uv run python scripts/download_datasets.py