PRML第4章メモ
http://d.hatena.ne.jp/alembert/20090726/p1 の続きです。
4.3 確率的識別モデル
- 確率的生成モデル=入力変数のモデル , 確率的識別モデル=出力変数のモデル
- ロジスティック回帰
- 活性化関数としてロジスティックシグモイド関数 σ(a) を利用
- 尤度が指数型分布族の場合に適用可能
- 誤差関数 : E(w) = -Σ(t ln y + (1-t)ln(1-y))
- 交差エントロピー関数
- 誤差関数の勾配 : ∇E(w) = Σ(yn - tn)φn
- 目標値と予測値の誤差×基底関数ベクトル
- 線形基底関数モデルと一緒というのが興味深いね、という話(cf. 正準連結関数)
- 誤差関数のヘッセ行列 : ∇∇E(w) = ΦTRΦ(R = diag{yn(1-yn)} = cov[t])
- 最尤推定
- 過学習の結果は直感通り、w=∞、ヘヴィサイドステップ関数によってクラスが分類される
- 解析的には困難 -> IRLS(反復重み付け最小二乗)
- プロビット回帰
- 正準連結関数
- 連結関数(活性化関数の逆関数)の一種
- 指数型分布族の場合、これを連結関数として採用すると、誤差関数の勾配=目標値と予測値の誤差×基底関数ベクトル になる
- 非常にシンプル。そして汎用性が高い。(IRLS の際に便利)
4.5 ベイズロジスティック回帰
PRML 読書会で発表します。
今回も発表します。参加はこちらからよろしくどうぞ : C.M.ビショップ「パターン認識と機械学習(PRML)」読書会(第5回) : ATND
- 作者: C. M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: シュプリンガー・ジャパン株式会社
- 発売日: 2007/12/10
- メディア: 単行本
- 購入: 18人 クリック: 1,588回
- この商品を含むブログ (111件) を見る
二大短縮 URL サービス(bit.ly, TinyURL)の API 仕様
Twitter の短縮 URL サービスと言えば、bit.ly, TinyURL がその軒を連ねていますが、この圧倒的なシェアは、Twitter の統計データからも伺うことができます。
http://www.nikkeibp.co.jp/article/column/20090729/170760/?P=2
Twitter上で使用されている短縮URLの実に82.0%がbit.lyによるものだった。逆にTinyURLのシェアは11.0%に過ぎない。
これらの短縮 URL サービスの API の仕様を調べてみました。
bit.ly
こちらにリファレンスがあります : Google Code Archive - Long-term storage for Google Code Project Hosting.
- 入力の形式は GET。出力の形式は xml, json から選べる
- 主なメソッド
- shorten : URL を短縮
- 短縮URLの実体は、URL だけでなく、「URL と短縮したユーザ(or NULL)のタプル」になっているようで、これで複数同じ実体を持った短縮 URL を生成することを防いでいるようです。
- expand : URL を展開
- info : ページの情報(短縮した人、サムネイル、等)
- stats : ページの統計(クリック数)
- shorten : URL を短縮
- Javascript のコールバックは使用可(callback という GET パラメータで指定可能)
TinyURL
公式のドキュメント見つけられず。こちらを参考にしました : TinyURL の api を使う - モノラルログ
- 提供されている機能は「短縮」のみ
- http://tinyurl.com/api-create.php?url=http://monaural.net/ のようにして使う
- 出力は短縮 URL のみ(シンプル!)
- エラーの場合は "Error" を返す。ステータスコードはこの場合も 200。
- Javascript のコールバックは使えない(まあ当然っちゃ当然)
今日知った Twitter 関連サービス 3 つ
add a tweet
今見ているページに対して Twitter 上でどんな post がされているのか確認できる Firefox アドオン。この手のサービスは実は前からあったのですが、アドオンという形をしている点が新しいですね。
via : ウェブページごとにTwitterの発言を残せるアドオン「add a tweet」*二十歳街道まっしぐら(FC2ブログ時代)
GeoChirp
地理的な位置と範囲を指定して、つぶやきの検索ができる検索エンジン。あくまで憶測ですが、つぶやくから独自に位置を抽出しているのではなく、恐らく Twitterの API の仕様をまんま使っているだけな気がするので、技術的に特に新しくはなさそう。Twitter の Search API の仕様に geocode というパラメータがあるのですが、これを使うと地理的な位置と範囲でつぶやきを絞り込めるようになります。
http://apiwiki.twitter.com/Twitter-Search-API-Method%3A-search
- geocode: Optional. Returns tweets by users located within a given radius of the given latitude/longitude, where the user's location is taken from their Twitter profile. The parameter value is specified by "latitide,longitude,radius", where radius units must be specified as either "mi" (miles) or "km" (kilometers). Note that you cannot use the near operator via the API to geocode arbitrary locations; however you can use this geocode parameter to search near geocodes directly.
実装が容易でパッと見目新しいサービスが構築できることから、今後は、この仕様を使った B 級ウェブサービスが増えていくのではないかと推測しています。
via : ウェブページごとにTwitterの発言を残せるアドオン「add a tweet」*二十歳街道まっしぐら(FC2ブログ時代)
Ubuntu で Cake が使える環境を構築するまで
研究室の先輩に勧められて、Twitter のクローラ用に Ubuntu を使ってみることにしました。予想以上にユーザフレンドリーな OS で、パッケージ管理の整備のされ具合にただただ感動していました。Screen も最初から幾つかテーマが用意されているので、快適に作業が始められます。
PHP の O/Rマッパーを新しく覚えるのが面倒だったので、Cake を使おうと思い、Ubuntu に環境を整えてみました。以下、作業手順メモ
パッケージのインストール
私が入れたパッケージは以下の通りです。apt-get install でドバっと入れました。
- apache2-mpm-prefork(prefork を使いました)
- php5
- libapache2-mod-php5
- mysql-server-5.1
- phpmyadmin
- cake
- bake
mod_rewrite を ON に
8/2 変更。こちらの方法の方がよりスマートでした(@repeatedly さんに感謝)
a2enmod rewrite
これで、あとは /var/www あたりに /usr/share/cake/app/* をコピーすれば良いと思います。
動いた!
■
今日の一言 : うんこ拭く手とコンタクト入れる手が一緒っていうのはある意味衝撃的ですね。
今日知ったTwitter関連サービス 2 つ
Twubble
Twitter でユーザを増やすためのツール。上手いのは、Javascript ベースですべての処理をクライアントから行うため、API制限をサーバ側で考慮する必要がないということ。
via : Twitterで誰をFollowすべきか教えてくれる「twubble」