SlideShare a Scribd company logo
1 of 47
Download to read offline
株式会社メドレー
徐 聖博
第2回メドレー読書会
1
自己紹介
2
経歴
• 2014/04 - 2015/06
• グリー株式会社
• 2015/07 -
• 株式会社メドレー
• 2014/04 -
• ターゲットスポーツ(※ダーツメーカー)
3
http://2013.rl-competition.org/results
保有資格
ダーツプロライセンス
ジグソーパズル検定1級
大学院時代の研究
人工知能(進化計算)
ICML RL Competition 1位
特集3:データの特性を理解する
• ビジネスに導入する機械学習
➡ 第1章 ビジネスデータのクラスタリング
➡ 第2章 予測モデルの構築
本日のメニュー(徐担当分)
4
読書会スタート!
5
6
特集3
データの特性を理解する
ビジネスに導入する機械学習
7
第1章
ビジネスデータのクラスタリング
既存の統計手法とビジネスデータのギャップ
8
自然データの分布
ほとんどが平均値に近いデータ
離れ値を取るデータがほぼない
➡ データが「等質」と呼ぶ
ビジネスデータの分布
平均値が中心となっていない
離れた値が多い
➡ データの「異質性」が高い
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
ビジネスデータ特有の例
9
• ビジネスにおいて、売上の8割は全顧客の2割が生み出している
• 商品の売上の8割は、全商品銘柄のうちの2割で生み出している
• 売上の8割は、全従業員のうちの2割で生み出している
• 仕事の成果の8割は、費やした時間全体のうち2割の時間で生
み出している
• 故障の8割は、全部品のうちの2割に原因がある
ビジネスデータにおいて
等質なデータを作る方法が
機械学習適用のポイント
10
ビジネスデータの例
Web広告のクリック数分布
11
ビジネスデータから等質なデータを抽出
12
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
ビジネスデータから等質なデータを抽出
13
ライトミドルヘビー
➡ セグメントで分けることで、ある程度等質になる
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
2種類のセグメンテーション手法
教師なし学習によるセグメンテーション
教師あり学習によるセグメンテーション
14
教師なし学習による
セグメンテーション
15
ビジネスでは、正解データは存在しない
➡ 何が正解かわからない時は、教師なし学習が適する
➡ 本質的な構造を見つけだす
教師なし学習によるセグメンテーション
16
セグメンテーションの視点
1. 大きさ
2. 形
3. 特徴的な傾向
➡ どの視点を用いるかは、ドメイン依存
➡ 筆者の経験的には、「3.」を用いると良いらしい
教師なし学習によるセグメンテーション
17
プログラムは一緒に動かして、
挙動を観察してみましょう
18
https://github.com/shengbo-medley/MiscForStudy/tree/master/20151115
kmeans(x, variable.names, target.name, k.list, n)
• x: データフレーム
• variable.names: クラスタリング時の説明変数名
• target.name: クラスタリング間比較の変数名
• k.list: クラスタ数候補
• n: 試行回数
➡ xのデータをk個のグループに分割する
関数の説明
19
出典:http://d.hatena.ne.jp/yokkuns/20140316/1394975943
melt(data, id.vars, measure.vars, variable.name,
value.name, na.rm, factorsAsStrings, …)
• data: データフレーム
• id.vars: そのまま列として維持したい列名
• …
➡ data.frame の複数列の値を、カテゴリ変数1列
と値1列の組に変換する。
関数の説明
20
出典:http://meme.biology.tohoku.ac.jp/students/iwasaki/rstats/reshape2.html
procomp(x, center = TRUE, scale = FALSE)
• x: データフレーム
• center: 正規化するための平均扱い
• scale: 正規化するための分散の扱いを指定
➡ 主成分分析を行う
➡ 固有値ベクトルの数、主成分が求まる
関数の説明
21
出典:itbc-world.com/home/rfm/rの統計関数/主成分分析/
教師あり学習による
セグメンテーション
22
主観が入りそうな観点
• どの視点を持つか
• いくつに分けるか
➡ 可能な限り、視点とクラスタ数を試して、機械的に
一番当てはまり、いいものを選ぶ
➡ なるべく客観的な形で提示する
教師あり学習によるKPIに寄与するセグメントの抽出
23
良いセグメント分けとは?
• KPIに差がでること
➡ どんな行動をしたユーザが売上増加しているか
➡ どんな行動をしたユーザが再度アクセスするのか
KPIを目的として予測モデルを構築する
24
プログラムは一緒に動かして、
挙動を観察してみましょう!!
25
https://github.com/shengbo-medley/MiscForStudy/tree/master/20151115
※例32は訂正済み
26
第2章
予測モデルの構築
• 予測モデルを構築する際は、セグメントごとに作成
• 似たモデル同士をまとめると、予測モデルを作り易くなる
• モデルは2つ種類「分類モデル」・「回帰モデル」
• どのモデルを使うかは、問題設定に合わせて選ぶ
セグメントごとに予測モデルを構築
27
分類モデル(判別分析)とは?
• 分類されるクラスが既知のデータを分類
• 教師あり学習の1つ
分類モデルを構築する
28
実際に、分類モデルを作ってみる
29
分類モデル(判別分析)とは?
• 分類されるクラスが既知のデータを分類
• 教師あり学習の1つ
分類モデルを構築する
30
分類モデルを構築する
31
➡ このデータをサポートベクターマシン(SVM)を利用して分類
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
サポートベクターマシンとは
32
• 判別分析や回帰分析に適用できる手法の1つ
• 非線形のデータに対しても、カーネル法で分類する
• 高次元空間への写像を利用して分類が可能となる
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
サポートベクターマシンの特徴
33
• 利点
• 特徴となる要素の数が多くなっても精度が良い
• 比較的少数の訓練データでも良い結果となりやすい
• 欠点
• 訓練データの数が増えると、実際に非常に時間がかかる
次に、回帰モデルを作ってみる
34
回帰モデル(回帰分析)とは?
• 目的変数と説明変数の間の関係を定式化
• 未知の目的変数を与えた際の説明変数を予測する
分類モデルを構築する
35
1つの説明変数で、目的変数の数値を予測する
➡ 例:売上予測の式は以下のようになる
➡ xを年数、yを売上とし、1年経過するごとに売上がA円増加
線形回帰モデル
36
y = Ax + B
x: 説明変数 y: 目的変数
実際に、R言語標準のlm()を使い
回帰モデルを構築!
37
https://github.com/shengbo-medley/MiscForStudy/blob/master/20151121/rei6.R
https://github.com/shengbo-medley/MiscForStudy/blob/master/20151121/rei7.R
38
> summary(lm_result)
Call
lm(formula = freeny.y time(freeny.y))
Residuals:
Min 1Q Median 3Q Max
-0.051305 -0.014040 0.006104 0.014610 0.034788
Coefficients:
Estimate Std. Error t value Pr(>¦t¦)
(Intercept) -2.080e+02 2.298e+00 -90.53 <2e-16 ***
time(freeny.y) 1.105e-01 1.168e-03 94.57 <2e-16 ***
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 0.02053 on 37 degrees of freedom
Multiple R-squared: 0.9959, Adjusted R-squared: 0.9958
F-statistic: 8944 on 1 and 37 DF, p-value: < 2.2e-16
実行結果
39
> summary(lm_result)
Call
lm(formula = freeny.y time(freeny.y))
Residuals:
Min 1Q Median 3Q Max
-0.051305 -0.014040 0.006104 0.014610 0.034788
Coefficients:
Estimate Std. Error t value Pr(>¦t¦)
(Intercept) -2.080e+02 2.298e+00 -90.53 <2e-16 ***
time(freeny.y) 1.105e-01 1.168e-03 94.57 <2e-16 ***
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 0.02053 on 37 degrees of freedom
Multiple R-squared: 0.9959, Adjusted R-squared: 0.9958
F-statistic: 8944 on 1 and 37 DF, p-value: < 2.2e-16
lm()関数を読み解く
y = ax + bの
bにあたる
y = ax + bの
aにあたる
40
> summary(lm_result)
Call
lm(formula = freeny.y time(freeny.y))
Residuals:
Min 1Q Median 3Q Max
-0.051305 -0.014040 0.006104 0.014610 0.034788
Coefficients:
Estimate Std. Error t value Pr(>¦t¦)
(Intercept) -2.080e+02 2.298e+00 -90.53 <2e-16 ***
time(freeny.y) 1.105e-01 1.168e-03 94.57 <2e-16 ***
---
Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
Residual standard error: 0.02053 on 37 degrees of freedom
Multiple R-squared: 0.9959, Adjusted R-squared: 0.9958
F-statistic: 8944 on 1 and 37 DF, p-value: < 2.2e-16
lm()関数を読み解く
決定係数という、
1に近いほど
2つの変数間に関連性が強い
41
決定係数によるモデルの評価
決定係数 意味
0.8 ∼ 1.0 非常に強い関係性がある
0.6 ∼ 0.8 かなりの関係性がある
0.4 ∼ 0.6 ある程度の関係性がある
∼ 0.4 あまり関係性がない
42
ランダムフォレスト
ランダムフォレストとは?
• 決定木モデルの集団学習による、判別・回帰分析手法
• 高精度なモデル構築が可能
• 線形回帰ではできない複雑な問題に対応可能
• 参考:http://www.slideshare.net/teppeibaba5/
ss-37143977
randomForestパッケージを使い
実際に、予測してみる!
43
https://github.com/shengbo-medley/MiscForStudy/blob/master/20151121/rei8.R
https://github.com/shengbo-medley/MiscForStudy/blob/master/20151121/rei9.R
44
> print(rf_result)
Call:
randomForest(formula = freeny.y ., data = df, mtry =
1, ntree = 500, type = "regression")
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 1
Mean of squared residuals: 0.0006837185
% Var explained: 99.3
実行結果
45
> print(rf_result)
Call:
randomForest(formula = freeny.y ., data = df, mtry =
1, ntree = 500, type = "regression")
Type of random forest: regression
Number of trees: 500
No. of variables tried at each split: 1
Mean of squared residuals: 0.0006837185
% Var explained: 99.3
randomForestを読み解く
%Var exlpainedにより評価できる
100に近いほど、対象のことを説明できているモデル
この章で出てきたグラフを比較
46
実線が
実際のデータ
破線の直線が
線形回帰モデル
破線の曲がった線が
ランラムフォレスト
第3章はここまで
47

