ウェブ最適化ではじめる機械学習

―A/Bテスト、メタヒューリスティクス、バンディットアルゴリズムからベイズ最適化まで

[cover photo]
TOPICS
Web , Data Science
発行年月日
PRINT LENGTH
368
ISBN
978-4-87311-916-8
FORMAT
Print PDF EPUB
Ebook
3,850円
Ebookを購入する
Print
3,850円

ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。本書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。 シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。
Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。

内容見本

関連ファイル

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

第1刷の正誤表

28ページ 下から10行目

誤:
表記を完結にするためにラムダ式を用いました。
正:
表記を簡潔にするためにラムダ式を用いました。

35ページ 表1-2 2列目

誤:
表の枚数
正:
コインの枚数

※36ページ表1-31列目も同様

35ページ 下から3行目

誤:
ベルヌーイ分布より、1が出る確率は θ 、0が出る確率は 1 − θ でしたから、それらをかけ合わせて各事象の確率を計算しました。この確率を表が出た枚数ごとにまとめると、この表は次のように書き直せます。
正:
ベルヌーイ分布より、コインが出る確率は θ 、出ない確率は 1 − θ でしたから、それらをかけ合わせて各事象の確率を計算しました。この確率を出現したコインの枚数ごとにまとめると、この表は次のように書き直せます。

36ページ 本文1行目

誤:
順列を無視して表が出た枚数のみに着目すれば組合せの計算になりますので、
正:
順列を無視してコインが出た枚数のみに着目すれば組合せの計算になりますので、

51ページ 下から11行目

誤:
したがって、5%前後0.5%つまり [4.5, 5.5] は5%と実質同じと考え、この区間とHDIを比較する方法も考えられます。
正:
したがって、5%前後0.5%つまり [0.045, 0.055] は5%と実質同じと考え、この区間とHDIを比較する方法も考えられます。

52ページ 本文2行目からの箇条書き

誤:
ROPE [4.5, 5.5] がデザインB案のクリック率の95% HDIの外にあるとき、
正:
ROPE [0.045, 0.055] がデザインB案のクリック率の95% HDIの外にあるとき、

※箇条書き中の4.5、5.5はそれぞれ0.045、0.055となります

64ページ 2.1冒頭

参考:
ここではColabの環境にArviZをインストールする方法について解説していますが、2021年5月現在この操作は必要なくなりました。また、ライブラリの依存関係も変更されているので、ここで解説されているpipコマンドは実行せずにコードを実行するようにしてください。

92ページ 本文2行目

誤:
NHTSでは仮説が仮説検定の手順の上流に位置しています。
正:
NHSTでは仮説が仮説検定の手順の上流に位置しています。

132ページ 本文6行目

誤:
メタヒューリスティックス(metaheuristic)
正:
メタヒューリスティックス(metaheuristics)

※8行目の「ヒューリスティックス(heuristic)」も同様

156ページ 本文7行目

誤:
アイコンは左右対象になるように
正:
アイコンは左右対称になるように

189ページ 本文3行目

誤:
それでは、この AnnealinngSoftmaxAgent を用いてシミュレーションを行ってみましょう。
正:
それでは、この AnnealingSoftmaxAgent を用いてシミュレーションを行ってみましょう。

n が1つ多くあります

268ページ 下から5行目

誤:
その結果、その対局となる図中右下の解が
正:
その結果、その対極となる図中右下の解が

※ 同段落中に同様の箇所がもう1つあります

274ページ 12行目

誤:
これらの色は近い色に見えますが、解空間上では対局に位置しています。
正:
これらの色は近い色に見えますが、解空間上では対極に位置しています。

302ページ 本文6行目

誤:
行列 Ai 行目の行ベクトル aij 行目の列ベクトル
正:
行列 Ai 行目の行ベクトル aij 列目の列ベクトル

311ページ 1つめの式

誤:
f’(xs) × (xs − xs + 1) = f(s)
正:
f’(xs) × (xs − xs + 1) = f(xs)

目次

序文
まえがき

1章 A/Bテストからはじめよう: ベイズ統計による仮説検定入門
    1.1 A/Bテストのインパクト
    1.2 アリスとボブのレポート
        1.2.1 データ生成のプロセスを整理する
    1.3 確率分布
        1.3.1 離散値の確率分布
        1.3.2 連続値の確率分布
        1.3.3 離散化による確率密度関数の近似
        1.3.4 加法定理と乗法定理
        1.3.5 ベイズの定理
    1.4 ベイズの定理を使ったクリック率の推論
        1.4.1 ベイズ推論をプログラムする
    1.5 別解 1: 繰り返しをまとめる
        1.5.1 統計モデリング
        1.5.2 新しいデータ生成過程の見方
    1.6 別解 2: ベータ分布
    1.7 事後分布から決断を下す
        1.7.1 要約統計量
        1.7.2 HDIをつかった仮説検定
        1.7.3 新たな確率変数を導入する
    1.8 本章のまとめ

