Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの

5,002 views

Published on

2014/10/22に社内で行った講演会のスライドです。

Published in: Data & Analytics
  • Be the first to comment

『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの

  1. 1. 『手を動かしながら学ぶ ビジネスに活かす データマイニング』で目指したもの・学んで もらいたいもの 株式会社リクルートコミュニケーションズ ICTソリューション局 アドテクノロジーサービス開発部 尾崎 隆
  2. 2. 本日のお題 最近本を出しました
  3. 3. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~
  4. 4. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~
  5. 5. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~ データマイニングとRの紹介
  6. 6. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~ 統計学の基礎と応用
  7. 7. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~ 機械学習の基礎と応用
  8. 8. 内容はこんな感じです 1.データマイニングとは 2.Rを使ってみよう 3.その2つのデータ,本当に差があるの? ~仮説検定~ 4.ビールの生産計画を立てよう ~重回帰分析~ 5.自社サービス登録会員をグループ分けしてみよう ~クラスタリング~ 6.コンバージョン率を引き上げる要因はどこに? ~ロジスティック回帰~ 7.どのキャンペーンページが効果的だったのか? ~決定木~ 8.新規ユーザーの属性データから今後のアクティブユーザー数を予測しよう ~SVM/ランダムフォレスト~ 9.ECサイトの購入カテゴリデータから何が見える? ~アソシエーション 分析~ 10.Rでさらに広がるデータマイニングの世界 ~その他の分析メソッドにつ いて~ 古典的データマイニングと発展的課題
  9. 9. しかし… 解説がないと、やさしく見えて 意外と難しい本だという声多数 思ったより 難しくね? 初心者向け にしては… 後半は結構 難しいよー
  10. 10. そこで…
  11. 11. そこで…
  12. 12. 最初に踏まえるべき最も基礎的なポイント 統計学は何をするもの? 機械学習は何をするもの?
  13. 13. 最初に踏まえるべき最も基礎的なポイント 統計学は何をするもの?
  14. 14. 最初に踏まえるべき最も基礎的なポイント 統計学は何をするもの? •例えば… •そもそも「集計」とはどう違うのか? •統計学を使わなければ分からないことは あるのか?
  15. 15. 「集計」と「統計学的分析」の違い CVユーザー数の時系列 3種の広告投下額の時系列 こんなデータが あるとする
  16. 16. 「集計」と「統計学的分析」の違い 7日ごと(週次)に平均値を集計してプロットした 結果からは、何となくトレンドが見えるがイマイチ はっきりしない
  17. 17. 本当にそれだけ分かればいいの?
  18. 18. ちなみに…
  19. 19. 「集計」と「統計学的分析」の違い (線形)重回帰分析を行っても、トレンドが説明できない
  20. 20. 「集計」と「統計学的分析」の違い ベイジアンモデリングで二階トレンドつきモデルをやってみる (※動的線形モデルならもっと簡単にやれます&単に将来の発展に備えてMCサンプラー入れただけです) 広告予算1 広告予算2 広告予算3 日次 CV数 a b c 正規線形モデル オフセット項d 累積トレンド項 cum_trend + ベイジアン モデリング トレンド項trend Σ
  21. 21. 「集計」と「統計学的分析」の違い 3種類の広告それぞれの 効果の比 相関係数 0.99 階層ベイズモデルにより、トレンドを表現した上で正確にモデリング ※サンプルデータ作る時にノイズ乗せ忘れましたごめんなさい
  22. 22. 「集計」と「統計学的分析」の違い トレンド自体が時期ごとで変化している様子 までもがモデリングされる 相関係数 0.99
  23. 23. 「集計」と「統計学的分析」の違い 統計学は何をするもの?
  24. 24. 「集計」と「統計学的分析」の違い 統計学は何をするもの? 「集計」では分からないような、 ノイズに埋もれた「真の値」を推定 するためのもの
  25. 25. 最初に踏まえるべき最も基礎的なポイント 統計学は何をするもの? 機械学習は何をするもの?
  26. 26. 最初に踏まえるべき最も基礎的なポイントagain 機械学習は何をするもの?
  27. 27. 最初に踏まえるべき最も基礎的なポイントagain 機械学習は何をするもの? •例えば… •普通にコード書いて処理するのとは どう違うのか? •そもそも「何」を学習するのか?
  28. 28. 28 分かりやすいパーセプトロンを例に
  29. 29. 「学習する」ということ •例えば識別モデル系であれば「識別関数」 の値の大小で分類する。 푦=풘푇풙 29
  30. 30. 「学習する」ということ •例えば識別モデル系であれば「識別関数」 の値の大小で分類する。 푦=풘푇풙 30 返値 (「±の符号」が大事!) 重みベクトル (こいつが学習結果) 入力信号 (これから識別したいもの)
  31. 31. 「学習する」ということ •「識別関数」の値の大小で分類するとは どういうこと? 푦=풘푇풙 31
  32. 32. 「学習する」ということ •識別関数から見て「どちら側か」で分類 するということ 푦=풘푇풙 32
  33. 33. 「学習する」ということ •例としてここではメールのSPAM判定を 想定する。 푦=풘푇풙 33 返値 (正なら非SPAM 負ならSPAM) 重みベクトル 入力信号 (メールの単語頻度)
  34. 34. 「学習する」ということ •まず、入力信号の例。 「メールの単語頻度」と仮定する。 풙= 「会議」という語の数 「目標」という語の数 「お買い得」という語の数 = 210 34
  35. 35. 「学習する」ということ •次に、重み信号の例。 풘= 푤1 푤2 푤3= 11−1 35
  36. 36. 「学習する」ということ •次に、重み信号の例。 풘= 푤1 푤2 푤3= 11−1 36 「会議」は非SPAM 「目標」は非SPAM 「お買い得」はSPAM
  37. 37. 「学習する」ということ •そこで識別関数を計算してみる。 풚=풘푇풙=11−1210=3 これは非SPAMだ! 37
  38. 38. 「学習する」ということ •ところが、SPAMじゃないはずなのにこう いうメールが来たら? 풙= 「会議」という語の数 「目標」という語の数 「お買い得」という語の数 = 113 38
  39. 39. 「学習する」ということ •識別関数を計算してみると… 풚=풘푇풙=11−1113=−1 あれ?非SPAMのはずなのに SPAM判定だ! 39
  40. 40. 「学習する」ということ •識別関数を計算してみると… 풚=풘푇풙=11−1113=−1 あれ?非SPAMのはずなのに SPAM判定だ! これは重みベクトルを変えなきゃ! 40
  41. 41. 「学習する」ということ •そこで、重み信号を以下のように更新する。 풘풏풆풘=풘표푙푑+휇 113= 11−1+ 휇 휇 3휇 = 1+휇 1+휇 −1+3휇 (휇は学習係数) 41 誤判定した時の入力信号の値
  42. 42. 「学習する」ということ •例えば学習係数휇が0.2なら… 풘풏풆풘= 1+휇 1+휇 −1+3휇 = 1.21.2−0.4 42
  43. 43. 「学習する」ということ •改めて同じ入力信号で識別関数を計算して みると… 풚=풘푇풙=1.21.2−0.4113=1.2 非SPAMだと正しく判定された! 43
  44. 44. 「学習する」ということ •改めて同じ入力信号で識別関数を計算して みると… 풚=풘푇풙=1.21.2−0.4113=1.2 非SPAMだと正しく判定された! こんな感じでパーセプトロンは学習していく。 44
  45. 45. 最初に踏まえるべき最も基礎的なポイントagain 機械学習は何をするもの?
  46. 46. 最初に踏まえるべき最も基礎的なポイントagain 機械学習は何をするもの? 学習データに基づいてパラメータ を順次変えていくことで自動的に (例えば)分類するもの
  47. 47. ここからは拙著の各章のポイントを 駆け足で紹介します
  48. 48. 第1章 データマイニングとは
  49. 49. 第1章 データマイニングとは 「分布」の概念を 覚えましょう!
  50. 50. 第2章 Rを使ってみよう
  51. 51. 第2章 Rを使ってみよう 1.Linuxへのインストールはしんどいかも…。 2.コーディング苦手でも大丈夫です。ここで forとifを取り上げていますが、実はこの後 一度もforもifも出てきません。
  52. 52. 第3章 その2つのデータ、 本当に差があるの? ~仮説検定~
  53. 53. 第3章 仮説検定 表3-2 表3-3 真の分布をシミュレート してみると、A/Bテスト の「集計値」を鵜呑みに してはいけないことが分 かります。 特に大事なのが、 カイ二乗検定と A/Bテストの下り。
  54. 54. 第4章 ビールの生産計画 を立てよう ~重回帰分析~
  55. 55. 第4章 重回帰分析 푓(푦푖)~훽0+훽1푥1푖+훽2푥2푖+훽3푥3푖+훽4푥4푖+⋯훽푛푥푛푖 CV数を適切に数理的に変換 してモデルの精度を上げる 102 78 91 84 110 CV数 1 2 0 1 3 広告1 3 0 2 1 4 広告2 0 1 0 0 1 広告3 2 1 2 1 2 広告4 1 3 3 2 3 広告n このβたちを推定する
  56. 56. 第4章 重回帰分析 푓(푦푖)←훽0+훽1푥1푖+훽2푥2푖+훽3푥3푖+훽4푥4푖+⋯훽푛푥푛푖 CV数を適切に数理的に変換 してモデルの精度を上げる 105 予測CV数 1 広告1 4 広告2 0 広告3 2 広告4 3 広告n このβたちから逆に CV数を予測できる 事前に計画された広告出稿計画
  57. 57. 第5章 自社サービス登録 会員をグループ分け してみよう ~クラスタリング~
  58. 58. 第5章 クラスタリング ここでは「似ている・ 似ていない」を表す 「距離」という考え方 への理解が大事。 これさえ分かればどの クラスタリングについ てもイメージを思い描 くことができるはず。
  59. 59. 第6章 コンバージョン率を 引き上げる要因は どこに? ~ロジスティック回帰~
  60. 60. 第6章 ロジスティック回帰 푓(푦푖)~훽0+훽1푥1푖+훽2푥2푖+훽3푥3푖+훽4푥4푖+⋯훽푛푥푛푖 CVRを適切に数理 的に変換してモデル の精度を上げる 0.2 0.01 0 0.02 0.3 CVR 1 2 0 1 3 広告1 3 0 2 1 4 広告2 0 1 0 0 1 広告3 2 1 2 1 2 広告4 1 3 3 2 3 広告n このβたちを推定する
  61. 61. 第6章 ロジスティック回帰 直線(いわゆる普通の重回帰分析) では当てはまらないからこそ、ここ で学ぶ一般化線形モデル(ロジス ティック回帰)を使うということへ の理解が大事。 一般化線形モデル全体 については難解なので 第10章で軽くまとめて あります。
  62. 62. 第7章 どのキャンペーンページが 効果的だったのか? ~決定木~
  63. 63. 第7章 決定木 非常に簡単な構造の機械学習で、なおかつ計算負荷も軽 いということを知っておけば概ねOK。
  64. 64. 第8章 新規ユーザーの属性データ から今後のアクティブ ユーザー数を予測しよう ~SVM/ ランダムフォレスト~
  65. 65. 第8章 SVM / ランダムフォレスト マージン最大化 カーネルトリック 2つの基礎を 組み合わせた ものがSVM
  66. 66. 第8章 SVM / ランダムフォレスト ランダムフォレスト =決定木+相関低減バギング
  67. 67. 第9章 ECサイトの購入カテゴリ データから何が見える? ~アソシエーション分析~
  68. 68. 第9章 アソシエーション分析 Support Confidence Lift とっつきにくいかもしれませんが、 これだけは覚えてください。
  69. 69. 第9章 アソシエーション分析 本命はこちらのグラフ表現。 データマイニング+アドホック分析の本流。
  70. 70. 第10章 Rでさらに広がる データマイニングの世界 ~その他の分析メソッドに ついて~
  71. 71. 第10章 その他のデータ分析メソッドについて この章は完全に 尾崎の趣味なので 忘れて大丈夫です。
  72. 72. 最後に、本書全体を通じて
  73. 73. 最後に、本書全体を通じて 発展的内容は、ブログ同様 に出来るだけ脚注やコラム の形でおさめてあります。 本書の「その先」を目指す には、是非脚注やコラムの 内容にも目を通していただ ければ幸いです。
  74. 74. ということで、 今後本書を題材 にした質疑つき 勉強会が定期的 に開催…される かも?

×