タグ

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

  • スペクトラルクラスタリングは次元圧縮しながらKmeansする手法 - 武蔵野日記

    機械学習系のエントリを続けて書いてみる。クラスタリングについて知らない人は以下のエントリ読んでもちんぷんかんぷんだと思うので、クラスタリングという概念については知っているものとする。 それで、今日はスペクトラルクラスタリングの話。自然言語処理以外でも利用されているが、これはグラフのスペクトルに基づくクラスタリングの手法で、半教師あり学習への拡張がやりやすいのが利点。なにをするかというとクラスタリングをグラフの分割問題(疎であるエッジをカット)に帰着して解く手法で、どういうふうに分割するかによって Normalized cut (Ncut) とか Min-max cut (Mcut) とかいろいろある。 完全にグラフが分割できる場合はこれでめでたしめでたしなのだが、実世界のグラフはそんな簡単に切れないことが往々にしてある。それで近似してこのグラフ分割問題を解くのだが、Normalized c

    スペクトラルクラスタリングは次元圧縮しながらKmeansする手法 - 武蔵野日記
  • 多次元尺度法で遊んでみる(オレ流 R入門) - ダウンロードたけし(寅年)の日記

    多次元データをクラスタリングする際に、それらのデータを2次元データに落とし込んで可視化させたいことがあります。そんな時に便利なのが「多次元尺度法」という手法です。 個々のデータ間の距離/類似度が分かっている場合に、それらのデータの座標を求めて、データ構造を復元するようなものです。 詳しい説明は割愛します。知りたい人はwikipediaと金先生の連載を読んで下さい。 体で覚えるタイプなので、とにかく何かデータを処理してみます。 「山手線」の地図を再現 さっそく試してみます。 山手線の各駅同士の直線距離を測っておいて、そのデータから実際の位置関係を復元できるか実験してみます。 山手線全駅の距離を測るのはめんどいので、適当に抜粋してしらべました。 以下のような表になりました。単位はメートルです。 さてさて、この距離表からどのようなデータ構造が再現されるでしょうか? このデータを統計解析ソフトRで

    多次元尺度法で遊んでみる(オレ流 R入門) - ダウンロードたけし(寅年)の日記
  • 大規模グラフデータベースの類似度検索ソフトウェア(gWT:graph-indexing wavelet tree)を公開しました - Yasuo Tabeiの日記

    昨日のブログで紹介した大規模グラフの類似度検索のC++による実装(gWT:graph-indexing wavelet tree*1 )を公開しました。googlecodeよりダウンロードすることができます。 初めに、gWTはgwt-buildによりグラフデータベースの索引付けを行います。以下にサンプルを示します。 ./gwt-build -iteration 2 ../dat/mutagen.gsp index この例では、mutagen.gspが入力のグラフデータベースファイルで、indexが索引の出力ファイルです。-iterationオプションでは、Weisfeiler-Lehman手続きのイテレーション回数を指定します。ここでは2回に指定しています。入力ファイルの形式は、各行がノードラベルまたはエッジラベルとノードとの接続関係を表現します。各行の意味は以下を参照してください。 "t

    大規模グラフデータベースの類似度検索ソフトウェア(gWT:graph-indexing wavelet tree)を公開しました - Yasuo Tabeiの日記
  • EMアルゴリズムによるスペル訂正エンジン - nokunoの日記

    以下の論文が面白かったので紹介したいと思います。Learning a Spelling Error Model from Search Query Logs Noisy Channel Modelによるスペル訂正エンジンスペル訂正には標準的なNoisy Channel Modelを使うことができます(最近は識別モデルも流行りのようです)。A Spelling Correction Program Based on a Noisy Channel ModelNoisy Channel Modelでは、入力が与えられたときの訂正候補の確率を以下のようにモデル化します。言語モデル はコーパスやクエリログから単語N-gram、文字N-gramなどを推定し、スムージングして利用することが一般的です。エラーモデル は入力と出力候補の編集距離をもとに計算することが多いです(他に共起頻度やクリックログを利

  • 機械学習超入門 〜そろそろナイーブベイズについてひとこと言っておくか〜 - EchizenBlog-Zwei

    最近では機械学習の認知度も上がってきていて専門家でなくてもナイーブベイズやSVMなどの名前を知っている人も増えてきたように思う。 そんなわけでちょっと機械学習をはじめてみようかな、と思っている人も多いのではないだろうか。とはいえ「数式よくわからない」「確率嫌い」といった理由で尻込みしているケースも多いのでは。 そこで予備知識ゼロでもわかるような機械学習の入門記事を書いてみたよ。 機械学習を「作りたい」のか「使いたいのか」 まず最初に確認したいのがこれ。使いたいだけならまずはSVMを使ってみれば良い。世の中にはlibsvmやsvmlightという良いツールがあるのでそれを使おう。以下の記事は機械学習を「作りたい」「仕組みを知りたい」人向けの内容になっている。 「最も簡単な機械学習はナイーブベイズ」という幻想 機械学習といえばナイーブベイズという話がよくある。ナイーブ(単純)という名前からいか

    機械学習超入門 〜そろそろナイーブベイズについてひとこと言っておくか〜 - EchizenBlog-Zwei
  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改