著書

(5) 「R で学ぶクラスタ解析」 新納浩幸,オーム社 (2007)
(4) 「入門 Common Lisp - 関数型4つの特徴とλ計算」 新納浩幸,毎日コミュニケーションズ (2006)
(3) 「Excel で学ぶ確率論」 新納浩幸,オーム社 (2004)

(2) 「入門RSS Webにおける効率のよい情報収集/発信」 新納浩幸, 毎日コミュニケーションズ (2004)
(1) 「数理統計学の基礎 よくわかる予測と確率変数」 新納浩幸, 森北出版 (2004)


「R で学ぶクラスタ解析」
新納浩幸、オーム社 (2007)


Amazon のページはここ
本書の中で使ったプログラムとデータはここ

今年の最初の頃に、オーム出版の方から、ある本の執筆について声を掛けて頂きました。ただそのテーマには、あまり興味がなく、断る代わりに、この本の内容を提案したところ、執筆 OK となりました。R が近頃注目されているので、R 関係なら売れると判断されたのかもしれません。

私自身、R は 10年近く使ってきており、研究のためのメイン言語もC や Perl から徐々に R に移ってきています。ここ数年は R しか使っていません。ただそれほど使っている割には、細かいことは知りません。ベクトルと行列が少し扱える程度です。ただそれだけででも、十分役立っています。この点は、本書で示したかった点の1つです。R は、所詮、研究のための道具であって、研究に使えればよいはずです。ベクトルと行列が扱えるだけで、十分、役立つ道具になりえます。ですので、本書には R については必要最低限のことしか書いていません。ただここに書かれていることだけで、十分だと思います。それ以上のことが必要な場合は、 R を使うこと自体を疑った方がよいと思います。

本書のメインはクラスタリングの方です。ここ数年、クラスタリング関連の研究をしているので、学生とのゼミに使えるような本にできたらいいかな、っという感じで書きました。一応、メジャーな手法は解説しました。混合分布モデル、スペクトラルクラスタリング、pLSI、NMF などは細かい証明も付けました。私自身、一度理解していたつもりでしたが、もう一度細かく計算してみると、よくわかっていない点も発見できて良かったです。細かい証明は付録に回して、ざっと読んで理解できるようにしたつもりです。原稿は全部 TeX で書いたのですが、出版社の方で Word に直されたので、数式は汚いし、どこかで写し間違えがあるかもしれないとちょっと心配です。何か間違いあったらご指摘下さい。SOM 、情報ボトルネック、Co-Clustering、半教師有りクラスタリングなどなども入れていたのですが、R との関わりの部分で一貫した記述が難しくなって、最終的には省いてしまいました。クラスタリングの手法は多数あるので、全部解説するのはもともと無理だし、実は、学生のゼミ用という観点を意識して書いていたので、結局、この程度の内容に落ち着きました。

11月20日に完成した本を頂きました。22日発売だそうです。ただ、残念ですが売れそうもないです。値段が税別 3200円です。本の厚さと内容からすると、高いと思います。ただこれは出版社側が決めたことなので、すみません。私の儲けを考えたわけではありません。

何かご意見等あればメール下さい。

2009年4月5日、第2刷でました。うれしいです。
2013年3月、第3刷でると聞きました。古いので、これで終わりかな・・・
「入門 Common Lisp - 関数型4つの特徴とλ計算」
新納浩幸, 毎日コミュニケーションズ (2006)
.

今年は本を2冊執筆するという目標(多分、達成不可能)があって、昨年の終わり頃に出版社の方に、出版したい本を提案しました。私が提案する内容はほとんどボツになります。今回もそうでしたが、編集者の方と議論しているうちに、「Lisp の本を書いてみませんか?」という提案がありました。近頃、Haskell が注目されているので、関連する線をねらったのだと思います。

Lisp は松下電器にいたときの私のメイン言語だったので、それなりに知ってはいたので OK しました。ただ、「Lisp の入門書ではない」「xyzzy と関連させる」「xyzzy のマクロを作る本ではない」といくつか制約を言われて、どういった内容の本にするのかわかりませんでした。編集者の方も具体的な案は持っていなかったようで、なかなか方向が決まりませんでしたが、私の方で色々考えて、「Lisp を使って関数型言語を解説する内容」という方向性を提案したところ、この方向で決まりました。多分、編集者の方も、もうどうしようもなくなったのだと推測します。

ですので、購入する人は
  ・ Common Lisp の入門書ではない
   ・ xyzzy とは関係ない
