2009-05-01から1ヶ月間の記事一覧

系列アライメントのところの発表資料

この前Rubyでソースを書いたりしてましたが、ちゃんと発表するための資料も作ってましたよっと。ホワイトボードで説明するんだけどな!!ということで図とかほとんど入ってないですが。。。 Algorithm Design from syou6162 ところでkeynoteが使えるようになっ…

Tsukuba.R#5のspeaker募集中です

Blogではあんまり言ってなかったんですが、Tsukuba.R#5を6/14に開催する予定です。 Tsukuba.R#5 - Tsukuba.R - Seesaa Wiki(ウィキ) 毎回発表していたid:wakutekaとid:syou6162が今回は発表できるかちょっと怪しいため、speakerになってくれる人を募集して…

先週末から今週末以降の活動

割りと忙しくなってきた。というかやりたいことに対して時間が割けてない。。。 先週 水曜日は某所にバイトということで東京 アルゴリズムデザインのゼミがあるので、夕方には筑波に戻る 木金はNL研@大岡山 http://nl-ipsj.r.dl.itc.u-tokyo.ac.jp/NL191prog…

トポロジカルソートのベンチマークらしきもの

離散最適化理論の課題を提出し終わったので、貼ってみるテスト。トポロジカルソートのためのところは前にちょちょいと書いたんですが 説明用の図 巨大なグラフを作る用の関数 計算時間をplotするための関数 などなどの付近も書いたので、貼ってみます。例を…

ようやくアルゴリズム勉強するときの流れが分かってきた

アルゴリズムデザインのゼミを4、5回くらい聞いて今週発表なので、準備してたらなんとなくどういう流れで説明すればいいのか分かってきた。ちょっとまとめるとこんな感じ。 そのアルゴリズムはどういう問題で、どういうところで応用されたりしているのか 動…

深いコピー?

なんかメモ。 tmp = ["hoge","fuga"] list =[tmp,"piyo"] pp list tmp.clear pp list 実行結果。 [["hoge", "fuga"], "piyo"] [[], "piyo"]

出現頻度と連接頻度に基づく専門用語抽出

この前の続き。先週の週末にやるつもりだったけど、暇がなかった。 MeCabで区切った単語を再びつなげる - yasuhisa's blog 前回の流れとしては 専門用語を一つの単語として取ってくるのは難しい MeCabを使うと細かくなりすぎる 専門用語には名詞のsequenceが…

系列アライメントのアルゴリズムをRubyで実装した

動的計画法分かんない しかも、なんか一次元じゃなくて二次元っぽいから怖い>< と思ってgkbrしていた次回アルゴリズムデザインのゼミで担当の系列アライメント(p246 6.6)のアルゴリズムですが、ミスドでホットカフェオレを3杯くらいおかわりしていたら結構…

C++クックブックのメモ

C++

5.4 vectorへのポインタの格納 vectorにはオブジェクトをコピーするのではなく、ポインタを格納する リファレンスは無理っぽい ポイントしているオブジェクトは自動的にdelteされることはないので、その削除を忘れないように 5.5 listへのオブジェクト格納 …

PRMLの理解度が上がってきた

去年の8月から今年の2月まで、skypeでPRMLの読書会をやっていたので、一周はしている。が、skype&週2時間という限られた時間ということもあって*1、あんまり深く理解できていなかった。今年度に入ってからちゃんと数式を追うゼミをやったり、勉強会に参加さ…

Interval Time Schedulingを動的計画法を「使わないで」解く

C++のリハビリ代わりに、とか思ったらまじ忘れまくってるし。cout.hはTZTester をどうにかするブーム - naoya_t@topcoder - TopCoder部より。 #include <string> #include <vector> #include <iostream> #include <algorithm> #include "cout.h" using namespace std; class TimeInteval { private</algorithm></iostream></vector></string>…

Rによる最適化、パラメータ推定入門

パラメータの推定、でもその前に optimize関数について 補足 パラメータの推定 ベルヌーイ分布 定式化(尤度関数) 尤度関数の実装 尤度関数の最適化(パラメータ推定) 正規分布におけるパラメータ推定 まとめ パラメータの推定、でもその前に統計におけるパラ…

コスト最小法によるViterbiアルゴリズムを実装してみた

前回は単語数最小法によるViterbiアルゴリズムを使って、「猫はうろうろ」を形態素解析しました。 www.yasuhisay.info 単語数最小法では、単語の品詞などは見ておらず、ただただ単語数を最小にするように動的計画法であるViterbiを動かしていきます。品詞を…

RMeCabでインストールにこけるときがある

Mac10.5.6を使っていて、Rを「sourceから」インストールしていた場合 > library(RMeCab) エラー: パッケージ 'RMeCab' は universal-apple-darwin8.11.1 に対して造られました となって、使えなかった。なんでだろーと思ってバイナリのほうでインストールす…

MeCabで区切った単語を再びつなげる

先週は形態素解析なアプローチじゃなくて、特長語抽出のような感じで専門用語が取り出せないかなーとやっていた。 www.yasuhisay.info が、YamChaの使い方がよく分からない&使うツールの中身が今の自分にとってはブラックボックスすぎる、ということで形態素…

