タグ

アルゴリズムに関するlinoleumlのブックマーク (7)

  • 「言語処理のための機械学習入門」を参考に各種モデルに対するEMアルゴリズムを実装したよ - nokunoの日記

    Amazonにもレビューを書いたのですが、高村さんの「言語処理のための機械学習入門」を読みました。実はこのを読むのは2回目で、1回目はドラフト版のレビューをさせていただく機会があったのですが、そのときは「言語処理研究者のための機械学習入門」というタイトルで、ちょっと敷居が高いのではないかとコメントしたら「研究者」の部分が削られたという経緯があったりしました。 それはともかくとして、以前読んだときは時間もなくて実装までする暇はなかったのですが、今度はもうちょっとじっくり読みたいなということで、このブログに書いてみようと思います。EMアルゴリズムは教師なし学習を確率モデルと最尤推定でやろうとするときに必ず出てくる手法で、隠れ変数や欠損値を含む色々なモデルに適用できる汎用的なフレームワークになっています。一般的には混合ガウス分布の場合をまず説明して、それがk-means法の一般化した形になって

  • EM アルゴリズム実装(勉強用) - 木曜不足

    最近忙しくて*1、PRML の予習が滞り中。 しかし、次の PRML 読書会に徒手空拳で行ったら、気持ちよく昇天してしまいそうなので、なんとか頑張って読んでみる。 EM アルゴリズムは何となくわかるが、変分ベイズがわからん…… というわけで、Old Faithful の混合正規分布での推論を K-means と EM と変分ベイズについて、Rで実装してみる。 K-means Old Faithful + K-means については、すでに 前回の記事でお試し済み。 その記事では、イテレーションを1行で書いてネタっぽくしてしまってたので、わかりやすく整理したのが以下のコード。 距離を取るところは少し変えて短くしてある。 # Old Faithful dataset を取得して正規化 data("faithful"); xx <- scale(faithful, apply(faithful,

    EM アルゴリズム実装(勉強用) - 木曜不足
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • Latent Semantic Indexing - naoyaのはてなダイアリー

    情報検索におけるベクトル空間モデルでは、文書をベクトルとみなして線形空間でそれを扱います。この文書ベクトルは、文書に含まれる単語の出現頻度などを成分に取ります。結果、以下のような単語文書行列 (term document matrix) が得られます。 d1 d2 d3 d4 Apple 3 0 0 0 Linux 0 1 0 1 MacOSX 2 0 0 0 Perl 0 1 0 0 Ruby 0 1 0 3 この単語文書行列に対して内積による類似度などの計算を行って、情報要求に適合する文書を探すのがベクトル空間モデルによる検索モデルです。 見ての通り、単語文書行列の次元数は索引語の総数です。文書が増えれば増えるほど次元は増加する傾向にあります。例えば索引語が100万語あって検索対象の文書が 1,000万件あると、100万次元 * 1,000万という大きさの行列を扱うことになりますが、単

    Latent Semantic Indexing - naoyaのはてなダイアリー
  • Hadoop を使うべき場合・使うべきでない場合 - 武蔵野日記

    id:ny23 さんが動的ダブル配列を使って Wikipedia のテキスト処理を高速化なんてのを書いている。たぶんこれのエントリを見る前にMapReduce と四身の拳を見た方がコンテクストが分かると思う。Hadoop 使ってなんでもできそう! Hadoop の勉強したい!なんて思っている人は読んでみるとよい。 自分の考えについて書いておくと、自分は誰も彼も Hadoop 使いたがる状況には辟易している。ほとんどの人には不要なはずだし、そもそも Hadoop は(ny23 さんも書かれているが)メモリに乗り切らない大規模データを扱いたいときに効力を発揮するのであって、メモリに乗り切るくらいのサイズであれば、データ構造を工夫したり適切なアルゴリズムを選択した方が遥かによい(id:tsubosaka さんも実験されていたが)。たとえデータが大規模であったとしても、たとえば形態素解析なんかのタ

    Hadoop を使うべき場合・使うべきでない場合 - 武蔵野日記
  • 大規模データ処理のための行列の低ランク近似 -- SVD から用例ベースの行列分解まで -- - 武蔵野日記

    id:naoya さんのLatent Semantic Indexing の記事に触発されて、ここ1週間ほどちょくちょく見ている行列の近似計算手法について書いてみる。ここでやりたいのは単語-文書行列(どの単語がどの文書に出てきたかの共起行列)や購入者-アイテム行列(どの人がどのを買ったかとか、推薦エンジンで使う行列)、ページ-リンク行列(どのページからどのページにリンクが出ているか、もしくはリンクをもらっているか。PageRank などページのランキングの計算に使う)、といったような行列を計算するとき、大規模行列だと計算量・記憶スペースともに膨大なので、事前にある程度計算しておけるのであれば、できるだけ小さくしておきたい(そして可能ならば精度も上げたい)、という手法である。 行列の圧縮には元の行列を A (m行n列)とすると A = USV^T というように3つに分解することが多いが、も

    大規模データ処理のための行列の低ランク近似 -- SVD から用例ベースの行列分解まで -- - 武蔵野日記
  • TechCrunch | Startup and Technology News

    Meta has been banned from launching features on Facebook and Instagram that would have collected data on voters in Spain using the social networks ahead of next month’s European Elections.…

    TechCrunch | Startup and Technology News
  • 1