2021年に読んだ本を感想と共に振り返る


TL;DR

  • 2021 年に読んだ本を感想と共に振り返ってみる
  • 記録を残していたのは 12 冊だった
  • もう少しちゃんとした技術書をたくさん読まないとなぁ(毎年思っている…)

2021 年に読んだ本を記録を残しているものに限って感想と共に振り返ってみる(記録を残してない書籍もあるが、それらは無視)。 雑に技術書と読み物に分けて、雑多に書いていく。

技術書

  • 効果検証入門 amazon へのリンク
    因果推論の事始めとして読んでみた。 少ないページ数ながら基本的な事柄と R によるコードも紹介していて著者はこの本をまとめるのに色々と取捨選択をして頑張ったんだろうなということが伺える。
    セレクションバイアスを除くために Randomized Control Test がいいが、それが必ずしも実施できてない場合にどうやってそのバイアスを取り除いていくか、という観点で議論を展開していて、やりたいことの表面的な部分は理解できた。 自分は因果推論を殆ど触れてこなかったのでこれは最初のきっかけとして役に立ちそう。もう少しかっちり議論しているものも読んでみようかなという気持ちになってきた。 実務で出てきそうなシチュエーションを想定して進んでいくのもなかなかよかった。差分の差分法とか回帰不連続デザインとかは、「いやでも実際のデータはこうなんだよな〜」と読者が思うのを見越してその場合はこういうのがありますというのを提案してくれる感じ。
    説明を文章で詳しくしようとしてかなり読みづらくなってるのは残念な点。それは数式で書いてある以上の情報量はないよねというのがもったいぶって説明されてる印象で、逆にそこは詳しく解説して欲しいんだけどというのが流されていたりして個人的にはしんどかった。 傾向スコアのところで反実仮想という概念をちゃんと理解してどういう仮定をおいて進むのかというが分かってないとダメなところで「以下のような効果を推定していることになります」と式だけ書いてあって、いやいやこの期待値はそのままだと計算できないじゃんとかなって結構しんどかった。 Causal Impact について解説している稀有な本とかいう話もどこかで目にしたけど、肝心の Bayesian Structural Time Series Model は難解なのでアイデアと使い方だけとなっていて、これは解説じゃなくて単なる紹介じゃんとガックリ(期待値が高すぎたか)。 回帰不連続デザインも threshold 近辺だけ考えるという最初に紹介されるアイデアが実際には non-parametric の話になるまで出てこなくて(非線形回帰の rddtools で cutpoint を設定してるが説明されたアイデアがどう実現されてるのが全く説明されてない)、これまでと違わないのでは?となった。

  • 機械学習を解釈する技術 amazon へのリンク
    reasoning みたいなものを仕事でも使っていくことあるかなと思ってるところにこの本が出たので買って読んでみた。 丁寧にわかりやすい記述で気を遣って書いたのは伺える。 基本的な記述が多すぎて紙面がもったいない感じがするので、もっと密度が高い本を期待したけども。
    やはり解釈性が高いとは?みたいになって、解釈性にフォーカスするとそもそも問題としてあまり良い問題に取り組んでる感じが持てない。 線形モデルは解釈しやすいです、みたいなのデータ分布が二次曲線とかだったらそもそも意味をなさないと思うし。 こうなるとモデルのデバッグとかそういう方向での道具としてどれくらい便利かって話くらいしか使いどころがないかなという印象。
    6 章の SHAP のところは一度ちょろっと勉強しただけでほぼ忘れていたのでよい復習になった。

  • 施策デザインのための機械学習入門 amazon へのリンク
    タイトルからは中身が想像しにくいが、機械学習モデルを用いた施策をサービス改善につなげるためのフレームワークを提示してくれる本。もっと具体的に言うと、よくこういうデータでこういう目的関数でモデルを学習してサービスに投入するけど、それは biased な目的関数で本当に成し遂げたいことを反映してないものなので、どうやって unbiased にして成し遂げたいことと一致させるかを統一的なフレームワークと様々な例で紹介している。
    この本は最近読んだ本の中でも特によく書けていて素晴らしいなと思った。 全体を通して最初に導入する機械学習実践のための統一的なフレームワークに即した記述になっており、こういう著者の一貫した思想をしっかりと反映した本というのはなかなかないので、感心した。 そのフレームワークとは KPI 設定 → データの観測構造をモデル化する → 解くべき問題を特定する → 観測データを用いて解くべき問題を近似する → 機械学習モデルを学習する → 施策を導入する というものになっている。
    良い本だなと思ったのはこのうちの「データの観測構造をモデル化」すると「観測データを用いて解くべき問題を近似する」の部分で、前者できちんと解析可能な数学的表現で対象の状況をモデル化し、後者は観測データからナイーブに目的関数を定めると観測構造を反映した bias 込みのものになるのでその bias を取り除くように典型的には inverse propensity score 推定量(bias を打ち消すような逆数の weighting をする)にする、というものになっている。 ここの記述が書籍を通して一貫しており、統一的でクリアな視点を与えてくれる。
    4.2 節の impicit feedback における本書のフレームワークに基づいたランキングシステムの学習などはかなり勉強になった。ポジションバイアス、セレクションバイアス、クリックノイズ、のそれぞれのケースでデータの観測構造をモデル化してそれに基づいて適切な目的関数を導出していくところは学びが多かった。 確率的ランキングを導入してそれの識別子としてこれまでと違う次元の情報を入れるけど user 次元と同じように表現したりするところは少し confusing な気がするが。まあ分かるだろってことでシンプルな記述にしたという印象。
    IPS 推定量の計算が unbiased になるのはそれまでの記述からほぼ自明なのに記述が冗長なところと、5 章はちょっと内容を無理に詰め込んだので何が因果なんだっけとかタイトルから想定されるほど広い問題を考えてない、とかはやや残念なポイントだった。

  • 実践的データ基盤への処方箋 amazon へのリンク
    Twitter で見かけてどういう内容の本なのだろうと思って読んでみた。 1 章がデータ活用のためのデータ整備、2 章がデータ基盤システムのつくり方、3 章がデータ基盤を支える組織、という章立てになっており、それぞれ別の著者が執筆を担当している。
    1 章は色んな会社のコンサルをした知見をまとめましたという感じで、よくまとめられていて概略を理解するにはよさそう。2 章は趣が変わって技術的な用語も入ってくるのだけど、あまり具体には立ち入らずに観念的な感じで少し物足りない。3 章は組織とか採用とかを色んなところから情報を収集して書いていて情報は色々書いてるけど、「健康には運動が重要!運動をどうあなたの生活に取り入れるかについては何も言いません」みたいな感じで、それはそうなんだけどこれを読んで具体的な取り組みをしようと思っても難しいかなという感じ。
    それぞれの章は知識がある人がちゃんと整理して書いてくれてはいるけど、ほぼ独立に各章を書いたという感じで、一冊の本としては一貫性とか何を語りたいのかというところが薄くて、そんなにピンとは来なかった。

  • Google のソフトウェエンジアリング amazon へのリンク
    Google におけるソフトウェアエンジアリングについて、文化やテスト、内部ツールなど後半にわたってさまざまな著者が書いたものをまとめたもの。
    強く印象に残るのは、スケールさせるためにという観点であらゆる物事を捉えている点だった。 ドキュメンテーション、monorepo、テスト、ビルドやコードレビューなどをはじめとした内製ツール、これらは Google の規模までスケールさせるためにどうあるべきかという観点で実装されていて、巨大なソフトウェア開発の会社で働いたことのない自分からすると凄いなと感心した。
    テスト周りとかは規模と範囲の区別とかテストダブルの解説とか snippet を使った例などもあって、読んでいてためになる部分が多かった。
    ここまで巨大になると、典型的に使える共通化したソフトウェエンジアリングの手法やツールを展開する、というものではマッチせずに独自の仕組みを実装するしかないので、実際にどれくらい参考になるかというと微妙なところではある。Google の内部の話と外部の人にも役立つような話とをどちらも書こうとして、中途半端な感じの記述が多い印象だった。もっと前者に寄せてより深く書いた方が読み物としての面白さはだいぶ増しただろうなという惜しさがある。
    議論をデータでサポートしている部分が少ないのは残念すぎた。出てきてもどういう調査から出た数字なのかの記述が全然ないし。もっと色んなことをデータで検証しているというイメージなので、それをもう少し出して欲しかったなぁ。データを眺めるのが好きなので。

