AIアルゴリズム面接の手書き公式集:手で導出すべき10の数学公式

面接特集著者: BeautyResume チーム

AI面接必須導出10公式:線形回帰最小二乗解、ロジスティック回帰勾配、SVM双対、ベイズMAP、EMアルゴリズム、バックプロパゲーション、Attention、VAE損失、Diffusion過程、KLダイバージェンス、完全な導出ステップと評価ポイント付き

背景紹介

アルゴリズム職の面接で最も恐れていたのが手書き公式導出のセクションでした。面接官がペンと紙を渡し、その場でSVMの双対問題やバックプロパゲーションの勾配を導出させる—あの緊張感は言葉では表現できません。その後、1ヶ月間特訓し、線形回帰からDiffusionモデルまで、AI面接で最もよく出題される10の導出を全て練習しました。数社面接を受けた後、手書き導出にはパターンがあり、方法をマスターすれば想像ほど難しくないことに気づきました。今日は、導出ステップと面接評価ポイントを添えた10の必須公式をまとめます。

面接プロセスの振り返り

アルゴリズム職の面接プロセスは一般的に:履歴書選考→技術一次面接(基礎+手書き導出1-2問)→技術二次面接(プロジェクト+手書き導出1問の難問)→技術三次面接(システム設計またはオープンな問題)。手書き導出は通常技術面接に出題され、面接官がホワイトボードとペンを渡し、書きながら説明させます。制限時間は通常10-15分なので、ゆっくり導出する余裕はなく、ステップに非常に慣れている必要があります。面接を受けた数社の中で、最も頻繁に出題されたのはロジスティック回帰の勾配導出、SVM双対導出、バックプロパゲーション導出で、この3つはほぼ必須問題です。次いでEMアルゴリズムとAttention公式です。DiffusionとVAEは比較的少ないですが、大規模モデル職では出題されます。面接官が重視するのは最終結果を導出できるかではなく、導出過程が明確で、各ステップの動機が合理的かです。

問題コレクション

1. 線形回帰の最小二乗解

導出ステップ:

データ(X, y)、線形モデルy=Xw、最小二乗目的関数:L(w) = ||y - Xw||² = (y - Xw)ᵀ(y - Xw)

展開:L(w) = yᵀy - yᵀXw - wᵀXᵀy + wᵀXᵀXw = yᵀy - 2wᵀXᵀy + wᵀXᵀXw

wで微分:∂L/∂w = -2Xᵀy + 2XᵀXw = 0

解:w* = (XᵀX)⁻¹Xᵀy

評価ポイント:行列微分規則(∂(aᵀx)/∂x = a、∂(xᵀAx)/∂x = (A+Aᵀ)x);XᵀXが可逆な条件(Xが列フルランク);正則化後の解(Ridge: w* = (XᵀX+λI)⁻¹Xᵀy)。

2. ロジスティック回帰の勾配導出

導出ステップ:

ロジスティック回帰モデル:P(y=1|x) = σ(wᵀx) = 1/(1+exp(-wᵀx))

単一サンプルの対数尤度:ℓ(w) = y·log(σ(wᵀx)) + (1-y)·log(1-σ(wᵀx))

σの微分:σ'(z) = σ(z)(1-σ(z))

wで微分:∂ℓ/∂w = y·(1-σ(wᵀx))·x - (1-y)·σ(wᵀx)·x = (y - σ(wᵀx))·x

バッチ勾配:∇L = Σᵢ(yᵢ - σ(wᵀxᵢ))·xᵢ = Xᵀ(y - σ(Xw))

更新規則:w ← w + η·Xᵀ(y - σ(Xw))

評価ポイント:シグモイド微分の導出テクニック;勾配形式の直感的理解(予測誤差×特徴量);ロジスティック回帰に解析解がない理由(非線形方程式);多クラスSoftmaxの導出。

3. SVM双対問題の導出

導出ステップ:

主問題:min ½||w||² s.t. yᵢ(wᵀxᵢ+b)≥1