猫はうろうろ

にゃーにゃー、ではなくてw。情報学類(今名前変わったんだっけか)のほうで出ている自然言語処理の講義ほうで、形態素解析をするための「wikipedia:ビタビアルゴリズム(Viterbi algorithm)」というのを勉強しました(GWの前くらいに)。なんか全然分かっていな…

深さ優先探索のアルゴリズムをC++で

C++

C++でグラフをごにょごにょするようなものは昔書いてたんだけど、Rubyで書いたやつのほうがすっきり書けたので書き直してみた。 #include <string> #include <set> #include <vector> #include <map> #include <iostream> using namespace std; class Graph { public: Graph(){ }; virtual ~Graph</iostream></map></vector></set></string>…

初めての関数ポインタ

C++

Rubyで関数にblock投げて、とかができるからC++でもやってみたくなった。無名関数っぽくできないのは残念(いちいち名前付けるの面倒)だけど、boost使えばできるんかなー。 #include <string> #include <set> #include <vector> #include <map> #include <iostream> using namespace std; class Gr</iostream></map></vector></set></string>…

ダイクストラ法による最短路検索

昨日までに書いていたグラフはコストとかそういうの考えていなかったんだけど、ダイクストラをやろうということでコストも考えることにしました。ダイクストラでedgeとそこまでの距離のhashを作りながら、そこまでのを記憶しておくhashも用意。最短路を探す…

トポロジカル順序付け

トポロジカル順序付けは有向無閉路グラフ(directed acyclic graph)について定義されるものである。閉路がない有向グラフだと必ず順番のようなものを付けることができる。具体的にどういうものに使えるか、というと 仕事の順番 服を着る順番 講義科目の履修順…

全ての連結成分の集合を求める

有向グラフにおける連結成分の集合みたいなのがどうだったか忘れたので、無向グラフ化(両方を有向にするっぽい感じで)して考えることにした。 # -*- coding: utf-8 -*- require 'pp' require 'set' class Graph def initialize(edges) @edges = edges @nodes…

幅優先探索→深さ優先探索でした><

バックトラックとかしなくていいので、結構簡単にできた。 # -*- coding: utf-8 -*- require 'pp' class Graph def initialize(edges) @edges = edges @nodes = Hash.new{|h,k| h[k] = []} end def add_edge(edge) @edges.push edge unless @edges.index(edg…

グラフを扱うためのライブラリを覗いてみる

index グラフの勉強だけじゃなくてRubyの勉強にもなりそうなソースだなーと思ったので、メモしておく。ファイルは2つとなっていて把握しやすい。 graph.rb graph_algorithm.rb graph.rb module Graphとclass DirectedHashGraph、DirectedHashGraphを拡張した…

分割統治法の中のcounting inversionsを実装してみた

アルゴリズムデザインのゼミでmiyaga50が「counting inversions」について発表していた。 マージソートな考え方を使っているアルゴリズム 協調フィルタリングのようなランキングを使うようなシステムで使われる 嗜好がどれくらい違うかを測る尺度に使える メ…

系列タギングというものについて勉強する

SVMを構造化処理に用いる具体的な方法は、単語の情報(見出し語・品詞の種類・語の長さなど)をベクトルに変換し、このベクトルが特定の属性を持つかどうか(「部位」「所見」などに相当するかどうか)を求める際にSVM を用いる、というものである。 No.14 …

YamChaを使ってみる

TinySVMが必要らしいので、それからインストールする作業。 wget http://chasen.org/~taku/software/TinySVM/src/TinySVM-0.09.tar.gz ./configure で、makeしようとしたらこけた><。 /tmp/TinySVM-0.09% make make all-recursive Making all in src /bin/…

都会と田舎の間で

謎なタイトル。id:Hashがいつものように炎上している何か書いていたし、やっちろ.Rの懇親会で話したこととかとちょっと関係あったので書いてみる。id:syou6162の住んでたところ遍歴(予定を含む)&どれくらい外に出ていたかなどを書き出してみると 熊本県八代…

やっちろ.Rに行ってきたよ!!

5/3(日)は京都から大阪に移動して、飛行機で熊本に移動して、夜は高校の頃の友達と夜に一緒に飲んでいた(烏龍茶を)。で、帰宅後やっちろ.Rの資料を作っていたんだけど、寝落ちしていて、熊本市行きの電車の中でとかGWでお休みの市役所の前で資料を作るという…

やっちろ.Rの発表資料

R

会場なう。ということで、資料を置いておきます。 やっちろ.R in 熊本 id:syou6162 今日のAgenda 自己紹介 Tsukuba.Rについて 事前調査 Rのぐぐり方、効率がよい(と思われる)勉強の仕方 Rのデータ構造とそれに関する関数 ベクトル、行列、データフレーム、リ…

関西SVC事後ミーティングに参加してきた

SVC

午前中はid:yaottiの家で爆睡していて、午後から関西SVC事後ミーティングに行ってきました。 【告知】関西SVC事後ミーティング - satzz online beta 会場は町家スタジオ。立派なところを貸していただきました。ありがとうございました。早めに行ったんですが…