SlideShare a Scribd company logo
Taste of Wine
vs. Data Science
~単変量の還元主義からは見えない「味わい」を
多変量モデリングは解き明かせるか~
株式会社リクルートコミュニケーションズ
尾崎 隆 (Takashi J. OZAKI, Ph. D.)
2015/10/17 1
2015/10/17 2
自己紹介
自己紹介
ブログやってます
2015/10/17 3
2015/10/17 4
本日のお題
こんな本を最近読みました
2015/10/17 5
『新しいワインの科学』の内容
 第1部 ブドウ栽培の科学
 ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他
 第2部 ワイン醸造の科学
 酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、
風味を決めるオーク樽の秘密 他
 第3部 ワインと人体の科学
 ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、
唾液が鍵を握るワインの味 他
2015/10/17 6
『新しいワインの科学』の内容
 第1部 ブドウ栽培の科学
 ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他
 第2部 ワイン醸造の科学
 酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、
風味を決めるオーク樽の秘密 他
 第3部 ワインと人体の科学
 ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、
唾液が鍵を握るワインの味 他
2015/10/17 7
『新しいワインの科学』の内容
 第1部 ブドウ栽培の科学
 ブドウとはどんな植物か、テロワールの正体に迫る、土とブドウ 他
 第2部 ワイン醸造の科学
 酸素管理とワインの品質、全房発酵とマセラシオン・カルボニック、
風味を決めるオーク樽の秘密 他
 第3部 ワインと人体の科学
 ワイン・テイスティングと感覚の個人差、脳が風味を感じる仕組み、
唾液が鍵を握るワインの味 他
主観的な体験を科学する???
2015/10/17 8
そもそもワインの味ってどんなもの?
 基礎的な味覚
 酸味
 甘味
 渋味
 旨味
…
2015/10/17 9
そもそもワインの味ってどんなもの?
 ワインに固有の味覚表現
 「ミネラル感」
 「トースト感」
 「果実味」
 「スモーキー感」
…
2015/10/17 10
そもそもワインの味ってどんなもの?
 ワインの味の評価は、先に述べたような様々な味の「要素」
を総合して決められることが多い
2015/10/17 11
2015/10/17 12
それはどう見ても
主観的なものでしか
ないのでは?
2015/10/17 13
何か客観的な指標で
ワインの味の評価を
決めることは
できないのだろうか
2015/10/17 14
例えばデータサイエンス
のような方法論で客観的に
味の評価を決められれば…
UC Irvine Machine Learning Repositoryという
オープンデータセットがあります
2015/10/17 15
その中に“Wine Quality”というデータセットがあります
2015/10/17 16
その中に“Wine Quality”というデータセットがあります
2015/10/17 17
“Wine Quality”の中身はこんな感じ
2015/10/17 18
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
11項目の化学測定指標と、ワインの評価スコアから成る
 fixed acidity
 volatile acidity
 citric acid
 residual sugar
 chlorides
 free sulfur dioxide
 total sulfur dioxide
 density
 pH
 sulphates
 alcohol
2015/10/17 19
quality (3 – 8)
個々の説明変数の内訳
 fixed acidity:酒石酸濃度
 volatile acidity:酢酸濃度
 citric acid:クエン酸濃度
 residual sugar:残糖濃度
 chlorides:塩化ナトリウム濃度
 free sulfur dioxide:遊離SO2濃度
 total sulfur dioxide:総SO2濃度
 density:密度
 pH:pH(そのまんま)
 sulphates:硫化カリウム濃度
 alcohol:アルコール度数
2015/10/17 20
『新しいワインの科学』曰くでは…
 5種類の化合物が関与する
 酸類
 アルコール類
 糖類
 ポリフェノール類
 揮発性化合物
 それぞれが関与するのは
 酸味
 他の味覚のブースト
 甘味そして酸とのバランス
 渋味と色味
 香り
