タグ

SVMに関するyuisekiのブックマーク (70)

  • Support Vector Machine

    人間には卓越した学習能力が備わっている.人間は目で見たり,耳で聞いたものが何であるかをいとも簡単に認識できる.また,未知の環境に適応する能力も優れている.それに対し,コンピュータは,与えられた指示(プログラム)どおりに高速に計算を行う能力においては優れているが,学習能力という点においては,人間とは比較にならない. そこで,人間のような学習能力をもった機械(モデル)を作るための学習理論が発達してきた.その代表的な成果の1つとして,多層パーセプトロンが挙げられる.多層パーセプトロンは1980年代に開発され,これまで多方面に応用されてきた.しかし,望ましくない局所最適解への収束,中間層の素子数の選択など,いくつかの問題点がある. サポートベクターマシン(Support Vector Machine:SVM) は,このような問題を解決した学習機械として知られている.サポートベクターマシンとは,1

    yuiseki
    yuiseki 2012/11/04
  • ICML2012読み会で発表しました && SVMの性能をガタ落ちさせるためには - kisa12012の日記

    日サイボウズラボさんの会場で開催されたICML2012読み会に発表者として参加しました. 主催者のnokunoさん,会場係のshuyoさん,また参加者の皆様,ありがとうございました!非常に勉強になりました. 今回発表したのは,Poisoning Attacks against Support Vector Machines (Biggio+) です. 発表資料 PoisoningAttackSVM (ICMLreading2012) from Hidekazu Oiwa 元論文 http://icml.cc/2012/papers/880.pdf 概要 論文の名前通り,SVMの訓練データに毒を盛るためのアルゴリズムを提案 毒を盛るとは,すでに学習されたSVMのパフォーマンスを劇的に下げるためのデータを生成して,SVMの新たな教師データとして潜り込ませること 手書き文字認識での実験では,た

    ICML2012読み会で発表しました && SVMの性能をガタ落ちさせるためには - kisa12012の日記
  • SVMとニューラルネットワーク(BP) - モーグルとカバとパウダーの日記

    最近のスパム判定には、SVM(Support Vector Machine)というパターン識別手法が使われている物があります。 最初SVMのことを知らなくて、ぐぐってみた中で、自分にはここの説明が、一番特徴がわかりやすかったです。 SVMを使うとなにが嬉しいの? これを読んで、ニューラルネットワークとSVMを比較したとき、SVMは要素間の境界線距離を最大化するように学習する、というのがウリだと思いました。それだけ(たぶん)般化能力が高くなると。 自分が大学にいたとき、少しニューラルネットワークのこともやったことがあります。 そのとき、入力にノイズを混入させて学習させたほうが、学習の般化能力が高くなるようだ、というのがあり、実際に実験するときに試して良い結果が出ていました。 このSVMのモデルを見たとき、例えばニューラルネットワーク(バックプロパゲーション)で、正規分布したノイズを入力に混入

    SVMとニューラルネットワーク(BP) - モーグルとカバとパウダーの日記
  • 非線形SVM 〜 コーディングに必要な式 〜

    非線形SVM 〜 コーディングに必要な式 〜 戻る 非線形SVMの識別関数は,次のように定義される. ただし. は入力ベクトル,およびは識別関数を決定するパラメータ,はSV,はSVの数である.はベクトルおよびを引数とする関数で,カーネル関数と呼ばれる. カーネル関数はある条件を満たしているものであればなんでもいいのだが(詳細は次ページ参照),通常は次のような「多項式型カーネル」または「ガウシアン型カーネル」が用いられる. 多項式型カーネル関数: ガウシアン型カーネル関数: は多項式型カーネル関数の次数を決定するパラメータ,はガウシアン型カーネル関数の拡がりを決定するパラメータで,いずれもユーザが事前に値を定義する. ニューラル的な表現をすると識別関数は3層のネットワークと見ることもできる.は結合係数,はバイアス結合あるいは出力ニューロンの閾値と考えることが出来る. さ

  • 非線形SVM 〜詳細説明〜

    非線形SVM 〜 詳細説明 〜 戻る 問題が線形分離できないような場合,やっぱり非線形なモデルを考えたいわけで,常套手段はなんといっても,元の特徴空間を線形分離可能な別の特徴空間に変換してやってから線形分離してやる,っていう方法だよね.非線形SVMも例に漏れずこの方法を使う. 元の特徴空間におけるベクトルを,別の次元特徴空間に変換する関数を考える.は,スカラーを出力する任意の個の非線形関数を要素とするベクトルと定義する. (2.1) これを使って,非線形SVMの識別関数を次のように考える. ただし (2.2) 学習データは個与えられているとし,と表す.これらのデータを2つのクラスおよびに分離することを考える.この学習データ集合に対して,が次の条件を満たすようにパラメータを調節することを考える. (2.3) ここで学習データに関する教師信号をとし,次のように定義する.

  • 線形SVM 〜 コーディングに必要な式 〜

    線形SVM 〜 コーディングに必要な式 〜 戻る 線形SVMの識別関数は,次のように定義される. ただし. は入力ベクトル,ベクトルおよびスカラーは識別関数を決定するパラメータ. ニューラル的な表現をすると識別関数は2層パーセプトロンと見ることもできて,は結合係数,はバイアス結合あるいは出力ニューロンの閾値と考えることが出来る. さて,パラメータとを学習によって求めたいわけである. SVMの学習は,バックプロパゲーションのようにこれらのパラメータを直接,逐次学習によって求めるわけではない.ラグランジュ未定乗数ベクトルを学習により求めることで,パラメータおよびを求める,というまどろっこしい方法をとるのですよ.意味については次ページで説明するので,ここでは必要な式だけをまとめる. 学習データは個与えられているとし,と表す.これらのデータを2つのクラスおよびに分離することを考え

    yuiseki
    yuiseki 2012/07/23
  • 線形SVM 〜 詳細説明 〜

    線形SVM 〜 数式の説明 〜 戻る 前ページで線形SVMのコーディングに必要な式を紹介したけれど,それだけでは納得できん,中身までちゃんと教えてくれ,という向きには,このページでちゃんと説明する. 前ページの再掲になるけれど,線形識別関数を次のように定義する. ただし. (1.1) は入力ベクトル,ベクトルおよびスカラーは識別関数を決定するパラメータ. 学習データは個与えられているとし,と表す.これらのデータを2つのクラスおよびに分離することを考える.この学習データ集合に対して,が次の条件を満たすようにパラメータを調節することを考える. (1.2) (OpenOfficeの数式ツールで左括弧ってどうやって出すの?) ところで,点から分離境界との距離はとなる(どうしてそうなるかって?それは自分で考えてみてね). ということは,(1.2)式を満たす識別関数において,学

    yuiseki
    yuiseki 2012/07/23
  • Support Vector Machine

    最近よく巷で耳にするモノ. SVM, Support Vector Machine, さぽーとべくたーましん. これっていったい,どんなもんなんでしょう. なにやら便利そうなモノらしいので,ちょいと調べて要点をまとめてみようかな,なんて. でも,ただまとめただけだとそのへんの記事を読むのとなんにも変わらないので, コーディングするために必要な知識を中心にまとめてみることにします.

    yuiseki
    yuiseki 2012/07/23
  • サポートベクターマシン入門 産業技術総合研究所 脳神経情報研究部門

    次へ: はじめに サポートベクターマシン入門 栗田 多喜夫 Takio Kurita 産業技術総合研究所 脳神経情報研究部門 Neurosceince Research Institute, National Institute of Advanced Indastrial Science and Technology takio-kurita@aist.go.jp visitors since Jul. 19, 2002. 概要: 最近、サポートベクターマシン(Support Vector Machine, SVM)と呼ばれるパター ン認識手法が注目されており、ちょっとしたブームになっている。カーネルトリッ クにより非線形の識別関数を構成できるように拡張したサポートベクターマシン は、現在知られている多くの手法の中でも最も認識性能の優れた学習モデルの一 つである。サポートベクターマシンが

  • SVM-Light interface for MATLAB/Octave - Neon Lights

    SVM-LightをMatlab/Octaveで使うためのインターフェイスを書いた. 正直言って,データ行列とクラスラベルをファイルとして保存するため,HDDの読み書きがあるので実行が遅くなるかもしれませんが,晒しておきます. SVM-Lightのインストール とりあえずソースからコンパイルします. コンパイル済みのバイナリを使いたい人はそれでも良いです. 以下コンパイルしたい人向け. SVM-Light Support Vector Machineよりsvm-light.tar.gzをダウンロード. コンパイルします. $ cd {Your downloaded directory} $ mkdir svm_light $ mv svm_light.tar.gz svm_light/. $ gunzip -c svm_light.tar.gz | tar xvf - $ cd svm_l

    SVM-Light interface for MATLAB/Octave - Neon Lights
  • shogun | A Large Scale Machine Learning Toolbox

    Shogun - A Large Scale Machine Learning Toolbox This is the official homepage of the SHOGUN machine learning toolbox. The machine learning toolbox's focus is on large scale kernel methods and especially on Support Vector Machines (SVM) [1]. It provides a generic SVM object interfacing to several different SVM implementations, among them the state of the art OCAS [21], Liblinear [20], LibSVM [2], S

  • [shogun 1] shogunを使ってみよう – .com-pound

    最近Shogun – A Large Scale Machine Learning Toolbox という機械学習のツールボックスを使い始めたので,shogunについて紹介します. まず紹介ページの英語を適当に日語に訳してみます. SHOGUNは大規模なカーネル法と特にサポートベクタマシン(Support Vector Machine: SVM)[1]に重点を置いている機械学習ツールボックスである.いろいろなSVM実装(OCAS [21], Liblinear [20], LibSVM [2], SVMLight, [3] SVMLin [4] and GPDT [5])に対するインターフェースになる汎用的なSVMオブジェクトを提供する.SVMは様々なカーネルと組み合わせることができる.このツールボクスは線形カーネル,多項式カーネル,ガウシアンカーネル,シグモイドカーネルだけでなく,Lo

  • OpenCV + HOG +SVM: help needed with SVM single feature vector

  • SVM-Light: Support Vector Machine

    SVMlight Support Vector Machine Author: Thorsten Joachims <thorsten@joachims.org> Cornell University Department of Computer Science Developed at: University of Dortmund, Informatik, AI-Unit Collaborative Research Center on 'Complexity Reduction in Multivariate Data' (SFB475) Version: 6.02 Date: 14.08.2008 Overview SVMlight is an implementation of Support Vector Machines (SVMs) in C. The main featu

  • First Success in HOG descriptor training

    My own trained detector using Dalal HOG method. detection time = 873.865ms Opencv2.1 has peopledetect.cpp that come with Dalal default detector. It does not provide the details how the detector can be trained. In this blog, I present the training method I have done so far. The result is shown in the left. My request toward reader: I still do not know how the Det graph and performance measurement c

    First Success in HOG descriptor training
  • mlpy (Machine Learning Python) の SVM を試す - (主に)プログラミングのメモ

    mlpy : http://mlpy.sourceforge.net/ 例題として,UCI Repository で提供されている "Breast Cancer Wisconsin (Original) Data Set" を用いる。 http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Original) サンプル数:683 (来のサンプル数 699個から missing value をもつ 16個を除いた) 次元数 : 9 最初に numpy を利用してデータを読み込む。 >>> import numpy as np >>> f = np.loadtxt("breast-cancer-wisconsin.data",dtype='int',delimiter=',') >>> print f [[1000025

    mlpy (Machine Learning Python) の SVM を試す - (主に)プログラミングのメモ
  • 痛快!サポートベクトルマシン -古くて新しいパターン認識手法- | CiNii Research

    JaLC IRDB Crossref DataCite NDL NDL-Digital RUDA JDCat NINJAL CiNii Articles CiNii Books CiNii Dissertations DBpedia Nikkei BP KAKEN Integbio MDR PubMed LSDB Archive 極地研ADS 極地研学術DB 公共データカタログ ムーンショット型研究開発事業

  • LIBLINEARを用いた機械学習入門(単語分割) - nokunoの日記

    これはよいチュートリアル、ということでやってみました。 LIBLINEARを用いた機械学習入門(単語分割) 注意点として文字コードがUTF-8の場合、以下のように指定する必要があります。 #!/usr/bin/env ruby -Ku 後は手順通りに、コーパスをダウンロードしてスクリプトを実行すればOKです。 # nkfで文字コードを変換する for i in `ls sjis/`; do nkf -w sjis/$i > utf8/$i; done; cd utf8 ruby word2lkytea.rb MPT.lkytea ruby lkytea2feature.rb MPT.feat train MPT.liblin predict MPT.liblin MPT.liblin.model MPT.closed Accuracy = 97.7298% (12226/12510) 他の

  • 文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜

    ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement LearningPreferred Networks

    文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
  • 「文字列カーネルSVMによる辞書なしツイート分類」を発表してきました - あらびき日記

    この記事は abicky.net の 「文字列カーネルSVMによる辞書なしツイート分類」を発表してきました に移行しました

    「文字列カーネルSVMによる辞書なしツイート分類」を発表してきました - あらびき日記