ことに注意して下さい。

「関数型言語を解説する内容」といっても曖昧ですが、私なりに関数型言語の特徴と考えられるもの4点を解説することにしました。他にも特徴はあるのでしょうけど、難しすぎるのはよくないという方針があるので、この程度にしました。内容と方向が決まれば、執筆はすぐ終わりました。ただλ計算の辺りに少し時間がかかりました。どのような構成で、どの程度まで書くかが難しいかったのでした。Common Lisp で Y-combinator を書いた書籍は見あたらなかったので、この辺りは、誰かの参考にはなるかな、っとは思っています。

とりあえず書き終わって、その後は大学の講義が忙しくて、すっかりこの本のことは忘れていたのですが、数ヶ月後に急にドタバタと校正がはじまって、あっという間に、出版されました。驚きました。今、冷静に読み直してみると、細かい点で不満は多いですが、私としてはまあこんなものと納得しています。ざっと斜め読みすると、とっつきにくいので、多分、売れないです。出版社および編集者様、どうもすみませんでした。ただ、内容的には特に陳腐化することもないでしょうから、数年後に第2刷が出ることが目標です。

正誤表は出版社の方でまとめると思うので、ここには置きません。
(2006年11月12日、出版社の方で正誤表公開されていました。)

最後に、表紙の鳥の絵は、出版社の方で、既に決められていました。絵を使うなら、次回は、ぜひ私自身で描かせてもらいたいものです。

2006年10月17日、、、、後悔と懺悔

大変な勘違いを指摘されました。すみません。
この件は出版社の正誤表には記載がありません。

(1) p.68 のなかで、(eql 'dog 'Dog) で nil になっている。
Common Lisp ではシンボルの大文字と小文字は区別されない。
Emacs Lisp では区別されるので、xyzzy でも区別される。
すっかり忘れていた。

(2) p.70 で、while を解説している。
xyzzy では while はあるけど、 Common Lisp では while なんかない。
これも Emacs Lisp とゴッチャになっていた。
そもそも繰り返しなら do を解説すれば簡単だった。

2007年11月13日

末尾再帰のフィボナッチ数列

ある方から末尾再帰を解説するなら、フィボナッチ数列を末尾再帰で書いて、その効果を示した方が本の趣旨にあっているという指摘を受けました。その通りでした。その方が示してくれたコードは以下です。

(defun fib (n)
(iter 1 n 0 1 1))

(defun iter (m n x y z)
(if (= m n)
y
(let ((u y) (v z))
(iter (1+ m) n u v (+ u v)))))

コメントありがとうございました。

2009年2月24日、出版社より「オンデマンド出版」という形にするという連絡受けました。売れないので、しかたないです。この本も私にとっては良い思い出です。
「Excel で学ぶ確率論」
新納浩幸,オーム社 (2004)


本当は、プログラミング言語としての VBA、統計解析ソフトの作成、という流れの本を
書きたかったのですが、この案は reject されました。どうも時代を読む目が私には
ないようです。

出版社の人と話し合っているうちに、「Excel で学ぶ 〜」シリーズの1つで、確率論の
話を書きませんかという提案があり、確率モデルには興味あったので、引き受けることに
しました。内容は問題なく、どんどん書けたのですが、Excel の使わせ方が問題でした。
いろいろ悩んで、結局、ありきたりですが、シミュレーションを行うという形にしてみました。

Excel の操作の初心者( Ctr-Shit-End とか相対パスとか知らない人)にとっては、
本の中で行っている操作はきっと何か得るものがあるのでは、っと思います。

ただ「はじめに」でも書いていますが、Excel での操作はお遊びだと思ってよいです。
確率論の入門書として考えてください。確率論の入門書として見てみると、
私なりには、結構、自信あります。「確率変数は標本空間内の要素を数値化し、
その数値の集合を定義域とする変数である」というとらえ方は、私なりには非常に
すっきりしていて、そう考えることでいろいろなことが急にわかりやすくなると思っています。

重版されるのがとりあえずの目標です。

現在までに見つかった誤りは、
正誤表 (06年10月25日版)
正誤表 (06年11月20日版)
正誤表 (06年12月20日版)

に書きました。どうもすみませんでした。他に誤りあったり、ご意見あればメールください。

今年は3冊本を書きました。おもしろかったです。来年も1冊くらい書きたいです。
そのときは、、、VBA の本だといいのですが、、、。
マイクロソフトを応援するわけではないのですが、とにかく Excel はすごいソフトだと
思います。 Excel を作った人あるいは表計算ソフトを考えた人は、天才だと思います。

