Rで学ぶクラスタ解析

ケモインフォマティクス向けのRプログラミングとクラスタリングの書籍としてもよい。混合分布モデルでHTSデータ分けたりとか、スペクトラルクラスタリング、ファジークラスタリングを化合物クラスタリングに使ってみたくなった。

ProductName Rで学ぶクラスタ解析
新納 浩幸
オーム社 / 3360円 ( 2007-11 )


5章まで基礎的な内容で無難なんだけど、6章からが面白い。

  • 混合分布モデル
  • スペクトラルクラスタリング
  • 次元縮約
  • ファジークラスタリング

統計やるために「対話的っぽいツールとしてのR」を使いましょうという内容ではなくて、スクリプト言語としてRを使ったりとか、クラスタリングのためのアルゴリズムを実装していくという内容。章の最後に載っているプログラミングメモがお役立ち。「はじめに」にRはベクトルと行列の演算が本質と言い切っているように効率的なプログラミングのためにどう書くといいかとかかなり参考になった。

「ミクシィをやめる前に読む本」を流し読み

今の会社に結構長いこといたらご褒美的に10K円分の図書カードをもらえたので、それを握りしめてあちこち放浪してたら、目についたので流し読み。

ProductName ミクシィをやめる前に読む本―トラブルを回避する69のツボ
高橋 暁子
双葉社 / ¥ 1,575 ()
通常24時間以内に発送

この本がいいよとかよくないよとかそういうことがいいたいんじゃなくて、これって4年前となにも変わってないんじゃないのかなぁと。

新しい技術とか出てくると咀嚼できなくて最初のほうで摩擦がおこるとかいうのはわかるけど、4年もこういう問題がついてまわってるって明らかに長過ぎるよなぁ。mixiみたいなソーシャルネットワークのこういう疲れたとかなんとかっていうのは、今までずっと継続的に起こっていて、これからも起こり続けていく問題で、結局のところヒトがカルチャーの中に自然な形で取り込むのは難しいものなのかなぁと。

facebook疲れというのもやっぱあるそうだし、そういうものにsustainabilityはあるのだろうか?と、ふと思った。

そろそろ新しい何かがポッと出てくるのかな。

Making Things Talk

予約した。

ProductName Making Things Talk -Arduinoで作る「会話」するモノたち
Tom Igoe
オライリージャパン / ¥ 3,990 ()
近日発売 予約可

これ読んで、arduino熱を高めてからハードをゲットするかどうか考えよう。

そういえばこの前の発表のときもう一枚おまけのスライドが残ってた。

Wiiコントローラーの加速度センサをつかってchemichoの変異の大きさをイベントドリブンで変えよう、、、

ProductName マツイ棒

長塩産業(株) / ()
通常24時間以内に発送

ドラフト汚さず、ラボ中(新規化合物で)ピカピカのメドケム棒というネタだったんですけどね。

「あたらしい戦略の教科書」読んだ

先々週くらいの出張の新幹線の中で読んだのだけど、思考のボトルネックを解消しようと同じくらい面白かった。

ProductName あたらしい戦略の教科書
酒井 穣
ディスカヴァー・トゥエンティワン / ¥ 1,575 ()
通常24時間以内に発送

  • 現在地は客観的な事実でできていて、目的地は現在地に依存し、かつ幅のある未来のこと
  • 情報力 = 情報収集力 X 情報分析力
  • 直感的に自社のスイートスポットを考える方法は「自分の会社がなくなった場合困るのは誰でそれはなぜか」という質問に答える
    • Knockoutした場合どうなるかを考える。
  • 同僚に金をくれとせがむのがナンセンスなように、同僚に一方的に情報を求めるような態度もやはり間違っている
  • 真のイノベーションは顧客の生の声からはあまり出てこない
    • 顧客は自分の欲しいものの本質を理解しているとは限らない(むしろ理解していない)
  • 社内の反発は、商品としての魅力度のバロメーター。
  • いちいちブレインストーミングせずに、克服すれば大きな成果につながる矛盾のリストを作り、そうした矛盾の一つ一つについてアイデアを募る
  • クイックウィンのテストケースは重要
  • やめるべきことを常に探す
  • 価値観はひとそれぞれなので説得したいのであれば相手の価値観に配慮する

