PRML 演習問題2.3
WWWと付いてるので著者HPに解答が載ってはいるんですが式変形が急激すぎてビビる。詳細解をメモ。式変形の説明も。
2.262
に を掛けると 、 に を掛けると になる。これを使うと1行目から2行目のように通分できる。
2.263
のとき、、 だから、(左辺)=(右辺)。
のとき、 が正しいとして、 のとき、
- 1行目:指数の法則。
- 1→2行目:分配法則。
- 4→5行目: の添字を1個進めて中身を1個戻すと結局同値。これに気付かなくて秋葉原のスタバで1時間ぐらい粘って結局分からずに帰った。
- 5→6行目:6行目の前2項は5行目の第1項を分解したもの。後2項は5行目の第2項を分解したもの。
- 7→8行目:別にこう書いてもいいよね!!
2.264
分数で二項定理するっていうのが思い付かずに答えを見てしまった。辛い。理解できればそれでええんや……。模範解答では4行目からラストにワープしててファッ!? ってなった。これぐらい自分で展開しろということなのか。まあそれはそうか。
PRML 式(2.6)から式(2.7)の導出
目的
二値確率変数の観測値の集合が与えられた時に、ベルヌーイ分布のパラメータ を推定したい。
考え方
観測した値が出る確率を全部かける。
これが尤度関数で、頻度主義的にはこれを最大化すれば一番 を観測しやすい が得られる。
尤度関数の対数を取ったものを使ってもそれを最大化すれば同値なので、
これを で微分して0になる時の方程式を解けばいいって軽く書いてあるけど真面目に解いたらかなりダルかった。以下式変形を愚直に。
これが0になればいいので、
と、無事式(2.7)になりました。なったからたぶんこれで正しいんだと思う。
ついでに、 なので、 となった回数を と置くと、 なので、要は「結局試行の中で1が出た割合がベルヌーイ分布のパラメータそのものなんじゃね?」という話に帰着するのですが、そうすると同じコインを3回投げて3回とも表が出たらパラメータは1になるという「は?」って感じの結論が導かれるので、そういうのを防ぐためにベイジアンなアプローチによって事前分布を用意してから計算しようねというのが次のベータ分布以降の話なんだと思います。たぶん。
HomebrewでMySQLを入れるとソケットファイルの場所がデフォルトとは違うところに入る
この記事は システム主専攻ver1.0 Advent Calendar 2014 - Adventar の3日目の記事です.通算4本目です.
問題
もはやタイトルが全てを物語っているのですが.HomebrewでMySQLをインストールすると,起動時のソケットファイルが /tmp/mysql.sock
に作られます.が,PHPは(デフォルトの状態では)ソケットファイルは /var/mysql/mysql.sock
にあると思っているので,このままだと当然ファイルが見つからずに落ちます.
解決法
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
お疲れ様でした.
参考
Install MySQL on Mountain Lion with Homebrew | Houndstooth 2012
Javaの正規表現のマッチのさせ方
この記事は システム主専攻ver1.0 Advent Calendar 2014 - Adventar の1日目の記事です.なんで今さら2014年のアドベントカレンダーなんかやってるのかって? そんなのは知りません.
機械学習の研究室で,指導教員がJava使いなのでゼミ生もJavaでチュートリアルのプログラムを進めています.コーパスのテキストデータをパースする必要が出てきたのでパーサーを書いていたのですが,そこでJavaの挙動に翻弄されました.
読み込みたいファイルのヘッダが下みたいな感じでした.
*x*x*x*x*x*x*x*x*x*x*x*x *x*x*x*x*x*x*x*x*x*x*x*x *x* *x*
という枠があったので,上の行を飛ばすために当然のようにPattern.Compile("^\\*x\\*")
と書いたんですが,これがマッチしない.そして1時間以上に渡る調査を続け,私はついに答えにたどり着きました.
Matcher.matches
領域全体をこのパターンとマッチします。
Matcher.find
入力シーケンスからこのパターンとマッチする次の部分シーケンスを検索します。
ということで何の事はない,ただの私のドキュメントの見落としでした.具体的にはsomePattern.matcher(someInput).find()
みたいに書けば部分一致するかどうか判定してくれます.みなさんもJavaで正規表現を使う時はこんなしょうもないところでハマらないようにしましょう.
Finderのアイコンプレビューが表示されなくなった
Finderでフォルダの中身を表示してもファイルのアイコンがそれ自体のプレビューにならなくなってしまい困ってました.似たような状況を調べていたところ「コンソールでエラーログを読む」という方法があったので自分でも見てみました.すると……
Dec 30 20:40:09 XXXXXX-no-MacBook-Air com.apple.xpc.launchd[1] (com.apple.quicklook.ui.helper[2835]): Service could not initialize: Unable to set current working directory. error=13, path=/tmp: 14B25: xpcproxy + 12907 [1227][1016C726-9ACF-3A24-9C51-A279F5C6B167]: 0xd
というログが毎秒2件ずつ吐き出されてて軽いホラーだなと思いました.ともかく「ワーキングディレクトリを/tmpにセットできないのかな?」と思いパーミッションを調べてみると,/tmpのリンク先である/private/tmpがなぜか666という不思議なフラグになっていました.本来はここは777 1777 [2015/7/27 訂正] であるべきなので,設定しなおしたところ,無事Finderでアイコンプレビューが表示されるようになりました.最近Emacsで/tmpにファイルを作った時に書き込み権限が得られなかったのでおかしいなと思ってたのですが,まさかこれが別の問題を起こしていたとは…….とにかく解決できてよかったです.あと何でパーミッションが変わってたのかは全然身に覚えがないです.ここが一番ホラーでした.