ラグランジュ乗数αᵢ≥0を導入、ラグランジュ関数:L(w,b,α) = ½||w||² - Σαᵢ[yᵢ(wᵀxᵢ+b)-1]

wで偏微分して0に設定:∂L/∂w = w - Σαᵢyᵢxᵢ = 0 → w = Σαᵢyᵢxᵢ

bで偏微分して0に設定:∂L/∂b = -Σαᵢyᵢ = 0 → Σαᵢyᵢ = 0

ラグランジュ関数に代入、双対問題に簡略化:max Σαᵢ - ½ΣΣαᵢαⱼyᵢyⱼxᵢᵀxⱼ s.t. αᵢ≥0, Σαᵢyᵢ=0

評価ポイント:KKT条件の理解(相補緩和性αᵢ[yᵢ(wᵀxᵢ+b)-1]=0);サポートベクターの定義(αᵢ>0に対応するサンプル);双対に変換する理由(カーネル関数の導入、内積のみに依存);ソフトマージンの導出(スラック変数ξᵢとペナルティパラメータCを追加、0≤αᵢ≤C)。

4. ベイズ公式とMAP導出

導出ステップ:

ベイズ公式:P(θ|D) = P(D|θ)P(θ)/P(D)

最大事後確率推定(MAP):θ_MAP = argmax P(θ|D) = argmax P(D|θ)P(θ)

対数をとる:θ_MAP = argmax [log P(D|θ) + log P(θ)]

P(θ)がガウス事前分布N(0,σ²)の場合:log P(θ) = -||θ||²/(2σ²) + C

したがってMAPは次と等価:argmax log P(D|θ) - ||θ||²/(2σ²) = argmin -log P(D|θ) + λ||θ||²

すなわちMAP = MLE + L2正則化

評価ポイント:ベイズ公式の直感的理解(事前+データ→事後);MAPとMLEの関係(事前がない場合MAP=MLE);異なる事前分布が異なる正則化に対応(ラプラス事前→L1正則);ナイーブベイズの条件付き独立性仮定。

5. EMアルゴリズムの導出

導出ステップ:

目標:不完全データの対数尤度 log P(X|θ) = log Σ_Z P(X,Z|θ) を最大化

分布q(Z)を導入、イェンセンの不等式を利用:log Σ_Z P(X,Z|θ) = log Σ_Z q(Z)·P(X,Z|θ)/q(Z) ≥ Σ_Z q(Z)·log[P(X,Z|θ)/q(Z)]

Eステップ:等号成立条件、q(Z) = P(Z|X,θᵗ)とし、Q(θ|θᵗ) = E_Z|X,θᵗ[log P(X,Z|θ)]を計算

Mステップ:θᵗ⁺¹ = argmax Q(θ|θᵗ)

評価ポイント:イェンセンの不等式の等号成立条件(q(Z) = P(Z|X,θᵗ));EMの単調増加の証明;ガウス混合モデル(GMM)のEM導出(Eステップで事後確率γを計算、Mステップで平均、共分散、混合係数を更新);EMとK-Meansの関係(K-MeansはGMM-EMのハード割り当て版)。

6. バックプロパゲーション勾配導出

導出ステップ:

3層ネットワーク:入力x→隠れh=σ(W₁x+b₁)→出力ŷ=W₂h+b₂→損失L

出力層勾配:∂L/∂W₂ = (∂L/∂ŷ)·(∂ŷ/∂W₂) = (∂L/∂ŷ)·hᵀ

∂L/∂b₂ = ∂L/∂ŷ

隠れ層勾配(連鎖律):∂L/∂h = W₂ᵀ·(∂L/∂ŷ)