いわゆるビジネス本については戦略というよりは戦術に近いレベルでヒトというものを捉えるわけですな。なんというか、将棋の駒はそれぞれ特性があるが、囲碁の碁石はもっとマクロな感じで石そのものには特性がないみたいな、そんな感じ。

でも、そんな感じで考えてみるに、ビジネスってのは将棋の盤上と駒のなかに碁石が混じっている感覚なんだよなぁと思った。セルオートマトンのように碁石が仲間に囲まれることで将棋の駒のように特性を持ったものにチェンジするのかなぁ。

RでRandomForest

朝からRをいじりたくなって、「あーそういえば2.8出たんだっけ」とか言いながら、ソース落としてきてmacbookでコンパイルをしてみたがこけた。まぁ、2.7.1でRpy動くのでとりあえずいまのところはそっとしておいてやろうということで負けを認めない方向で。

で、RandomForestは好きな時に使えるようになっておかないといけないなぁといつもお世話になっている連載を読み直した。というより、いままで上っ面を押さえただけでわかった気になっていただけだったので、ちゃんと読んだ。

  1. 与えられたデータセットからN組のブートストラップサンプルを作成する。
  2. 各々のブートストラップサンプルデータを用いて未剪定の最大の決定・回帰木を作成する。ただし、分岐のノードはランダムサンプリングされた変数の中の最善のものを用いる。
  3. 全ての結果を統合・組み合わせ(回帰の問題では平均、分類の問題では多数決)、新しい予測・分類器を構築する。

BaggingとRFの大きい違いは、Baggingは全ての変数用いるが、RFでは変数をランダムサンプリングしたサブセットを用いることができるので、高次元データの計算が容易であるである。ランダムサンプリングする変数の数Mはユーザが自由に設定することができる。Breimanは、Mは変数の数の正の平方根をと取ることを勧めている。

あとはこっちも参考になった。

RandomForests とは?

Random Forests では、個々のコンポーネントモデルを生成するのに全く新しい方法を利用する点が異なります。逆説的ですが、「強い」独立モデル同士では、モデルが全体として高いパフォーマンスを引き出すよう有効に結合しません。むしろ「弱い」独立モデル同士の方が効果的な結果をもたらす傾向があるのです。この理由として挙げられるのは次の 2点です:

まずひとつは、複数のモデルを組合せたり平均化を行っても、個々のモデルがお互いに非常に類似している場合には際立った精度の改善が見られないという点があります。極端な場合、各モデルが全く同一のコピーだとすると、平均化することによってそこから得られる利益(ベネフィット)は全く何もありません。組合せ技術で何らかの利益をもたらすためには、組合せるモデル同士はお互いに異なっている必要がある訳です。

要するに予測精度はある程度弱くてもよいからできるだけ直交するようなモデルを組み合わせることが大切ということか。

Rで使う

CRANにrandomForestというパッケージがあるのでそれを利用する。unsupervisedで遊んでみた。

> library("randomForest")
randomForest 4.5-28
Type rfNews() to see new features/changes/bug fixes.
> data("iris")
> set.seed(17) 
> iris.urf <- randomForest(iris[, -5]) 
> MDSplot(iris.urf, iris$Species)
### plot ###
> importance(iris.urf)
             MeanDecreaseGini
Sepal.Length         17.33820
Sepal.Width          15.19356
Petal.Length         17.30337
Petal.Width          12.92124

iris<em>unsupervised</em>randomForest

こっちはsupervised

