🗒️

24/08/19 ~ 24/08/25 Weekly Report

2024/08/19に公開

はじめに

この一週間に学んだ内容や私生活について、備忘録として残していこうと思います。

Input

Books

1. 世界一流エンジニアの思考法

読了。私はガッツリコーディングをやっていくようなエンジニアではないが、仕事への向き合い方、マインドセットなど参考になった。

  • 第6章 仕事と人生の質を高める生活習慣術
    • 生産性を上げたければ定時上がりが効率いい:生産性を上げるためには学習をすること。仕事はダラダラやらず定時上がりで切り上げる。その後で、やりたいトピックを勉強したり試したりする。技術的に強い人ほど時間外労働はしない。
    • 脳の酷使を止める3つの工夫:脳の疲れを溜めないための生活習慣として次の3つを挙げられている。
      1. 瞑想をする
      2. ディスプレイから意識的に離れる
      3. しっかりと睡眠時間をとる
    • 違うことをするのがリフレッシュ:脳を休めるためには全く違うことをやるのも効果的
      • 水泳をするときに、息継ぎせずに泳ぐことはできない
      • 発想のブレークスルーは、その仕事をしていないときに発生する
      • 一日に一つのことに集中できるのは4時間。4時間過ぎて疲れたら、単に休むのではなく、違うことをするのが良い
      • 休憩をすることは何もしないと言うことではなくいつもと違うことをすることが重要
    • 人生をコントロールする:幸せに感じるから成功するのであって、成功したら幸せになるわけではない。人が幸福感を覚える時、心のあり方や気分がポジティブであるときに、頭もよく働き、やる気も生じ、結果的に物事がうまくいく。
  • 第7章 AI時代をどう生き残るのか?
    • AIに食われない職業:自分が頑張ってきた分野のコンテキストで、どうしたらAIとアラインできるかを見つけ出すことができたらいいのではないか?時流に惑わされず、「専門性」を追求する姿勢こそが1番強いのではないか?誰もやったことのないものに取り組んでいる専門性は、AIに取って代わることは原理的にあり得ない。
    • AIを利用する:「専門性を高める」と言う蓄積に価値を置かれ、スピードは思ったより重視されない。結局は時間をかけて、小さな努力を積み重ねる方が圧倒的にいいものを作れる
    • 安直な批判をしない:開発者に限らず、日本のあらゆる業界・業種において、批判ではなくポジティブフィードバックで現場に心が満たされるような好循環が生まれたら、間違いなく日本の生産性は抜本的に変わる。
    • 自分の人生は自分でコントロールする:「自分の人生や幸せに責任を持って、自分でコントロールする」というマインドセットの素晴らしさ。それは生産性のみならず、どう働き、どう生きるかと深く関わっている。自分で考えて、自分でチョイスするして、楽しんで、幸福になる。

2. Pythonで学ぶ効果検証入門

以前「効果検証入門」を学習していたが、Pythonで書かれている本書が発売されたタイミングで購入しており、積読していたので着手している。
「効果検証入門」よりも実装より実務における考慮事項の説明に重きを置いており、勉強になることは多いと感じた。因果推論領域の書籍はまだ数冊積んでいるので、1ヶ月程度で消化していきたい。

  • 3章 A/Bテストを用いて実務制約ないで効果検証を行う
    • A/Bテストは頻繁に失敗する
      1. 実装ミスによるロギングの失敗
      2. 施策実施時期の考慮漏れ
      3. 割当単位と分析単位の不一致
    • A/Bテストの失敗は二種類のケースに大別できる
      • データの適切な収集に失敗しているケース:A/Aテストを行うことで失敗の検知を行うことができる
      • 収集したデータの適切な分析に失敗しているケース:A/Aテストのリプレイを行うことで事前の分析方針の誤りを検知できる
    • A/Aテスト:A/Bテストと同様にサンプルをランダムな2群分けて、それぞれに同じ施策を割り当てる手法
    • A/Aテストのリプレイ:実際にA/Aテストを行うのではなく、シミュレーションを用いてA/Aテストを擬似的に複数回行うこと
    • A/Aテストのリプレイにより、ランダムな振り分けができていることを確認する。各サンプリングごとに集計されたp値に偏りがない(一様分布)ことを確認する際にはコルモゴロフ-スミルノフ検定を使用する
    • 層化A/Bテスト:サンプルが集まって形成される層(サブグループ)ごとにランダムな割当を行うA/Bテスト。サブグループごとでの均等な割当割合を実現でき、より効果的な施策効果分析を可能にする。収集したデータに層化A/Bテストを適応するためには、サブグループごとにダミー変数を組み込んだ分析を行う。

