入門機械学習の9章を読んだ(Multi Dimensional Scaling)

8/24の入門機械学習読書会の範囲になっているMulti Dimensional Scaling(MDS)の章を読んだ。

ProductName 入門 機械学習
Drew Conway
オライリージャパン / 3360円 ( 2012-12-22 )


最初から距離しか与えられてない場合にはMDSだろうけど、普通はPCAでいいんじゃないかなーと思いつつ。あとユークリッド距離使うんだったらSPEでもよかろうと。

ちなみにクラスタリング関係をRでやるんだったらこの本が参考になるんではないかと。バイオインフォと書いてあるけど、あれも結局インフォマティクスなんで、バイオロジーの知識がなくてもアルゴリズムとかクラスタリングの使い分けとかは理解できると思います。というわけで欲しいかたがいれば持っていきますので、連絡ください。

尚、次回の入門機械学習読書会は掛川開催でランチに名物のいも汁を食べに行くので興味ある方は参加されると良いです。本の内容は8,9,10のPCA,MDS,K-meansといったクラスタリング関係をまとめてやります。

最近飲んだ日本酒(130812)

コメヤスさんで買ったBlack Phoenix。いつもの鳳凰美田に比べると酸が強めかな、なんかそんな感じ。

ちなみに最近は持ち歩きが苦にならない4合瓶の割合が増えている(あちこちで買うので)

1376248945

黒地に金字ばかりを飲んでいた。

1376248947

いけたにさんで購入した、小鼓の純米吟醸

1376248948

親戚から送られてきた大信州の夏酒。小鼓と大信州はなかなか綺麗目

1376248950

白瀑の純米大吟醸と金字の山本は大体同じ値段なので、こっちも買ってみたけど。

1376248952

開運のあさば一万石は酸がきつく感じた。涼々のほうが好み

1376248954

創薬はプロダクトバックログという考え方が弱いかな

知財化する際に、誰が作ったかが重視される風潮がある気がするので仕方ないのかなと思う部分を差し引いても、合成案とケミストの癒着は強いんじゃないかなぁと。

スクラムにおけるプロダクトバックログとかスプリントバックログ的な考え方をもっと強く押し出さないと、プロジェクトに貢献できないんじゃないかなぁ。

あと、合成案批判を人格批判と受け取るヒトが多すぎる気もする(文化かな)。それも知財化が絡んでいるんだろうな。

とか考えていたら、ペアプロみたいに合成案を相互レビューするようなやり方ってメリットあるんじゃないかなぁという気がしてきたけどどうなんだろうね。

GitHubなんかを使い続けてソースコードの共有が普通に受け入れられるようになると、創薬のプロジェクトで、自分の案に固執したり、クローズにしたがるカルチャーに閉塞感を感じてしまう。

三島近辺の業界つながりで飲んだというか打ち合わせをした

ワークショップの話を先に進めたいので皆さんで集まって飲みましょうってことで、初めて集まって飲んだ。

色々面白い話が聞けたのだけどそれはこっちに任せた。

1375786458 1375786460

前菜頼んだくらいで、あとは飲み続けたのでコスパ高かった。空芯菜の炒めものを見ながらもっと茎のあたりをガッツリ切ってもいいのかと勉強になった(あと葉っぱも減らして茎だけでいいやと)。うちはモロヘイヤも空芯菜も先っぽしか収穫しないので贅沢な使い方をしているなぁと思った。

ワークショップの内容

土日の二日間で組んでみました。

土曜日午後(使ってみようRedmine)

  • インストールから使ってみるまでのハンズオン
  • アジャイルとかスクラムといった背景思想を簡単に説明
  • プロジェクトの合成での利用例
  • HTSでの利用例
  • ソフトウェア開発での利用例

日曜日午前(もくもくと軽いトークを混ぜたもの)

もくもくと好きな事をやってもいいし、普段聞けないことを聞いてもいいような軽い感じの質疑ができるようにします。

  • Gitの使い方
  • RDKitのすすめ
  • Flaskでウェブサービスの作り方

何故二日の日程にしたかというと、ベアードビールは昼飲みでしょ!という当たり前の理由はおいておくとして、遠くから来る場合に交渉しやすくする意図もあります。

会場のすぐそばにある楽寿園は動物園とか遊戯があって子供だったら、半日ぐらいは余裕で遊べますし、散歩用の道が気持ちいいので大人がぶらぶらしても楽しいです。日曜日はソフトウェア開発よりなのでその日は参加せず、ひと駅先の沼津から沼津港に向かって深海水族館でもよって沼津港で美味しいものを食べても家族サービスとしていけてますし、修善寺とか熱海のほうをぶらついてもいいかと。尚、土曜日のみだったら東京から日帰りも余裕です(三島は意外に近い)。