2015/10/17 21
例えば、データを見る限りでは…
2015/10/17 22
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
例えば、データを見る限りでは…
2015/10/17 23
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
何となく、アルコール度数が高いと
ワインの評価も高いような気がする
でも…
2015/10/17 24
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
でも…
2015/10/17 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
酒石酸濃度とワインの評価とは
あまり関係ないような気がする
『新しいワインの科学』が掲げる問題意識
2015/10/17 26
ワインの風味を還元主義的
に研究しても全体のことは
分からない…
ひとつの物質だけを取り出
して個別の閾値を語っても
意味がない…
2015/10/17 27
「還元主義」の
限界?
2015/10/17 28
それって本当に
「還元主義」?
例えばpHは低いほど(=酸が強いほど)qualityが高くなる
2015/10/17 29
では、11項目全てで同じことをやってみたら?
2015/10/17 30
では、11項目全てで同じことをやってみたら?
2015/10/17 31
では、11項目全てで同じことをやってみたら?
2015/10/17 32
2015/10/17 33
それは
「還元主義」
ではなく
「単変量解析」
の問題では
2015/10/17 34
「単変量解析」
がダメなら…
2015/10/17 35
「多変量解析」
すればいいのでは
例えば線形モデル(+一般化線形モデル)では…
2015/10/17 36
86
目的変数
1
変数1
4
変数2
0
変数3
2
変数4
3
変数n
このβたちから
モデルは成っている
説明変数を立てて、多変量のデータセット
としてまとめておく
例えば線形モデル(+一般化線形モデル)では…
2015/10/17 37
+2
変数1
+4
変数2
0
変数3
-1
変数4
-2
変数n
このβたちから
モデルは成っている
βの値を最適化問題を解くことで求める
その大小や符号から、それぞれの指標が
目的変数に貢献するか否かを判断する
UP
UP
Neutral
DOWN
DOWN
例えば機械学習では…そもそも機械学習とは?
2015/10/17 38
のような形で表される「分類関数の出力
と教師データとの食い違い」に当たる誤
差関数を繰り返し計算+教師データを読
み込んでいってできる限り小さくするこ
とで、未知のデータをできる限り正しく
分類するための方法論誤差関数
正則化項
例えば機械学習では…ランダムフォレストの特徴
2015/10/17 39
例えば機械学習では…xgboostの特徴
2015/10/17 40
線形モデルでも機械学習のやり方を取り入れることも…
2015/10/17 41
0
変数3
-1
変数4
このβたちから
モデルは成っている
Neutral
DOWN
誤差関数
正則化項
一定の制約をかけて最適化問題
を解くことで不要な説明変数を
カットオフすることもできる
基本的な発想は2つ
統計学を用いてデータを「説明」する
機械学習を用いてデータから「予測」する
2015/10/17 42
基本的な発想は2つ
統計学を用いてデータを「説明」する
重み付けβを用いてワイン11項目それぞれ
の重要度を明らかにする
機械学習を用いてデータから「予測」する
交差検証データに対してできるだけ正確に
qualityを予測できるモデルを作る
2015/10/17 43
“Wine Quality”のうち赤ワインのデータを用いる
学習データ兼回帰モデル向けデータ
1439銘柄
予測向け交差検証データ
160銘柄
2015/10/17 44
まずは「説明」する
統計学を用いてデータを「説明」する
重み付けβを用いてワイン11項目それぞれ
の重要度を明らかにする
機械学習を用いてデータから「予測」する
交差検証データに対してできるだけ正確に
qualityを予測できるモデルを作る
2015/10/17 45
L1正則化線形回帰モデルを用いる
2015/10/17 46
0
変数3
-1
変数4
このβたちから
モデルは成っている
Neutral
DOWN
誤差関数
正則化項
一定の制約をかけて最適化問題
を解くことで不要な説明変数を
カットオフする
L1正則化線形回帰モデルで「関連の強いβだけ」を求めてみた
 必要なさそうなもの:酒石酸、クエン酸、密度
 高いほど評価が高いもの:遊離SO2、硫化カリウム、アルコール度数
 低いほど逆に評価が高いもの:酢酸、塩化ナトリウム、総SO2、pH