∂L/∂W₁ = (∂L/∂h ⊙ σ'(W₁x+b₁))·xᵀ、⊙は要素ごとの乗算

∂L/∂b₁ = ∂L/∂h ⊙ σ'(W₁x+b₁)

多層への拡張:δˡ = (Wˡ⁺¹)ᵀδˡ⁺¹ ⊙ σ'(zˡ)、∂L/∂Wˡ = δˡ·(aˡ⁻¹)ᵀ

評価ポイント:連鎖律の応用;計算グラフの表現;勾配消失/爆発の原因(σ' < 1の連乗→消失、Wが大きすぎる→爆発);ReLUを使う理由(σ'=1または0、消失を緩和);Batch Normalizationが勾配フローに与える影響。

7. Attention公式の導出

導出ステップ:

Self-Attention:Q = XWq, K = XWk, V = XWv

アテンション重み:A = softmax(QKᵀ/√dₖ)

出力:Output = AV

なぜ√dₖで割るのか:dₖが大きい時、QKᵀの要素の分散はdₖ(qとkの各要素が独立同分布で分散1と仮定)、√dₖで割ることで分散を1に正規化し、softmaxが飽和領域(勾配が極小)に入るのを防ぐ

マルチヘッドアテンション:headᵢ = Attention(QWqᵢ, KWkᵢ, VWvᵢ)、MultiHead = Concat(head₁,...,headₕ)Wᴏ

評価ポイント:スケーリング因子√dₖの数学的導出;自己アテンションの計算量O(n²d);因果マスク(Causal Mask)の実装(未来位置のアテンション重みを-∞に設定);KV Cacheの原理(推論時にKとVをキャッシュして再計算を回避)。

8. VAE損失関数の導出

導出ステップ:

目標:データの周辺対数尤度 log P(X) を最大化

変分分布q(Z|X)を導入、ELBOを利用:log P(X) = E_q[log P(X|Z)] - KL(q(Z|X)||P(Z)) + log P(X)/q(Z|X)

KLダイバージェンス≥0なので:log P(X) ≥ ELBO = E_q[log P(X|Z)] - KL(q(Z|X)||P(Z))

ELBOの最大化は次の最小化と等価:L = -E_q[log P(X|Z)] + KL(q(Z|X)||P(Z))

第1項は再構成損失、第2項はKLダイバージェンス正則化項

qとPがどちらもガウスの場合:KL(N(μ,σ²)||N(0,1)) = -½Σ(1+log σ²-μ²-σ²)

再パラメータ化トリック:Z = μ + σ·ε、ε~N(0,1)、勾配がサンプリング操作を通過できるようにする

評価ポイント:ELBOの導出(イェンセンの不等式またはKLダイバージェンス分解);再パラメータ化トリックの必要性(サンプリング操作は微分不可);VAEとAEの違い(VAEは分布を学習、AEは符号化を学習);VAEの生成がぼやける理由(KL制約が強すぎる+ピクセルレベルMSE損失)。

9. Diffusion前向き/逆過程の導出

導出ステップ:

前向き過程(ノイズ追加):q(xₜ|xₜ₋₁) = N(xₜ; √(1-βₜ)xₜ₋₁, βₜI)

任意時刻の分布:q(xₜ|x₀) = N(xₜ; √ᾱₜx₀, (1-ᾱₜ)I)、ᾱₜ = Πᵢ₌₁ᵗ(1-βᵢ)

逆過程:pθ(xₜ₋₁|xₜ) = N(xₜ₋₁; μθ(xₜ,t), Σθ(xₜ,t))

訓練目標(簡略版):Lsimple = E[||ε - εθ(xₜ,t)||²]、xₜ = √ᾱₜx₀ + √(1-ᾱₜ)ε

モデルは追加されたノイズεを予測することを学習

サンプリング:xₜ₋₁ = (1/√αₜ)(xₜ - βₜ/√(1-ᾱₜ)·εθ(xₜ,t)) + σₜz、z~N(0,I)

評価ポイント:q(xₜ|x₀)の再パラメータ化導出(ガウス分布の加法性を利用);ノイズを予測する理由(x₀ではなく)(パラメータ化がよりシンプル、訓練がより安定);DDPMとDDIMの違い(DDIMは決定的、スキップサンプリングで高速化);Classifier-Free Guidanceの原理(条件付き・無条件モデル出力の線形結合)。

10. KLダイバージェンスの導出

導出ステップ:

KLダイバージェンスの定義:KL(P||Q) = ∫P(x)log(P(x)/Q(x))dx = E_P[log P(x) - log Q(x)]

非負性の証明(イェンセンの不等式を利用):KL(P||Q) = -E_P[log(Q(x)/P(x))] ≥ -log E_P[Q(x)/P(x)] = -log 1 = 0

離散形式:KL(P||Q) = Σ Pᵢ log(Pᵢ/Qᵢ)

ガウス分布間のKL:KL(N(μ₁,σ₁²)||N(μ₂,σ₂²)) = log(σ₂/σ₁) + (σ₁²+(μ₁-μ₂)²)/(2σ₂²) - 1/2

交差エントロピーとの関係:KL(P||Q) = H(P,Q) - H(P) = 交差エントロピー - エントロピー

評価ポイント:KLダイバージェンスの非対称性(KL(P||Q)≠KL(Q||P));前向きKLと逆方向KLの動作の違い(前向きKL→mean-seeking、逆方向KL→mode-seeking);JSダイバージェンスの利点(対称、有界);VAEでKL正則化を使う直感(qをPに近づけ、生成品質を保証)。

心得とアドバイス

手書き公式導出で最も重要なのは最終結果を覚えることではなく、各ステップの動機を理解することです。面接官が最も嫌うのは「暗記導出」—たくさんの公式を書いたが、なぜそのように導出するのか説明できないことです。練習時には各ステップで「なぜこうするのか」を自問することをお勧めします。例えば、SVMを双対に変換する動機は「カーネル関数の導入」、EMアルゴリズムでイェンセンの不等式を使う動機は「logの中の和を外に出す」ことです。

2つ目のアドバイスはまず核心ステップを導出し、次に詳細を補うことです。面接時間は限られており、すべてのステップを詳細に書くことはできません。まず主要なステップと核心的な公式を書き、面接官が深掘りした場合に詳細を展開することをお勧めします。バックプロパゲーションなら、まずδの漸化式を書き、次に各層の具体的な導出を展開します。

3つ目のアドバイスは公式間のつながりを構築することです。多くの公式は相互に関連しています—MAP+ガウス事前=L2正則化、EMのEステップはベイズ事後、VAEのELBOはEMの一般化。これらのつながりを理解すれば、導出は自然になり、丸暗記は不要になります。

FAQ

Q:手書き導出はどこまでやるべき?

A:核心的な導出ステップは完全である必要がありますが、補助的な展開は省略可能です。例えばSVM双対導出では、主問題から双対問題への変換は明確に書く必要がありますが、行列乗算の展開は口頭で説明できます。

Q:導出中に詰まったらどうする?

A:焦らず、まずアプローチを述べてください。面接官は通常ヒントをくれます。例えば、ある微分を忘れた場合、「この微分は正確に覚えていませんが、アプローチは...」と言えます。面接官は記憶力より思考力を重視します。

Q:どのような数学基礎を準備すべき?

A:行列微分(必須)、確率論基礎(ベイズ、期待値、分散)、最適化基礎(勾配降下法、ラグランジュ乗数法)、情報理論基礎(エントロピー、KLダイバージェンス)。まずこれらの数学基礎を復習することをお勧めします。

Q:どの公式が最もよく出題される?

A:頻度順:ロジスティック回帰勾配 > SVM双対 > バックプロパゲーション > ベイズ/MAP > EMアルゴリズム > Attention > KLダイバージェンス > VAE > Diffusion > 線形回帰。最初の5つはほぼ必須、後の5つはポジションによります。

Q:面接で紙とホワイトボードどちらで導出する?

A:どちらも可能性があります。両方で練習することをお勧めします。紙の導出は精密ですがスペースが限られ、ホワイトボードはスペースが広いですが字が読みにくい場合があります。重要なのは書きながら説明し、面接官に思考プロセスを追わせることです。

#AI Algorithms#Formula Derivation#SVM#Backpropagation#EM Algorithms#VAE#Diffusion#面试推导