つまり、プチ家族旅行を兼ねることでwin-winの関係が築きやすくなるわけですねw。早めに三島に入ってお昼に鰻をたべるというのももちろんアリだと思います。

もし興味があれば10月の前半の週末は空けておいて下さい。参加募集ページができたらまたご案内します。

天子の森でキャンプ

去年はふもとっぱらに行ったので、今年は天子の森にしてみた。

ふもとっぱらは広がる草原って感じだけど、天子の森は川のほとり。テント立てている間に子供はマリンシューズ履いてジャバジャバやってた。そのうちカニとりにハマりだしたみたい。

1375608454

テントは99のフジロックのあたりから使い続けているが、メタモのテントパスが張ったままだ。

1375608455

ワンコも川遊びは初めて。海は2,3度行ってるけど。水飲みまくってた。

1375608457

途中のチキンハウスで買った焼き鳥焼いたり、ソーセージ焼いたり、エビのアヒージョ作ったりとか。

1375608458

アヒージョのオリーブオイルにナスを投入したみた。コレはなかなか美味かった。

1375608460

志太泉の有機米(純米)を飲んでた。

1375608461

チルを入れ忘れたのでスーパーカーの好きな曲をループさせながらぼんやりしていた。

1375608463 1375608464

久しぶりに星を見た。というより、社会人になってからは見ていないことを思い出した。

デッドライン仕事術

いろいろ手厳しい

ProductName デッドライン仕事術 (祥伝社新書)
吉越 浩一郎
祥伝社 / 777円 ( 2007-12-15 )


  • 仕事というのは、それが発生したときが一番興味を持って取り組める
  • 仕事の効率が悪くて残業ばかりする人間は「一日の始動が遅い」という共通点がある
  • 判断の前提となる知識レベルが高ければ高いほど、それを共有している人間は「難しい話」を「当たり前の顔」で議論できる
  • もつれた糸はほどく
  • プロセスまでふくめて「情報を共有化」することで、現場の判断力をあげる
  • 世の中には「一人ひとりでは何もできなくても、会社というチームを作って集まれば何とかなるのではないか」とタカをくくているとしか思えない人が多い

PyCon APAC 2013で発表することになった

PyCon APAC 2013でpythonを使ったdocx,xlsx,pptx作成の話をさせていただけることになりました。

というのは宣伝で、応募に至るまでの経緯をちょっと書いておきます。

僕は製薬業界にいる関係でchemoinformaticsとかbioinformaticsとかmolecular docking simulationをずっとやっていたので、ライフサイエンス系でのpythonの適用事例くらいなら50分くらい余裕でしゃべり続けられるなぁということで当初はそういう応募をしようかなぁと考えていたんだけど、science with pythonのほうでも似たようなトークを応募するみたいだったんで、やっぱやーめた、放置。締め切りみたいな流れで6月は終わったわけです。

で、7/9まで締め切り延長になったけど別に応募する気ないしー参加するだけでいいやーと思って過ごしていたのだけど、締め切り延長4日前に行われたShizuoka.py #2@aodagさんが急遽参加されて、懇親会の時に「なんか応募しないのー?しないのー?」というようなことを言われて、じゃぁなんかしとこうかなーという気分になって次の日勢いに任せて応募したという経緯。

で、採用されたと(嬉しい)。

というわけでパーフェクトPython書いましょう。

ProductName パーフェクトPython (PERFECT SERIES 5)
Pythonサポーターズ
技術評論社 / 3360円 ( 2013-03-05 )


YAPCのスピーカーすごいす!、PyConのスピーカーすごいす!と参加者側でずっと過ごしてたけど、今回初めて発表するので、少しは皆さんの心に残るようなお話が出来たらいいなぁと思っています。

注1)高いところが苦手なので懇親会は躊躇している
注2)製薬業界以外の仕事にも興味があったりする

GitHub版Fastladderをインストールしてみた

5年くらい動かしているオープンソース版Fastladderだけど、この5年のうちにヒトの異動なんかでゴミユーザーが溜まりまくったり、メンテも大変だったり(今はsupervisordで動かしている)と、そろそろ新しくしたくなったので、昨日今日で仮想環境から稼働までさせた。

尚OSはFedora17で、FastladderはGithub版です。

Rubyのインストール

2.0.0-p247を入れたんだけど、OS側のライブラリのヘッダファイルが足りなくて何度もコンパイルしなおしたのでストレスフルだった。ちなみにrbenvは使ってない。

yum install sqlite sqlite-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
yum install libxml2 libxml2-devel
yum install libxslt libxslt-devel
yum install libcurl libcurl-devel
yum install gcc-c++ gcc-c++-devel
yum install mysql mysql-devel
yum install readline readline-devel

