タグ

2012年2月1日のブックマーク (16件)

  • ALGORITHM NOTE 動的計画法

    n × n のマス目のそれぞれに 1 または 0 が記してあり、その中から 1 だけから成る最大の長方形の面積を求めて下さい。 これは前に考えた正方形探索の応用で、今回は最大の長方形を探します。この問題も正方形探索で用いたアルゴリズムを応用して動的計画法で解くことができますが、正方形探索ほど単純な式では解決できません。左上角から右下角に向かって個々の要素を計算していく過程で、既に計算された左と上の要素を利用していきますが、長方形探索の場合、W[i][j] の値はそこから左上方向に向かってできる正方形の辺の長さではなく、そこから左上方向に向かってできる全ての長方形の情報を記録する必要があります。このアルゴリズムの詳しい解説が、プログラム・プロムナードに掲載されています。このアルゴリズムは、現在の要素を求めるために重複を避けながら左と上の要素をマージしたりと、プログラムがやや複雑になります。

    hirokist
    hirokist 2012/02/01
    動的計画法DPのソースコードなど。
  • 動的計画法とナップサック問題を学びたい人におすすめのサイト - ダウンロードたけし(寅年)の日記

    組み合わせ最適化の手法として「動的計画法」というモノがあります。 wikipediaから抜粋 動的計画法(どうてきけいかくほう、英: Dynamic Programming, DP) コンピュータ科学の分野において、ある最適化問題を複数の部分問題に分割して解く際に、そこまでに求められている以上の最適解が求められないような部分問題を切り捨てながら解いていく手法 一見難しそうですが、実は理解するのは以外と簡単です。いろいろな場面で応用が利く便利な手法ですので、覚えておいて損はないものです。コンピュータ系、情報系のお勉強をする人であれば、おそらく一度は習ったりするかもしれません。 ナップサック問題と動的計画法 動的計画法の一番親しみやすそうな例として「ナップサック問題」というのがよく取り上げられます。 こんな感じの問題です。 今ここに様々な大きさの品物が置いてあるとします。そしてそれらの品物は各

    動的計画法とナップサック問題を学びたい人におすすめのサイト - ダウンロードたけし(寅年)の日記
    hirokist
    hirokist 2012/02/01
    動的計画法のおすすめサイト
  • MCMCの勉強(1): Taglibro de H

    今さら感はあるが、MCMC (Markov Chain Monte Carlo; マルコフ連鎖モンテカルロ)を使えるようになろうと、まずは簡単な例から試してみた。 手始めに、正規乱数から生成した標の平均と標準偏差を推定してみる。 やはりRを使用。MCMCpackパッケージを あらかじめインストールしておいて、呼び出す。MCMCpack中のMCMCmetrop1R()関数を利用して、メトロポリス法によるMCMC推定をおこなう。 library(MCMCpack) 乱数系列を初期化。 set.seed(1) 平均10、標準偏差3の乱数を1000個生成して、xに入れる。 m <- 10 s <- 3 x <- rnorm(1000, m, s) MCMC推定に使用する関数を用意する。betaは要素数2のベクトル。beta[1]が平均、beta[2]が標準偏差で、betaを推定する。関数の返り値

    MCMCの勉強(1): Taglibro de H
  • Rでマルコフ連鎖モンテカルロ法を試す - 餡子付゛録゛

    地味にここ5年間ぐらい、マルコフ連鎖モンテカルロ法(MCMC)が流行っているようです。汎用的な分布でベイズ推定を行う時に有用な数値解析アルゴリズムの総称で、Metropolis-Hastings algorithm(M-Hアルゴリズム)などが主要なメソッドとして使われています。ただし、ベイズ推定以外でも利用する事はできます。 RでもMCMCpackと言うパッケージがあるのですが、取扱説明書を見る限り、ベイズ推定が前提となっておりM-Hアルゴリズムだけを試すことは難しそうです(追記:MCMCmetrop1R()関数で利用できます)。もっとも同アルゴリズムは比較的シンプルなモノなので、ポアソン分布から乱数を作成し、それを推定する練習をしてみました。 1. ポアソン分布からλ=1の乱数を作成 ポアソン分布からλ=1の乱数を作成します。練習のためにポアソン分布を利用したのは、推定するパラメーターが

    Rでマルコフ連鎖モンテカルロ法を試す - 餡子付゛録゛
  • Rと手作業で覚える最尤法 - 餡子付゛録゛

    OLSより進んだ統計手法で最初に覚えるのは最尤法だと思います。大半の人はツールとして知っていて、あまり中身を意識していない気がするのですが、「尤度」の説明無しで『尤度が最大になるパラメーターを求める方法』と言う説明が横行しているのは、問題があるかも知れません。 最尤法は、ある分布から観測値が取り出されたとして、“そうなる確率”が最も高くなるように分布の具体的な形状を決めるやり方です。“そうなる確率”を尤度と言います。こう書くと易しい事なのか難しい事なのか判別もつかないと思うので、実際に最尤法を解いてみましょう。 まず、何も考えずにトライ&エラーで最尤法を試みるやり方を説明した後に、教科書的な最尤法の解法を説明します。 1. 何も考えずにトライ&エラーで最尤法を試みる ある正規分布から値を3つ取り出したら、11 13 23だったとしましょう。このサンプルが“もっともらしい”正規分布の平均と分

  • 第8回自然言語処理勉強会を開催します #TokyoNLP - nokunoの日記

    第8回自然言語処理勉強会 #TokyoNLP : ATND 概要自然言語処理(Natural Language Processing, NLP)に関する勉強会です。理論と実践の両面から深く学び、発表と議論を通じて共有していくことを目的としています。 発表内容まだ未定です〜 参加条件連絡のため,Googleグループに参加していることが条件です. 会場について渋谷のVOYAGE GROUP(旧:ECナビ) さんの会議室をお借り出来ました.@ajiyoshiさん,いつもありがとうございます! 参考書Amazon.co.jp: Foundations of Statistical Natural Language Processing: Christopher Manning, Hinrich Schuetze: 洋書Amazon.co.jp: Statistical Machine Transl

  • Webページの本文抽出 (nakatani @ cybozu labs)

    Webページの自動カテゴライズ の続き。 前回書いたとおり、パストラックで行っている Web ページのカテゴライズでは、Web ページの文抽出がひとつの鍵になっています。今回はその文抽出モジュールを公開しつつ、使っている技法をざっくり解説などしてみます。 モジュールの利用は至極簡単。require して analyse メソッドに解析したい html を与えるだけ。文字コードは UTF-8 です。 【追記】大事なこと書き忘れ。モジュールは Ruby1.8.5 で動作確認していますが、特別なことはしていないので、1.8.x なら動くと思います。 $KCODE="u" # 文字コードは utf-8 require 'extractcontent.rb' # オプション値の指定 opt = {:waste_expressions => /お問い合わせ|会社概要/} ExtractCont

  • 「Web本文抽出 using CRF」の学習用データの作り方 - 木曜不足

    第2回自然言語処理勉強会@東京が 9/25 に行われます。 前回よりキャパの大きい会場&週末に参加募集が始まったばかりですが、早くもほぼ定員。 自然言語処理に興味のある人はぜひ。でも、計画的なドタキャンは運営の方にご迷惑がかかるのでやめてね。 今度の第2回でも出しゃばって発表させてもらう予定だが、第1回も「Web文抽出 using CRF」という話をさせてもらった。 CRF(Conditional Randam Fields) を Web ページからの文抽出に用いるという手法の提案という内容で、実際に動作する Python スクリプトもあわせて公開している。 資料: http://www.slideshare.net/shuyo/web-using-crf 実装: http://github.com/shuyo/iir/blob/master/sequence/crf.py http:

    「Web本文抽出 using CRF」の学習用データの作り方 - 木曜不足
  • 自然言語処理勉強会@東京 第1回 の資料 - 木曜不足

    日の tokyotextmining こと 自然言語処理勉強会@東京 第1回 で話す「Webページの文抽出 using CRF」の資料(自己紹介は除く)です。 以前、Ruby で作った文抽出モジュール を機械学習技術を使って作り直してみたら、というお話。 CRF は Conditional Random Fields の略。 Web文抽出 using crf from Shuyo Nakatani 実装はこのあたり。 http://github.com/shuyo/iir/blob/master/sequence/crf.py http://github.com/shuyo/iir/blob/master/sequence/pg.py http://github.com/shuyo/iir/blob/master/extractcontent/webextract.py 【追記】

    自然言語処理勉強会@東京 第1回 の資料 - 木曜不足
  • 統計学を勉強するときに知っておきたい7つのポイント

    マイクロソフト社が技術分野でもっと熱い専攻の一つとして分析/統計をあげている(Microsoft JobsBlog)。同社以外でも統計学は、今後最も有益なスキルの一つだと考えているようだ(NYT - For Today’s Graduate, Just One Word: Statistics)。しかし、データマイニングの話も一般化しつつあって学習ノウハウなども公開されているが、経験にあわない部分が多い。統計学を初めて勉強するときに知っておいた方が良い7つのポイントをあげてみた。 1. 学習機会やテキストは山のようにあるので利用する 確率・統計の日語テキストは山のようにあり、大学のコースワークを振り返っても、理文問わずにほとんどの学部で確率・統計はあったはずだ。大学院のコースワークでは英語の文献を好む傾向があるが、上級テキストでも日語のものも少なくない。また「マンガでわかる統計学」のよ

    統計学を勉強するときに知っておきたい7つのポイント
  • データマイニング・アルゴリズムのトレンド

    HDDの大容量化と分散処理技術の発達でビッグデータの処理が容易になってきたので、ここ数年はデータマイニングが地味なブームになっている(NYT - For Today’s Graduate, Just One Word: Statistics)。2000年代前半のデータウェアハウスのブームではコンセプトだけが先走っていた(大園(2002))ので、随分と地に足がついた感じだ。しかし人気のアルゴリズムを見ている限りは、まだ十分にデータ分析がされているように思えない。 1. 10年間でソフトウェア的に進歩 地に足がついていると言うのは、ソフトウェア的に色々な面で進歩が見られたことだ。ビッグデータの利用が可能になった事から、応用事例が増えているように思える。 1. 分散処理技術の進歩によるビッグデータの利用 ハードウェア技術の進歩による高速化も著しいが、分散処理技術の進歩はビッグデータの利用を容易に

    データマイニング・アルゴリズムのトレンド
  • ベイズ推定を知っているフリをするための知識

    最近はベイジアンが増えてきて、実用分野での利用も進んでいるようだ。話題としては知っておきたいが、世間一般には理解に混乱を生んでいるようだ。 ベイズ推定は入門レベルの統計学の教科書ではオマケ的な扱いがされており、実際に伝統的な統計手法を拡張している面が強い。そういう意味では、誤解や混乱があっても仕方が無い。 利用する必要があるのか無いのか良く分からない点も多いのだが、知らないと告白するのも気恥ずかしいかも知れない。自分ではベイズ推定で分析を行わない人が、ベイズ信者と話をあわせるために最低限知っておくべき事をまとめてみた。 1. ベイズ推定とは何か? ベイズ推定とは、ベイズの定理を応用した推定手法だ。端的に理解するためには、最尤法に事前確率を導入している事だけ覚えれば良い。これで哲学的議論を全て回避してベイズ推定を把握することができる。 下の(1)式ではπ(θ)が事前確率、π(θ|x)が事後確

    ベイズ推定を知っているフリをするための知識
  • モデル 日南響子(17)が超絶美少女すぎる!! これは可愛さ限界突破のスキルを保有してる : ニュー速VIPブログ(`・ω・´)

  • 簡単!ティラミスの作り方! - 高等なオコジョと猫

    C◯◯KPADでレシピを見つけて、去年それを作りまくっていたのですが、そのレシピをまた探すのが面倒になり、母が思い返して母が作ってみたらだいたい分量はあっていたので、私が分量の改良を行って、やっと去年のレシピ通りのものができたので紹介します。なにより簡単です!おいしいです! ※ただし、ハンドミキサーがあれば。 用意するもの: 生クリーム 130cc←修正しました。記事初掲載時と値が違っています。ご注意ください。 クリームチーズ 200g グラニュー糖または砂糖 大さじ3杯 ボウル ハンドミキサー(姉が持っていったため手動) \ジャンッ/ (画像は砂糖ですが、入れたのはグラニュー糖。画像では生クリーム200ccが2パックあるけど、前の残り+新しいの。)(プリキュア探しゲーム画像。) クリームチーズを出します。少し冷蔵庫から出しておいたり、レンジで数十秒チンしたほうが混ぜやすいです。そのまま

    簡単!ティラミスの作り方! - 高等なオコジョと猫
  • 全てのデザイナーが見るべきIllsutratorのチュートリアルビデオ30 | WEB WORLD BLOG

    海外の有名デザインブログ「Blog.Sppon Graphics」でIllustratorのチュートリアルビデオを紹介したエントリー「30 Illustrator Video Tutorials Every Designer Should See」がありましたのでご紹介します。 新しいアプリケーションを習得しようとしている場合、様々なメニューやツールを通して、その道のエキスパートがガイドしてくれるものほど良いものはありません。この記事は最も詳しく解説された30のAdobe Illsutratorのビデオチュートリアルとスクリーンキャストを集めた記事です。それぞれの特徴を生かした明快な解説と役立つテクニックは、あなたのIllsutratorのプロへの道の手助けとなるでしょう。 Digital Inking Demonstration & Tutorial How To Setup and D

  • 初心者でも簡単に人物補正する3つのテクニック-Photoshop-

    ちょっと前に雑誌作りをしていて(全200ページくらいorz) 大量な人物補正をしなくてはいけませんでした。 その時に学んだPhotoshopの人物補正テクを分かりやすくご紹介したいと思います。 by:dancing+bambi 補正とは? 画像劣化について 人物補正3つのテクニック step1.明るさ・コントラスト step2.トーンカーブ step3.部分補正 -応用編-色黒美人を色白美人に 補正とは? 意味としては”足りないところを補って、誤っている部分を正す”みたいな感じです。 せっかくとった写真、もうちょっとこうだったらなぁ〜っていうのを直していきます。 そしてまず初めに画像劣化についてかるく知っておきましょう。 画像劣化について JPEGデータは補正をすればするほど劣化していってしまいます。 つまり今からやろうとしていることは画像を劣化させてしまう行為なんです。 といっても補正し