「情報推薦システム入門」読んだ

持ってたし読んでたけど、通読してみた。
結構新しい話もカバーしてるし、レコメンドエンジンこれからやろうって人には全体を見通せるいい本だと思う。というか、これ以上の話って泥臭い現場の話とか運用の話くらいしか残ってないような...
これに加えて、「情報検索の基礎」でも読んどけば満点かも。

ただ、これ読んでスケールするシステム書けるとか、そういうものではない。ここに書かれている内容を実装しても、そこから運用までは結構遠い。内容が低級とか、高度な内容扱ってないとかそういうわけではなくて、それについては軸が違うので別ですよというだけ。
 とにかく、いい本。この手の話に携わっている人は皆持っていて良い。翻訳がたまに変になるのが少し残念。

「沈黙のことば」読んだ

 説明の必要が無いほど有名な異文化コミュニケーションについての古典。
high(low)-context cultures という概念を提唱したことで有名なエドワード・T・ホール先生の一冊(この本で直接の言及はない)
ご本人自身アメリカ人であるホール先生は、外国人とのコミュニケーションの際にアメリカ人はその自己文化中心主義から摩擦を生じやすいと考え、その解消には、特に明文化されていない暗黙のコミュニケーションへの理解が重要であるとしている。具体的な異文化コミュニケーションの失敗例、アメリカ文化との対比を織り交ぜながら、暗黙のコミュニケーションやルールがあるかを分析する本。
今になっては割と普通にいわれていることに読めるが、当時(50年も前)は一大センセーションだったそうな。

 もちろん今でも重要な考えだし、当然必要なことだが、一方で実行するのは極めて難し医用に思える。例えば、これは有名な話だけど、タイでは子供の頭を撫でると周りの人に怒られる。が、そんなこと日本人は大抵知らない。仮に知っててもついやっちゃう。加えて事前に調べるにしたって限度がある。
 じゃあどうするのがベストだろう。個人的な考えとしては、事前に調べるのは当然として、自分はこちらの文化にあまり馴染みがないので、是非教えてください、失礼があれば是非指摘し、助けてください、という関係を作れれば良いのでは、と考えた。
 このような態度は日本人特有のへりくだりの文化で、それこそ自国中心主義的なのかもしれない。ビジネスのような場でそれができるかも微妙なところな気もする。難しい。現代でマジョリティを得ている意見を知りたいところ。

 ところで、出版後50年経って、結局のところアメリカ人はアメリカの文化をTVやインターネットという形で輸出し、全体を馴らすことに成功したように思える(もちろん場所によるし、単なる思い込みかもしれない)。自分としてはその態度については全くニュートラルで、意見はない。ただ、多分このままこの形でマクロとしては進め続けるんだろうなあと思っている。ホール先生の意図とは少し違う形だけど、これはこれでひとつのやり方かもしれないなぁと思った。

「異端の統計学 ベイズ」を読んだ。

購入のきっかけはタイトル買い。
ベイズと付いてたら買わなければならない病気にかかっているので。

内容

 ベイズ統計が過去歴史の中で、どのような取り扱われ方をしてきたのかを紹介するもの。 塩野七生が書く系のジャンル。なんていうのあれ、歴史エッセイ?
もう少し言うと、ベイズ則とそれを下敷きにした道具立てに関わった人となり、
各時代におけるベイジアン的発想のの扱われ方、具体的な応用事例とその成功についての紹介。

良いと思ったところ

 類書は無さそうに思う。よく頻度主義、ベイズ主義みたいな話を耳にするが、
具体的に過去にどういう論争があったのか、どういう経緯で発展してきたのかを知らずに
ベイズの道具を使うことになってしまった、というようなタイプの方には良いと思う。

気になったところ

 無駄に厚く、文章が読みにくい。これは翻訳のせいではなくて、原文のせいだと思う。

 要所要所で、事前確率等の専門用語の説明がさわり程度というか、妙だ。そのため、なんだかわかったような分からないような…というようなという感じのまま、しかし理解している前提で話が進んでいく。そのため、後の文章でこれには批判があった、というようなことが書かれていても、一体どこを問題にしているのかが大変わかりにくい、または分からないということが何度かあった。
たとえば、ギブスサンプラーの解説はこう。

ギブズ・サンプラーマルコフ連鎖モンテカルロ法の一種。変数がたくさんある場合に、各ステップでただ一つの変数に注目するという形で、順次着目する変数を変えてサンプリングを繰り返す

これは分かっている人向けの説明だし、この説明の前にMCMCの話は出ていないため、最初の一行が既に無意味。一体だれのための説明なのか、そもそも歴史エッセイにこのような説明が必要なのか、と首をかしげてしまう。よって、この分野全然知らない人には勧められない。

 また、行きがけの駄賃と言わんばかりに解説のない専門用語、些細なエピソードを、「ついでに」挟んだような文章が頻繁にある。ベイズというキーワードに共起する専門用語を文章中に必ず含めなければいけない呪いにでもかかっているのだろうか。調べた内容はすべて書かないといけないと思っているのだろうか。

 これらが無ければ1/3くらいの厚さの本になっていただろう。この点は、先述の点と相乗効果を発揮し、読みにくさに拍車をかけている。

まとめ

 厚いし読みにくいので読了までの時間が長く、コスパが低い。
扱っている内容は良いと思うので、関連する分野の人で時間に余裕のある人は読んでもいいかも。

 ところで「異端」という言葉を煽りに使いたかったのかな、という勘ぐりをしたくなるくらい邦題と原題は違う。
