[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

Algorithmに関するkhikerのブックマーク (20)

  • Neural networks and deep learning (ニューラルネットワークと深層学習)

    ニューラルネットワークと深層学習 What this book is about On the exercises and problems ニューラルネットワークを用いた手書き文字認識 逆伝播の仕組み ニューラルネットワークの学習の改善 ニューラルネットワークが任意の関数を表現できることの視覚的証明 ニューラルネットワークを訓練するのはなぜ難しいのか 深層学習 Appendix: 知性のある シンプルな アルゴリズムはあるか? Acknowledgements Frequently Asked Questions Sponsors Resources 「ニューラルネットワークと深層学習」は無料のオンライン書籍です。 このでは、次のような内容を扱います。 ニューラルネットワーク:コンピュータに、観測データにもとづいて学習する能力を与える、生物学にヒントを得たプログラミングパラダイム。 深

    Neural networks and deep learning (ニューラルネットワークと深層学習)
  • I Wrote The Fastest Hashtable

    I had to get there eventually. I had a blog post called “I Wrote a Fast Hashtable” and another blog post called “I Wrote a Faster Hashtable.” Now I finally wrote the fastest hashtable. And by that I mean that I have the fastest lookups of any hashtable I could find, while my inserts and erases are also really fast. (but not the fastest) The trick is to use Robin Hood hashing with an upper limit on

    I Wrote The Fastest Hashtable
  • 2016年のOSS圧縮ツール選択カタログ - Qiita

    まだgzipで消耗し(略) 2016年、人類が待ち望んでいた、gzipを圧倒するOSS圧縮ツールzstd(Zstandard)がリリースされたにも関わらず、なんかあんまり話題になっていなくて寂しいので、ちょろいかんじの賑やかし比較記事を書きました。圧縮ツールのカタログ的に眺めていただけるかと思います。 はじめに (この記事で言う)圧縮ツールとは何か 圧縮ツールという呼び名は正確ではない(はず)です。平たく言えば、gzipやbzip2、xz、lz4などですが、人によっては、tarの裏側としてしか使ってなくて、聞いたこともないかもしれませんね。そういうときはまずgzipのmanpageとか読んでください。 しかし、そういうツールを何と呼べばいいのかわからないので、ここでは圧縮ツールと呼んでいます。 ややこしいですが、アーカイバではありません。アーカイブとは実態が一つのファイルになっているフォル

    2016年のOSS圧縮ツール選択カタログ - Qiita
  • 【みんな】Caffeより手軽かつ高速! Cで書かれた必要十分な深層学習フレームワーク darknetを試す【意外と知らない】:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活

    チャオ! オレだ。 深層学習を手軽に使いたいというニーズは日に日に高まっているはずなのに、ガクシャ先生どもと来たら、やれMatlabだ、やれPythonだのと軟弱言語の話しかしやしねえ。どこかに気骨溢れたナイスガイはおらんのか! と思ったら、居た。 それが今回紹介するdarknetだ。 darknetという名前から想像する異常にダークである。 バーン どうよこのダークネス感 いまどき黒いページというのは珍しい。 そして無駄に凝った魔法陣のようなロゴ。ダークだ。 しかしダークネット、厨二満開とせせら笑っていられるのもいまのうちだ。 このダークネット、実に必要十分な機能を最短で試せる超絶優れたツールなのである。 CaffeやTensorFlowほどの知名度はないが、実用性皆無なTensorFlowに比べてdarknetはものすごく実用的。Cが分かる人ならばこれほど使いやすいものもちょっと他にな

    【みんな】Caffeより手軽かつ高速! Cで書かれた必要十分な深層学習フレームワーク darknetを試す【意外と知らない】:電脳ヒッチハイクガイド:電脳空間カウボーイズZZ(電脳空間カウボーイズ) - ニコニコチャンネル:生活
  • Many Pivot Sort, MasSort, MatSort(クイックソート・マージソートの改良アルゴリズムの提案)

    Many Pivot Sort, MasSort, MatSort (最速のソートを目指して…クイックソート・マージソートの改善) 概要 クイックソート・マージソートの改善アルゴリズムを提案してみます。 Many Pivot Sort クイックソートのピボット値選択方法改善アルゴリズム MasSort メモリの操作回数低減を狙ったマージソートの改善アルゴリズム MatSort 作業領域のメモリ使用料量削減を狙ったマージソートの改善アルゴリズム(MasSort等、他のマージソート系アルゴリズムを内部的に併用する) Many Pivot Sort, MasSortはクイックソート、マージソートの改善版でそれぞれ、元のアルゴリズムから10-20%程度高速化している。 MatSortは作業領域をソート対象の1/10程度に縮小しても元のマージソートよりも高速であり、ランダム配列においてはベースとなる

    khiker
    khiker 2016/01/05
    sort
  • 局所的な近似によるMCMCの高速化論文を読んだ - xiangze's sparse blog

    局所的な近似によるMCMCの高速化論文が話題になりました。 http://japan.zdnet.com/article/35073667/ 論文Accelerating Asymptotically Exact MCMC for Computationally Intensive Models via Local Approximations を読んで理解した範囲の内容を書きます。 アイデア 物理現象のモデルは(確率)微分方程式を使って書かれますが、そのパラメータが未知のことが多く、MCMCを使ってパラメータを推定することが行われています。 しかし現実的な問題ではモデルが巨大になって、MCMCの各ステップでそれを評価するのは計算量が多くなりすぎてしまいます。 そこでモデルを近似するということなのですが、サンプリングに近似した事後分布を使うというアイデアはApproximate Bayes

    khiker
    khiker 2015/12/16
  • 高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development

    先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解

    高速な安定ソートアルゴリズム "TimSort" の解説 - Preferred Networks Research & Development
  • Zinnia: 機械学習ベースのポータブルな手書き文字認識エンジン

    Zinnia: 機械学習ベースのポータブルなオンライン手書き文字認識エンジン [日語][英語] Zinniaは機械学習アルゴリズム SVM を用いたポータブルで汎用的な オンライン手書き文字認識エンジンです。Zinniaは組み込みの容易さと汎用性を高めるために、 文字のレンダリング機能は持っていません。Zinniaは文字のストローク情報を座標の連続として受け取り、 確からしい順にスコア付きでN文字の認識結果を返すだけに機能を限定しています。 また、認識エンジンは完全に機械学習ベースであるために、文字のみならずユーザの任意のマウス・ペンストロークに対して任意の文字列をマッピングするような認識エンジンを小コスト作成することができます。 主な特徴 機械学習アルゴリズムSVMによる高い認識精度 ポータブルでコンパクトな設計 -- POSIX/Windows (C++ STLのみに依存) リエント

    khiker
    khiker 2010/12/15
    手書き文字認識 / zinnia
  • B-link-tree

    3. B-Link Tree とは (history) A variant of B*-Tree (they call) actually.. a B+-tree? (data stored in leaf only) 1981 年 PHILIP.L. LEHMAN , S.BING YAO ” Efficient Locking for Concurrent Operations on B-Trees ” という論文で発表 当時,複数の プロセス で同時実効性を持つデータベースの構築が流行りだった ( らしい 論文の主眼は如何に効率のよく高い同時実効性を有する索引を構築するか. 4. B*-Tree an elegant(?) variant on B+-tree keep pages at least 2/3 full, guaranteed . The benefit over B+

    B-link-tree
    khiker
    khiker 2010/10/31
    b-link tree
  • Ecstatic – Type Inference for Ruby Using the Cartesian Product Algorithm Spring 2007 Master’s Thesis (SW10) by Martin Madsen, Peter Sørensen, and Kristian Kristensen Department of Computer Science Aalborg University Ruby, Ruby, Ruby, Ruby Ahaa-ahaa-

  • 四分木 - Wikipedia

    領域四分木 四分木(しぶんぎ、英: Quadtree)は、各内部ノードが4個までの子ノードを持つ木構造のデータ構造である。四分木は主に、2次元空間を再帰的に4つの象限または領域に分割するのに使われる。領域は四角形または矩形の場合もあるし、任意の形状の場合もある。このデータ構造は1974年、Raphael Finkel と J.L. Bentley が四分木と名づけた。同様の分割手法はQ木 (Q-tree) とも呼ばれている。四分木に共通する特徴は以下の通りである。 空間を適応可能セルに分割する。 各セル(またはバケット)は容量の上限がある。容量が最大に達すると、バケットは分割される。 木構造ディレクトリは四分木の空間分割に従う。 四分木は表現するデータの型によって分類され、領域 (area)、点 (point)、線 (line)、曲線 (curve) などがある。また、木構造の形状とデータ

    四分木 - Wikipedia
    khiker
    khiker 2010/06/22
    四分木
  • You’re Doing It Wrong - ACM Queue

    The Bike Shed June 11, 2010 Volume 8, issue 6 PDF You're Doing It Wrong Think you've mastered the art of server performance? Think again. Poul-Henning Kamp Would you believe me if I claimed that an algorithm that has been on the books as "optimal" for 46 years, which has been analyzed in excruciating detail by geniuses like Knuth and taught in all computer science courses in the world, can be opti

  • yebo blog: クヌース教授は間違っていた

    2010/06/15 クヌース教授は間違っていた Slashdotによれば、この数十年間、クヌース教授をはじめとするコンピュータ科学者が最適としてきたアルゴリズムを10倍高速にする方法をPoul-Henning Kamp (PHK) というハッカーが見付けたという。その論文タイトルは「You're Doing It Wrong (あなた達のやっている事は間違っている)」で、ACM Queueに掲載されている。別にクヌース教授の考えが間違っているわけではなく、アルゴリズム的には正しいが、実用レベルでは、OSには仮想メモリがあり、VMと干渉しないようにすれば簡単に高性能なシステムが作れる。従来の考え方はモダンな計算機を考慮に入れていないので、現実的には不適合を起こしている。具体的にはヒープにBツリーの要素を取り込んだBヒープというデータ構造を使うことで、バイナリヒープの10倍のパフォーマンスを

    khiker
    khiker 2010/06/16
    Bヒープ
  • UAX #9: Unicode Bidirectional Algorithm

    Summary This annex describes specifications for the positioning of characters in text containing characters flowing from right to left, such as Arabic or Hebrew. Status This document has been reviewed by Unicode members and other interested parties, and has been approved for publication by the Unicode Consortium. This is a stable document and may be used as reference material or cited as a normati

  • fmath

    fmath.hpp provides a fast approximate exp(x) of float x. The function is is 2~6 times faster than std::expf() ofVC10 and 10~50 times faster than that of gcc 4.4 on Core2Duo. fmath.hpp is available on 32-bit/64-bit Visual Studio 2008/2010 and 32-bit/64-bit gcc 4.1 or later.

    khiker
    khiker 2009/12/24
    fast approximate float function
  • [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記

    ふと、ビット並列アルゴリズムを使った編集距離を計算するアルゴリズムを書きたくなったので書いてみた。 まず、通常の編集距離であるLevenshtein Distanceを求めるアルゴリズムは以下のように書ける int levenshteinDistance(String A, String B) { int m = A.length(); int n = B.length(); int dp[] = new int[n + 1]; int next[] = new int[n + 1]; for (int i = 0; i <= n; i++) dp[i] = i; for (int i = 1; i <= m; i++) { next[0] = i; for (int j = 1; j <= n; j++) { if (A.charAt(i - 1) == B.charAt(j - 1))

    [プログラミング] ビット並列アルゴリズムを使った編集距離 - tsubosakaの日記
  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • アニメ顔の色情報に基づいた画像検索のデモ - デー

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

    アニメ顔の色情報に基づいた画像検索のデモ - デー
    khiker
    khiker 2009/05/21
    Imager::AnimeFaceが気になるなあ
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992) 補足

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • スペル修正プログラムはどう書くか

    Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Google

    khiker
    khiker 2007/04/28
    英語の場合. 完全には理解できねえや. 自分でも組めたらいいな.
  • 1