|
| virtual float | getInitialStepSize () const =0 |
| | SVMSGD最適化問題のパラメータ initialStepSize。
|
| |
| virtual float | getMarginRegularization () const =0 |
| | SVMSGD最適化問題のパラメータ marginRegularization。
|
| |
| virtual int | getMarginType () const =0 |
| | マージン型。SVMSGD::MarginTypeのいずれか。
|
| |
| virtual float | getShift ()=0 |
| |
| virtual float | getStepDecreasingPower () const =0 |
| | SVMSGD最適化問題のパラメータ stepDecreasingPower。
|
| |
| virtual int | getSvmsgdType () const =0 |
| | アルゴリズム型。SVMSGD::SvmsgdTypeのいずれか。
|
| |
| virtual TermCriteria | getTermCriteria () const =0 |
| | 学習アルゴリズムの終了条件。反復回数の最大値 (maxCount) や、アルゴリズムを継続させるために反復間で誤差がどれだけ変化しうるか (epsilon) を指定できる。
|
| |
| virtual Mat | getWeights ()=0 |
| |
| virtual void | setInitialStepSize (float InitialStepSize)=0 |
| | SVMSGD最適化問題のパラメータ initialStepSize。
|
| |
| virtual void | setMarginRegularization (float marginRegularization)=0 |
| | SVMSGD最適化問題のパラメータ marginRegularization。
|
| |
| virtual void | setMarginType (int marginType)=0 |
| | マージン型。SVMSGD::MarginTypeのいずれか。
|
| |
| virtual void | setOptimalParameters (int svmsgdType=SVMSGD::ASGD, int marginType=SVMSGD::SOFT_MARGIN)=0 |
| | 選択したSVM SGDモデルに対して最適なパラメータ値を設定する関数。
|
| |
| virtual void | setStepDecreasingPower (float stepDecreasingPower)=0 |
| | SVMSGD最適化問題のパラメータ stepDecreasingPower。
|
| |
| virtual void | setSvmsgdType (int svmsgdType)=0 |
| | アルゴリズム型。SVMSGD::SvmsgdTypeのいずれか。
|
| |
| virtual void | setTermCriteria (const cv::TermCriteria &val)=0 |
| | 学習アルゴリズムの終了条件。反復回数の最大値 (maxCount) や、アルゴリズムを継続させるために反復間で誤差がどれだけ変化しうるか (epsilon) を指定できる。
|
| |
| virtual float | calcError (const Ptr< TrainData > &data, bool test, OutputArray resp) const |
| | 学習用またはテスト用データセットに対する誤差を計算する。
|
| |
| virtual bool | empty () const CV_OVERRIDE |
| | Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
|
| |
| virtual int | getVarCount () const =0 |
| | 学習サンプル内の変数の数を返す。
|
| |
| virtual bool | isClassifier () const =0 |
| | モデルが分類器であれば true を返す。
|
| |
| virtual bool | isTrained () const =0 |
| | モデルが学習済みであれば true を返す。
|
| |
| virtual float | predict (InputArray samples, OutputArray results=noArray(), int flags=0) const =0 |
| | 指定されたサンプルに対するレスポンスを予測する。
|
| |
| virtual bool | train (const Ptr< TrainData > &trainData, int flags=0) |
| | 統計モデルを学習する。
|
| |
| virtual bool | train (InputArray samples, int layout, InputArray responses) |
| | 統計モデルを学習する。
|
| |
| | Algorithm () |
| |
| virtual | ~Algorithm () |
| |
| virtual void | clear () |
| | アルゴリズムの状態をクリアする。
|
| |
| virtual String | getDefaultName () const |
| |
| virtual void | read (const FileNode &fn) |
| | ファイルストレージからアルゴリズムの引数を読み込む。
|
| |
| virtual void | save (const String &filename) const |
| |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| |
| virtual void | write (FileStorage &fs) const |
| | アルゴリズムの引数をファイルストレージに保存する。
|
| |
| void | write (FileStorage &fs, const String &name) const |
| |
確率的勾配降下法によるSVM分類器。
SVMSGDは、[37]で提示された確率的勾配降下法を用いたSVM分類器の、高速で使いやすい実装を提供する。
この分類器は以下のパラメータを持つ:
- モデル型、
- マージン型、
- マージン正則化 ( \(\lambda\))、
- 初期ステップサイズ ( \(\gamma_0\))、
- ステップ減衰べき乗 ( \(c\))、
- および終了条件。
モデル型は次のいずれかの値を取りうる: SGD と ASGD。
推奨されるモデル型はASGDである([37]に従う)。
マージン型は次のいずれかの値を取りうる: SOFT_MARGIN または HARD_MARGIN。
- 線形分離可能な集合を持つ場合はHARD_MARGIN型を使用すべきである。
- 非線形分離可能な集合や外れ値を含む集合を持つ場合はSOFT_MARGIN型を使用すべきである。
- 一般的なケース(集合の線形分離可能性について何も分からない場合)では、SOFT_MARGINを使用する。
その他のパラメータは次のように説明できる:
- マージン正則化パラメータは、各ステップでの重みの減衰と、外れ値に対する制約の強さを担う(パラメータが小さいほど、外れ値が無視される確率は低くなる)。推奨値はSGDモデルで0.0001、ASGDモデルで0.00001である。
- 初期ステップサイズパラメータは、ステップサイズ \(\gamma(t)\) の初期値である。問題に対する最適な初期ステップを見つける必要がある。
- ステップ減衰べき乗は、上述の式による \(\gamma(t)\) の減衰に対するべき乗パラメータである。推奨値はSGDモデルで1、ASGDモデルで0.75である。
- 終了条件はTermCriteria::COUNT、TermCriteria::EPS、またはTermCriteria::COUNT + TermCriteria::EPS にできる。問題に対する最適な終了条件を見つける必要がある。
マージン正則化、初期ステップサイズ、ステップ減衰べき乗のパラメータは正でなければならないことに注意する。
SVMSGDアルゴリズムを使用するには、次のようにする:
svmsgd->train(trainData);
svmsgd->predict(samples, responses);
static Ptr< SVMSGD > create()
Creates empty model. Use StatModel::train to train the model. Since SVMSGD has several parameters,...
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23