タグ

algorithmに関するiqmのブックマーク (39)

  • 一般向けのDeep Learning

    PFI 全体セミナーで発表した、専門家向けではなく一般向けのDeep Learning(深層学習)の解説です。どのような場面で活躍しているのか、今までの学習手法と何が違うのかを解説しています。Read less

    一般向けのDeep Learning
  • 計量学習を用いた画像検索エンジンとアニメ顔類似検索v3について - デー

    まだgithubにはpushしていないのですが、さいきょうの組み込み型画像検索エンジンotamaに計量学習を用いて与えられたデータにあった画像間の距離関数を学習してそれを使って検索するというドライバを入れたので、先行的なデモとしてアニメ顔類似検索v3を作ってみました。 計量学習は、ベクトル間の距離の計り方を機械学習で決めるみたいな分野です。 アニメ顔類似検索v3 AnimeFace Search v3 - Otama LMCA_VLAD_HSV Driver randomボタンを押すと顔画像がランダムに出るのでどれかクリックするとそれをクエリに検索します。color weightは色の重みを調節するパラメーターで、1にすると色だけで検索します。0にすると形状やテクスチャだけで検索します。結果画像の上の数字は類似度的なもので、その横のgglは元画像をGoogle Search by Imag

  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • livedoor Techブログ : decision tree (決定木) でユーザエージェント判定器を作ってみる

    アクセスログのユーザエージェント(UA)からブラウザを判別するのって,みんな何使ってますか? 自分が作ったアクセス解析システムでは HTTP::BrowserDetect と HTTP::MobileAgent にそれぞれ独自パッチをあてたものを使っています。これらはルールベースの判定器なので,新しいブラウザや新種の bot が登場するたびに手作業でルールを追加し,パッチを作って配布するという作業が必要になります。 この更新作業が大変面倒くさくて対応が遅れがちになるので,「このUA文字列はこのブラウザですよ、という例を大量に与えたら、自分で勝手に判定ルールを学習してくれるようになったら便利なのになぁ」と思い,decision tree (決定木)を使ってみることを思い立ちました。 目標は, "Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1

  • ベクトル量子化 - デー

    はてブのコメントを見たのと、僕もbag of keypoints関係の論文を見たときに一瞬で分かったつもりになってそれを信じ続けていたけど不安になったのでググったところ別に間違ってもいなさそうだったので、ここでたまに書いてるベクトル量子化とは何かという話とそれをなぜ使っているのかという話を。(僕なりに) 僕がベクトル量子化と言ったときには、単純には 入力ベクトル→クラスラベル(スカラ) への変換を指している。あらかじめ、K個のクラス(グループ)を定義しておいて、入力ベクトルがどのクラスに属するか推定を行って、属するクラスの番号に変換してしまう。これによって、どんな入力ベクトルも(int)1〜Kのスカラ値に変換できる、というかかなり大雑把だけどそういうことにしてしまう。 具体的な例としては、 まず入力ベクトルとして想定されるデータを適当に集めてそれをk-meansでクラスタリングする。データ

    ベクトル量子化 - デー
  • 富士通研、固有名詞抽出の規則を自動生成することで精度を高めた抽出技術 - Enterprise Watch

    株式会社富士通研究所は11月24日、文章中から固有名詞を高精度で抽出する技術を開発したと発表した。同社によると、従来の抽出手法と比べて、抽出ミスの数を60%近く減少するのに成功したとしている。 今回開発されたのは、「固有名詞辞書の自動生成手法」と「生成した辞書を用いる抽出技術」。固有名詞辞書の自動生成手法は、固有名詞抽出時の学習フェーズで用いられる。もうひとつの抽出技術は、抽出フェーズで用いられる。 学習フェーズでは、前後の単語から得られる文脈情報を用いる規則のほか、複数の固有名詞が辞書に登録されている場合に対処する規則を、正解事例をもとに生成。抽出フェーズでは、学習フェーズで作成した固有名詞抽出規則を用いて、文章から固有名詞を抽出する。 大量の文章をキーワード検索する場合、人名・地名の区別がうまくできず無関係な検索結果が表示されることが多く、必要な情報を見つけられないという問題があった。

  • 日本テレビ東京で学ぶMeCabのコスト計算 | mwSoft

    今回はこの言葉の解析をMeCab+NAIST辞書にお願いして、結果を分析することで、MeCabが行っているコスト計算について勉強してみたいと思います。 とりあえず実行してみる さっそくMeCabに「日テレビ東京」を解析してもらいましょう。 $ echo 日テレビ東京 | mecab 日 名詞,固有名詞,地域,国,*,*,日,ニッポン,ニッポン,, テレビ東京 名詞,固有名詞,組織,*,*,*,テレビ東京,テレビトウキョウ,テレビトーキョー,, EOS 「日 | テレビ東京」と分けていますね。視聴率的には負けていますが、NAIST辞書的には日テレビよりもテレビ東京が優先されたようです。 ちなみに「フジテレビ東京」ではどうなるでしょうか。 $ echo フジテレビ東京 | mecab フジテレビ 名詞,固有名詞,組織,*,*,*,フジテレビ,フジテレビ,フジテレビ,, 東京 名詞,

  • YAPC::Asia 2009 1日目 「Perlで圧縮」の資料 - naoyaのはてなダイアリー

    1日目の発表を終えました。資料を公開します。 Perlで圧縮View more presentations from Naoya Ito. 発表の方は少し駆け足になってしまいました。明日ははてなブックマークのシステム事例の話をしたいと思います。 発表の様子 via: http://yapcasia2009.ficia.com/

  • Cerevo TechBlog - (株)Cerevoの中の人が書く、様々な技術情報を発信するBlog.

    2017年から始まったオウンドメディア、カデーニャファクトリー。2018年からカデーニャカンパニーとしてリニューアルして、現在も、家電Watchで毎週連載中のハードウェアスタートアップ企業を舞台にした、事実に基づいたフィ […]

    Cerevo TechBlog - (株)Cerevoの中の人が書く、様々な技術情報を発信するBlog.
  • 一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録

    一番右端の立っているビット位置(RightMostBit)を求めるコードで速いのないかなーと探していたら、ものっっっすごいコードに出会ってしまったのでご紹介。2ch のビット演算スレで 32bit 値のコードに出会って衝撃を受けて、その後 64bit 値版のヒントを見つけたのでコードを書いてみました。 この問題は ハッカーのたのしみ―物のプログラマはいかにして問題を解くか (Google book search で原著 Hacker's delight が読めたのでそれで済ませた) で number of trailing zeros (ntz) として紹介されています。bit で考えたときに右側に 0 がいくつあるかを数えるもの。1 だと 0、2 だと 1、0x80 なら 7、12 なら 2 といったぐあい。0 のときに表題どおりの問題として考えるといくつを返すの?ってことになるので、

    一番右端の立っているビット位置を求める「ものすごい」コード - 当面C#と.NETな記録
  • 適切なクラスタ数を推定するX-means法 - kaisehのブログ

    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のデータマイニングツー

    適切なクラスタ数を推定するX-means法 - kaisehのブログ
  • ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室

    ゲームの作り方とアルゴリズムをジャンル別にまとめてみました。ゲーム制作や、プログラミングの勉強用にご活用ください。言語別ゲームプログラミング制作講座一覧もあわせてお読みください。 リンク切れがおきていたものは、URLを表示しておくので、Internet Archiveなどでキャッシュを表示させてみてください。 RPG ゲームの乱数解析 乱数を利用した敵出現アルゴリズムの解説 各種ゲームプログラム解析 FF、ドラクエ、ロマサガのプログラムの解析。乱数の計算など ダメージ計算あれこれ(http://ysfactory.nobody.jp/ys/prg/calculation_public.html) ダメージの計算式 エンカウントについて考えてみる エンカウント(マップでの敵との遭遇)の処理方法いろいろ RPGの作り方 - ゲームヘル2000 RPGのアルゴリズム ドルアーガの塔 乱数の工夫の

    ジャンル別ゲームの作り方とアルゴリズムまとめ - ネットサービス研究室
  • 開発チームが明かす、Google Waveの実装概要 - @IT

    2009/06/01 グーグルが発表した新しいコミュニケーションプラットフォームの「Google Wave」が大きな反響を呼んでいる。技術的な詳細がかなり明らかにされているので、何が可能かはだいたい予想ができそうだが(だからこそ発表時に会場を埋めていた4000人あまりの聴衆は興奮のあまり立ち上がって喝采を送ったのだが)、誰も想像できなかったようなキラーアプリケーションが登場するのかどうか、あるいはWave自体がキラーアプリケーションなのか、それはまだ誰にも分からない。 レポート記事(【詳報】Google Waveとは何なのか?)への反響を見ると、さまざまな疑問を感じている人がいる。そこでここでは、直接Waveのプロジェクトリーダーに話を聞いたり、別セッションで開発チームが行った説明、およびオンラインドキュメントから読み取れたことなど、いくつか追加情報をまとめたい。ちなみに、Google I

  • アルゴリズムイントロダクション第24章 単一始点最短路問題 - naoyaのはてなダイアリー

    アルゴリズムイントロダクションの輪講で、第24章の単一始点最短路問題を担当しました。発表に使った資料を以下にアップロードしました。 http://bloghackers.net/~naoya/ppt/090622_shortest_paths.ppt SlideShare はこちら。フォントの関係でグラフが崩れたりしているので、ppt で参照した方が見やすいかと思います。 Introduction to Algorithms#24 Shortest-Paths ProblemView more OpenOffice presentations from Naoya Ito. 単一始点最短路問題は、重み付き有向グラフの最短路木を求める問題です。各頂点に最短路重みを記録するのですが、はじめに各頂点の重みを∞として、「緩和」と呼ばれる操作により徐々に頂点の重みを最短路重みに近づけていく、というの

    アルゴリズムイントロダクション第24章 単一始点最短路問題 - naoyaのはてなダイアリー
  • RE: Imager::AnimeFaceを使ってみた簡素な感想。 - デー

    # うまく認識してくれない画像を眺めてたところ、どうも眼の位置に微妙に肌の色と違う部分があると(例えば頬が赤く染まってたりすると)そこを眼として認識してしまう気がする。 * 横顔も認識する?と思ったら、鼻の上の空間を眼として認識してたりとか。 * 両目の色が同じとして探す→候補がない場合は両目の色が違う、みたいな感じにしたほうが認識精度は上がりそう。そのかわりオッドアイなキャラの認識が悪くなるのかもしれないけど……。 # 眼の位置はともかく、鼻と顎の位置を見つける精度はあまり高くないみたいなので、その位置パターンを利用するのはちょっと難しいかもしれない。 * 顔の向きのチェックができるかなとか思ってたんだけど。眼の形から判断したほうがいいのかもね。 http://asakura.g.hatena.ne.jp/asakura-t/20090522 コメント欄に書こうかと思ったけれど、僕の説明

    RE: Imager::AnimeFaceを使ってみた簡素な感想。 - デー
  • アニメ顔の色情報に基づいた画像検索のデモ - デー

    Imager::AnimeFaceを使ったちょっとした応用例として画像検索のデモを作りました。 Imager::AnimeFaceを知らない方は Perlでアニメ顔を検出&解析するImager::AnimeFace - デーを参照してください。 ウェブサービスとしてではなく、デモやサンプルの意図で作っていて、方針としては、 Imager::AnimeFaceで得られる情報以上のことは考えない 難しいことは無視して簡単に作る(コーディング1日〜2日で作れる程度) です。Imager::AnimeFaceから得られる色情報はオマケみたいなもので、検索に使うには情報量が少なすぎる気がしますが、これくらいはできるよ!というデモになります。 この記事ではデモと同等のものを実装するに必要なアルゴリズム(DB作成と検索)について簡単に説明します。注意として、この記事ではPerlで解説しますが、デモの実装

    アニメ顔の色情報に基づいた画像検索のデモ - デー
  • Canonical Huffman Codes での符号長の効率的な計算 - naoyaのはてなダイアリー

    週末に参加した Managing Gigabytes の読書会で第2章のハフマン符号を担当しました。この中で Canonical Huffman Codes の解説がありますが、そこにハフマン符号の符号長を効率的に求める手法の説明が含まれています。 輪講では時間切れのためこのアルゴリズムの解説が駆け足になってしまいましたので、改めて解説資料を作ってみました。2009 年の今に Managing Gigabytes を読んでいるという方はあまり多くないかもしれませんが、参考になれば幸いです。 https://www.dropbox.com/s/539fhyc7rf6b9ik/090518computing_huffman_code_length.ppt?dl=0 (PPT, 258K) 先日 Canonical Huffman Codes の習作を Python で実装しましたが、このコード

    Canonical Huffman Codes での符号長の効率的な計算 - naoyaのはてなダイアリー
  • Canonical Huffman Codes - naoyaのはてなダイアリー

    1999年出版と少し古い書籍ですが Managing Gigabytes を読んでいます。理解のために 2.3 で出て来る Canonical Huffman Codes の習作を作りました。 ハフマン符号は情報圧縮で利用される古典的なアルゴリズムで、圧縮対象データに出現するシンボルの出現確率が分かっているときに、その各シンボルに最適な符号長の接頭語符号を求めるものです。 通常のハフマン符号はポインタで結ばれたハフマン木を構築して、ツリーを辿りながら各シンボルに対する接頭語符号を計算します。このハフマン木には曖昧な箇所が残されています。ハフマン木は木の辺を右に辿るか左に辿るかで符号のビットが決まりますが、右が 0 で左が 1 などというのはどちらでも良いという点です。(曖昧だから駄目、という話ではありません。) 従って、ハフマン木から生成される符号は一意には決まりません。 ここで各シンボル

    Canonical Huffman Codes - naoyaのはてなダイアリー
  • 1時間でわからせたコンシステントハッシュで仮想ノードが必要な理由 - 西尾泰和のはてなダイアリー

    ConsistentHashing - コンシステント・ハッシュ法 とあるチャットで聞かれて図まで書いて解説したのでもったいないからエントリー化。ちなみにチャットが1時間弱だったのでこういうタイトルにした。 で、Bが消えるとBの責任範囲が全部Dに押し付けられてDがかわいそうでしょ。 Dの仕事が増えるでしょ。Cとか暇そうじゃん!サーバを複数用意しているメリットが薄れてる。みんなが同じくらい働くのが望ましい。 で、Bが1個の点で表現されているから「Bの手前」もDの1個だけで、そのせいで全部Dが引き受けるはめになった。つまり、仕事が細かく分割されてなくて1個の塊だから引き継ぐ人も1人だけで引き継いだ人涙目。あらかじめ仕事を100分割しとけばみんなで分担して肩代わりできて幸せだよね。 だからサーバが5個だけど点は5個じゃなくて500個打とう。それが仮想ノード。 実装はどうするの?という質問に対して

    1時間でわからせたコンシステントハッシュで仮想ノードが必要な理由 - 西尾泰和のはてなダイアリー
  • 統計的に正しいランキングを行う方法 - Hello, world! - s21g

    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 ポジティブ/ネガティブ投票による正しいランキング方法が以下の記事で紹介されています。 How Not To Sort By Average Rating この計算方法では、投票数が少ない場合には分散が大きく不正確な評価で、 投票数が多くなるにつれて分散が小さく正確な評価が得られているという事を考慮しています。以下数式 これはScoreの信頼区間を表しています。 この信頼区間の下界をランキングのスコアにすれば良い事になります。 ここで、は、 です。全体に占めるポジティブ投票数の割合ですね。 は標準正規分布上の 信頼区間の有意確率です。 さて、五段階評価によるRatingに同様のテクニックを適用する場合はどうしたらいいでしょうか