タグ

機械学習とsvmに関するxiangzeのブックマーク (10)

  • 線形識別器でカーネルトリックを使う方法 - Preferred Networks Research & Development

    WEB+DB PRESS Vol.64に「作って学ぶ日本語入力」という特集記事を書かせていただきました。徳永です。全国の書店で発売中ですので、ぜひみなさんお買い求めください。(宣伝) さて今回は、線形識別器でカーネルを使うのと同じ効果を得るための手法を紹介したいと思います。 カーネルとは SVMはカーネルトリックによって非線形識別を可能としたことによって、研究コミュニティで大流行しました。 カーネルトリックは線形空間では線形分離できないデータを高次元空間に写像してそっちで線形分離しちゃおう、でも高次元に実際に写像してしまうと計算量が増えちゃうから、問題を等価な形に変形して高次元に写像した場合と同じ結果を高速に計算しようね、というテクニックです。具体的には、高次元データが出てくる部分は全部内積で書ける形に変形し、この内積の部分をカーネルと呼ばれる特殊な関数で置き換えます。 結局、自然言語処理

    線形識別器でカーネルトリックを使う方法 - Preferred Networks Research & Development
  • C++によるSMOを用いたSVMの実装 - kivantium活動日記

    機械学習の手法にはいろいろありますが、その中でもサポートベクトルマシン(SVM; support vector machine)は高い精度で知られる有名な手法です。 以前C++で多層パーセプトロンを実装したので、今度はSVMをC++で実装してみました。kivantium.hateblo.jp SVMの解説 実装する前にSVMの原理を説明します。PRML下巻7章を参考にしました。 パターン認識と機械学習 下 (ベイズ理論による統計的予測) 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松裕治,村田昇出版社/メーカー: 丸善出版発売日: 2012/02/29メディア: 単行購入: 6人 クリック: 14回この商品を含むブログを見る SVMは2値分類に使われる手法で、入力に対してある関数を計算してその値の符号によってクラス分類をします。 入力(ベクトルですが、うまく表記出来ないの

    C++によるSMOを用いたSVMの実装 - kivantium活動日記
  • LIBSVMの使いかたまとめ - k.kinukawaの日記

    LIBSVMとは LIBSVMはChih-Chung Chang とChih-Jen Lin によって作成された、サポートベクタマシンライブラリである。 現在はバージョン2.85がリリースされている。 LIBSVM は、サポートベクタ分類器(C-SVC、nu-SVC)、回帰分析(epsilon-SVR、nu-SVR)、分布評価(1クラスSVM)のための統合ソフトである。 マルチクラス分類もサポートしている。 様々なインターフェースが用意されているため、ライブラリとユーザープログラムを簡単に統合することが可能である。 以下のような機能、特徴を含んでいる。 異なったSVM の計算式が用意されている. 効率的なマルチクラス分類ができる. モデル選択のためのクロスバリデーション*1. 可能性予測. 偏ったデータのための、重みつきSVM. C++Java のソースコード. SVM 分類と回帰分析

  • オンライン凸最適化と線形識別モデル学習の最前線 - Preferred Networks Research & Development

    内容は線形識別モデルの学習について(Perceptron, PA, CW, AROW, NHELDとNLP2010のtutorial + 最新のアップデート. 更新式が整理されています)、オンライン凸最適化のregret解析、sublinearなSVMの学習の話です。最近公開したjubatusの中の学習アルゴリズムの解説でもあります。 コスト関数が凸である場合のOnline Gradient Descentのregret解析の証明は美しかったので、普通はこういうのはプレゼンではやらないとおもうのですが紹介しました。 Sublinearの学習の話は今後いろいろ発展しそうです。各学習例に動的に重みをつけて優先的に学習する方法は直感的にはできそうだと昔考えてたのですが、こういう形できれいに定式化できるのだと感心しました。 IBISはそこそこ参加していますが、毎年新しい分野の問題が登場してきて面白

    オンライン凸最適化と線形識別モデル学習の最前線 - Preferred Networks Research & Development
  • 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

  • 大規模データマイニングでのモデル探索手法:K-sample plot - データサイエンティスト上がりのDX参謀・起業家

    巨大地震が日を襲い、皆不安を感じながら生活していると思います。 そんな中せめて自分に出来ることをしようと思い、研究してきた内容をブログに記します。 サンプル数が大規模なデータでニューラルネットワークとかサポートベクターマシンとかをしたくても、 時間がかかってしょうがない!ってときに参考にしてみて下さい。 近年、特にweb関係の業界ではデータデータをいくらでも記録できるようになったため、データの規模が非常に大きくなっています。 大規模データに機械学習、マシーンラーニングを適用したいという要望は高まっています。 そういうときはデータからサンプリングして性能を確かめることが多いと思います。 ですがそんな時は、 「サンプル数はどれくらいがいいの?」 「一回やっただけじゃ真の性能は分からないよね?」 「しかもクロスバリデーションしなきゃいけないし。。」 などのような事を疑問に思うでしょう。 今回紹

    大規模データマイニングでのモデル探索手法:K-sample plot - データサイエンティスト上がりのDX参謀・起業家
  • 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

  • SVMにおける損失と正則化 - 射撃しつつ前転 改

    前に書いたSVMの記事で、「L1とかL2というのは間違えたときのペナルティをどう定義するかを意味しており」と書いていたが、L1とかL2って正則化項の話なんじゃないの、と疑問に思った。1ヶ月ほど時間をおいてのセルフツッコミである。確認しようとしてカーネル多変量解析を読むと、やはり正則化項についてはL1とL2の両方の説明が書いてあるが、損失に関しては普通のHinge Loss(=L1 Loss)しか書いてない。 と言う訳で、ああ、間違えちゃったなぁ、と暗澹たる気持ちで"A dual coordinate descent method for large-scale linear SVM"を読み直してみたところ、やっぱりL1-SVMというのは損失が普通のHinge Lossで、L2-SVMというのはHinge Lossの2乗を損失とすると書いてあった。両方とも正則化項についてはL2正則化を使って

    SVMにおける損失と正則化 - 射撃しつつ前転 改
  • 最大マージン kNN と SVM の関係: kNN も最近はがんばっています - 武蔵野日記

    先日書いた機械学習における距離学習の続き。 kNN (k-nearest neighbour: k 近傍法)は Wikipedia のエントリにも書いてある通り、教師あり学習の一つで、あるインスタンスのラベルを周辺 k 個のラベルから推定する手法。memory-based learning と呼ばれることもある。単純に多数決を取る場合もあれば(同点を解決する必要があるが)、近いインスタンスの重みを大きくする場合もあるのだが、いずれにせよかなり実装は単純なので、他の機械学習との比較(ベースライン)として使われることも多い。 簡単なアルゴリズムではあるが、1-NN の場合このアルゴリズムの誤り率はベイズ誤り率(達成可能な最小誤り率)の2倍以下となることが示されたり、理論的にもそれなりにクリアになってきているのではないかと思う。また、多クラス分類がちょっと一手間な SVM (pairwise に

  • [メモ] サポートベクターマシン(SVM) - 机上の空論

    サポートベクターマシン(以下 SVM) とは ・ニューラルネットワークの一種 ・教師ありクラスタリング SVM の基的な考え方 ・元々2クラスの線形分離手法として提案される ・単層パーセプトロンに似ているが、SVM はマージン最大化という手法をとっているのがポイント。 ・マージン最大化とは、超平面と学習データの隙間となるマージンをなるべく大きく取ろうというもの。 (ここでいう超平面とは、2つのクラスにぶった切る平面のこと) ・ちなみに超平面と、ちょうどマージンの分だけ離れている学習データをサポートベクトルという。 ・このマージン最大化という考えを取り入れることによって、テストデータの識別精度を高めている。 SVM の発展 ・線形分離不可能な問題への対応 - ソフトマージン(学習データが多少マージンにくい込んだり、反するクラスの空間にくい込んだりしても許す)で対応

  • 1