機械学習 SVMを使う基準
stanford machine learning 7週目です
SVM (Support Vector Machine)というニューラルネットワークではない学習モデルの一つ。 ロジスティック回帰でやるかSVMでやるかは以下のような基準で切り分ける
学習に利用する特徴点(家の価格を予想する場合は広さ、部屋数、最寄り駅などの情報)の数をnとし、学習するトレーニングセットの数をmとした場合
n が m に比べてかなり大きい場合
例えばnが10000でmが10〜10000くらいの場合 ロジスティック回帰か、SVM without Kernel(線形カーネル)を利用する
n が m に比べてかなり小さい場合
nが1〜1000でmが10〜10000くらいの場合 SVMをガウスカーネルで利用する ※mは5万くらいまでが良い。それ以上だとガウスカーネルを利用すると遅い
n が少なくて mが極めて多い場合
nが1〜1000でmが5万以上〜数百万の場合 自分で特徴点の数を増やし(新たに収集し)、ロジスティック回帰か、SVM without Kernel(線形カーネル)を利用する
ニューラルネットワークの利用について
上記の問題全てにニューラルネットワークのモデルを適切に作れば有効に働くが、計算速度が遅いケースがあるため適切にロジスティック回帰かSVMを用いる方が良い