2015/10/17 47
(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
おまけ:L1正則化線形回帰モデルで交差検証
Accuracy
(45+43+3)/160
= 0.56875
2015/10/17 48
予測
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
次に「予測」してみる
統計学を用いてデータを「説明」する
重み付けβを用いてワイン11項目それぞれ
の重要度を明らかにする
機械学習を用いてデータから「予測」する
交差検証データに対してできるだけ正確に
qualityを予測できるモデルを作る
2015/10/17 49
ランダムフォレストの場合
2015/10/17 50
予測
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
おまけ:ランダムフォレストでは変数重要度の絶対値を出せる
2015/10/17 51
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
xgboostの場合
2015/10/17 52
予測
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
「説明」と「予測」を組み合わせてまとめると…
 ワインの評価の高低には11項目中7項目の増減が重要らしい
 非線形のランダムフォレスト分類器で比較的高精度に予測できそう
2015/10/17 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
予測
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
とは言え、こういう反論もあり得る
2015/10/17 54
ワインの味わいを
データサイエンスで語るのは
もしかしたら…
ただの「野暮」なのでは?
けれども、私はこう考えます
2015/10/17 55
評論家でもまちまちな
ワインの「評価」を
データサイエンスで
「正規化」できれば…
我々のような素人でも
美味しいワインを手早く
見出せるようになるのでは?
結論
2015/10/17 56
データサイエンスで
誰でも美味しいワインが
見つかる世の中になると
いいですね
結論
2015/10/17 57
データサイエンスで
誰でも美味しいワインが
見つかる世の中になると
いいですね
※こういうことを言っているとそのうち
「『ワインのデータサイエンス』とかいう本を
書きませんか」とかいう謎の誘いが来たりして
非常につらいのでこれ以上はやめておきます

More Related Content

Viewers also liked

計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
Takashi J OZAKI
 
データ分析というお仕事のこれまでとこれから(HCMPL2014)
データ分析というお仕事のこれまでとこれから(HCMPL2014)データ分析というお仕事のこれまでとこれから(HCMPL2014)
データ分析というお仕事のこれまでとこれから(HCMPL2014)
Takashi J OZAKI
 
手を動かしながら学ぶエンジニアのためのデータサイエンス!
手を動かしながら学ぶエンジニアのためのデータサイエンス!手を動かしながら学ぶエンジニアのためのデータサイエンス!
手を動かしながら学ぶエンジニアのためのデータサイエンス!
leverages_event
 
なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?
Takashi J OZAKI
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Takashi J OZAKI
 
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Takashi J OZAKI
 
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
Takashi J OZAKI
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
Takashi J OZAKI
 
Jc 20141003 tjo
Jc 20141003 tjoJc 20141003 tjo
Jc 20141003 tjo
Takashi J OZAKI
 
Tech Lab Paak講演会 20150601
Tech Lab Paak講演会 20150601Tech Lab Paak講演会 20150601
Tech Lab Paak講演会 20150601
Takashi J OZAKI
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
Hajime Sasaki
 
Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」
Nagi Teramo
 
さらば!データサイエンティスト
さらば!データサイエンティストさらば!データサイエンティスト
さらば!データサイエンティスト
Shohei Hido
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
Takashi J OZAKI
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
Issei Kurahashi
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
Shohei Hido
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
Etsuji Nakai
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
Yohei Sato
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
Etsuji Nakai
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
Yuya Unno
 

Viewers also liked (20)

計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
計量時系列分析の立場からビジネスの現場のデータを見てみよう - 30th Tokyo Webmining
 
データ分析というお仕事のこれまでとこれから(HCMPL2014)
データ分析というお仕事のこれまでとこれから(HCMPL2014)データ分析というお仕事のこれまでとこれから(HCMPL2014)
データ分析というお仕事のこれまでとこれから(HCMPL2014)
 
手を動かしながら学ぶエンジニアのためのデータサイエンス!
手を動かしながら学ぶエンジニアのためのデータサイエンス!手を動かしながら学ぶエンジニアのためのデータサイエンス!
手を動かしながら学ぶエンジニアのためのデータサイエンス!
 
なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?なぜ統計学がビジネスの 意思決定において大事なのか?
なぜ統計学がビジネスの 意思決定において大事なのか?
 
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
Deep Learningと他の分類器をRで比べてみよう in Japan.R 2014
 
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
Rによるやさしい統計学第20章「検定力分析によるサンプルサイズの決定」
 
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
 
Jc 20141003 tjo
Jc 20141003 tjoJc 20141003 tjo
Jc 20141003 tjo
 
Tech Lab Paak講演会 20150601
Tech Lab Paak講演会 20150601Tech Lab Paak講演会 20150601
Tech Lab Paak講演会 20150601
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 
Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」Rによるデータサイエンス:12章「時系列」
Rによるデータサイエンス:12章「時系列」
 
さらば!データサイエンティスト
さらば!データサイエンティストさらば!データサイエンティスト
さらば!データサイエンティスト
 
Simple perceptron by TJO
Simple perceptron by TJOSimple perceptron by TJO
Simple perceptron by TJO
 
統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333統計的因果推論 勉強用 isseing333
統計的因果推論 勉強用 isseing333
 
データサイエンティストのつくり方
データサイエンティストのつくり方データサイエンティストのつくり方
データサイエンティストのつくり方
 
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
ソフトウェアエンジニアのための「機械学習理論」入門・ハンズオン演習ガイド
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
 
機械学習概論 講義テキスト
機械学習概論 講義テキスト機械学習概論 講義テキスト
機械学習概論 講義テキスト
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 

Taste of Wine vs. Data Science