メインコンテンツへスキップ

4 AI 数学:最小限の基礎

AI 数学基礎メインビジュアル

第 4 章の目的は 1 つです。モデルの中の数学を、実行でき、説明できる道具として感じられるようにすることです。

まずモデル数学ループを見る

AI 数学の最小限バックボーン

先に図を見てください。このコースの AI 数学の多くは、次のループを支えます。

データを表す -> 不確かさを測る -> 損失を測る -> パラメータを更新する

ベクトルと行列はデータを表し、確率は不確かさを表し、損失はどれくらい間違ったかを示し、勾配はどちらへ改善するかを示します。

学習順序とタスクリスト

先に理論を学び、その後でフルワークショップを実行します。ワークショップは、概念をゼロから紹介する場ではなく、学んだ内容をつなげる場です。

ページ手を動かすこと残す証拠
4.1 線形代数ベクトル、行列、内積、ノルム、コサイン類似度で例を比較するベクトル類似度の計算 1 件
4.2 確率と統計不確かさ、分布、平均、分散、エントロピー、損失をシミュレーションする確率またはエントロピーのメモ
4.3 微積分と最適化導関数、勾配、学習率、勾配降下を追跡するパラメータ更新表
4.4 フル数学ワークショップベクトル類似度、確率、エントロピー/損失、勾配降下を 1 つの実行スクリプトにつなげるch04_math_workshop_evidence/

本章でよく使う用語:

用語意味
Embeddingテキスト、画像、ユーザー、アイテムのベクトル表現
dot product2 つのベクトルの方向がどれくらい一致するか
normベクトルの長さや強さ
entropy不確かさや驚き
lossモデルの誤りを測る数値
gradient値を最も速く変える方向
GD / SGD勾配降下 / 確率的勾配降下:損失の下り坂を進む方法

最初の実行ループ

NumPy がなければ先に入れます。

python -m pip install numpy

次のスクリプトを実行します。Embedding や検索の前に、ベクトル類似度がなぜ重要かを確認します。

import numpy as np

python_topic = np.array([1.0, 1.0, 0.0])
data_topic = np.array([1.0, 0.8, 0.2])
unrelated_topic = np.array([0.0, 0.1, 1.0])

def cosine(a, b):
return a @ b / (np.linalg.norm(a) * np.linalg.norm(b))

print("Python vs data:", round(cosine(python_topic, data_topic), 3))
print("Python vs unrelated:", round(cosine(python_topic, unrelated_topic), 3))

期待される出力:

Python vs data: 0.982
Python vs unrelated: 0.071

コードは小さいですが、この考え方は後で Embedding、検索、推薦、Attention、RAG に何度も出てきます。

よくある失敗

症状最初に確認することよくある修正
数式が抽象的すぎるどのモデル動作を支えるか表す、比較する、不確かさを測る、損失を測る、更新する、に訳す
ベクトル例が任意に見える各次元が何を意味するか計算前に次元ラベルを書く
確率の用語が混ざる何がランダムで、何がイベントかサンプル、結果、確率を小さな表にする
勾配降下が発散する学習率が大きすぎないか各ステップの loss を表示し、学習率を下げる
ワークショップが魔法に見える理論を飛ばしていないか先に 4.1、4.2、4.3 のロードマップを読む

通過チェック

次の 5 つに答えられたら、第 5 章へ進めます。

  • 1 つのサンプルはどうやってベクトルになりますか?
  • モデル出力を確率や信頼度として読めるのはなぜですか?
  • loss は何を測っていますか?
  • 勾配はパラメータにどちらへ動くべきかをどう伝えますか?
  • 4.4 フル数学ワークショップ を実行し、生成ファイルを説明できますか?

印刷用のチェックリストが必要なときは、4.0 学習ガイドとタスクリスト を使ってください。次の章では、この数学直感を sklearn のモデル学習と評価に落とし込みます。