サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
d.hatena.ne.jp/smly
redis | とある IRC チャンネルにて「ダンプしてからクラッシュするまでの更新消えるのはどうすんの?消えちゃマズいデータには使えないの?」(参考) という話があったので, automatic failover *1できるといいじゃなイカという話をした. 実はかなり昔に書かれて公開されたことがあるのだけれど, そのスクリプトはロード時間が長い場合などで正常に動作しないことを確認しているので, redis スキーなユーザー様との議論のネタ用にちゃんと動いてそうな設定を晒しておく. vrrp_script chk_redis { script "/usr/bin/redis_check" interval 2 } vrrp_instance r0 { state MASTER priority 150 nopreempt virtual_ipaddress { **.**.**.**/*
Label propagation (ラベル伝播アルゴリズム) は半教師あり学習モデルの基本的な手法のひとつです. こいつを Pregel のオープンソース実装であるところの Apache Giraph で実装しました. ref: https://github.com/smly/java-Giraph-LabelPropagationLabel propagation algorithm は半教師あり学習モデルの基本的な手法のひとつです. 少量の vertex に class label が割り当てられた状態で, グラフ上の unlabeled な vertex に class label を割り当てることができます. 自然言語処理でよく活用されていて, どのくらい活用されているかというと, 今年の自然言語処理のトップカンファレンスである ACL のベストペーパーでも使われましたし, PF
ref: http://portal.acm.org/citation.cfm?id=1582723大規模グラフ処理フレームワーク Pregel の論文を読み, BSP (Bulk Synchronous Parallel) モデルで実装したいグラフのアルゴリズムがいくつかあったのでオープンソース実装を探してみた. GoldenOrb, Phoebus, HAMA (汎用的なBSP model), そして Bagel などいくつかの実装があるようで, GoldenOrb は Java, Phoebus は Erlang で実装されており, Bagel は Scala で書かれている. Bagel は Spark 上で動くシンプルな実装 (たったの 150 行程度) で, 大規模なタスクに対してもスケールする運用が可能に思えたので Bagel を使ってみることにした. (Phoebus は
日常trap がとても便利だと思いました.trap [-lp] arg] sigspec ...]The command arg is to be read and executed when the shell receives signal(s) sigspec.具体的には rpm.sh などで使われている. RPM_SOURCE_DIR="/tmp/rpmsource-$fullname" RPM_BUILD_DIR="/tmp/rpmbuild-$fullname" trap 'rm -rf $RPM_SOURCE_DIR $RPM_BUILD_DIR; exit $?' EXIT SIGHUP SIGINT SIGTERM # 適当なシェルスクリプト... のように trap を書いておくと, スクリプトが終了したりシグナルを受け取りプログラムを中断したときに trap が発動し
株式会社はてなにエンジニアとして入社しました. 同時に奈良先端科学技術大学院大学の博士後期課程に進学しました.私はエンジニアリングが大好きで, 大学院で研究がしたいと考えるようになったのも, それが大きく影響しているのだと思います. 小さなエンジニアリングの積み重ねによりサービスの品質を上げ, この便利なサービス(機能)は中でどのような仕組みになっているのだろう, と言わせたいです.また, 大学院で身につけた専門分野の知識をディスカッションなどを通じて役立てることができたら幸いです. そしていずれは社内で「自然言語処理と機械学習のことなら俺に聞け」と言えるようになれたらいいですね....ところで, 入社の前日が論文締切りだったことも手伝って, 初日からさっそく居眠りをしてしまいました. ごめんなさい.
PRML行ってきた. 線形回帰モデルの頭(3.1)と基調講演(笑)を担当. 担当以外のsectionの予習・復習をしっかりしないと, そこで活発な議論に参加しづらいのでとてももったいない. もったいないオバケが出る. 出ました. あと正則化項のパラメータ q を 1 未満としたときの最適化すべき関数がどうなるか, とパラメータ w がどのような傾向になるか, を宿題とした. あと DAL *1 初耳だった. あとで読む.PRML Chapter 3 3.1_smly
PRML, pythonhttp://atnd.org/events/4958PRML読書会復習レーン発表の割り当てがここだったので, テキストにあるアレコレを実装してみる. 基底関数の図の表示, 正則化項を別の視点で図示, Ridge regression と Lasso regression の比較と荷重減衰の確認などをした. Lasso regression では QP を解く必要があるのですが, Haskell で QP 解くためには何使うのがいいんでしょうかね. 調べるのが面倒だったので, 今回は Python の cvxopt を使った. 基底関数3つの基底関数, 多項式とガウスとロジシグ*1の形を見る. PRML にある図(fig3.1)より若干細い形になっている. これは s の値で決定できる. from pylab import * x = linspace(-1, 1,
ICFPhttp://www.icfpcontest.org/2010/ICFP という会議にいつも付属する, 72時間のプログラミングコンテストに参戦した. 参戦記録を... とも思ったが上位陣の記録が素晴しいので短かく印象に残ったこと, 特殊(?)なことだけ. 頭痛も痛いので. はい, 頭痛は痛いです.いつでも途中離脱できるように一人で参戦. チーム名はハンドルと同じ smly. 結局どっぷりと参加してしまった. 来年は誰かとチーム組んで参加したい. 問題の規模がでかいので, その方が絶対におもしろい. 一緒に参加しましょう! と言ってくれる同僚がいる会社とか, とても魅力的に感じます. そういう会社で仕事できたら楽しそうでイイナアと思います.回路. 仕様を掴むために Graphviz を使ってグラフを表示したりした. 入力二つ/出力二つのゲートにおいて, その入力の左右や出力の左右は
Haskell10^6 個の素数 (2から15485863までの素数) の計算を高速化した(ネタ). Project Euler には素数が活躍する問題がちらほらある. 素数列を各問題別に計算することは, エコの観点から見て大変よろしくない. なので 10^6 までの素数列をあらかじめ計算 (結構時間かかる) しておいて, ファイルに保存し再利用することでエコに貢献する. まずは pack/unpack するだけ. EcoPrime.hs module EcoPrime ( getPrimes , serialize, deserialize ) where import qualified Data.ByteString as B import Data.Bits import Data.Word import Euler (primes) -- prime0.dat: length =
PRMLhttp://blog.livedoor.jp/naoya_t/archives/51379175.htmlhttp://atnd.org/events/2007PRML読書会のスピンオフ企画, パターン認識と機械学習に関する何かをするイベント第二回に参戦した. 試合時間は 9:00 ~ 17:30 の 8.5 時間ですが, 終わらなかったので夜行バスが来るまではマックで, 更に夜行バスの車内でもデバッグしてた. 隣接リストでグラフを持ってコード書いたらややこしくなって隣接行列に表現を直して, 近傍頂点の集合を安いコストで得たかったので, また隣接リストに戻したという時間の無駄をした. ひどい. 大いに反省する.お題として PRML の 9 章グラフィカルモデルのお話を選択. ループありの BP により組み合わせ最適化における b-matching を解く(あるいは b-match
日誌今日はB4はじめての個別ゼミ(各自の研究の進捗を報告し、参加者からアドバイスなどをもらう集り)があり、終始なごやかムードで進む。自分も発表は来週なので他人ごとのようになごんでいた。とある発表に先生が「私のThinkpadはチューリング機械より賢い。なぜでしょう」という問いかけを出し、私も考え悩んだが答えは単に「普通のパソコンは温度計などセンサーにより物理現象を観測しているが、チューリングのモデルはそれを取得する術がない」というだけのことであった。ドクタのひとが世界全体を入力として与えていればいいのでは、といった反論*1なども出たが、それは記述可能であるかという話になり云々云々。ゼミ後は研究室でグラフベースの Semi-Supervised Learning (SSL) の話題と、それに関連して重み付きグラフのノード分類の話(特にSpectral Clustering)について調べる。S
日記http://atnd.org/events/1422http://twitter.com/search?q=%23PRMLhackathonhttp://blog.livedoor.jp/naoya_t/archives/51252359.html機械学習と戦うイベントに参加してきました. 試合時間は12時間. みなさん仕事が早くて素敵です.はじめは多クラスの分類器とかロジスティック回帰とかをIRLSとかで実装しようと考えていたのですが, 気がついたらパーセプトロンで多クラス分類を実装していました. そしたら Iris データセットでテストしてみてあまり良い結果が出なくて, 同時に実装した Average Perceptron との違いが見られないという残念な結果に. attribute と instance の多い別のデータセットで試してみようかなーとも考えてましたが, なんだかみ
http://mill.ucsd.edu/index.php?page=Results学部生からポスドクまでを対象としたUCSD主催のデータマイニングコンテストに参加してました. チーム名は smly で一人チーム. NAIST からは他にも論理生命学講座の先輩方のチーム west が参加していて, 彼等がひとつのタスクで優勝したようです. おめでとうございます. 二ヶ月ほどの期間で競われるコンテストなのですが, いろいろあって実質的な参加期間は二週間程度で, 入賞もできなかったという微妙な結果でした. たしかこの頃は研究会やYANSの発表ネタをがんばっていた気がする. でも来年は入賞して賞金をとりに行きます. 賞金が欲しい.タスクは E-commerce のトランザクションデータが与えられ, その中に含まれる異常なトランザクション(正例)を分類するという単純な二値分類で, easy と
POJ (PKU Online Judge) を Emacs で遊ぶためのマイナーモード poj-mode.el を作りました. これでマウス操作が得意でない方でも高速に submit が可能になります. まだ中途半端な出来なのですが, とりあえず動いたし, なにより飽きてしまったのでそのまま公開することにします. 不備があれば教えてください. もしくはパッチください. 超パッチください. 他人の環境で動作するのか不明なので動作報告とかいただけると, とてもありがたいです. 要 curl. プログラムは以下にあります.http://github.com/smly/elisp-poj-mode/tarball/0.1で設定方法ですが, .emacs あるいはそれに準じる設定ファイルに以下を追加してください. (setq load-path (cons (expand-file-name "p
POJ (PKU Online Judge) を Emacs で遊ぶためのマイナーモード poj-mode.el を作りました. これでマウス操作が得意でない方でも高速に submit が可能になります. まだ中途半端な出来なのですが, とりあえず動いたし, なにより飽きてしまったのでそのまま公開することにします. 不備があれば教えてください. もしくはパッチください. 超パッチください. 他人の環境で動作するのか不明なので動作報告とかいただけると, とてもありがたいです. プログラムは以下にあります.http://github.com/smly/elisp-poj-mode/tarball/0.1で設定方法ですが, .emacs あるいはそれに準じる設定ファイルに以下を追加してください. (setq load-path (cons (expand-file-name "poj-mode.
モントリオール, 東京, ロンドンの地下鉄の駅と路線の関係をグラフとして可視化してみました. この結果には別に意味はないのですが, アルゴリズムのデバッグなんかには結構役に立ってくれそうだなと思いました. デモムービーでは次のようなことを行っています. typo がかなり多い. (00:05) モントリオールの地下鉄をグラフ表示 (01:15) GREEN の路線を緑色に色付けし, 強調表示 (01:48) 東京の地下鉄をグラフ表示 (02:59) 日比谷線を赤色に色付けし, 強調表示 (04:35) ロンドンの地下鉄をグラフ表示 (05:55) Square が名前に付く駅を探す (06:10) Square が名前に付く駅を緑で色付け (07:42) Euston Square から Sloane Square までの最短経路を緑色に色付けし, 強調表示右側のウィンドウで動いていたプロ
This plugin allows you to include a clear math rendering in a page like this: ~~~ {.dvipng} \nabla \times \bm{V} = \frac{1}{h_1 h_2 h_3} \begin{vmatrix} h_1 e_1 & h_2 e_2 & h_3 e_3 \\ \frac{\partial}{\partial q_{1}} & \frac{\partial}{\partial q_{2}} & \frac{\partial}{\partial q_{3}} \\ h_1 V_1 & h_2 V_2 & h_3 V_3 \end{vmatrix} ~~~ enjoy!.......gitit とは git でページやファイルを管理する wiki プログラムで, Haskell で書かれて
講義資料読み+宿題を終らせた. 今後もっと本やら論文やらを読みまくって修士での研究テーマを早めに明確にしていきたい. 前回に続いてまた「リンク解析とその周辺の話題」を読んだ記録(三日, 四日目)ですが, 内容についてはスライドを読めばわかるので, その補足的なことのみを記述します. しかし調子に乗って定理の証明をしようとしてうまくいかなくて悶絶. von Neumann カーネルと正則化ラプラシアンの比較ができたのでよかったですが, それくらいしか内容ありません:(なおプログラムは gists の埋め込みなので LDR や fastladder からは読めません.*1 証明やプログラムに誤りなどがあれば指摘していただけると助かります. おしながきスライドの訂正: 三日目 54ページの指数拡散カーネルを展開したところ von Neumann kernel による重要度と正則化ラプラシアンによ
NAIST の入学手続を終えた. 残りの期間はサーベイするぞーということで shimbo 先生の講義資料「リンク解析とその周辺の話題」を読んでいます. 一日目, 二日目の資料は PageRank, HITS, SALSA などの重要度尺度の紹介と, von Neumann Kernels と HITS の関係についてのお話が中心. これらを実装してみた. 後半に進むほど力尽きて記述が適当になってます:)PageRankポイントはランダム遷移行列による random walk では定常分布に収束しない (エルゴード性 (ergodic) を満たさない) という点. どうして満たさないかというと. sink (出次数のない節点) が存在するとき, 明らかに既約 (irreducible) でないのでエルゴード性を満たさない. 複数の強連結成分を持つケース => 周期性を持つと考えてよい? 周期
日誌京都には美人が多いーかどうかは定かではありませんが. はてなにインターンとして勤務するため, 一ヶ月ほど*1京都に滞在することになりました. 行けることが決ってからの一週間, リャマにアルパカにサイ*2の途中までを予習していざ参加と意気込んでいたわけですが, Perl のコードに慣れないこと慣れないこと. 毎回, 課題を夜遅くまでやっていたのは今では良い思い出であります.はてなインターンでは, 前半二週間で自社製フレームワークや大規模データを扱うためのノウハウを学びました. 一ヶ月の折り返し地点で, はてなより評価をいただき, 後半二週間もはてなでインターンを続けることができるのかを審査されるのですが, なんとかギリギリの評価で後半二週間もはてなでコードを書き続けることができるようになりました. わーい. いまはチームに配属して, 担当部分のコードをがりがりしてるところです. 必要に応
日誌行ってきた. ブログ記事の大規模データに対して機械学習(SVM)を用いてプロファイリング(ブログ書いた人の性別の判別とか)をする実習とかしたり, 自然言語処理講座の方々とあれこれ話したり, 懇親会とか, あと宿泊先のゲストハウスせんたんでの酒盛りビデオ鑑賞会とかしてきた. id:mamoruk さんをはじめ自然言語処理講座の方々には大変お世話になりました. ありがとうございました.開会式の挨拶で研究科のえらい人が, このイベントはブートキャンプとか銘打ってるけど, 軍隊式トレーニングとかじゃないよ!! みたいなこと言って会場を沸かせたが, ビリーズブートキャンプを連想して笑ったのは私だけではないと信じている. みんな連想しましたよね?実習ではブログ記事を扱った. 記事データがとても多くてナイーブな方法でもそれなりの精度を出すのだけれど, 素性テーブルの作り直しからモデルの作り直しまで処
AlgorithmSpectral Clustering の妥当性ってどんなとこから来るんだろうかという疑問から Yale 大の Spectral Graph Theory and its Applications の講義資料を読みはじめたが, 当初の目的を忘れて単純にグラフの Laplacian からどのようにしていろんなことが言えるのかを見てたりしてる. Spectral Graph Theory はちょくちょくグラフ構造から来るものでない行列のスペクトルについて考えるので, グラフ理論の話から直感的に結論が得られることを説明するのは難しいそう.資料の Lecture 1, 2 は視覚的にSpectral Graph Theory から意義のあるものが得られることを実際に例を用いて確認させた後, 実際にラプラシアン行列から得られることを見ていきます. 資料がどのようなことを述べているの
このページを最初にブックマークしてみませんか?
『Standard ML of Yukkuri』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く