More Related Content

Similar to 第2回メドレー読書会

2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
智啓 出川
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
Kensuke Nagae
 
ビジネス活用事例で学ぶデータサイエンス入門 #6
ビジネス活用事例で学ぶデータサイエンス入門 #6ビジネス活用事例で学ぶデータサイエンス入門 #6
ビジネス活用事例で学ぶデータサイエンス入門 #6
you shimajiro
 

Similar to 第2回メドレー読書会 (16)

Hadoopカンファレンス20140707
Hadoopカンファレンス20140707Hadoopカンファレンス20140707
Hadoopカンファレンス20140707
 
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算(拡散方程式)
2015年度先端GPGPUシミュレーション工学特論 第8回 偏微分方程式の差分計算 (拡散方程式)
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
Ⅲ. 資料編 2017
Ⅲ. 資料編 2017Ⅲ. 資料編 2017
Ⅲ. 資料編 2017
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
 
ビジネス活用事例で学ぶデータサイエンス入門 #6
ビジネス活用事例で学ぶデータサイエンス入門 #6ビジネス活用事例で学ぶデータサイエンス入門 #6
ビジネス活用事例で学ぶデータサイエンス入門 #6
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
 
AISing MEMORY SAVING TREE 開発の背景と特徴.pptx
AISing MEMORY SAVING TREE 開発の背景と特徴.pptxAISing MEMORY SAVING TREE 開発の背景と特徴.pptx
AISing MEMORY SAVING TREE 開発の背景と特徴.pptx
 
