タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

PythonとSVMに関するblueleのブックマーク (2)

  • 線形SVM - 人工知能に関する断創録

    下巻に入って7章のサポートベクトルマシン(Support Vector Machine: SVM)を実装してみます。SVMに関しては、有名なSVMのライブラリ(libsvm)を使ったことがあるだけで、アルゴリズム詳細はPRMLで初めて学習しました。なので変なことを書いていたらコメント欄で指摘してもらえると助かります。 まずは、一番簡単な線形SVMを実装してみます。今までと同様に直線(超平面)でデータが完全に分離できる場合です。PRMLの7章には特に説明がありませんが、カーネル関数に下の線形カーネル(データのただの内積)を用いた場合に相当するようです。このカーネル関数を多項カーネルやガウシアンカーネルに変更すると線形分離不可能なデータも分類できるようになるとのこと。非線形SVMは次回ためしてみます。 まず、SVMの識別関数は、式(7.1)で表せます。 今までと違ってバイアスパラメータをまとめ

    線形SVM - 人工知能に関する断創録
  • PythonでLIBSVMを使う

    導入方法 1.ここからLIBSVMのzipファイルもしくはtar.gzファイルをダウンロードし適当なディレクトリに解凍。(最新版3.1) 2.解凍したフォルダに移動し、makeコマンド実行。以下のファイルができるはず。 svm.o svm-train.exe svm-predict.exe svm-scale.exe 3.解凍したフォルダの中のpythonフォルダに移動し、makeコマンド実行。以下のファイルができるはず。 libsvm.so.2 使用例 適当に学習させてみる. svmtest.py from svm import * from svmutil import * prob = svm_problem([1,-1], [[1,0,1], [-1,0,-1]]) #訓練データ param = svm_parameter('-t 1 -c 3') #SVMのパラメータ設定 m =

  • 1