SlideShare une entreprise Scribd logo
1  sur  76
Télécharger pour lire hors ligne
1
Log 解析の超入門
@acrovision 菊池佑太
2
QUESTION
気になる画像は?
3
A. 車
引用 :http://www.audi.co.jp/
4
B. 化粧
  品
引用 :http://www.shiseido.co.jp/
5
C. 転職
    引用 :https://www.pakutaso.com
6
D. アニメ
    引用 :http://august-soft.com/
7
男性、車好き、お金持ち?
8
過去の Log から
予測する
9
人工知能
機械学習
10
今日から
自分で始める
11
Log 記録
性別推定
Recommend
Agenda
12
UI/UX ABTest
Marketing
I'm Sorry...
13
I'm Sorry...
GPS
Realtime
Search
14
Log 記録
15
Log = Evidence
16
MapReduce
引用 : http://dme.rwth-aachen.de
17
Log Forward
18
Clowd / OnMemory
19
Business Intelligence
20
収集および解析
技術の進歩
21
Log = Evidence
Log = Strategy
22
AccessLog
ErrorLog
23
Architecture
24
RealTime : fluent-d
Batch : rsync
Log Forward
25
Browser Cookie
Login Cookie
26
初回アクセス
Cookie に識別子
属性付与
27
host:::1<Tab>ident:MTkyLjE2OC41Ni4xMDE0MDkxMTk2ODQ<Ta
b>user:1<Tab>time:[08/Apr/2015:10:00:00
+0900]<Tab>Request:GET /sample HTTP/1.1<Tab>status:
200<Tab>size:5039<Tab>referer:foo.com<Tab>agent:Mozilla/5.0
(iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4
(KHTML, like Gecko) Version/8.0 Mobile/12A365
Safari/600.1.4<Tab>attr:Mjg0ZmUyMzk0Yzg0ZGIzZTIzYTI3N2ExY
zhm
One Line
28
host:::1<Tab>ident:MTkyLjE2OC41Ni4xMDE0MDkxMTk2ODQ<Ta
b>user:1<Tab>time:[08/Apr/2015:10:00:00
+0900]<Tab>Request:GET /sample HTTP/1.1<Tab>status:
200<Tab>size:5039<Tab>referer:foo.com<Tab>agent:Mozilla/5.0
(iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4
(KHTML, like Gecko) Version/8.0 Mobile/12A365
Safari/600.1.4<Tab>attr:Mjg0ZmUyMzk0Yzg0ZGIzZTIzYTI3N2ExY
zhm
One Line
29
Parse
30
BrowserID : MTkyLjE2OC41Ni4xMDE0MDkxMTk2ODQ
遷移先 URL http://acrovision.com/sample
遷移元 URL http://foo.com
Attribute : 30 代 男性
UserAgent or Device : Safari / iPhone
One Line Summary
31
正解データ
を含む Log
32
Storage
に格納
33
KVS / Nosql
引用 :http://bynatures.net
34
KVS
Key : Identifier
SubKey : Map
Map : Label, Attr
35
Example
{ MTkyLjE2OC41Ni4xMD... :
{ Query => ' ガンダム ': 2},
{ PageView => '/foo' : 4},
{ Gender => 'Male' : 100}
}
36
性別推定
37
未知への拡張
20%
50%
20%
38
検索 Log
39
条件付き確率
P( 男 | ガンダム ) = 0.8
40
まずは
1 台の PC でも
41
<?php
namespace Algorithms;
class NaiveBayes {
public function add_instance(){}
public function train(){}
public function predict(){}
...
}
42
訓練
推定
評価
43
{ 正解 : {KW : 回数 } }
{ 男性 : { ガンダム : 5 , AC ミラン : 8 } }
{ 女性 : { 化粧水 : 2 , 日焼け止め : 7 } }
・
・
・
44
$nb = new NaiveBayes();
// iteration
$nb->add_instance( 'label' => ' 正解 ',
'attributes' => 'KW : 回数 ' );
$nb->train();
45
訓練
推定
評価
46
{ 未知 : {KW : 回数 } }
{ ? : { ガンダム : 3 , シャア : 2 } }
・
・
・
47
// iteration
$res = $nb->predict( 'attributes' => 'KW :
回数 ' );
foreach($res as $label => $p) {
echo $label . "t" . $p . "n";
}
// 男性 : 0.878
// 女性 : 0.122
48
推定結果は
KVS へ格納
49
訓練
推定
評価
50
「 PR 曲線」
51
Balance
精度
拡張量
{ 精度 : 70%, 拡張量 : 30% 増 }
52
Compare
精度
拡張量
既存 Model
新 Model
53
応用
54
Hadoop Streaming
Hive,Pig で Modeling
Spark でもできそう
55
特徴を追加して
精度を上げる
56
Cross Validation
57
Recommend
58
性別推定結果に
対して Contents を
推薦
59
集団行動履歴から
Contents を推薦
60
Collaboration Filterling
引用 : http://theegeek.com/
61
商品 A を買った人は
商品 B も買うだろう
62
商品特徴を
Vector で表現
63
似ている商品
Vector が似ている
64
Cosine Similarity[0,1]
65
User | Item いちご めろん ぶどう すいか
User-A Buy! Buy!
User-B Buy! Buy!
User-C Buy! Buy! Buy!
User-D Buy! Buy! Buy!
User Item Matrix
66
Vector
⇓
購入共起人数
67
Item | Item いちご めろん ぶどう すいか
いちご - 3 人 1 人 0 人
めろん 3 人 - 2 人 1 人
ぶどう 1 人 2 人 - 1 人
すいか 0 人 1 人 1 人 -
Item Item Matrix
68
Vector
いちご ={ めろん :3, ぶどう :1, すいか :0}
めろん ={ いちご :3, ぶどう :2, すいか :1}
ぶどう ={ いちご :1, めろん :2, すいか :1}
すいか ={ いちご :0, めろん :1, ぶどう :1}
69
Cosine Similarity[0,1]
いちごとめろんは
類似度 0.3
70
問題
71
Sparse
A={0,0,0,1,...0}
B={1,0,0,0,...0}
72
Dimension
A={1,1,0,1,...0}
・
・
N={1,1,1,0,...1}
73
Hashing
b-bit-min
local-sensitive
Matrix
Factorization
74
まとめ
75
ログの記録
性別推定 (NaiveBayes)
Collaboration Filterling
76
ご清聴
ありがとうござい
ました

Contenu connexe

En vedette

Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターンTakuro Sasaki
 
Weighted Finite-state Transducerについて
Weighted Finite-state TransducerについてWeighted Finite-state Transducerについて
Weighted Finite-state Transducerについてphyllo
 
ログ解析入門withR InnovationEggNo3
ログ解析入門withR InnovationEggNo3ログ解析入門withR InnovationEggNo3
ログ解析入門withR InnovationEggNo3hiroki84
 
AndroidのUXアンチパターンについて
AndroidのUXアンチパターンについてAndroidのUXアンチパターンについて
AndroidのUXアンチパターンについてMakoto Matsuoka
 
マスター・オブ・Reflectパッケージ
マスター・オブ・Reflectパッケージマスター・オブ・Reflectパッケージ
マスター・オブ・ReflectパッケージTakuya Ueda
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Jun Ohtani
 
アントレプレナー養成
アントレプレナー養成アントレプレナー養成
アントレプレナー養成Yusuke Kon
 
Heroku Dockerの使い所
Heroku Dockerの使い所Heroku Dockerの使い所
Heroku Dockerの使い所Yusuke Kon
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証y_taka_23
 
SolrとElasticsearchの比較
SolrとElasticsearchの比較SolrとElasticsearchの比較
SolrとElasticsearchの比較genta kaneyama
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術Drecom Co., Ltd.
 
Docker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよDocker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよYusuke Kon
 
管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料Yusuke Kon
 
情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?snicker_jp
 
サービス改善はログデータ分析から
サービス改善はログデータ分析からサービス改善はログデータ分析から
サービス改善はログデータ分析からKenta Suzuki
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるnobu_k
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームPreferred Networks
 

En vedette (20)

Lambda認証認可パターン
Lambda認証認可パターンLambda認証認可パターン
Lambda認証認可パターン
 
Weighted Finite-state Transducerについて
Weighted Finite-state TransducerについてWeighted Finite-state Transducerについて
Weighted Finite-state Transducerについて
 
Yoshinani
YoshinaniYoshinani
Yoshinani
 
Lucene
LuceneLucene
Lucene
 
Elasticsearch勉強会
Elasticsearch勉強会Elasticsearch勉強会
Elasticsearch勉強会
 
ログ解析入門withR InnovationEggNo3
ログ解析入門withR InnovationEggNo3ログ解析入門withR InnovationEggNo3
ログ解析入門withR InnovationEggNo3
 
AndroidのUXアンチパターンについて
AndroidのUXアンチパターンについてAndroidのUXアンチパターンについて
AndroidのUXアンチパターンについて
 
マスター・オブ・Reflectパッケージ
マスター・オブ・Reflectパッケージマスター・オブ・Reflectパッケージ
マスター・オブ・Reflectパッケージ
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
アントレプレナー養成
アントレプレナー養成アントレプレナー養成
アントレプレナー養成
 
Heroku Dockerの使い所
Heroku Dockerの使い所Heroku Dockerの使い所
Heroku Dockerの使い所
 
形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証形式手法で捗る!インフラ構成の設計と検証
形式手法で捗る!インフラ構成の設計と検証
 
SolrとElasticsearchの比較
SolrとElasticsearchの比較SolrとElasticsearchの比較
SolrとElasticsearchの比較
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術
 
Docker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよDocker composeで開発環境をメンバに配布せよ
Docker composeで開発環境をメンバに配布せよ
 
管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料管理画面チラ見せナイト3 登壇資料
管理画面チラ見せナイト3 登壇資料
 
情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?
 
サービス改善はログデータ分析から
サービス改善はログデータ分析からサービス改善はログデータ分析から
サービス改善はログデータ分析から
 
Elasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させるElasticsearchと機械学習を実際に連携させる
Elasticsearchと機械学習を実際に連携させる
 
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォームJubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
Jubatus: 分散協調をキーとした大規模リアルタイム機械学習プラットフォーム
 

Similaire à Log解析の超入門

A Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.jsA Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.js博三 太田
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料ぱろすけ
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎Daiyu Hatakeyama
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ陽平 山口
 
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習x1 ichi
 
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…Kei Nakazawa
 
2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤aitc_jp
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発Kentaro Ohkouchi
 
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?Yosuke Onoue
 
RでKaggleの登竜門に挑戦
RでKaggleの登竜門に挑戦RでKaggleの登竜門に挑戦
RでKaggleの登竜門に挑戦幹雄 小川
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいcharsbar
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるShintaro Fukushima
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころAyumi Goto
 
Lecuture on Deep Learning API
Lecuture on Deep Learning APILecuture on Deep Learning API
Lecuture on Deep Learning APINaoki Watanabe
 
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲーム
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲームはじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲーム
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲームTaisuke Fukuno
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めMITSUNARI Shigeo
 

Similaire à Log解析の超入門 (20)

A Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.jsA Road map of Data Analysis for Visualization with D3.js
A Road map of Data Analysis for Visualization with D3.js
 
AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料AV 画像認識とその周辺 - UT Startup Gym 講演資料
AV 画像認識とその周辺 - UT Startup Gym 講演資料
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
 
オープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリオープンソースで作るスマホ文字認識アプリ
オープンソースで作るスマホ文字認識アプリ
 
広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習広告配信現場で使うSpark機械学習
広告配信現場で使うSpark機械学習
 
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
 
2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤2016年2月4日 空間OSのためのビッグデータ技術基盤
2016年2月4日 空間OSのためのビッグデータ技術基盤
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発EC-CUBE + PHPUnit で 実践テスト駆動開発
EC-CUBE + PHPUnit で 実践テスト駆動開発
 
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
 
RでKaggleの登竜門に挑戦
RでKaggleの登竜門に挑戦RでKaggleの登竜門に挑戦
RでKaggleの登竜門に挑戦
 
CPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したいCPANの依存モジュールをもう少し正しく検出したい
CPANの依存モジュールをもう少し正しく検出したい
 
PyMC mcmc
PyMC mcmcPyMC mcmc
PyMC mcmc
 
データサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみるデータサイエンスワールドからC++を眺めてみる
データサイエンスワールドからC++を眺めてみる
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
Lecuture on Deep Learning API
Lecuture on Deep Learning APILecuture on Deep Learning API
Lecuture on Deep Learning API
 
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲーム
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲームはじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲーム
はじめてのモバイルウェブアプリ 3 SPARQLハンズオン オープンデータ水位ゲーム
 
Haikara
HaikaraHaikara
Haikara
 
Cプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧めCプログラマのためのカッコつけないプログラミングの勧め
Cプログラマのためのカッコつけないプログラミングの勧め
 

Log解析の超入門