3. A/Bテスト実践ガイド 真のデータドリブンへ至る信用できる実験とは

アナリストとしてA/Bテストをできる限り適切に実践するスキルというのは、どのような企業でも重宝される。「Pythonで学ぶ効果検証」のような書籍で実装を学ぶが、本書では理論的な側面から理解を深めていきたい。
本書はさまざまなA/Bテストを行う上での基本的な考え方が網羅されており、通称「カバ本」と呼ばれデータサイエンスにた携わる有識者の方々が推薦されていたこともあり読み進めることにした。
内容としては、実験の重要性、適切なメトリクスの選択方法、実験プラットフォームの構築方法、結果の解釈と学習方法について解説されている。 また、サンプルサイズの決定、分散の軽減、長期的な影響の測定など、実験の感度と信頼性を向上させるための統計的手法についても詳しく説明している。 さらに、観察的因果関係研究やユーザー調査など、実験が不可能な場合に用いることができる補完的な手法についても紹介している。

  • 1章 導入と動機付け
    • 小さな変更が大きな影響を与えることがある。 Bing では、タイトルのレイアウトをほんの少し変更しただけで、収益が12%も増加したという実験結果が出ている。これは、年間換算で1億ドル以上の収益増加に相当する。 このように、些細に見える変更が、ビジネスに大きなインパクトを与える可能性があるため、実験を行うことが重要。
    • 実験は、アイデアの価値を評価するための有効な手段である。 Bing の例では、タイトルのレイアウト変更というシンプルなアイデアが、実は年間1億ドルもの価値があったことが、実験によって明らかになった。 このように、実験を行うことで、アイデアの真の価値を見極めることができる。
    • 実験は、迅速かつ低コストで実施できる必要がある。 Bing のエンジニアは、「ExP」という Microsoft の実験システムを使用することで、アイデアを素早く簡単に評価することができた。 実験を成功させるためには、実験の実施にかかる時間やコストを最小限に抑えることが重要。
    • 実験には、明確な評価基準が必要である。 Bing では、「OEC(総合評価基準)」として、収益だけでなくユーザー体験も考慮した指標を用いていた。 実験の成否を判断するためには、事前に明確な評価基準を設定しておくことが重要。
    • 実験の結果は、継続的な改善に活用する。 Google は、広告ランキングメカニズムの改良に1年以上の実験を重ね、ユーザー体験と広告主体験の両方を向上させました。 実験によって得られた知見は、プロダクトやサービスの継続的な改善に役立てられている。

Blogs

Media

Services

  • V0
    Vercel社が出しているUIコード作成を支援するチャットサービス。私はClaude Artifactも使ったことがあるが、V0の方が特化型にチューニングされているのかレスポンスの質がいい。
  • Haystack
    VSCodeをベースとしたIDEで、コードの依存関係を可視化する機能がある。また、Cursorのようにコード保管機能も備わっているとのこと。少し触ってみたけど、かなりいい感じのプロダクトで、SNSでも話題になっているので動向をしっかりウォッチしておこう。

Life

  • 今週は妻が誕生日だったため、プレゼント渡し、週末に美味しいディナーを食べに行った。お祝いの際に伺ったGRANDHOURS (グランアワーズ)というお店は雰囲気が良く料理も新鮮でとても素敵な時間を過ごすことができた。お祝いのお店は今まで一期一会でやってきたけど、あまりにもいいお店だったのでまた行きたい。
  • 奥歯が欠けたので歯医者に行ったら神経を抜くような治療を施すことになった。2年おきに親知らずを抜いたり虫歯になったりと、歯医者に関わることがあるなぁ。ここ数年は転職や結婚で住所が移り変わったこともあり、行きつけの歯医者を固定することができてなかったけど、これを機に定期検診に行くことを心がけよう。
  • 新たに書籍を購入した

Task

技術

  1. 因果推論 基礎から機械学習・時系列解析・因果探索を用いた意思決定のアプローチ
  2. [試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識
  3. つくって、壊して、直して学ぶ Kubernetes入門
  4. コンピュータビジョンのための実践機械学習

読書

  1. 独学で鍛える数理思考
  2. 評価指標入門
  3. データ指向アプリケーションデザイン

Discussion