北野坂備忘録

主にインストールやプログラミングのメモを載せています。

正規方程式とは何か

 数学の得意な人間はだいたいにおいてそうでない人間から見るとたいへん冷たいです。
「正規方程式とは何か?」という文系からの問いに、「最小二乗法を勉強すれば分かるでしょう?」という、木で鼻をくくったような回答をします。
 そもそも文系からすると「この『正規』という単語はどこから湧いて来たのか。どういう意味なのか」をまず知りたいのです。英語でいうとNormal Equationです。このNormalが何を指しているのかをまず知りたい。
 しかしながらポンと数式を出して「これが正規方程式です」で終わる。
 しかもその正規方程式が書籍やサイトによってまるで違う!(ように見える)

 『はじめてのパターン認識』だとこうです。

(1) {
\hat{w}=({X}^{T}X)^{-1}{X}^{T}t
}

 Wikipediaだとこうです。

(2) {
{G}^{T}Ga={G}^{T}y
}

 そして一番分かりやすいであろう「高校数学の美しい物語」ではこうです。

(3) {
{A}^{T}Ax={A}^{T}b
}

 文系にはこれが全く違う式に見えます。せいぜい「(2)と(3)がなんか似てるかな……?」と思うぐらい。

 「正規方程式とは、条件さえ合えば解析的に最小二乗法が解ける式だけれども、大規模な疎行列のように特徴(変数)が多くなってくるとコストがかかるので勾配法で解いた方が良い」というのが文系が求める機械学習的な回答かと思います。

VMWare追加ネットワークアダプタ設定の罠

 ネットワークアダプタ2を追加する。
f:id:kenichia:20160706224958p:plain
 ネットワークアダプタ(無印)側の「アダプタの設定」を変更する。
f:id:kenichia:20160706225002p:plain

これを
f:id:kenichia:20160706225004p:plain
こうすると……
f:id:kenichia:20160706225006p:plain

 「ネットワークアダプタ2」の設定まで勝手に連動して変わってる!
f:id:kenichia:20160706225008p:plain
 ネットワークアダプタ追加する意味がないだろ!
※昔のVMWareでは専用のブリッジ設定ソフトが付属していてそれぞれ別の設定が可能だったとのこと。

パチンコ配分モデル

 トピックモデル本を読んでいると、

トピックモデル (機械学習プロフェッショナルシリーズ)
 「パチンコ配分モデル」というパワーワードに突き当たりました。
 名前だけでイメージするとまるで「パチンコ玉を配分するようなモデル」に思えますが、実際にはパチンコ玉が上から下に落ちていくときの「通過した上の位置に対応して下の位置が制限される状態」をイメージしたモデルです。
 この名称だと日本人以外には分からないし、日本人だとしてもパチンコをやったことのない人にはイメージできないでしょう。
 モデルのネーミング担当者はラリッていたのではないか。ボブは訝しんだ。
.

条件付き確率でどっちが条件か覚えられない!

 いい歳をして右と左が分からない人がいます。
 同様に、いつまでたっても条件付き確率

p(A|B)

 でどちらが条件部分か覚えられない人がいます。
 というか、「条件付き確率」という日本語のせいで、

p(条件|確率)

 に思えてしまうようです。
 ここは疑似的に「条件側」が「分母」、つまり

p(分子|分母)

 だと覚えましょう。
f:id:kenichia:20160629125637p:plain
 例えば上の図のように赤い○が1つ、赤い×が3つある場合、赤という条件での○の数は

p(○|赤)=1/4

 となります。
 同様に×という条件のもとでの青の数は

p(青|×)=2/5

 となります。

Excelのセル内改行の削除(前処理編)

 前処理でExcelのセル内改行を削除したいときがあります。
 Excelのセル内改行を削除する方法としては、
・検索ボックスで「[Ctrl] +[J]」を入力して置換する
 方法が有名ですが、なぜかそれでは取り切れないセル内改行が存在します。

 これには、clean関数を使うのが良いでしょう。clean関数であればしつこいセル内改行もスッキリ消去することができます。
 ただし、clean関数は正確には「印刷されないタブ記号やセル内改行などの制御文字を削除する」関数なので、副作用に注意してください。

マハラノビス距離(メモ)

 マハラノビス距離はインド人の数理統計学者プラサンタ・チャンドラ・マハラノビスによって発明されました。
 「分散を考慮に入れた距離」とでも申しましょうか。
 マハラノビス距離を知るのにオススメのサイトはこちら。
 「教師なし学習による異常値検知: マハラノビス距離 (理論編)」内の、
ユークリッド距離とマハラノビス距離の違い」
http://qiita.com/shopetan/items/ceb7744facc21c3881d2#%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E8%B7%9D%E9%9B%A2%E3%81%A8%E3%83%9E%E3%83%8F%E3%83%A9%E3%83%8E%E3%83%93%E3%82%B9%E8%B7%9D%E9%9B%A2%E3%81%AE%E9%81%95%E3%81%84
と、「もう少し詳しくマハラノビス距離」です。
http://qiita.com/shopetan/items/ceb7744facc21c3881d2#%E3%82%82%E3%81%86%E5%B0%91%E3%81%97%E8%A9%B3%E3%81%97%E3%81%8F%E3%83%9E%E3%83%8F%E3%83%A9%E3%83%8E%E3%83%93%E3%82%B9%E8%B7%9D%E9%9B%A2
 この2項目を読む(見る)とマハラノビス距離のイメージがだいたい掴めますので、この2項目を読んだあとで該当ページの最初から数式を眺めていくと理解しやすいと思います。
qiita.com

Wekaはこの先どうなるのか

 「フリーソフトではじめる機械学習入門」という良くできた機械学習の入門書があります。

フリーソフトではじめる機械学習入門

 ただし、使われているのがWeka
 「この先Wekaを使うことがあるのか……?」と問われると答えに窮する。
 Wekaを使うとどうしてもブラックボックスになってしまうし。
 同じブラックボックス型ならWekaを発展させたRapidMinerがあるし。
 逆にRapidMinerを使いたい人・使わなくてはならなくなった人が準備段階として勉強するにはちょうどいいと思います。ビジネスマン向けですね。
 大学入って機械学習を学ぶのならWekaから入るのはどうなのかなー。今ならPythonを勉強するべきだと思うし……。(タイトルに戻る)