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.

直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する

6,330 views

Published on

2015年12月25日に「最終講義」と称して話した内容です。10月に某所で行った講演を少しアレンジしてあります。

Published in: Data & Analytics
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

直感的な単変量モデルでは予測できない「ワインの味」を多変量モデルで予測する

  1. 1. 直感的な単変量モデルでは 予測できない「ワインの味」を 多変量モデルで予測する 尾崎 隆 (Takashi J. OZAKI, Ph. D.) Twitter: @TJO_datasci 2015/12/27 1
  2. 2. 2015/12/27 2 このスライドは…
  3. 3. 2015/12/27 3 「Aという変数が大きいユーザーほど CVするのでとにかくAが大きいユー ザーにレコメンドしましょう」 レコメンドしたがCV伸びず 「BというカテゴリがXのユーザーほど クリックするのでとにかくB = Xという ユーザーに広告出しましょう」 広告出してもクリックされず
  4. 4. 2015/12/27 4 というような経験のある人に 捧げます
  5. 5. 2015/12/27 5 本日のお題
  6. 6. こんな本を最近読みました 2015/12/27 6
  7. 7. 『新しいワインの科学』の内容  第1部 ブドウ栽培の科学  ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他  第2部 ワイン醸造の科学  酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、 風味を決めるオーク樽の秘密 他  第3部 ワインと人体の科学  ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、 唾液が鍵を握るワインの味 他 2015/12/27 7
  8. 8. 『新しいワインの科学』の内容  第1部 ブドウ栽培の科学  ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他  第2部 ワイン醸造の科学  酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、 風味を決めるオーク樽の秘密 他  第3部 ワインと人体の科学  ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、 唾液が鍵を握るワインの味 他 2015/12/27 8
  9. 9. 『新しいワインの科学』の内容  第1部 ブドウ栽培の科学  ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他  第2部 ワイン醸造の科学  酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、 風味を決めるオーク樽の秘密 他  第3部 ワインと人体の科学  ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、 唾液が鍵を握るワインの味 他 主観的な体験を科学する??? 2015/12/27 9
  10. 10. そもそもワインの味ってどんなもの?  基礎的な味覚  酸味  甘味  渋味  旨味 … 2015/12/27 10
  11. 11. そもそもワインの味ってどんなもの?  ワインに固有の味覚表現  「ミネラル感」  「トースト感」  「果実味」  「スモーキー感」 … 2015/12/27 11
  12. 12. そもそもワインの味ってどんなもの?  ワインの味の評価は、先に述べたような様々な味の「要素」 を総合して決められることが多い 2015/12/27 12
  13. 13. 2015/12/27 13 それはどう見ても 主観的なものでしか ないのでは?
  14. 14. 2015/12/27 14 何か客観的な指標で ワインの味の評価を 決めることは できないのだろうか
  15. 15. 2015/12/27 15 ※ワインに含まれる有機化合物 • 糖類(甘味) • アルコール類 • ポリフェノール類 • 非フラボノイド系ポリフェノール • フラバン-3-オール • フラボノイド • アントシアニン • タンニン • 揮発性化合物 • 酢酸エチル • エステル類 • アルデヒド類 • ケトン類 • 高級アルコール類 • ラクトン類 • 揮発酸類 • 揮発性フェノール類 • テルペン類 • メトキシピラジン類 • 揮発性硫黄化合物
  16. 16. 2015/12/27 16 例えばデータサイエンス のような方法論で客観的に 味の評価を決められれば…
  17. 17. 2015/12/27 17 それができれば 有名でないワイン、 たまたま評論家の目に 留まらないワインでも、 味の評価を占える ※細かい話をするとワイン業界の販促に極めて有用
  18. 18. UC Irvine Machine Learning Repositoryという オープンデータセットがあります 2015/12/27 18
  19. 19. その中に“Wine Quality”というデータセットがあります 2015/12/27 19
  20. 20. その中に“Wine Quality”というデータセットがあります 2015/12/27 20
  21. 21. “Wine Quality”の中身はこんな感じ 2015/12/27 21 fixed.acidity … residual.sugar … pH sulphates alcohol quality 11.6 … 2.2 … 3.25 0.57 9 3 7.4 … 4.4 … 3.38 0.5 9 4 7.4 … 1.9 … 3.51 0.56 9.4 5 11.2 … 1.9 … 3.16 0.58 9.8 6 7.3 … 1.2 … 3.39 0.47 10 7 7.9 … 3.6 … 3.35 0.86 12.8 8
  22. 22. 11項目の化学測定指標と、ワインの評価スコアから成る  fixed acidity  volatile acidity  citric acid  residual sugar  chlorides  free sulfur dioxide  total sulfur dioxide  density  pH  sulphates  alcohol 2015/12/27 22 quality (3 – 8)
  23. 23. 個々の説明変数の内訳  fixed acidity:酒石酸濃度  volatile acidity:酢酸濃度  citric acid:クエン酸濃度  residual sugar:残糖濃度  chlorides:塩化ナトリウム濃度  free sulfur dioxide:遊離SO2濃度  total sulfur dioxide:総SO2濃度  density:密度  pH:pH(そのまんま)  sulphates:硫化カリウム濃度  alcohol:アルコール度数 2015/12/27 23
  24. 24. 『新しいワインの科学』曰くでは…  5種類の化合物が関与する  酸類  アルコール類  糖類  ポリフェノール類  揮発性化合物  それぞれが関与するのは  酸味  他の味覚のブースト  甘味そして酸とのバランス  渋味と色味  香り 2015/12/27 24
  25. 25. 例えば、データを見る限りでは… 2015/12/27 25 fixed.acidity … residual.sugar … pH sulphates alcohol quality 11.6 … 2.2 … 3.25 0.57 9 3 7.4 … 4.4 … 3.38 0.5 9 4 7.4 … 1.9 … 3.51 0.56 9.4 5 11.2 … 1.9 … 3.16 0.58 9.8 6 7.3 … 1.2 … 3.39 0.47 10 7 7.9 … 3.6 … 3.35 0.86 12.8 8
  26. 26. 例えば、データを見る限りでは… 2015/12/27 26 fixed.acidity … residual.sugar … pH sulphates alcohol quality 11.6 … 2.2 … 3.25 0.57 9 3 7.4 … 4.4 … 3.38 0.5 9 4 7.4 … 1.9 … 3.51 0.56 9.4 5 11.2 … 1.9 … 3.16 0.58 9.8 6 7.3 … 1.2 … 3.39 0.47 10 7 7.9 … 3.6 … 3.35 0.86 12.8 8 何となく、アルコール度数が高いと ワインの評価も高いような気がする
  27. 27. でも… 2015/12/27 27 fixed.acidity … residual.sugar … pH sulphates alcohol quality 11.6 … 2.2 … 3.25 0.57 9 3 7.4 … 4.4 … 3.38 0.5 9 4 7.4 … 1.9 … 3.51 0.56 9.4 5 11.2 … 1.9 … 3.16 0.58 9.8 6 7.3 … 1.2 … 3.39 0.47 10 7 7.9 … 3.6 … 3.35 0.86 12.8 8
  28. 28. でも… 2015/12/27 28 fixed.acidity … residual.sugar … pH sulphates alcohol quality 11.6 … 2.2 … 3.25 0.57 9 3 7.4 … 4.4 … 3.38 0.5 9 4 7.4 … 1.9 … 3.51 0.56 9.4 5 11.2 … 1.9 … 3.16 0.58 9.8 6 7.3 … 1.2 … 3.39 0.47 10 7 7.9 … 3.6 … 3.35 0.86 12.8 8 酒石酸濃度とワインの評価とは あまり関係ないような気がする
  29. 29. 『新しいワインの科学』が掲げる問題意識 2015/12/27 29 ワインの風味を還元主義的 に研究しても全体のことは 分からない… ひとつの物質だけを取り出 して個別の閾値を語っても 意味がない…
  30. 30. 2015/12/27 30 「還元主義」の 限界?
  31. 31. 2015/12/27 31 例えば経験的に言って… • 酸の弱いワインはアルコール度数が高くても後 者がもたらすアドバンテージ以上に「粗い」と いう印象になる • 酸もアルコール度数も強いワインであっても、 糖度が低ければ酸っぱいだけの美味くないワイ ンになる • 酸も強くアルコール度数も糖度も高いワインと いうのは、度を越せば失敗作の貴腐ワイン
  32. 32. 2015/12/27 32 確かに単一の物質に 帰結を求めるのは 良くないかもしれない
  33. 33. 例えばpHは低いほど(=酸が強いほど)qualityが高くなる 2015/12/27 33
  34. 34. 2015/12/27 34 これは直感的に 分かりやすい
  35. 35. でも「pHの高低」ではワインの評価は殆ど予測できない 2015/12/27 35 予測 5 6 実 測 3 0 1 4 1 4 5 0 68 6 0 64 7 0 20 8 0 2 Accuracy 0.40…
  36. 36. では、11項目全てで同じことをやってみたら? 2015/12/27 36
  37. 37. では、11項目全てで同じことをやってみたら? 2015/12/27 37
  38. 38. では、11項目全てで同じことをやってみたら? 2015/12/27 38
  39. 39. 2015/12/27 39 それは 「還元主義」 ではなく 「単変量解析」 の問題では
  40. 40. 2015/12/27 40 「単変量解析」 がダメなら…
  41. 41. 2015/12/27 41 「多変量解析」 すればいいのでは
  42. 42. 例えば線形モデル(+一般化線形モデル)では… 2015/12/27 42 86 目的変数 1 変数1 4 変数2 0 変数3 2 変数4 3 変数n このβたちから モデルは成っている 説明変数を立てて、多変量のデータセット としてまとめておく
  43. 43. 例えば線形モデル(+一般化線形モデル)では… 2015/12/27 43 +2 変数1 +4 変数2 0 変数3 -1 変数4 -2 変数n このβたちから モデルは成っている βの値を最適化問題を解くことで求める その大小や符号から、それぞれの指標が 目的変数に貢献するか否かを判断する UP UP Neutral DOWN DOWN
  44. 44. 例えば機械学習では…そもそも機械学習とは? 2015/12/27 44 のような形で表される「分類関数の出力 と教師データとの食い違い」に当たる誤 差関数を繰り返し計算+教師データを読 み込んでいってできる限り小さくするこ とで、未知のデータをできる限り正しく 分類するための方法論誤差関数 正則化項
  45. 45. 例えば機械学習では…ランダムフォレストの特徴 2015/12/27 45
  46. 46. 例えば機械学習では…xgboostの特徴 2015/12/27 46
  47. 47. 線形モデルでも機械学習のやり方を取り入れることも… 2015/12/27 47 0 変数3 -1 変数4 このβたちから モデルは成っている Neutral DOWN 誤差関数 正則化項 一定の制約をかけて最適化問題 を解くことで不要な説明変数を カットオフすることもできる
  48. 48. 基本的な発想は2つ 統計学を用いてデータを「説明」する 機械学習を用いてデータから「予測」する 2015/12/27 48
  49. 49. 基本的な発想は2つ 統計学を用いてデータを「説明」する 重み付けβを用いてワイン11項目それぞれ の重要度を明らかにする 機械学習を用いてデータから「予測」する 交差検証データに対してできるだけ正確に qualityを予測できるモデルを作る 2015/12/27 49
  50. 50. “Wine Quality”のうち赤ワインのデータを用いる 学習データ兼回帰モデル向けデータ 1439銘柄 予測向け交差検証データ 160銘柄 2015/12/27 50
  51. 51. まずは「説明」する 統計学を用いてデータを「説明」する 重み付けβを用いてワイン11項目それぞれ の重要度を明らかにする 機械学習を用いてデータから「予測」する 交差検証データに対してできるだけ正確に qualityを予測できるモデルを作る 2015/12/27 51
  52. 52. L1正則化線形回帰モデルを用いる 2015/12/27 52 0 変数3 -1 変数4 このβたちから モデルは成っている Neutral DOWN 誤差関数 正則化項 一定の制約をかけて最適化問題 を解くことで不要な説明変数を カットオフする
  53. 53. L1正則化線形回帰モデルで「関連の強いβだけ」を求めてみた  必要なさそうなもの:酒石酸、クエン酸、密度  高いほど評価が高いもの:遊離SO2、硫化カリウム、アルコール度数  低いほど逆に評価が高いもの:酢酸、塩化ナトリウム、総SO2、pH 2015/12/27 53 (Intercept) 4.004019461 fixed.acidity . volatile.acidity -1.111627305 citric.acid . residual.sugar . chlorides -1.457579579 free.sulfur.dioxide 0.002767012 total.sulfur.dioxide -0.002411623 density . pH -0.320801622 sulphates 0.880891983 alcohol 0.277764683
  54. 54. おまけ:L1正則化線形回帰モデルで交差検証 Accuracy (45+43+3)/160 = 0.56875 2015/12/27 54 予測 3 4 5 6 7 8 実 測 3 0 0 1 0 0 0 4 0 0 3 2 0 0 5 0 0 45 23 0 0 6 0 0 18 43 3 0 7 0 0 1 16 3 0 8 0 0 0 2 0 0
  55. 55. 次に「予測」してみる 統計学を用いてデータを「説明」する 重み付けβを用いてワイン11項目それぞれ の重要度を明らかにする 機械学習を用いてデータから「予測」する 交差検証データに対してできるだけ正確に qualityを予測できるモデルを作る 2015/12/27 55
  56. 56. ランダムフォレストの場合 2015/12/27 56 予測 3 4 5 6 7 8 実 測 3 0 0 1 0 0 0 4 0 0 4 1 0 0 5 0 0 57 11 0 0 6 0 0 12 49 3 0 7 0 0 1 6 13 0 8 0 0 0 0 2 0 Accuracy 0.74375
  57. 57. おまけ:ランダムフォレストでは変数重要度の絶対値を出せる 2015/12/27 57 MeanDecreaseGini fixed.acidity 71.37408 volatile.acidity 97.01327 citric.acid 71.95186 residual.sugar 67.73691 chlorides 75.90818 free.sulfur.dioxide 62.9217 total.sulfur.dioxide 94.24227 density 88.93049 pH 72.71654 sulphates 98.83825 alcohol 122.04312
  58. 58. xgboostの場合 2015/12/27 58 予測 3 4 5 6 7 8 実 測 3 0 0 1 0 0 0 4 0 0 4 1 0 0 5 0 0 57 11 0 0 6 0 2 13 46 3 0 7 0 0 1 5 13 1 8 0 0 0 0 2 0 Accuracy 0.725
  59. 59. 「説明」と「予測」を組み合わせてまとめると…  ワインの評価の高低には11項目中7項目の増減が重要らしい  非線形のランダムフォレスト分類器で比較的高精度に予測できそう 2015/12/27 59 (Intercept) 4.004019461 fixed.acidity . volatile.acidity -1.111627305 citric.acid . residual.sugar . chlorides -1.457579579 free.sulfur.dioxide 0.002767012 total.sulfur.dioxide -0.002411623 density . pH -0.320801622 sulphates 0.880891983 alcohol 0.277764683 予測 3 4 5 6 7 8 実 測 3 0 0 1 0 0 0 4 0 0 4 1 0 0 5 0 0 57 11 0 0 6 0 0 12 49 3 0 7 0 0 1 6 13 0 8 0 0 0 0 2 0 Accuracy 0.74375
  60. 60. さらにpartial dependence plotで分かること 2015/12/27 60 例えばアルコール、SO2、酢酸、pHの寄与度をみてみると、いずれもサチったり 急に凸凹したりして、味の評価に対して非線形に振る舞うことが分かる
  61. 61. さらにpartial dependence plotで分かること 2015/12/27 61 単一の指標でワインの評価を決めるのは危ない
  62. 62. 今回のワインの事例から学べる教訓 2015/12/27 62 直感的に分かりやすい A/Bテスト的な 「単変量モデル」より 直感的でなくても精度の 高い機械学習などの 「多変量モデル」を もっと実践してみよう

×