タグ

algorithmに関するyo_wakaのブックマーク (69)

  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

    テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
  • Resources for Machine Learning in Ruby

    ml-ruby.md UPDATE a fork of this gist has been used as a starting point for a community-maintained "awesome" list: machine-learning-with-ruby Please look here for the most up-to-date info! Resources for Machine Learning in Ruby Gems liblinear-ruby: Ruby interface to LIBLINEAR using SWIG classifier-reborn: Bayesian and LSI classification dependencies: GSL categorize: Categorize is a text categoriza

    Resources for Machine Learning in Ruby
  • [O] MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました

    MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました Tweet [NLP] 日語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。 IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困ります。困らない人もいますけど、僕は困ります。 その課題に対処するために、日全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に元データとして使われることが多いのは Wikipedia語版やはてなキーワードなどです。 困ったことに、新語辞書を生成

  • 各種レコメンドアルゴリズムの特徴・計算方法まとめ

    各種レコメンドアルゴリズムの特徴をメモ。 間違いの指摘やご意見はお気軽に @ts_3156 までご連絡ください(^^) レコメンドとは 何かしらの「アイテム」をユーザーにおすすめする仕組みのこと。 アイテムは場合によって様々で、ECサイトなら商品、ニュースサイトならブログ記事、ツイッターならユーザーそのもの、がアイテムに当たる。 代表的なレコメンドアルゴリズムの種類 ルールベース 決め打ちレコメンド。 例:(今はA社とタイアップ中だから、)うちの商品を買った人にA社の商品をおすすめしよう コンテンツベース アイテム間の類似度に基づいたレコメンド。 例:野球のバットを買った人には野球のボールをおすすめしよう 協調フィルタリング レコメンドの話で一番話題に登るのはこのアルゴリズム。ユーザーの行動履歴からおすすめするアイテムを決める。アイテム情報を知らずにおすすめする点がポイント。アイテム情報を

  • 5分でわかるベイズ確率

    11. • 問い1 ゆがみの無いコイン → 表裏の出る確率は 1/2 • 問い2 ある商店街 → 場所によって男女比が違う 男女の通る確率は不確定 ベイズ確率

    5分でわかるベイズ確率
  • Cookpadのつくれぽ数を予測する · Naoki Orii's blog

    機械学習」のコラボレーションをできないかと最近常々考えています。例えば、「地球上に存在する全ての料理を何らかのアルゴリズムに入力し、人間にとって『美味しい』レシピとはどういう特徴を持つかを学習し、今まで人類がべたことのないような斬新なレシピを自動生成する」ことが出来たとしたら素晴らしいとは思いませんか? レシピの自動生成はさすがに難しそうなので、今回は人気になるレシピに共通する特徴は何かという問いに答えることを目標とします。具体的には、Cookpadのレシピが与えられたとして、そのつくれぽ数を予測する問題に挑戦してみます。レシピが人気になるか否かの要因としては、どういう材料を使用するか、レシピがどれだけ健康的か、またどれだけ手軽に調理できるかなど様々な要因が考えられますが、今回特に興味があるのはレシピの名前や紹介文などの文章の言葉遣いがそのレシピの人気度にどのような影響を及ぼすか

  • Active Learning を試す(Uncertainly Sampling 編) - 木曜不足

    教師あり学習の教師データの作成はとても大変。例えば、twitter 言語判定のために、訓練・テストデータあわせて70万件のツイートに言語ラベルを振った人もいたりいなかったり。 Active Learning(能動学習) はそんな教師データ作成のコストを抑えながらモデルの性能向上を測るアプローチの1つ。 具体的には、正解なしデータの中から「こいつの正解がわかれば、モデルが改善する(はず)」というデータを選び、Oracle と呼ばれる「問い合わせれば正解を教えてくれる何か(ヒント:人間)」にそのデータを推薦、得られた正解付きデータを訓練データに追加して、以下繰り返し。 しかし「こいつの正解がわかれば、モデルが改善」を選び出す基準なんて素人考えでも何通りも思いつくわけで、実際 Active Learning のやり口は幾通りもある。 Active Learning Literature Surv

    Active Learning を試す(Uncertainly Sampling 編) - 木曜不足
  • Anatomy of a folding animation – Mark Pospesel (Coding and Other Stuff)

    Mark Pospesel (Coding and Other Stuff) Coding, tech, living abroad, travel, hiking, vintage plastic bricks In this post I want to dive into the minutiae of how a good-looking folding animation can be achieved, and also how I was doing it wrong the first time I took a stab at creating one.  Earlier this year I started looking into fold animations as an example of advanced use of matrix transforms t

  • 類似楽曲検索システムを作ろう - 人工知能に関する断創録

    もう1年以上かけて音声信号処理の勉強をしてきました(Pythonで音声信号処理)。ここらで具体的なアプリケーションとして類似楽曲検索の実験をしてみたのでレポートをまとめておきます。言語はPythonです。 前に 類似画像検索システムを作ろう(2009/10/3) Visual Wordsを用いた類似画像検索(2010/2/27) という画像の類似検索に関するエントリを書きましたが、今回は画像ではなく音楽を対象に類似検索をやってみたいと思います! 今回作る類似楽曲検索システムは、従来からよくあるアーティスト名や曲名などテキストで検索するシステムや購買履歴をもとにオススメする協調フィルタリングベースのシステムとは異なります。WAVEファイルやMP3ファイルなどの音楽波形そのものを入力とするのが特徴です。たとえば、「具体的なアーティストや曲名は知らないけれど、この曲とメロディや雰囲気が似た曲がほ

    類似楽曲検索システムを作ろう - 人工知能に関する断創録
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • Machine Learning: Introduction to Genetic Algorithms

    Burak Kanber, Engineer Author, tech CTO, engineer, and some other things too. Subscribe via RSS Twitter Contact I like starting my machine learning classes with genetic algorithms (which we'll abbreviate "GA" sometimes). Genetic algorithms are probably the least practical of the ML algorithms I cover, but I love starting with them because they're fascinating and they do a good job of introducing t

  • アルゴリズムTM's Workspace -

    ボロノイ図の生成アルゴリズムに「Fortune’s Algorithm 」があります。 ボロノイ図は、色々と有用なので、「Fortune’s Algorithm in C++」を参考に、Javascript版を実装(というか移植)してみました。 また、せっかくなので、fumix氏がWonderflに投稿されている「超速ボロノイ図」風のJavaScriptアニメーションを作成してみました。 動作確認は、IE8、ChromeAndroid1.6(IS01)で行いました。IS01でもそれなりに動いています(画像)。 →実 行 全文を読む

  • javascriptでdiff実装

    高速とされるO(NP)のアルゴリズムをベースに 、javascriptで実装してみた。 [1]E.W.Myers, "An O(ND) difference algorithm and its variations", Algorithmixa, 1 (1986), pp.251-266 に論文を日語に訳したものが載っており、参考になりました。 http://hp.vector.co.jp/authors/VA007799/viviProg/doc5.htm 上記の論文中のコードは「SED Shotest Edit Distance」の値を求めるだけで、 Diffの結果をどう組み立て格納していくかについてと、fpという配列の初期値を 何で埋めればよいのかが分からず、 かなり苦労しました。 アルゴリズムは上記のO(NP)そのままですが、javascriptで実装していく中で、 メイン処理と

  • 自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei

    自然言語処理の優秀なエンジニア各位にオススメを聞くと大抵FSNLP(Foundations of Statistical Natiral Language Processing)という答えが返ってくる。またブログ等でFSNLPを絶賛している方も多い。 私は自然言語処理は長尾で満足してしまっていたのでFSNLPは読んでいなかったのだけれど、長尾は現在入手困難ということもあって入手しやすい自然言語処理の教科書があるといいなと思っていたのでFSNLPを読んでみた。 その結果。自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな。という結論に至ったので全力でFSNLPを推薦する記事を書くことにした。 参考: [を]FSNLP @ytoさん 自然言語処理の定番の教科書まとめ - 生駒日記 @mamorukさん Perl で自然言語処理 @overlastさん ざっと読んでみてFSN

    自然言語処理の教科書はもう全部FSNLP一冊でいいんじゃないかな - EchizenBlog-Zwei
  • ナイーブベイズを用いたテキスト分類 - 人工知能に関する断想録

    今までPRMLを読んで実装を続けてきましたが、10章からは難しくて歯が立たなくなってきたのでここらで少し具体的な応用に目を向けてみようと思います。機械学習の応用先としては画像の方が結果を見ていて面白いんですが、当面は自然言語処理を取り上げます。そんなわけで一番始めの応用は機械学習と自然言語処理の接点として非常に重要なテキスト分類(Text Classification, Text Categorization)の技法たちを試していきたいと思います。テキスト分類は文書分類(Document Classification)という呼び方もあります。テキストと文書は同じ意味です。最初なので自分の知識の整理と入門者への紹介のためにちょっと丁寧にまとめてみました。 テキスト分類とは テキスト分類とは、与えられた文書(Webページとか)をあらかじめ与えられたいくつかのカテゴリ(クラス)に自動分類するタス

    ナイーブベイズを用いたテキスト分類 - 人工知能に関する断想録
  • はてなブログ | 無料ブログを作成しよう

    うめぇヨーグルトソースでもいかがですか。個人差にもよりますが。もしよろしければ。 お久しぶりです。 最近うんめぇ〜と思ってるヨーグルトソースがあるので、書いていこうと思います。 ヨーグルトとハーブ類をもりもり使うので、そういうのがべられない方にはうんめぇソースではないです。ごめんなさい…。もしよろしければお茶だけも…旦~ 【用意する…

    はてなブログ | 無料ブログを作成しよう
  • Timsort - Wikipedia

    Timsort is a hybrid, stable sorting algorithm, derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data. It was implemented by Tim Peters in 2002 for use in the Python programming language. The algorithm finds subsequences of the data that are already ordered (runs) and uses them to sort the remainder more efficiently. This is done by merging runs until

    Timsort - Wikipedia
  • GitHub - cametan001/NaiveBayes: ナイーブベイズ分類器による文書分類問題

    ナイーブベイズ分類器: Purpose(目的): ナイーブベイズ分類器の計算方法の改良と古典的な文書分類の実験 Requirements: Python 2.6 or greater, < 3.0: http://www.python.jp/Zope/download/pythoncore SQLite: http://www.sqlite.org/ BeautifulSoup: http://www.crummy.com/software/BeautifulSoup/ Yahoo!デベロッパーネットワーク日形態素解析: http://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.htmlYahoo!のアプリケーションIDはAppIDと言うファイルを作ってそこにペースト/保存してください How to Use(使い方): 単にデフォルト

    GitHub - cametan001/NaiveBayes: ナイーブベイズ分類器による文書分類問題
  • JavaScriptで決定木 – Rest Term

    前回のAS3でNaive Bayesによる文書分類に関連して機械学習による分類問題を扱います。 今回は決定木(Decision Tree)をCanvasに描いてみます。前回のナイーブベイズよりも決定木の方が解釈が簡単で、分類過程が見た目にも分かりやすいので手軽に試すことができました。今回も理論的な部分はWebや書籍の方を参考にしてもらって、ここでは試したことだけ書きます。 今回扱う問題は集合知プログラミングにある「サインアップを予測する」を取り上げます。これは、あるユーザーがあるWebサービスの無料会員になるか有料会員になるかを事前に集めたデータから予測する分類問題になっています。決定木は文章で説明するよりも、決定木そのものを見た方が意味が分かりやすいのでサンプルを載せます。 Demo: Decision Tree on Canvas この決定木の見方ですが、例えばリファラーが”googl

    JavaScriptで決定木 – Rest Term
  • FaceDetection - Integral Image : maaash.jp

    昨日、Flashや画像や音声やらいろいろ強い人とお会いするきっかけがあり、 今まで話したことが無かったので Marilena (OpenCV顔認識のas3実装)をつくった時に感動した、 Integral Imageというアルゴリズムについて話しました。 一文で説明すると、 二次元配列で表されるデータがある時に(この場合は顔検出する対象の画像の明るさ) 二次元配列の中の矩形範囲のデータの合計を、高速に求める手法です。 発表資料を置いておきますのでよろしければ integral_image_opencv_face_detection.pdf 計算してみるためのスプレッドシート Integral Image Calculator こちらの方がわかりやすいかもしれません integral imageについて調べた 資料の中に数式が入るとどや顔の度が増しますね なおやんは寝てまし