Pythonで完全なSVM実装を記述しようとしていますが、ラグランジュ係数の計算にいくつか問題があります。
最初に、アルゴリズムから理解したことを言い換えて、正しいパスにいることを確認します。
もし、データセットでありのクラスラベルである次いで、
したがって、最適化問題を解決して
対象
ラグランジュ係数に関して、これは、およびおよび最小化することをます:B α = (α 1、α 2、。。。α N)≠ 0 ≥ 0 L (α 、W 、B )= 1
今のでと\ FRAC {\部分L} {\部分B} = 0 \ Y_I \ alpha_i = 0 \和を意味L(\ alpha、w、b)= Q(\ alpha)= \ sum \ alpha_i-\ frac12 \ sum \ sum \ alpha_i \ alpha_j y_i y_j x_i ^ T x_jを制約付きで書き直すことができます\ alpha_i \ geq 0 \ \ text {and} \ \ sum \ alpha_i y_i = 0∂ L
そこで、Pythonを使用して最適化の問題を解決しようとしています。私が見つけた唯一の無料パッケージはcvxoptと呼ばれています。
これを解決するためのいくつかの助けが欲しい、私はこれについての良い例を見つけることができなかった、そして理論を理解している間、それをコードに変換するのに苦労している(私は私がプログラミングの背景からより多く)。
ある時点でカーネルしかし、コードでこれを解決することに関してどのような影響があるのかはません。
どんな助けでも大歓迎です、私はこれをPythonに実装する方法で本当に迷っています。最適化問題を解決するためのより良いモジュールがある場合は、それについても読みたいと思います。