多変量解析

主成分分析、因子分析、判別分析、クラスター分析など統計検定準1級レベルの多変量統計手法を学習します。

ソフトマージンSVMの最適化問題 レベル1

ソフトマージンSVM(Support Vector Machine)の双対問題について、正しい記述はどれか。\n\n**設定:**\n- 訓練データ:$(\mathbf{x}_i, y_i)$, $i = 1, \ldots, n$\n- ラベル:$y_i \in \{-1, +1\}$\n- カーネル関数:$K(\mathbf{x}_i, \mathbf{x}_j)$\n- 正則化パラメータ:$C > 0$

解説
解答と解説を表示
<h4>ソフトマージンSVMの双対問題</h4><p>サポートベクターマシン(SVM)は、分類問題において最適な決定境界を見つける強力な機械学習手法です。ソフトマージンSVMは、完全に線形分離できないデータに対してもうまく動作するよう拡張されたバージョンです。</p><h4>ソフトマージンSVMの理論</h4><p class='step'><strong>Step 1: 原問題の定式化</strong></p><p><strong>線形分離不可能な場合の目的関数:</strong></p><div class='formula'>$\min_{\mathbf{w}, b, \boldsymbol{\xi}} \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^{n}\xi_i
lt;/div><p><strong>制約条件:</strong></p><div class='formula'>$y_i(\mathbf{w}^T\mathbf{x}_i + b) \geq 1 - \xi_i, \quad \xi_i \geq 0, \quad i = 1, \ldots, n
lt;/div><p>ここで:</p><ul><li>$\mathbf{w}$:重みベクトル</li><li>$b$:バイアス項</li><li>$\xi_i$:スラック変数(誤分類の許容度)</li><li>$C$:正則化パラメータ(誤分類のペナルティ)</li></ul><div class='key-point'><div class='key-point-title'>ソフトマージンの意義</div><p>ソフトマージンSVMでは、スラック変数$\xi_i$を導入することで、一部のデータ点がマージン内や間違った側に分類されることを許可します。これにより、ノイズを含むデータや線形分離不可能なデータに対してもロバストな分類器を構築できます。</p></div><p class='step'><strong>Step 2: ラグランジュ関数の構築</strong></p><p>原問題のラグランジュ関数:</p><div class='formula'>$L(\mathbf{w}, b, \boldsymbol{\xi}, \boldsymbol{\alpha}, \boldsymbol{\mu}) = \frac{1}{2}\|\mathbf{w}\|^2 + C\sum_{i=1}^{n}\xi_i - \sum_{i=1}^{n}\alpha_i[y_i(\mathbf{w}^T\mathbf{x}_i + b) - 1 + \xi_i] - \sum_{i=1}^{n}\mu_i\xi_i
lt;/div><p>ここで、$\alpha_i \geq 0$と$\mu_i \geq 0$はラグランジュ乗数です。</p><p class='step'><strong>Step 3: KKT条件と双対問題導出</strong></p><p><strong>原問題の最適性条件(KKT条件):</strong></p><div class='formula'>$\frac{\partial L}{\partial \mathbf{w}} = \mathbf{w} - \sum_{i=1}^{n}\alpha_i y_i \mathbf{x}_i = 0
lt;/div><div class='formula'>$\frac{\partial L}{\partial b} = -\sum_{i=1}^{n}\alpha_i y_i = 0
lt;/div><div class='formula'>$\frac{\partial L}{\partial \xi_i} = C - \alpha_i - \mu_i = 0
lt;/div><p><strong>重要な関係式:</strong></p><ul><li>$\mathbf{w} = \sum_{i=1}^{n}\alpha_i y_i \mathbf{x}_i
lt;/li><li>$\sum_{i=1}^{n}\alpha_i y_i = 0
lt;/li><li>$\alpha_i + \mu_i = C
lt;/li></ul><p class='step'><strong>Step 4: 双対問題の導出</strong></p><p>KKT条件を原問題に代入して双対問題を得ます:</p><div class='formula'>$\max_{\boldsymbol{\alpha}} \sum_{i=1}^{n}\alpha_i - \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_i \alpha_j y_i y_j \mathbf{x}_i^T \mathbf{x}_j
lt;/div><p><strong>制約条件:</strong></p><div class='formula'>$0 \leq \alpha_i \leq C, \quad i = 1, \ldots, n
lt;/div><div class='formula'>$\sum_{i=1}^{n}\alpha_i y_i = 0
lt;/div><div class='key-point'><h4>双対係数の制約$0 \leq \alpha_i \leq C$の導出</h4><p>KKT条件から$\alpha_i + \mu_i = C$かつ$\mu_i \geq 0$なので:</p><ul><li>$\mu_i \geq 0$ ⟹ $\alpha_i \leq C
lt;/li><li>$\alpha_i \geq 0$(ラグランジュ乗数の非負性)</li></ul><p>したがって、$0 \leq \alpha_i \leq C$が成り立ちます。</p></div><p class='step'><strong>Step 5: カーネル関数への拡張</strong></p><p><strong>非線形カーネルを用いた双対問題:</strong></p><div class='formula'>$\max_{\boldsymbol{\alpha}} \sum_{i=1}^{n}\alpha_i - \frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}\alpha_i \alpha_j y_i y_j K(\mathbf{x}_i, \mathbf{x}_j)
lt;/div><p>内積$\mathbf{x}_i^T \mathbf{x}_j$がカーネル関数$K(\mathbf{x}_i, \mathbf{x}_j)$に置き換わります。</p><p><strong>一般的なカーネル関数:</strong></p><ul><li><strong>線形カーネル</strong>:$K(\mathbf{x}_i, \mathbf{x}_j) = \mathbf{x}_i^T \mathbf{x}_j
lt;/li><li><strong>RBFカーネル</strong>:$K(\mathbf{x}_i, \mathbf{x}_j) = \exp(-\gamma\|\mathbf{x}_i - \mathbf{x}_j\|^2)
lt;/li><li><strong>多項式カーネル</strong>:$K(\mathbf{x}_i, \mathbf{x}_j) = (\mathbf{x}_i^T \mathbf{x}_j + r)^d
lt;/li></ul><p class='step'><strong>Step 6: サポートベクターの判定</strong></p><p><strong>双対係数の値による分類:</strong></p><div class='key-point'><table class='table table-bordered'><tr><th>双対係数$\alpha_i
lt;/th><th>対応するデータ点</th><th>特徴</th></tr><tr><td><strong>$\alpha_i = 0
lt;/strong></td><td>非サポートベクター</td><td>決定境界に影響しない</td></tr><tr><td><strong>$0 < \alpha_i < C
lt;/strong></td><td>境界上のサポートベクター</td><td>マージン境界上($\xi_i = 0$)</td></tr><tr><td><strong>$\alpha_i = C
lt;/strong></td><td>内部または誤分類サポートベクター</td><td>マージン内部または誤分類($\xi_i > 0$)</td></tr></table></div><p class='step'><strong>Step 7: 決定関数</strong></p><p><strong>分類関数:</strong></p><div class='formula'>$f(\mathbf{x}) = \text{sign}\left(\sum_{i \in SV}\alpha_i y_i K(\mathbf{x}_i, \mathbf{x}) + b\right)
lt;/div><p>ここで、$SV$はサポートベクターの集合($\alpha_i > 0$となるインデックス)です。</p><p><strong>バイアス項の計算:</strong></p><p>境界上のサポートベクター($0 < \alpha_i < C$)について:</p><div class='formula'>$b = y_i - \sum_{j \in SV}\alpha_j y_j K(\mathbf{x}_j, \mathbf{x}_i)
lt;/div><p class='step'><strong>Step 8: 正則化パラメータ$C$の意味</strong></p><div class='key-point'><h4>$C$パラメータの影響</h4><ul><li><strong>$C$が大きい</strong>:誤分類を強くペナルティ ⟹ ハードマージンに近い ⟹ 過学習リスク</li><li><strong>$C$が小さい</strong>:誤分類を許容 ⟹ ソフトマージン ⟹ 汎化性能向上</li><li><strong>$C \to \infty
lt;/strong>:ハードマージンSVMに収束</li><li><strong>$C \to 0
lt;/strong>:すべてのデータを誤分類</li></ul></div><p class='step'><strong>Step 9: 最適化アルゴリズム</strong></p><p><strong>SMO(Sequential Minimal Optimization)アルゴリズム:</strong></p><ol><li>2つの双対係数を同時に更新</li><li>解析的に最適解を計算</li><li>制約条件を満たすよう調整</li><li>収束まで反復</li></ol><p><strong>収束条件:</strong></p><p>KKT条件の満足:</p><ul><li>$\alpha_i = 0$ ⟹ $y_i f(\mathbf{x}_i) \geq 1
lt;/li><li>$0 < \alpha_i < C$ ⟹ $y_i f(\mathbf{x}_i) = 1
lt;/li><li>$\alpha_i = C$ ⟹ $y_i f(\mathbf{x}_i) \leq 1
lt;/li></ul><h4>SVMの利点と応用</h4><p class='step'><strong>Step 10: 理論的優位性</strong></p><ul><li><strong>最大マージン原理</strong>:汎化誤差の上界を最小化</li><li><strong>凸最適化</strong>:大域最適解の保証</li><li><strong>カーネルトリック</strong>:高次元特徴空間での効率的計算</li><li><strong>スパース解</strong>:サポートベクターのみが重要</li></ul><p><strong>実用的な応用:</strong></p><ul><li><strong>テキスト分類</strong>:スパム検出、文書分類</li><li><strong>画像認識</strong>:顔認識、物体検出</li><li><strong>バイオインフォマティクス</strong>:遺伝子分類、タンパク質分類</li><li><strong>金融</strong>:信用リスク評価、不正検出</li></ul><div class='key-point'><h4>選択肢の検証</h4><table class='table table-bordered'><tr><th>選択肢</th><th>正誤</th><th>理由</th></tr><tr><td><strong>$0 \leq \alpha_i \leq C
lt;/strong></td><td>✓ 正</td><td>KKT条件から導出される制約</td></tr><tr><td><strong>$\alpha_i \geq 0$のみ</strong></td><td>✗ 誤</td><td>ソフトマージンでは上界$C$が存在</td></tr><tr><td><strong>カーネル不含</strong></td><td>✗ 誤</td><td>目的関数に$K(\mathbf{x}_i, \mathbf{x}_j)$が含まれる</td></tr><tr><td><strong>$C$が現れない</strong></td><td>✗ 誤</td><td>制約条件で$\alpha_i \leq C$として現れる</td></tr></table></div><p>したがって、正答は「双対係数$\alpha_i$の制約は$0 \leq \alpha_i \leq C$である」です。</p>
問題 1/10
カテゴリ一覧に戻る