タグ

svmとMLに関するsleepy_yoshiのブックマーク (10)

  • svmlin: Fast Linear SVM Solvers for Supervised and Semi-supervised Learning

    SVMlin Fast  Linear SVM  Solvers  for Supervised  and Semi-supervised Learning SVMlin  is software package for linear SVMs. It is well-suited to classification problems involving a large number of examples and features.  It is primarily written for sparse  datasets (number of non-zero features in an example is typically small).  It is written in C++ (mostly C). A mex wrapper is available for  MATL

  • Chapelle's Tech Tips

  • SVMの定番入門書「サポートベクターマシン入門(赤本)」の読み方 - EchizenBlog-Zwei

    SVMを学びたい人にとっては「サポートベクターマシン入門」通称「赤」は最適な入門書であるといえる。理論から実践までバランスよく解説されており、書を読むだけでSVMの実装が可能になる。 しかし書はSF小説を彷彿とさせる独特な翻訳の文体のため機械学習に不慣れな読者にとっては読みこなすのは苦しい戦いとなる。来なら原書をオススメしたいところだが、そうはいっても英語はちょっとという人も多いはず。 そこで記事では赤のオススメな読み方を紹介してみる。 1.「わかパタ」で準備運動をしよう 泳ぎのうまい人でもいきなり水に飛び込むのは危険。まずは準備運動をして体を温める。これには「わかりやすいパターン認識」がオススメ。とりあえず2章まで、余裕があれば3章まで読んでおけば充分。 2.赤を枕元において一晩寝よう さて準備運動が済んだら早速赤にトライ!したいところだが赤の放つ瘴気で心を蝕まれないよ

    SVMの定番入門書「サポートベクターマシン入門(赤本)」の読み方 - EchizenBlog-Zwei
  • liblinear-poly2 - ny23の日記

    liblinear の低次多項式カーネル版拡張という明日原稿を出す論文と関連する研究の実装があったので試してみた.論文を読む時間が無いので,手持ちのデータで試そうとしたが segmentation fault.もしやと思って中を見たら,二次の全組み合わせ素性の重み (= n*(n-1)/2) を保存する配列を作っていた (素性の種類数が少ないときしか対応出来ない実装) ので,コンパイルオプションに -m64 をつけて,素性番号を密にして,さらに配列の添字周りを int -> int64_t にすると動いた. | Train | Mem | Acc. | Test --------------------------------------------------- liblinear-poly2 | 347.3s | 16GB | 93.0% | 289.2s pa poly2 | 27.

    liblinear-poly2 - ny23の日記
  • SVM, Logistic Regression, and Precision | Graham's Research Blog

    Machine Translation, Speech Recognition, Machine Learning, and the like. On twitter a little while ago, @mathieuen asked an interesting question about whether the fact that he was seeing support vector machines (SVM) get better precision than logistic regression (LR) was a result of the learning algorithm (specifically the hinge loss function). I answered off the top of my head that I thought that

  • OpenOpt使ってSVM書いた - きちめも

    追記(5/19):ガウスカーネル2乗してなかった。コード書き忘れ訂正--); ついでに画像も変更 SMO法使った前のエントリは、殆どpureにpythonでコード書いてたせいか、結構時間がかかっててイライラ。ということでOpenOptの二次計画のソルバー使って手抜きに疎な解を求めてみたの巻。 結果はテストデータ200個の↓の図だと200倍の差が…。scipy+OpenOptぱない コーディングもあっと言う間だし…その…何というか…一昨日の努力は…一体…。まぁデータ200個と少なきゃメモリにのるしね…。 以下適当に書いたpythonのコード。相変わらずグラフの描画とかのコードの筋が悪い気がしてもにょいぜ。 #!/usr/bin/python # -*- coding: utf-8 -*- from scipy import * from scipy.linalg import norm fr

    OpenOpt使ってSVM書いた - きちめも
  • 非線形SVM - 人工知能に関する断創録

    今回は、非線形サポートベクトルマシンを試してみます。線形SVM(2010/5/1)は、カーネル関数に線形カーネル(ただの内積)を使いましたが、これを多項式カーネル(A)やガウスカーネル(B)に変更します。 カーネル関数は元のベクトルxを非線形写像によって高次元空間に写像した特徴ベクトルφ(x)の内積(C)で定義されます。 一般に特徴ベクトルφ(x)は高次元空間(無限次元空間でもOK)になるので普通にやってたら内積の計算量が非常に大きくなります。そこで、特徴ベクトルφ(x)の内積を計算せずに多項式カーネル(A)やガウスカーネル(B)の計算で置き換えるテクニックをカーネルトリックと呼ぶとのこと。多項式カーネルやガウスカーネルを使うとφ(x)を陽に計算する必要がなくなります。ただ、元の空間xでの内積は必要なんですよね・・・最初は、カーネルトリックのありがたみがよくわからなかったのですが、「入力空

    非線形SVM - 人工知能に関する断創録
  • ソフトマージンSVM - 人工知能に関する断創録

    前回(2010/5/2)のハードマージンSVMでは、データに重なりがある場合、下のようにちゃんと分類境界を求められませんでした。今回は、重なりのあるクラス分布に対応できるように拡張してみます。このようなSVMはハードマージンSVMに対してソフトマージンSVMと呼ばれます。別名としてC-SVMとも呼ばれるようです。 PRMLの7.1.1にあるように、データの誤分類を許すようにSVMを修正します。ハードマージンSVMでは、データ点がマージン内(-1 < y < 1)に絶対に入らないことを前提にしていましたが、ソフトマージンSVMでは「入ってしまったものは仕方ない、だがペナルティを与える!」と少し条件を緩めます。 まず、スラック変数ζ(ゼータ)をデータごとに導入します。スラック変数は、データが正しく分類されかつマージン境界上または外側にある場合は0、正しく分類されているがマージン内に侵入してしま

    ソフトマージンSVM - 人工知能に関する断創録
  • SVMソフトウェアの比較 - tsubosakaの日記

    オープンソースのSVMソフトウェアの基デフォルトの設定で比較などをしてみた。 利用データはLIBSVM Data: Classification, Regression, and Multi-labelのa9aとnews20.binaryを利用した。 データセットの詳細は以下のようになっている データセット名 訓練データ数 テストデータ数 データの次元 a9a 32561 16281 123 news20.binary 15000 4996 1355199 なお、news20.binaryでの訓練データとテストデータの作成については id:n_shuyoさんの記事を参考にした。 比較に用いたソフトウェアは以下の5つ LIBSVM リンク SVM-Light リンク TinySVM リンク SVM-perf リンク LIBLINEAR リンク 測定結果は以下のようになった。パラメータの設定

    SVMソフトウェアの比較 - tsubosakaの日記
  • やる夫はSVMを実装したようです やる夫で学ぶ非線形なSVM

    2乗誤差最小化を基礎におく線形識別器の欠点を克服する識別器の学習として有名なサポートベクターマシンについて、原理、学習アルゴリズムについて説明する。さらに回帰の応用したサポートベクター回帰についても説明する。

    やる夫はSVMを実装したようです やる夫で学ぶ非線形なSVM
  • 1