Capture the flag write up q13,q20,q21 for ss
Capture the flag write up q13,q20,q21 for ssCapture the flag write up q13,q20,q21 for ss
Capture the flag write up q13,q20,q21 for ss
 
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望TPC-DSから学ぶPostgreSQLの弱点と今後の展望
TPC-DSから学ぶPostgreSQLの弱点と今後の展望
 
離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説離散時間ロジスティック回帰モデル解説
離散時間ロジスティック回帰モデル解説
 
KDDCUP2020 RL Track : 強化学習部門入賞の手法紹介
KDDCUP2020 RL Track : 強化学習部門入賞の手法紹介KDDCUP2020 RL Track : 強化学習部門入賞の手法紹介
KDDCUP2020 RL Track : 強化学習部門入賞の手法紹介
 
Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法Rパッケージ“KFAS”を使った時系列データの解析方法
Rパッケージ“KFAS”を使った時系列データの解析方法
 
G2o
G2oG2o
G2o
 
2018Rユーザ会用
2018Rユーザ会用2018Rユーザ会用
2018Rユーザ会用
 

More from Shengbo Xu (6)

でも、機械学習って お難しいんでしょ?
でも、機械学習って お難しいんでしょ?でも、機械学習って お難しいんでしょ?
でも、機械学習って お難しいんでしょ?
 
第3回メドレー読書会前半
第3回メドレー読書会前半第3回メドレー読書会前半
第3回メドレー読書会前半
 
第1回メドレー読書会
第1回メドレー読書会第1回メドレー読書会
第1回メドレー読書会
 
数理情報学特別講義ⅰ輪講
数理情報学特別講義ⅰ輪講数理情報学特別講義ⅰ輪講
数理情報学特別講義ⅰ輪講
 
For Master Talk 2012/10/31
For Master Talk 2012/10/31For Master Talk 2012/10/31
For Master Talk 2012/10/31
 
2012 infomation
2012 infomation2012 infomation
2012 infomation
 

Recently uploaded

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

第2回メドレー読書会