Hey—we've moved. Visit The Keyword for all the latest news and stories from Google

東工大の奥村先生監修、高村先生著の「言語処理のための機械学習入門」が発売されました。これは読まなければ!と思い、さっそく手に入れました。本書の感想は本当にシンプルな一言に尽きます。 「大学時代にこの本がほしかった。。。」 本書の目次の中見出しまでを以下に引用させていただきます。 言語処理のための機械学習入門 (自然言語処理シリーズ 1) 高村 大也 1. 必要な数学的知識 1.1 準備と本書における約束事 1.2 最適化問題 1.3 確立 1.4 連続確率変数 1.5 パラメータ推定法 1.6 情報理論 1.7 この章のまとめ 2. 文書および単語の数学的表現 2.1 タイプ、トークン 2.2 nグラム 2.3 文書、文のベクトル 2.4 文書に対する前処理とデータスパースネス問題 2.5 単語ベクトル表現 2.6 文書や単語の確率分布による表現 2.7 この章のまとめ 3. クラスタリン
thriftとかhadoopなど,何やらいろいろと手を出してしまい,ここのところブログの更新が滞ってしまっていますが,今日は前から書きたかったトピックについて自分へのメモの意味も含めて記しておきたいと思います. はじめに 最近,といっても結構前からなのですが,海外のブログなどで「機械学習の勉強を始めるガイドライン」についてのエントリーがいくつか見られ,かつ,議論も少し盛り上がっています.僕は機械学習が好きなだけで,専門というにはほど遠いのですが,僕も一利用者としてはこのトピックに関してはとても興味があります. 機械学習というと,色々な数学的な知識が必要であったり,統計学や人工知能の知識も必要になったりしまったりと,専門的に学ぶ機会が無かった人にとっては興味が湧いてもなかなか始めるには尻込みしてしまうことかと思います.今日紹介するエントリーは,そんな方々にヒントになるような内容になっていると
ConsistentHashing - コンシステント・ハッシュ法 目次 この文書について コンシステント・ハッシュ法 実例 実装 用途 コンシステント・ハッシュ法 この文書について "Tom White's Blog: Consistent Hashing" の日本語訳です. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 原文のライセンス: http://creativecommons.org/licenses/by-nc-sa/2.0/ 私は今までに何度かコンシステント・ハッシュ法にとりくんだことがある。 このアイデアをあらわした論文 ( David Karger らによる Consistent Hashing and R
JAVAでデータマイング! 『情報工学の難しいそうなアルゴリズムをJAVAで実装して、ひたすらその結果を公開する』ブログになる予定。 PR Calendar <<March>> S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Theme NaiveBayes ( 2 ) スムージング ( 0 ) はじめに ( 1 ) 計算テクニック ( 0 ) 外れ値除去 ( 0 ) LSH ( 4 ) 協調フィルタリング ( 0 ) ブースティング ( 0 ) Kmeans ( 0 ) 階層的クラスタリング ( 2 ) EMアルゴリズム ( 0 ) BM ( 0 ) SVD ( 0 ) PLSI ( 0 ) LDA ( 0 ) パーセプトロン ( 0 ) A
超高速テキスト処理のための ゕルゴリズムとデータ構造 東京大学情報理工学系研究科* 岡野原 大輔 hillbig@is.s.u-tokyo.ac.jp NLP2010 チュートリゕル 2010 3/8@東京大学本郷キャンパス * 2010年4月から所属が (株)プリフゔードンフラストラクチャーになります。 内容 • 背景 – 自然言語処理と機械学習 • オンラン学習 – 教師有/無, 正則化 • 疎ベクトル々文字列データ構造 – 特徴情報の格納、全部分文字列情報 • 乱択化ゕルゴリズム – Hash Kernel, Randomized SVD 背景 大規模自然言語処理と機械学習 背景 • 利用可能な言語資源の急激な拡大 – ブログ, 掲示板, 商品情報, レビュー – Wikipedia, Google N-gram Corpus ~1010 語 – c.f. Penn TreeB
Bayesian Sets (Ghahramani and Heller, NIPS 2005)は Google Sets と同じようなことをベイズ的に行うアルゴリズムです。 いくつかアイテムを入れると, それを「補完する」ようなアイテムを 返してくれます。 これは NIPS の accepted papers が出た去年の8月から気になっていて, 本会議ではオーラルの発表もあって大体のやっていることはわかった ものの, 何と(本会議の時も!)論文がなく, 直接Hellerに連絡して もらえるように頼んでいたところ, Online proceedings の締切りがあった 時に連絡があって, 読めるようになりました。(リンクは下のページ参照) 岡野原君に先に 紹介 されてしまいましたが, 以下は, 岡野原君が書いていない話。 Bayesian Sets は, アイテム集合 D に対して,
都会よりも田舎が好きなfujisawaです。Bayesian Setsというアルゴリズムを使って、関連する文書を高速・高精度に検索できるシステムを作成しましたので、そのご紹介をさせていただきます。 Bayesian Setsとは Bayesian Setsはいくつかアイテムを入力すると、それを補完するようなアイテムを返してくれるアルゴリズムです。原著論文の先頭に"Inspired by Google Sets"と書かれているように、Google Setsを参考にして作成されています。実際にどのような出力が得られるか、Google Setsに以下の表のクエリを検索して試してみますと、 クエリ 出力 apple, banana chocolate, strawberry, vanilla, cherry, ... apple, macintosh software, windows, mac,
米国のオンラインDVDレンタルサービス「Netflix」が、現在利用しているレコメンデーションシステムの性能をはじめに10%改善したチームに100万ドルの賞金を与えるという触れ込みで始まったnetflix prizeは当初の予想よりも時間がかかったが、つい最近最初からトップを走り続けていたbellkorと、上位陣のコラボレーションのチームが10%の壁を破った(leaderboard)。 彼らの手法は「非常に多くの様々な種類のレコメンデーションシステムの結果を混ぜ合わせる」という愚直だがいかにも精度が出そうだという方法を採用している(、と昨年度の結果からは思われる。近々詳細は出るだろう。) 実際に使ってとどめになったかどうかは分からないが、彼らのチームの主要メンバーがKDDで新しい手法を発表しており、単一の手法による最高精度を達成している。ちなみに今年のKDD(データマイニング系の学会の最高
K-means法によるクラスタリングでは、あらかじめクラスタ数Kを固定する必要があります。HatenarMapsでもK-means法を使っているのですが、クラスタ数は(特に根拠もなく)200個に決め打ちになっていました。 これに対して、X-means法というK-means法の拡張が提案されていることを知りました。X-means法を使うと、データに応じて最適なクラスタ数を推定できます。 K-means and X-means implementations http://www-2.cs.cmu.edu/~dpelleg/download/xmeans.pdf X-means法の考え方は、K=2で再帰的にK-means法を実行していくというもので、クラスタの分割前と分割後でBIC(ベイズ情報量規準)を比較し、値が改善しなくなるまで分割を続けます。 調べたところ、Javaのデータマイニングツー
yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBはMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま
逆転検事を先日クリアして、久しぶりに逆転裁判1〜3をやり直そうか迷い中のfujisawaです。シンプルなデータクラスタリングツールを作成しましたので、そのご紹介をさせていただきます。 クラスタリングとは クラスタリングとは、対象のデータ集合中で似ているもの同士をまとめて、いくつかのグループにデータ集合を分割することです。データマイニングや統計分析などでよく利用され、データ集合の傾向を調べたいときなどに役に立ちます。 例えば下図の例ですと、当初はデータがゴチャゴチャと混ざっていてよく分からなかったのですが、クラスタリングすることで、実際は3つのグループのデータのみから構成されていることが分かります。 様々なクラスタリング手法がこれまでに提案されていますが、有名なところではK-means法などが挙げられます。ここでは詳細については触れませんが、クラスタリングについてより詳しく知りたい方は以下の
Webの全体像を効率よく取り込み,分類する 「YSTのシステムは大まかに三つの機能に分かれます(図2)。最初は世界中のWebページをYSTのシステムに取り込む『クローリング(crawling)』という機能です」(Yahoo! JAPAN,リスティング事業部 検索企画室の宮崎光世氏,以下同)。 取り込むと簡単に言っても,Webページの数は膨大なうえ,更新の頻度や情報の質などがまちまちです。すべてのページに同じようにアクセスしていると非効率なことこの上ありません。そこで,限られた時間で質の良い検索ができるようにするための工夫をしています。例えば,クローリングを繰り返すうちに頻繁に更新されることがわかったページは短いサイクルでチェックし,ほとんど更新のないページはチェックの頻度を落とす,といったことをしているそうです。 ただ,更新の頻度が単に高いだけではダメです。重要性が高いと考えられるWebサ
Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling.[1] The algorithm mainly encodes consonants; a vowel will not be encoded unless it is the first letter. Soundex is the most widely known of all phonetic algorithms (in part becaus
集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ
GoogleのFellowであるJeffrey Dean氏のWSDM'09における講演"Challenges in Building Large-Scale Information Retrieval Systems"のスライドを翻訳してみました。Googleの検索システムの10年間の進化の軌跡が紹介されており、興味深い話が満載です。個人的にはディスクの外周部と内周部を使い分けている話がツボでした。なお、イタリック体で一部解説・感想をいれています。翻訳は素人なので詳しくは元の資料を参照してください。 スライドの入手元:Jeffrey Dean – Google AI 検索システムに取り組む理由 チャレンジングなサイエンスとエンジリアニングのブレンド 多くの魅力的な未解決な問題が存在する。 CS(コンピュータサイエンス)の多数の領域にまたがる。 アーキテクチャ、分散システム、アルゴリズム、圧
This is the companion website for the following book. Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008. You can order this book at CUP, at your local bookstore or on the internet. The best search term to use is the ISBN: 0521865719. The book aims to provide a modern approach to information retrieval from a co
先日購入したBen FryのVisualizing Dataとあわせて買ってみた、Programming Collective Intelligence: Building Smart Web 2.0 Applications という本もかなりよさげ。 端的にいうとWEB2.0コンテンツ用に特化した、統計解析の理論とアルゴリズムの解説本。 いわゆる「これを買った人はこれを買ってます」を筆頭に、市場予測やスパム抽出、特徴データのグルーピングなど、集合知を抽出するアルゴリズムが大集合してる感じです。各アルゴリズムの原理の説明から、シンプルな自力実装までが書いてある感じっぽい。こういう系は数式だけあって理解不能か、動作がライブラリに隠蔽されてて理解不能で手が出せなかったけど、この本あれば大分理解できそう。以下、乗ってる内容メモ。 ・Amazon的なリコメンドのしくみ ・データのグループ化(クラス
2007年に読んだ本を紹介するのが流行っているようなので、便乗して一冊紹介します。とは言っても自分が紹介するのは 2007年発売の本ではなく、2000年に出版された書籍です。 思考する機械コンピュータ (サイエンス・マスターズ) 作者: ダニエルヒリス,W.Daniel Hillis,倉骨彰出版社/メーカー: 草思社発売日: 2000/10/01メディア: 単行本購入: 5人 クリック: 62回この商品を含むブログ (28件) を見る 内容の方は、ブール代数と論理回路にはじまり有限状態機械、チューリングマシン、アルゴリズムとヒューリスティクス、量子コンピュータ、並列計算機、遺伝的アルゴリズムまで、近年のコンピュータサイエンスの大枠をわずか 278 ページで解説するとともに、なぜその概念が問題解決に必要なのか、またその技術の応用の結果、どのような未来が待っているを述べる読み物的な書籍です。コ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く