ウォンツテック

技術的な話や会社設立に関わる話などを適当にしていきます

機械学習 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を用いる方が良い