「入門RSS Webにおける効率のよい情報収集/発信」
新納浩幸, 毎日コミュニケーションズ (2004)
.


一時期、研究のために、ニュースサイトからニュース記事を自動抽出
するプログラムを作っていて、その関係から RSS の存在を知りました。
今年になって blog が急にはやりだし、blog の更新情報の発信にも
RSS が利用されていることを知りました。そこから急に、興味が出てきて、
RSS についていろいろ調べておりました。

当初、出版社には、RSS の話ではなく、Perl が 5.8 になって Win32API
のモジュールが使えるようになったので、Perl と Win32API の
モジュール及び Visual Basic を使った Windows プログラミングと言う
テーマで本を書きたいと提案したのですが、reject されてしまいました。

# GUI を VB で作って、処理の中身を Perl で作るという手法です。
# 複雑な処理が可能な Windows プログラムを簡単に作るというのがウリです。
# 売れると思ったのですが、、、、どこか出版してもらえませんか?

そのときに担当者の山口氏から「専門の自然言語処理関係で何か提案ないの?」
と言われ、そういえば、近頃、blog がはやっているし、RSS について
まとまった書籍はないので、「RSS についてはどうでしょうか?」
という話をしたら、即、accept になって書くことになりました。

実は、この話とちょうど並行して別の本の執筆も決まって(来年には出ると思います)、
あまり時間をかけられない状況になってしまい、もうやぶれかぶれの短期決戦で、
ボロボロになる覚悟を決めて、1ヶ月で書くことを宣言しました。
本当に辛い1ヶ月でしたが、なんとかまとめることができました。今考えると、奇跡です。
2004年、アテネオリンピックの直前に書き上げることができました。
野口みずきの金メダルと同じくらいに感動しました。

書き上げてから出版まで3ヶ月もかかったのは、やっぱり1ヶ月ではいろいろなところが
ぼろぼろで、担当者の山口氏にいろいろ指摘されたり、修正してもらったためでした。
なんとか形になったのは山口氏のおかげです。
心より感謝しております。

「はじめに」でも書いていますが、ちょっと知っている人にとっては、当たり前のことしか
書かれていないと思います。入門書ですから。買う人はこの点、気をつけてください。

この分野は流れが速いので、1年後には、たぶん廃版という感じですが、
私にとっては一生の思い出になりました。大切に保管しておこうと思います。

11月30日、出版社から正誤表が公開されました。
どうもすみませんでした。他にも間違いあればご指摘ください。

12月21日、第2版が完成しました。上記の誤りは直っています。

2008年9月10日、出版社から絶版の知らせを受けました。もう完全に陳腐化した内容なのでしかたないです。いい思い出になりました。

「数理統計学の基礎 よくわかる予測と確率変数」
新納浩幸, 森北出版 (2004)
.

はじめにと目次
Amazon ではこちら

筆者から少しコメント

2年くらいノートしていたものをまとめてみました.
執筆は半年くらいでした.私が最初統計学を勉強
したとき,確率変数とは何かがよくわかりませんで
した.勉強を進めてきて,確率変数が何を表してい
るのかがわかったとき,1つ大きな壁を越えたような
理解の実感がありました.そのあたりを目標に書い
てみました.

試行の結果は現実世界.現実世界をある観点から
みて数値化したものは数値の集合.その集合を定義
域とする変数が確率変数.変数の値には現実があり,
ある事象に対応している,っとそんな捉え方をしています.

現在までに見つかった誤り(第1刷)は、
正誤表 (06年10月23日版) (もうひとつ前のバージョン)
正誤表 (07年01月23日版) (ひとつ前のバージョン)
正誤表 (07年11月06日版) (最新バージョン)

に書きました。どうもすみませんでした。他に誤りあったり、ご意見あれば
メールください。
正誤がどんどん、増えるので、2006年9月19日からは、修正した箇所に
日付を入れることにしました。

# 2004年9月1日,とんでもない誤りを指摘されました.p152の例題の解答で
# 対数とるの忘れています.本当にどうもすみませんでした.

2008年3月25日、やっと第2刷でました。上記の誤りは直っています。

2011年7月21日、まさかまだ見つかるとは・・・
第2刷での誤りは以下です。

正誤表(2011年7月21日版)

2013年4月、急に第3刷でると連絡受けました。「急なので修正なしでお願いします」ということで上記の部分は直っていないと思います。