2章 確率的プログラミング: コンピュータの助けを借りる
    2.1 統計モデルの記述とサンプリングの実行
    2.2 真のレビュースコア
    2.3 滞在時間をテストする
    2.4 なぜベイズ推論による統計的仮説検定を行うか
    2.5 本章のまとめ

3章 組合せのあるテスト: 要素に分解して考える
    3.1 チャーリーのレポート
    3.2 効果に着目したモデリング
        3.2.1 ダミー変数
        3.2.2 ロジスティック関数
        3.2.3 正規分布
    3.3 統計モデルを書き直す
    3.4 完成したレポート、間違ったモデル
        3.4.1 交互作用
        3.4.2 ウェブデザインにおける交互作用
    3.5 モデル選択
        3.5.1 屋根に乗って考える
        3.5.2 最善のモデルの指針
    3.6 本章のまとめ
        3.6.1 さらなる学習のために

4章 メタヒューリスティクス: 統計モデルを使わない最適化手法
    4.1 マーケティング会議
    4.2 メタヒューリスティクス
    4.3 山登り法
        4.3.1 山登り法の実装
        4.3.2 大域的最適解と局所最適解
        4.3.3 アリスの違和感の正体
    4.4 乱択山登り法
    4.5 焼きなまし法
    4.6 遺伝的アルゴリズム
        4.6.1 遺伝的アルゴリズムによるビット絵生成
    4.7 本章のまとめ
        4.7.1 さらなる学習のために

5章 バンディットアルゴリズム: テスト中の損失にも向き合う
    5.1 素朴な疑問
        5.1.1 探索と活用のジレンマ
    5.2 多腕バンディット問題
    5.3 ε-greedyアルゴリズム
    5.4 焼きなまし ε -greedyアルゴリズム
    5.5 ソフトマックスアルゴリズム
    5.6 トンプソン抽出
    5.7 UCBアルゴリズム
    5.8 エレンへの回答
    5.9 本章のまとめ

6章 組合せのバンディット: バンディットアルゴリズムと統計モデルの出会い
    6.1 チャーリーのレポート、再訪
    6.2 線形モデルと一般化線形モデル
    6.3 MCMCをバンディットにつかう
        6.3.1 文脈付きバンディット問題
        6.3.2 MCMCによるロジスティック回帰トンプソン抽出
    6.4 ベイズ線形回帰モデル
        6.4.1 多次元正規分布と事前分布
        6.4.2 ベイズの定理にあてはめる
        6.4.3 更新式への書き換え
        6.4.4 新しい入力に対する予測
    6.5 LinUCBアルゴリズム
        6.5.1 逆行列の計算を回避することによる高速化
        6.5.2 通常の UCBとの性能比較
    6.6 本章のまとめ
        6.6.1 さらなる学習のために

7章 ベイズ最適化: 連続値の解空間に挑む
    7.1 マーケティング会議
        7.1.1 リンクテキストの色をデータで決める
    7.2 ベイズ最適化
    7.3 ガウス過程
        7.3.1 カーネルトリック
        7.3.2 さまざまなカーネル
        7.3.3 ガウス過程の実装
        7.3.4 計算の高速化のための工夫
    7.4 コンピュータと対話して最適な色を探す
        7.4.1 解空間としての色空間
    7.5 GP-UCBアルゴリズム
        7.5.1 対話型最適化による動作確認
    7.6 GP-TSアルゴリズム
    7.7 応用上の注意点
    7.8 エレンの質問
    7.9 本章のまとめ
        7.9.1 さらなる学習のために

8章 これからのウェブ最適化
    8.1 短期的な評価と長期的な評価
        8.1.1 リピートユーザを考慮した最適化
    8.2 解空間のデザイン
    8.3 ウェブサイト以外への応用

付録A 行列演算の基礎
    A.1 行列の定義
    A.2 行列の和
    A.3 行列の積
    A.4 行列の転置

付録B ロジスティック回帰上のトンプソン抽出
    B.1 ベイズロジスティック回帰
    B.2 ロジスティック回帰トンプソン抽出

謝辞
引用文献
索引

コラム目次
    実験計画法の基本原則
    直交計画とウェブ最適化
    遺伝的アルゴリズムと対話型最適化
    ウェブ最適化と対話型最適化
    最適腕識別問題
    パーソナライゼーションへの応用
    ベイズ最適化の対話型最適化への応用