読み物

  • 新装版達人プログラマー 職人から名匠への道 amazon へのリンク
    良いプログラマー(原著タイトルは The Pragmatic Programmer)になるための行動指針やちょっとした具体的なコードの書き方などを紹介する本。
    技術的な内容も含まれているけど、心構えとかこのように考えて行動しようとか、日々の積み重ねをより良いものにするための指南書という感じ。
    tips として行動指針がまとめられているのもなかなか面白い。 だいぶ内容が古いのと、粒度とか抽象度がごちゃまぜになってるのと、数が多いので参考にしようと思うところは限られるけれど、「大きな構想を忘れないようにすること」(詳細に入り込みすぎるな)とか「コードのカバレージではなく、状態のカバレージをテストすること」(重要なプログラムの状態を識別してテストを実施することが重要で、すべての行をテストしただけでは不十分)とかは自分が陥りやすいところもあるので肝に銘じておこうと思った。

  • エンジニアリング組織論への招待 amazon へのリンク
    問題解決のために、コーディングだけでなくて思考・組織・ビジネスの「構造」をリファクタリングしないといけないと説いた本。
    会社で読んでる人が多かったので共通認識として議論できるようしておくかと読んでみたけど、ちょっとイマイチだったかな。リファクタリングと言ってるけど振る舞いを変える話が多くてそもそもリファクタリングという単語がミスリーディングでは…
    個人(思考について)・個人間(メンタリング)・チーム(アジャイルとかスクラム)・組織(権限移譲とかOKRとか)、という章構成になっているのはいいけど、色々詰め込んでいてテーマが一貫してない印象。 個人的にはもっと不確実性への対処みたいにテーマを絞って深く書いてくれた方が学びがあると思うけどなぁ。 まあこういう全体まとめみたいなのを薄く広く書いた方が売れやすいという話があるのだろうが。
    メンタリングに関しては、自分は得意ではないのとあまりちゃんと考えたこともないのでためになった。自分の意見を言わなければならないという文化圏で育ってきたので、自己説得に誘導するというのは難しいんだよな。
    色々調べて書いてくれてるのは理解できるのだが、その話持ち出さなくてもいいよねというのが多い。ベーコンの 4 つのイドラがどうとか。あと意味のない挿絵が多いのも読んでて気になる。もっと短く簡潔に書いて欲しい。

  • 正しいものを正しく作る amazon へのリンク
    プロダクト開発における不確実性とどう戦い乗り越えていくかを整理した本。 正しいと信じれるものを明らかにしていくために不確実性とどう向き合っていくか、正しく作っていくというプロセスを担保するために不確実性とどう向き合っていくか、についてアジャイルやリーンの基本的な解説を交えつつ論を展開している。
    全体的に(特に前半部分は)よく書けていると感じた。 議論の展開とか構成に関してはちゃんと考えて書かれていることが分かるし、著者自身も実際に現場で色々と経験した人なのだということが読み取れる。 (スクラムが経験主義であることからも仕方ない部分もあるが)読み手が何も知らない状態で読んでも「それ本当か?」とか考えてスッと入ってこなそうだけど、ある程度の経験値がある人が読めば「分かる〜」となり、そのような経験主義から一段抽象的案レイヤーでまとめられているので頭の整理や観点をチェックするのにはもってこいな本。
    これは好みの問題になるかなという点として、視点がプロダクトオーナーに寄りすぎな感じがした。 あとは整理のためか抽象・形式の話が多く、具体的な話が「◯◯ということはよくある」的な登場だけして終わってしまうので、臨場感とかワクワクする感じは薄い(これはページ数の制約かも)。
    明らかに酷かったのはちょこちょこ挿入されてる図。何の理解の助けにもならないものも多く、これ何で入れたの?というものが多い。 あとは人についてのフォーカスがない。そこは隠蔽してチーム開発の話をしてるけど、ソフトウェア開発(に限らず不確実性の高い取り組み)においてプログラマの能力やどういう習性があってそこをどううまく扱うか、とかは避けられない話に思う。 本のフォーカスが MVP してリリースまでどうたどり着くか、という感じになってるけど、リリースすれば終わりというものはまれだしその先を議論してないところにも不足感がある。

  • 医療現場の行動経済学 amazon へのリンク
    医療における患者・医療者の意思決定を行動経済学の観点から論じる本。 第一部でバイアスやプロスペクト理論、ナッジについて説明して、以降はそれらを用いて合理的な行動からは解離した患者や医療者の意思決定を解き明かしていく。
    バイアスはサンクコスト、現状維持バイアス、現在バイアス、利用可能性ヒューリスティックが紹介されている。現状維持バイアスと現在バイアスは単語から違いが分かりづらいが、前者は延命治療を続けてきたがもうやめた方がいいとなったときにやめたときの損失が大きく感じしてまうからやめづらいもので、後者は延命措置をするかどうかを決めなければならないタイミングで辛い選択を回避し先伸ばしにしてしまうもの。利用可能性ヒューリスティックは医学的根拠のない広告やテレビでの紹介など身近で目立つ情報を優先して意思決定してしまうもの。
    この辺りのバイアスを意識した上で確実性効果と損失回避をもとにしたプロスペクト理論で意思決定を紐解いていくのが本書の基本的な流れ。 基本的には認知の仕方やバイアスによって、その人の認知する確率分布が実際の確率分布から大きく歪むというものになっている。例えばワクチンを打つと 0.01% で副作用が出ます、というのはレアな事象を大きく捉えがちなのでその結果として損失の期待値を大きく見積もってしまう、という具合である。これはまあ自分に当てはめてみてもやっぱりそうだと思う。 その他に参照点と本書では読んでいるけどその人にとっての基準が大きく異なるというのも画一的に議論できない原因となる。これは資産一億の人と資産 100 万円の人が 10 万円を失うのでは状況が異なるということで当然のことではある。
    生き死にの話は当然大きなことなので数理的に合理的な意思決定から解離するのはやむなしだし、バイアスまみれで検診や予防行動が取られづらいわけだし、適切な医療を提供していくのは大変だな〜と思う。
    各章ごとに執筆者が異なるので、同じような記述が出てきてちょっとダルい面もあるのだが、全体を通して第一部で紹介した概念を基に書かれているので、これは編著者が結構頑張ったのではないかなぁと思った。

  • 探求する精神 amazon へのリンク
    物理学者が書いた古代の学問から最先端の研究の話まで盛り込んだ本。 小学生の頃に三角法で地球の半径を求めた話とか凄くて笑ってしまう。 ルネサンス時代の学問の話や現代の物理学者の様々なエピソードなどもふんだんに盛り込まれている。ファインマンの話とかは何度見てもやっぱ面白いよなぁ。
    著者自身の研究の話もあるけど、こういう人と一緒にこういうことをやったとか、こういう面白い展開になったとか(それ自身は面白いんだけど)、小綺麗にまとめられて表面的な記述に留まっていた印象。 せっかく第一線級の研究者なので、昔の話とか過去の偉人の話じゃなくて、もっと自身の研究者としての生々しさとか想いが感じられる本が読みたかったな。

  • スティーブ・ジョブズ I, II amazon へのリンク I, amazon へのリンク II
    本人が取材に協力した、生い立ちから引退までを綴った読み応えのある伝記。 ジョブズの断片的なエピソードは色んなところで見聞きするけど、伝記をちゃんと読んだことはないなと思って読んでみた。
    驚くようなエピソードが多い、あまりにも多すぎる。自分の望む世界を実現するためには他人の、そして自分自身の認識をも変えてしまう(現実歪曲フィールドと呼ばれている)力は、驚きというほかない。 一人の人間がここまで世界を変える(もちろん各製品は Apple という会社のプロダクトではあるけど、ジョブズがいなかったら生まれなかったであろうという意味ではこの表現は決して誇張ではないように感じる)ためには、ここまでぶっ飛んでいなければならないのだろう。 プロダクトに対する徹底的なこだわりは、話として聞く分には面白いけど、同じチームで働くとなったら並大抵の神経では耐えられないだろうなぁと思う。
    こういう人間がレベルが高くよく整えられた教育からは生まれそうにはないように思うけど、そういう感覚はどこから来るのだろう。圧倒的な個性というのは教育からは作られないという自分自身の勝手な想像からなのだろうか。
    参考になるかはともかくとして、読み物としてはとても面白かった。

  • BAD BLOOD シリコンバレー最大の捏造スキャンダル 全真相 amazon へのリンク
    エンロン事件以降最大の企業不正をした医療系スタートアップ Theranos の一部始終を書いた本。
    最盛期は時価総額 1 兆円ほどにもなった Theranos は、実態は宣伝する指先からの血液摂取のみでさまざまな検査ができるという血液検査がまともに動作しないという状況だった。 秘密主義で実情を隠し、従業員が得られる情報を限定し、退職者には誓約書と訴訟の恐喝をし、世間を騙し続けたが隠しきれなくなって破綻した様子が書かれている。
    スタートアップで大風呂敷を広げるのはままあるが、まともなプロダクトが作れないままここまで肥大化したというのは酷い話だ。 なぜまともなプロダクトがいつまでも作れないのにここまでこれたのか不思議なのだが、創業者のエリザベス・ホームズはお偉方を味方につける能力が突出していたらしい。次のスティーブ・ジョブズと期待されてたらしいが、プレゼンスキルや現実歪曲フィールドを悪い方にだけ使ってるという感じ。
    最も恐ろしいのは多額の資金が必要になる訴訟で告発者を叩きのめそうという戦略。 元従業員がボロボロにされまくってる記述があり、怖すぎる。 米国で最も力のある法律事務所を使ってパワープレーで潰そうとするの、普通の人ならほとんど耐えられるわけないよなぁ。

まとめ

一番良かった本は「施策デザインのための機械学習入門」だった。久々に著者の哲学をしっかりと反映して、かつ一貫した記述でしっかりと書いてある本を読んだ気がする。 ちゃんとした技術書をもっと読まないとなぁ(毎年思っている…)。