タグ

algorithmに関するtokadaのブックマーク (146)

  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • IIR輪講@はてな - Tous Les Jours 攻防記

    IIR輪講@はてなで、第2章(The term vocabulary and postings lists)を担当してきました。 作成した駄訳とスライド資料を置いときます〜。ご自由に利用いただいてかまわないです。 第2章で登場したアルゴリズムのうち、[postings list intersection via skip pointer]と[positional postings list] について、Rubyで実装してみました(訳文内に載せてあります)。 第2章邦訳(The term vocabulary and postings lists) 発表スライド(OpenOffice Impressフォーマット) 原文はこちら: http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html

    IIR輪講@はてな - Tous Les Jours 攻防記
  • Aho Corasick 法 - naoyaのはてなダイアリー

    適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析Wikipediaはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと

    Aho Corasick 法 - naoyaのはてなダイアリー
  • Home

    The Chord project explored how to build scalable, robust distributed systems using peer-to-peer ideas. The basis for much of our work is the Chord distributed hash lookup primitive. Chord is completely decentralized and symmetric, and can find data using only log(N) messages, where N is the number of nodes in the system. Chord's lookup mechanism is provably robust in the face of frequent node fail

    Home
  • yohei-y:weblog: CAP と BASE について調べたこと

    時系列で 1990年代後半: Eric Brewer (UCB)が inktomi でいろいろ作る CAPとBASEの基礎ができる http://www.ccs.neu.edu/groups/IEEE/ind-acad/brewer/ 2000年7月19日: Eric Brewer が PODC (Principles of Distributed Computing) の基調講演で CAP 定理?と BASE を発表 CAP は Brewer 予測として知られるようになる この時点で、inktomiと同等スケールのWebサービスの問題に対処していた人はあまりいなかったのかもしれない 2002年 MIT の Seth Gilbert と Nancy Lynch が CAP を形式化 ここで Brewer の CAP が晴れて定理となった この間、よくわからず 2007年-: eBay の

  • EventuallyConsistent - 結果整合性

    EventuallyConsistent - 結果整合性 目次 この文書について 結果整合性 歴史の話 クライアント側の整合性 サーバ側の整合性 まとめ 結果整合性 この文書について Werner Vogels "Eventually Consistent" の日語訳です. http://www.allthingsdistributed.com/2007/12/eventually_consistent.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 近年, データ複製の文脈で 結果整合性(eventual consistency) に関する議論が盛んだ. この記事では大規模データの複製における原則や抽象, 高可用性とデータ整合性のトレードオフに関する話題をいくつか集めてみたいと思う. 現在進行中の分野であり, 全ての定義が最初から明快であるとは思わないでほ

  • yohei-y:weblog: CAPのCとACIDのC

    CAP 定理と BASE の概念を考えたのは UCB の Brewer 先生で、彼は inktomi の偉い人だったというのは前回述べた。 当時のinktomiはYahoo!Microsoft、それにgooにも検索エンジンを提供していて、1億以上のWebページ(テラバイト級のデータ)を扱っていたようだ。 手元のWEB+DB PRESS Vol.49 のはてなブックマークリニューアル記事によると、現在のはてなブックマークは1160万URLと100GBのHTMLデータ(圧縮済み)を扱っているらしいので、ざっくりいって98年の時点でinktomi は現在のはてブの10倍のデータを扱っていたといってもいい。inktomiで使っていたコンピュータの性能は現在のPCサ ーバに比べれば1/10程度の性能なので、システム全体でみると現在のはてブの100倍の規模になるだろうか。 結果的には、inktom

  • 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー

    昨日 最長共通部分列問題 (LCS) について触れました。ついでなので編集距離のアルゴリズムについても整理してみます。 編集距離 (レーベンシュタイン距離, Levenshtein Distance) は二つの文字列の類似度 (異なり具合) を定量化するための数値です。文字の挿入/削除/置換で一方を他方に変形するための最小手順回数を数えたものが編集距離です。 例えば 伊藤直哉と伊藤直也 … 編集距離 1 伊藤直と伊藤直也 … 編集距離 1 佐藤直哉と伊藤直也 … 編集距離 2 佐藤B作と伊藤直也 … 編集距離 3 という具合です。 編集距離はスペルミスを修正するプログラムや、近似文字列照合 (検索対象の文書から入力文字にある程度近い部分文字列を探し出す全文検索) などで利用されます。 編集距離算出は動的計画法 (Dynamic Programming, DP) で計算することができることが

    編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー
  • Locality Sensitive Hashing に挑んでみた - download_takeshi’s diary

    久々のエントリです。 Locality Sensitive Hashing を perl で使うためのモジュールを書いてみました。Algorithm::LSHと名付けました。 先ほどDeveloper ReleaseとしてCPANにあげましたが、反映されるまで時間かかるので、興味ある方はcodereposからみてください。 Algorithm::LSH CPAN: http://search.cpan.org/~miki/Algorithm-LSH/ coderepos: http://coderepos.org/share/browser/lang/perl/Algorithm-LSH 超アルファバージョンな状態ですが、そのうちgithubにもupする予定。 そうそう、そう言えば WEB+DB PRESS Vol.49 にレコメンドエンジンの特集があって、その中に偶然にもLocality

    Locality Sensitive Hashing に挑んでみた - download_takeshi’s diary
  • ダイクストラ法, 貪欲アルゴリズム - naoyaのはてなダイアリー

    現実逃避をしながらウェブを眺めていたら ダイクストラ法(最短経路問題) にたどり着きました。単一始点最短路問題におけるダイクストラ法の解説です。 何を思ったのか、図を眺めていたところ動かしたい衝動に駆られて、気付いたらパワポでアニメーションができていました。 http://bloghackers.net/~naoya/ppt/090319dijkstra_algorithm.ppt 実装もしてみました。隣接ノードの表現は、ここではリストを使いました。 #!/usr/bin/env perl use strict; use warnings; package Node; use base qw/Class::Accessor::Lvalue::Fast/; __PACKAGE__->mk_accessors(qw/id done cost edges_to prev/); package Q

    ダイクストラ法, 貪欲アルゴリズム - naoyaのはてなダイアリー
  • FrontPage - BayesWiki

    お知らせ † ベイズウィキの置き場をNAIST(http://hawaii.aist-nara.ac.jp/~shige-o/pukiwiki/index.php) から京都大学のサーバー上 (http://hawaii.sys.i.kyoto-u.ac.jp/~oba/bayeswiki/index.php)に移動しました. 2008/08/01 スパム対策に設置した併設会議場のほうのスパムがひどくなってきたので、 スパム対策を強化した家pukiwiki のほうをメインとするべく整備中です。 2007/05/18 コメントスパム対策のために、合言葉を設定しました。 コメントを書き込むときには お名前欄に自分のハンドル名とともに bayes と半角英字で書き込む ようにして下さい。 2007/05/09 投稿や編集にパスワードを要求するようにしました。 ユーザー名、パスワードともに英小文

    tokada
    tokada 2009/03/19
    ベイズウィキ
  • Google Matt Cutts、アルゴリズム変更について説明 - 信頼や権威、評判を重視 ::SEM R (#SEMR)

    Google Matt Cutts、アルゴリズム変更について説明 - 信頼や権威、評判を重視 Googleの社員・Vince氏がかかわった検索ランキングアルゴリズムの変更(Vince's algo Change)について、Matt Cuttsが動画で解説をした。権威や評判、PageRankをより重視。 公開日時:2009年03月11日 09:11 米GoogleのMatt Cutts氏は2009年3月4日、Google Webmaster Central Channel にて、最近のGoogleランキングアルゴリズムの変更について動画で説明を行った。 Is Google putting more weight on brands in rankings? この話題は、ブログ「SEO Book」のAaron Wall氏が「Googleは検索ランキングにおいてブランドを従来よりも重視するように

    Google Matt Cutts、アルゴリズム変更について説明 - 信頼や権威、評判を重視 ::SEM R (#SEMR)
  • ConsistentHashing - コンシステント・ハッシュ法

    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

  • Confidence Weighted Linear Classificationを読んだ - 射撃しつつ前転 改

    ICML2008で発表されたDredzeらのConfidence Weighted Linear Classificationを読んだ。これは線形分類器を学習する新しいオンライン学習型アルゴリズムの提案である。すぐに使える実装としてはOLLというオープンソースのライブラリがあり、実際に良い実験結果が出ているようだ。 Confidence Weightedのアイデアは、よく出てくる素性に関しては一回の更新における数値の変更量を減らしてやり、あまり出てこない素性に関しては、一回の更新でぐっと値を変更してやろう、というものである。 こういった新しい更新方法を考案した動機を明らかにするために、Perceptronを使って、単語を素性として評判分類の学習を行うような問題を考えてみる。肯定的な評価のサンプルとして"I liked this author."というものがあったとすると、このサンプルの分類

    Confidence Weighted Linear Classificationを読んだ - 射撃しつつ前転 改
  • 糞ネット弁慶

    糞ネット弁慶 日声優統計学会/声優統計についてはこちら

  • グラフ理論のサイトと書籍のご紹介 - salmonsnareの日記

    はじめに [更新: 2013/4/22]いくつか更新しました。 [/更新] §1では、グラフ理論のWWW上の資料で「これは良かった。役に立った。」と思えるものをご紹介します。 どちらかというと、グラフアルゴリズムより数学としてのグラフ理論を意識した資料を選びました。 §2では、グラフアルゴリズム等を含むより専門的な書籍をご紹介します。 1. グラフ理論のサイト Reinhard Diestel, Graph Theory Electronic Edition http://diestel-graph-theory.com/basic.html ディーステル先生のグラフ理論のテキストのpdf版です。基礎から応用まで丁寧に書いてあります。 応用についてはほとんど書かれておりませんが、その分数学的な色彩が強いです。 目次 1. The Basics: グラフの基礎です。次数やパス等の基的な定

    グラフ理論のサイトと書籍のご紹介 - salmonsnareの日記
  • 大規模データを基にした自然言語処理 - DO++

    人工知能問題研究会 (SIG-FPAI)でタイトルの題目で一時間ほど話してきました。 発表資料 [pptx] [pdf] 話した内容は - 自然言語処理における特徴ベクトルの作り方と、性質 - オンライン学習, Perceptron, Passive Agressive (PA), Confidence Weighted Learning (CW) 確率的勾配降下法 (SGD) - L1正則化, FOLOS - 索引を用いた効率化, 全ての部分文字列を利用した文書分類 で、スライドで70枚ぐらい。今までの発表とかぶっていないのはPA CW SGD FOLOSあたりでしょうか オンライン学習、L1正則化の話がメインになっていて、その両方の最終形の 確率的勾配降下法 + FOLOSの組み合わせは任意の損失関数に対してL1/L2正則化をかけながらオンライン学習をとても簡単にできるという一昔前

    大規模データを基にした自然言語処理 - DO++
  • 人工知能基本問題研究会(SIG-FPAI)での岡野原さんの発表のときに取ったメモ - yasuhisa's blog

    hillbig.cocolog-nifty.com ということで僕が取ったメモも出してみようと思う。内容としては大体3つで オンライン学習 L1正則化 索引を用いた効率化, 全ての部分文字列を利用した文書分類 という感じだったんだけど、最後の索引の付近はid:syou6162の勉強不足によりよく分からなかった。が、最初の二つはなんとか付いていけたので、出してみます。主に自分用のメモですが。 オンライン学習自然言語処理のデータは3つの特徴がある。 高次元 疎 冗長 で、あとはデータがばかでかいので、いわゆるバッチ処理だとメモリに乗り切らなかったりとかということがある。それでオンライン学習というのが今よく使われているようだ。オンライン学習の方法には下のような方法がある。簡単なものから難しいものへ。 perceptron 自然言語処理と相性がよい 色んなもののベースになる 線形分離できるときには

    人工知能基本問題研究会(SIG-FPAI)での岡野原さんの発表のときに取ったメモ - yasuhisa's blog
    tokada
    tokada 2009/03/14
    オンライン学習について
  • 【人工知能】物理エンジンで人工生命つくって学習させた

    運動学習させました。この仮想生物が試行錯誤をして動き方を学習しました。この動画はマルチエージェント進化シミュレータのanlifeを開発していたときに作りました。2020/10/4 追記この後作ったゾンビを宮崎駿監督にみていただいたところが2016年にNHKで放送され一部話題になりました。2016年超会議での超人工生命の生放送企画を経て、ドワンゴにて新たな人工生命を開発することに→ リリース後半年でサービスクローズ人工生命を作る会社を立ち上げました→ https://attructure.com/

    【人工知能】物理エンジンで人工生命つくって学習させた
  • モンテカルロ囲碁 - 朱鷺の杜(IBIS)ブログ

    しばらく研究会や講演会からごぶさたしていましたが,今日産総研で以前から噂には聞いていた モンテカルロ囲碁の講演があったのでメモ. (FC2ブログは1ヶ月更新しないと宣伝が入るという事情もありますが) 機械学習とからめて検索したらこちらでも少し前に話題になっていたようです. 詳しい情報はそちらで解説されているのでここでは単に感想や今日の講演で質疑で得られた情報だけ書いておきます. 講演者は以前電総研のゲームラボにも滞在されていた Martin Muller さんという方で,Fuegoというプロジェクトを進めていらっしゃいます. ポイントはモンテカルロと探索木のテクニックを組み合わせているところで,どちらかだけだと弱いということのようです. まあいろいろ工夫はあるのでしょうが,基的には単純な手法でよくこれだけ強くなれるものだなという印象です. モンテカルロと言っても,かなり原始的なモンテカル