くらいはやっておく必要があった。それからnode.jsも必要なので入れておきましょう。

Fastladderを動かすまで

Fastladder を VPS の CentOS5.8 に入れてみた。を参考にすればよいです。

イントラもインターネットもきちんと巡回させる

クローラーはオープンソース版もGithub版もそのままではイントラの巡回をうまくやってくれないです。environment.rbのあたりにプロキシを使わない設定があるのだけどそれを書くとエラーで止まるので、

fastladder.rb(だったかな)に直接正規表現を書き込んだ。

Fastladder.const_set(:HTTP_PROXY_EXCEPT_HOSTS, ["XXXXXXX"]) 
#Fastladder.const_set(:HTTP_PROXY_EXCEPT_HOSTS, []) unless defined? (Fastladder::HTTP_PROXY_EXCEPT_HOST)

プロキシのとこも何故かコメントアウトされているので、ドキュメントを参考に書き換えておいた

@@ -58,13 +59,13 @@ module Fastladder
   def fetch(link, options = {})
     uri = link.kind_of?(URI) ? link : URI.parse(link)

-    http_class = Net::HTTP
-    #if proxy = uri.find_proxy || Fastladder::HTTP_PROXY
-    #  unless Fastladder::HTTP_PROXY_EXCEPT_HOSTS.any? { |pettern| uri.host =~ pettern }
-    #    http_class = Net::HTTP.Proxy(proxy.host, proxy.port, proxy.user, proxy.password)
-    #  end
-    #end
-    http = http_class.new(uri.host, uri.port)
+    if proxy = uri.find_proxy || Fastladder::HTTP_PROXY
+      if Fastladder::HTTP_PROXY_EXCEPT_HOSTS.any? { |pettern| uri.host =~ pettern }
+        http = Net::HTTP.new(uri.host, uri.port, nil, nil, nil, nil)
+      else
+        http = Net::HTTP.new(uri.host, uri.port, proxy.host, proxy.port, proxy.user, proxy.password)
+      end
+    end
     http.open_timeout = options[:open_timeout] || Fastladder::HTTP_OPEN_TIMEOUT
     http.read_timeout = options[:read_timeout] || Fastladder::HTTP_READ_TIMEOUT

OPMLの移行

オープンソース版Fastladderにはフォルダに入ってないとフィードがエクスポート出来ないというバグがあるのだけどすっかり忘れていた。少しハマった後思い出して解決。

今後やりたいこと

  • ログインをOpenIDにしたい(社内OpenIDサーバー立ててあるので)
  • ブックマークサービスとかtwitter系の社内SNSみたいなものとの連携をさせたい

まぁ社内ブックマークサービスも社内SNS(しゃべる)も一度か二度ほどコケてるけどね。

富士で子供向けのプログラミングワークショップをやります

子供向けのプログラミングワークショップをやります。既に空きがほとんど残ってないようですが、僕もちょっとお手伝いしていますので、お時間ある方は是非。

使用言語は定番のScratchです。

新大阪に行ってきた

ソフトウェアのワークショップに参加してきた、というより発表してきた。

発表は全て面白かったし、懇親会でも色々とフィードバックをいただけたので満足。

私のスライドから

それからMMPのカットのやり方が気に入らないという質問を受けたのでメモっておく。この時もちょっと考えさせられたけど、あそこの会社のヒト結構おもろい。

  • PPの切り方はナイーブすぎて気に入らない
  • RECAP等のメディシナルケミストフレンドリーな切り方をしたい
  • RDKitだったらもう少し柔軟に対応できるはず

プロジェクトで使うにはカットのやり方こだわったほうがいいかもしれない、あと置換ルールとして持っておきたいもそのほうがいいでしょうね。

というわけでRDKitのコード追いかけようと思ったら先行者がいたので、エントリ待ちで。

(2013.07.28追記) エントリきた

メディシナルケミストのredmineの使い方をちょっと聞いたんだけど面白くて勉強になりそうなので、今度話してもらおうかなと思っている。帰ったら日にちを調整しようっと。おおっぴらに公開しないでライフサイエンス系限定みたいなATNDないかな。

handson

ここから駄文

(お前が言うなと自分で自分に突っ込みをいれつつも)志は高く持ったほうがいいよねとは思う。それから大きな挫折を味わないために小さな挫折をくり返すってのも大切かなと。結局は自分というスタートアップをマネジメントする感覚ですね。

それから、ヒトにフォーカスするとイライラするのでもっとカルチャーにフォーカスするように心がけています。以前の上司がPから移られた優秀なメディシナルケミストの方で、よく文化の醸成ということを口にされていたのでなんとなく背中を見て学んだ感じです。意識高い感じで書いておくとヒトとの出会いは大切ですねw