原題は以下。こちらの方が内容とあっていると思う。

The Theory That Would Not Die: How Bayes' Rule Cracked the Enigma Code, Hunted Down Russian Submarines, and Emerged Triumphant from Two Centuries of Controversy

とはいえ、タイトル買いしてしまった自分には商業主義を呪うことくらいしかできない。

「統計学 (サイエンス・パレット)」読んだ。

単なる読書メモ。
購入のきっかけは、訳者が上田さんだからというわりとしょうもない理由。
想定読者は統計初学者/やりなおしのあたりと推定。

内容を三行でまとめると、
  • 統計の考えの部分に重点を置いて
  • その都度分かりやすい例を挙げながら一切の数式を用いず
  • 統計の基礎的諸概念と動機について解説してる
良いと思ったところ

本当に基礎の基礎だけど、諸概念の説明と例示がされていて、何もかもが分かりやすい。
訳文も大変読みやすく、あわててその辺の素人を捕まえて無理矢理訳させたようなものが散見される昨今、珍しいくらい良心的だと思った。
また、ベイズ的な考え方についてもきちんと押さえていて、紹介のタイミングもよく(例えば点推定の説明の際に)動機に納得がいきやすい。
後半ではGLMやHMM、ブートストラップやMCMCのような比較的高度(?)な道具立てについてもごく触り程度だが紹介されている。
これは、読者が各人の興味や必要に応じて、それらのキーワードを元に次のステップへ進みやすいようにとの配慮だろう。
大変良い本。これから統計を道具として使う為に学ぶというなら、このような考え方と動機に重点を置いた本を先に読むか、併読した方が有益な結果が得らるように思った。

少し気になったところ

数式にアレルギーが無い人にとっては、数式無しは逆に辛かろうと思う。
文字いっぱいで少しのことを言うのに結構言葉を尽くしているのだけれど裏目に出る層はいると思う。 多分そういう人は想定読者じゃないので、読んでも仕方が無いかもしれない。
また、後半の高度な道具立てのあたりはキーワードの羅列気味になっていて少し押し込め過ぎかなぁとも思った。

総括

とても良い本と感じた。このように動機と考え方に根ざした書籍だと、
最近読んだ「エンジニアの為のデータ可視化[実践]入門」もその類いかと思う。そちらも良い本。
ただし、(Ω, F, P)の三つ組みと日夜戦ってらっしゃる方々とってはあまり意味が無いですよ、と。

類書の煽り文句に負けず、マジョリティを獲得して欲しいなと思いましたとさ。

プログラミングのテキストについて

2009/07/14の日記について。
とまあ、Accelerate C++についてえらそうなことを書いたら、Amazonでも同じ様な書き込みがいっぱいでした。
なのでもうちょっと。


Amazonではすごくいい!っていう人と、ぜんぜん駄目!っていう人にぱっかり分かれています。
本の評価は読む人により過ぎるので、あくまで個人的意見です。

●初心者向けか? → 内容はYes,文章はNo
データ型については、組み込み型スタートではなく、stringスタート。
ぱっとわかりやすい結果を得られる。反面、文章は結局それなりの知識がある人が「ああ、あれのことかな」と推測せざるを得ない部分が多い。

●移行組にとっては? → 微妙
STLをとりあえず使わせてから、かなりしばらくしてからクラスの説明になっているところはいいのかな?という感じ。
Cからの移行組にとっては、いきなりSTLからってのは逆に抵抗があるかも。中身の良くわからないもを前提に話が進むのは気持ちが悪いかも。
Javaからの人にとってはすんなりだとおもう。

演習のあたりはまったく見ていないのでわかりません。

一応プログラム未経験者のために、高速な学習を、という風に銘打っているので、文章の難解さ(というよりわかりにくさ)、
翻訳の微妙さとか考えると、星一つ。

 積極的にこの本を否定するわけではないけれども、売れているというのは不思議。もっといい本があるんじゃないでしょうか。



 ところで僕がプログラミングを始めたのは中学1年生の頃で、N88-BASIC on PC-9821でした。
その後、中学卒業後、C++をさわりはじめたのですが、その時のテキストがこれ。

C++プログラミング〈Vol.1〉 (Computer Science Textbook)

C++プログラミング〈Vol.1〉 (Computer Science Textbook)


グラフィックを簡単に操作できるBASICからC++にいきなり跳躍したのもきつかったですが、
この本もマジできつかった。当時はインクリメントなんて言葉も知らず、内容も専門的で、
ウェルカムハノイの塔だったのでだいぶ苦労しました。


 今読むとすごいいい本だなぁと思う反面、やはり独習には向かないなと思うしだいです。
内容が充実しすぎています。


 今は独習シリーズをはじめ、いい本がいっぱいあり、みなさん恵まれていますね。
でもC++なんて使う人はどんどん減っていくのでしょうか。
確かにわかりにくい言語ですし、ダブルスタンダードなんてもんじゃないし、C++0xになってもう何がなんだかわからなくなってきましたし。
ある意味ではプロフェッショナルのためのとも言えるかもですが、これまでの資産を無駄にできないので無理やりに延命し、
使い続けることでさらに仕様が肥大化し…というスパイラルに入ってしまっているような気もします。


 何より需要が減っているんですかね。
むしろ需要は一定数必ずあるのだけど、ものすごい精鋭である必要がある世の中になってきているような気がします。
コードが書ける、ではなくて、すんげー最適化ができるとか、難しいアルゴリズムを実装できるとか。