Skip to main content

Answer ZH

先修知識

  • 拉格朗日乘數 (Lagrange Multipliers):一種用於在等式約束下尋找函數局部極大值和極小值的方法。若要在 g(x)=0g(x)=0 的約束下最大化 f(x)f(x),我們構造拉格朗日函數 L(x,λ)=f(x)+λg(x)L(x, \lambda) = f(x) + \lambda g(x) 並設定 L=0\nabla L = 0
  • 導數:特別是 log(x)\log(x) 的導數。

解答

我們想要最大化目標函數: f({πj})=j=1KNjlogπjf(\{\pi_j\}) = \sum_{j=1}^K N_j \log \pi_j

受限於約束條件: j=1Kπj=1\sum_{j=1}^K \pi_j = 1

我們可以將等式約束重寫為 g({πj})=j=1Kπj1=0g(\{\pi_j\}) = \sum_{j=1}^K \pi_j - 1 = 0

步驟 1:建構拉格朗日函數

建構拉格朗日函數 L({πj},λ)L(\{\pi_j\}, \lambda)L({πj},λ)=j=1KNjlogπj+λ(j=1Kπj1)L(\{\pi_j\}, \lambda) = \sum_{j=1}^K N_j \log \pi_j + \lambda \left( \sum_{j=1}^K \pi_j - 1 \right)

步驟 2:求導數並設為零

對任意 j{1,,K}j \in \{1, \dots, K\}πj\pi_j 取偏導數:

Lπj=πj(Njlogπj)+πj(λπj)\frac{\partial L}{\partial \pi_j} = \frac{\partial}{\partial \pi_j} (N_j \log \pi_j) + \frac{\partial}{\partial \pi_j} (\lambda \pi_j) Lπj=Njπj+λ\frac{\partial L}{\partial \pi_j} = \frac{N_j}{\pi_j} + \lambda

將導數設為零以尋找駐點: Njπj+λ=0    Nj=λπj    πj=Njλ\frac{N_j}{\pi_j} + \lambda = 0 \implies N_j = -\lambda \pi_j \implies \pi_j = -\frac{N_j}{\lambda}

步驟 3:求解拉格朗日乘數 λ\lambda

使用約束條件 j=1Kπj=1\sum_{j=1}^K \pi_j = 1,將 πj\pi_j 的表達式代入: j=1K(Njλ)=1\sum_{j=1}^K \left( -\frac{N_j}{\lambda} \right) = 1 1λj=1KNj=1-\frac{1}{\lambda} \sum_{j=1}^K N_j = 1

解出 λ\lambdaλ=j=1KNj\lambda = -\sum_{j=1}^K N_j

N=k=1KNkN = \sum_{k=1}^K N_k 表示總數。則 λ=N\lambda = -N

步驟 4:將 λ\lambda 代回以求 πj\pi_j

λ=k=1KNk\lambda = -\sum_{k=1}^K N_k 代回方程式 πj=Njλ\pi_j = -\frac{N_j}{\lambda}πj=Njk=1KNk=Njk=1KNk\pi_j = -\frac{N_j}{-\sum_{k=1}^K N_k} = \frac{N_j}{\sum_{k=1}^K N_k}

因此,我們證明了解為: πj=Njk=1KNk\pi_j = \frac{N_j}{\sum_{k=1}^K N_k}