タグ

2014年2月10日のブックマーク (5件)

  • Matrix Factorizationで遊ぶ - Negative/Positive Thinking

    はじめに 次元削減せずにはいられない。 0の扱いがいまいちピンとこなかったので、ちょっと調べて試してみた。 Matrix Factorizationとは Netflix Prizeという推薦システム・協調フィルタリングのコンテストで良い結果を残した手法 行列Mを、2つの行列P,Qの掛け算で近似するもの 行列Mが与えられたとき、行列Pと行列Qをそれぞれ見つける ユーザー数m、アイテム数nとして、Mはm*n行列。Pはm*k行列。Qはn*k行列。 行列Mには欠損データが含まれている 行列PとQを求めるために次式を最小化する min Σ_{(u,i)∈κ} (M[u][i] - Q_vec[i]*P_vec[u])^2 + λ(|Q_vec[i]|^2 + |P_vec[u]|^2) κは、既知のM[u][i]が存在する(u,i)のペアの集合 SGDで解を探す場合は以下の反復式になる e_ui :

    Matrix Factorizationで遊ぶ - Negative/Positive Thinking
    hide_o_55
    hide_o_55 2014/02/10
  • Go弱の会でgo vs node.jsのパフォーマンスベンチを取った話をしてきた。 #gojaku - from scratch

    Go弱の会に行ってきました。今回はnitrous.ioの話、revelの話、Dartの話がありました。 僕も少しだけしゃべったので、その話を含めてやったことをまとめます。 僕が話した内容 Go弱っぽく、Webアプリを作成し、そのベンチマークを取ってみました。 作ったアプリ angularjs と goweb(RestFul server) と mgo (mongo driver) でツイッターっぽいアプリを作ってみました。 Goweb製(heroku) : http://goweb-angular.herokuapp.com/app/#/ githubはここでアップしてます。 GitHub : https://github.com/yosuke-furukawa/goweb-sample ちなみに比較対象のkoa製の方もherokuにアップされてます。 Koa製 (heroku): htt

    Go弱の会でgo vs node.jsのパフォーマンスベンチを取った話をしてきた。 #gojaku - from scratch
  • Big Sky :: C言語で文字列を自動伸張してくれるライブラリ「sds」

    C言語の文字列伸張は慣れないとコストの掛かるコーディングになりがちです。 またそういった文字列ライブラリというのは、直接 puts や printf に放り込めないという難点があります。 しかし sds というライブラリは異なります。 antirez/sds - GitHub Simple Dynamic Strings SDS is a string library for C designed to augment the limited libc ... https://github.com/antirez/sds 通常、C言語向け文字列ライブラリというのは独自の構造体ポインタを返します。そうする事で、文字列ポインタ以外の情報を詰め込んで処理する事が出来ます。しかしその反面、構造体ポインタをそのまま puts や printf に放り込めず、何かしらのアクセサを用意する必要がありまし

    Big Sky :: C言語で文字列を自動伸張してくれるライブラリ「sds」
    hide_o_55
    hide_o_55 2014/02/10
  • 数字6桁パスワードのハッシュ値の総当たり、PHPなら約0.25秒で終わるよ

    JALの6桁数字パスワード問題から派生して、JALのサイトがパスワードリマインダとして「現在のパスワード」を教えてくれることから、JALサイトではパスワードを平文保存しているのではないかという疑惑が持ち上がっています。それに対して、「いやいや、従来の主流と思われるソルト付きMD5ハッシュでの保存しても、実用的な速度でハッシュ値から元パスワードを『解読』できるよ」と、JALを擁護(?)するエントリが現れました。 パスワード問合せシステムを作る (clojureのreducers) この記事では、最初Clojureによる単純な総当たりで36秒、Clojureのreducersによる並列化で11秒でハッシュ値から元パスワードが求められるよ、と説明されています。まことに痛快な記事ですので、未読の方には一読をお勧めします。 とはいうものの、100万件のMD5の総当たりが、逐次実行で36秒、並列化して

    hide_o_55
    hide_o_55 2014/02/10
  • Sqitch: Sensible database change management

    Sensible database-native change management for framework-free development and dependable deployment. Download New to Sqitch? Organizations and Projects Using Sqitch

    hide_o_55
    hide_o_55 2014/02/10
    “database change management”