> data(iris) 
> iris.rf <- randomForest(Species ~ ., iris, proximity=TRUE, 
+ keep.forest=FALSE)
> MDSplot(iris.rf, iris$Species)

iris<em>supervised</em>randomForest

他にもimportanceとかgetTreeといった関数が重要そう。

セミナーで発表してきた

参加した皆様おつかれさまでした。

僕はというと、反応プログラミングを使った合成系人工無脳について、話させてもらいました。職場でトークしてもレスポンスが薄くて凹むのでこういう場は結構貴重だなぁと改めて。

  • つかみをコードでってのは、ダメでしょうと同僚に言われたのでやめた。
  • かわりにはてなーになりました!とかやってみた(謎)
  • Random Forestはみんな使っているのね。僕も実際のデータでなんか使ってみよう。
  • graphical modelingとかMCMCも探索系まで落ちてきそうな予感はするのでそっちもちゃんと押さえておかないとなぁ。
  • そういえばInSilicoSpectroはどうなんだろう?職場で流してみたら華麗にスルーされたままだったので聞いとけばよかった。

ProductName マルコフ連鎖モンテカルロ法 (統計ライブラリー)

朝倉書店 / ¥ 4,410 ()
通常24時間以内に発送

帰りにパラパラめくってみて欲しくなったんだけど、PRMLにも書いてあるからなぁ。

ProductName パターン認識と機械学習 下 - ベイズ理論による統計的予測
C. M. ビショップ
シュプリンガー・ジャパン株式会社 / ¥ 8,190 ()
通常24時間以内に発送

先にこっちだな。

追記 20081107

リサンプリングの話でrandom forestはどうかっていう話が出た時に、あーそれもありかなみたいなぁとその場では思ったのですが、よくよく考えたらブートストラップサンプルで標本が重複してしまうからそれをうまいこと回避できるのかなぁ?と。

なんかいい方法あるかなぁ。あとでもう少し考えてみよう。

空っぽのブログの建設者

超構造体とか建設者を思い浮かべた。

http://anond.hatelabo.jp/20081107171440

「感染前」の「ネット端末遺伝子」を探すっていう目的で、霧亥って名前のクローラ動かして足跡残すのとか面白いかな。

ProductName BLAME 1 (1) (アフタヌーンKC)
弐瓶 勉
講談社 / ¥ 630 ()
通常24時間以内に発送

ProductName BLAME 9 (9) (アフタヌーンKC)
弐瓶 勉
講談社 / ¥ 630 ()
通常24時間以内に発送

ProductName BLAME 10 (10) (アフタヌーンKC)
弐瓶 勉
講談社 / ¥ 630 ()
通常24時間以内に発送

「Subject To Change」を読んだ

デザイン全般に関して。イントラのサービスをつくる際に参考になりそうなことが多かった。

ProductName Subject To Change -予測不可能な世界で最高の製品とサービスを作る
Peter Merholz,Brandon Schauer,David Verba,Todd Wilkens
オライリージャパン / ¥ 1,890 ()
通常24時間以内に発送

  • デザインは行為
  • 製品自体はもっと大きなシステムのインターフェース
  • デザインにおける共感
  • エスノグラフィ
  • 調査がうまくいく場合
    • 調査が「組織コンピテンシー」として扱われる
    • 調査結果が実行可能かつ永続的である
  • 顧客体験は継続的なもの
  • アイデアラボ

デザイン思考の道具箱に近いのかな

ProductName デザイン思考の道具箱―イノベーションを生む会社のつくり方
奥出 直人
早川書房 / ¥ 1,890 ()
通常24時間以内に発送

せたが屋でつけめん

品川の品達で。

1226056569

平打ちのつけ麺。

1226056568

酸味の効いたつけ汁がうまかった。

openFrameworks

openFrameworksをちょっと触ってみた。

of

なかなか楽しそだが、まずはprocessingとaction-codingあたりをもうちょっとやる。