意味 次数d の 多項式の場合、多項式カーネルは次のように定義されます[ 2 ]
K ( x 、 y ) = ( x T y + c ) d {\displaystyle K(\mathbf {x} ,\mathbf {y} )=(\mathbf {x} ^{\mathsf {T}}\mathbf {y} +c)^{d}} ここで、x とyは 入力空間 におけるサイズn のベクトル、すなわちトレーニングまたはテスト サンプルから計算された特徴のベクトルであり、c ≥ 0 は多項式の高次項と低次項の影響をトレードオフする自由パラメータです。c = 0 の場合、 カーネル は均質であると呼ばれます。[ 3 ] (さらに一般化された多項式カーネルは、x T y を ユーザー指定のスカラー パラメータa で割ります。[ 4 ] )
カーネルとして、K はあるマッピング φ に基づく特徴空間における内積に対応する。
K ( x 、 y ) = ⟨ φ ( x ) 、 φ ( y ) ⟩ {\displaystyle K(\mathbf {x} ,\mathbf {y} )=\langle \varphi (\mathbf {x} ),\varphi (\mathbf {y} )\rangle } φ の性質は例から見ることができます。d = 2 とすると 、 二次カーネルの特殊なケースが得られます。多項定理 (2 回 - 最も外側の適用は二項定理 ) を使用し、再編成すると、
K ( x 、 y ) = ( ∑ 私 = 1 n x 私 y 私 + c ) 2 = ∑ 私 = 1 n ( x 私 2 ) ( y 私 2 ) + ∑ 私 = 2 n ∑ j = 1 私 − 1 ( 2 x 私 x j ) ( 2 y 私 y j ) + ∑ 私 = 1 n ( 2 c x 私 ) ( 2 c y 私 ) + c 2 {\displaystyle K(\mathbf {x} ,\mathbf {y} )=\left(\sum _{i=1}^{n}x_{i}y_{i}+c\right)^{2}=\sum _{i=1}^{n}\left(x_{i}^{2}\right)\left(y_{i}^{2}\right)+\sum _{i=2}^{n}\sum _{j=1}^{i-1}\left({\sqrt {2}}x_{i}x_{j}\right)\left({\sqrt {2}}y_{i}y_{j}\right)+\sum _{i=1}^{n}\left({\sqrt {2c}}x_{i}\right)\left({\sqrt {2c}}y_{i}\right)+c^{2}} このことから、特徴マップは次のように与えられることがわかる。
φ ( x ) = ( x n 2 、 … 、 x 1 2 、 2 x n x n − 1 、 … 、 2 x n x 1 、 2 x n − 1 x n − 2 、 … 、 2 x n − 1 x 1 、 … 、 2 x 2 x 1 、 2 c x n 、 … 、 2 c x 1 、 c ) {\displaystyle \varphi (x)=\left(x_{n}^{2},\ldots ,x_{1}^{2},{\sqrt {2}}x_{n}x_{n-1},\ldots ,{\sqrt {2}}x_{n}x_{1},{\sqrt {2}}x_{n-1}x_{n-2},\ldots ,{\sqrt {2}}x_{n-1}x_{1},\ldots ,{\sqrt {2}}x_{2}x_{1},{\sqrt {2c}}x_{n},\ldots ,{\sqrt {2c}}x_{1},c\right)} 一般化する( x T y + c ) d {\displaystyle \left(\mathbf {x} ^{T}\mathbf {y} +c\right)^{d}} 、 どこx ∈ R n {\displaystyle \mathbf {x} \in \mathbb {R} ^{n}} 、y ∈ R n {\displaystyle \mathbf {y} \in \mathbb {R} ^{n}} そして多項定理 を適用すると:
( x T y + c ) d = ∑ j 1 + j 2 + ⋯ + j n + 1 = d d ! j 1 ! ⋯ j n ! j n + 1 ! x 1 j 1 ⋯ x n j n c j n + 1 d ! j 1 ! ⋯ j n ! j n + 1 ! y 1 j 1 ⋯ y n j n c j n + 1 = φ ( x ) T φ ( y ) {\displaystyle {\begin{alignedat}{2}\left(\mathbf {x} ^{T}\mathbf {y} +c\right)^{d}&=\sum _{j_{1}+j_{2}+\dots +j_{n+1}=d}{\frac {\sqrt {d!}}{\sqrt {j_{1}!\cdots j_{n}!j_{n+1}!}}}x_{1}^{j_{1}}\cdots x_{n}^{j_{n}}{\sqrt {c}}^{j_{n+1}}{\frac {\sqrt {d!}}{\sqrt {j_{1}!\cdots j_{n}!j_{n+1}!}}}y_{1}^{j_{1}}\cdots y_{n}^{j_{n}}{\sqrt {c}}^{j_{n+1}}\\&=\varphi (\mathbf {x} )^{T}\varphi (\mathbf {y} )\end{alignedat}}}
最後の総和はl d = ( n + d d ) {\displaystyle l_{d}={\tbinom {n+d}{d}}} 要素によって、次のようになります。
φ ( x ) = ( 1 1 、 … 、 1 l 、 … 、 1 l d ) {\displaystyle \varphi (\mathbf {x} )=\left(a_{1},\dots ,a_{l},\dots ,a_{l_{d}}\right)} どこl = ( j 1 、 j 2 、 。 。 。 、 j n 、 j n + 1 ) {\displaystyle l=(j_{1},j_{2},...,j_{n},j_{n+1})} そして
1 l = d ! j 1 ! ⋯ j n ! j n + 1 ! x 1 j 1 ⋯ x n j n c j n + 1 | j 1 + j 2 + ⋯ + j n + j n + 1 = d {\displaystyle a_{l}={\frac {\sqrt {d!}}{\sqrt {j_{1}!\cdots j_{n}!j_{n+1}!}}}x_{1}^{j_{1}}\cdots x_{n}^{j_{n}}{\sqrt {c}}^{j_{n+1}}\quad |\quad j_{1}+j_{2}+\dots +j_{n}+j_{n+1}=d}
実用 RBFカーネルは SVM分類では多項式カーネルよりも人気がありますが、後者は自然言語処理 (NLP)では非常に人気があります。[ 1 ] [ 5 ] 最も一般的な次数はd = 2 (二次)です。次数が大きいとNLP問題で過学習する 傾向があるためです。
多項式カーネルを計算するさまざまな方法(正確な方法と近似的な方法の両方)が、通常の非線形SVMトレーニングアルゴリズムの代替として考案されており、以下のようなものがある。
多項式カーネルの問題点の1つは、数値的不安定性に悩まされる可能性があることです。x T y + c < 1 の場合、 K ( x , y ) = ( x T y + c ) dは dの 増加 とともにゼロに近づきますが、 x T y + c > 1 の場合、K ( x , y ) は 無限大に近づきます。[ 4 ]
[ 7 ]
参考文献 1 2 3 Yoav Goldberg および Michael Elhadad (2008). splitSVM: NLP アプリケーションのための高速で省スペースな非ヒューリスティック多項式カーネル計算。 Proc. ACL-08: HLT. ↑ 「アーカイブされたコピー」(PDF) 。2013年4月15日にオリジナル(PDF)からアーカイブされました 。2012年11月12日 に取得。 {{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)↑ Shashua, Amnon (2009). "機械学習入門: 講義ノート 67577". arXiv : 0904.3664v1 [ cs.LG ]. 1 2 Lin, Chih-Jen (2012). 機械学習ソフトウェア:設計と実践的利用 (PDF) . 機械学習サマースクール. 京都. 1 2 Chang, Yin-Wen; Hsieh, Cho-Jui; Chang, Kai-Wei; Ringgaard, Michael; Lin, Chih-Jen (2010). "線形SVMによる低次多項式データマッピングのトレーニングとテスト" . Journal of Machine Learning Research . 11 : 1471– 1490. 1 2 工藤 隆、松本 裕 (2003). カーネルベースのテキスト解析のための高速手法 . Proc. ACL. ↑ Lin, Chih-Jen (2012). Shewchuk (PDF) . 機械学習サマースクール. 京都.