第一回Hivemall
Meetupに行ってきた
その内容(前半)をメモメモ
Hivemallの機能紹介
とれじゃーでーた油井さん
自己紹介
NAIST→AIST→とれじゃー
数字でみるトレジャーデータ
100社以上
15兆
1秒間50万レコード
Hivemallとは
Apache Hadoopエコシステム上に構築した
オープンソースの機械学習ライブラリ
https://github.com/myui/h
ivemall
MapReduce and DAGエンジン
特徴
SQLベースの宣言的かつ容易な記述
mahoutよりもかんたんに
提供している機能
クラス分類
回帰分析
K近傍方&レコメンデーション
特徴エンジニアリング
Hivemall on Apache Pig
Pig上でも使える
Sparkは敵ではなくてお友達
使い方
トレーニング
特徴ベクトル
→機械学習
変数
プレディクション
特徴ベクトル→学習したもの→予測値
データの準備
訓練データ
予測データ
Min-Max正規化による特徴量の正規化
ロジスティック回帰による学習(の例)
select
feature
avg(weight) as weight
From(
select logres・・・ →ここが変わる
as (feature,weight)
from news20b_train
) t
アンサンブル学習
union allでスタック
予測フェーズ
予測はテスト事例と予測モデルのLEFT OUTER JOINによって行う
予測モデル全体をメモリに載せる必要ない
データ分析の分類とツール
学習オンライン 予測オンライン
学習オフライン 予測オンライン ここ
学習オフライン 予測オンライン
学習オフライン 予測オフライン
HadoopやTrasureで学習→オフライン
学習結果をRDBへ:TD-export
リアルタイム予測
シグモイド
余談:アマゾン マシーン ラーニングのコスト
バッチ予測 1000件ごとに0.1ドル
リアルタイム予測も
最近対応したもの
Matrix Factrization
あなあき→近似
Matrix Factrizationの学習
交差検定の並列処理
bit.ly/hivemall-mf
sparkのマトリックスファクタライゼーションとの比較
AdaGrad:細かい設定なしにいい精度
機械学習におけるパラメタ交換
MixServerの利用
リクエスト
らんだむふぉれすとほしい
■ネット広告で機械学習Hivemallの活用例
フリークアウト
内容
自己紹介
フリークアウト
ぶんせきちーむ
機械学習
自己紹介
フリークアウト
ネット広告の会社
広告入札システムの提供
リアルタイムビッテョング
DSP(でまんどさいどぷらっとふぉーむ)
人に対して広告を出す
50ms or Die
フリークアウトのTechチームが掲げるミッション
50msでやっていること
広告主側のロジックで
必要な枠、必要な人、必要な瞬間だけを
リアルタイムに判定して入札
入札ロジックの洗練が利益に直結
分析チームの紹介
5名+3名(アルバイト)
MTBurnのプロダクトカイゼンも
実装もする
メンバーは実装できること必須
Python,perl,C++
集計にはHive
機械学習の論文を参考にモデル実装
検証(オンライン・オフライン)を繰り返す
必要に応じて集計ベースの仮説検証
機械学習 Hive mall
複数のアルゴリズムが実行検証
クリック予測Hivemall
ロジスティック回帰を活用
学習用のログは直近数日分のimpression log &クリックログ
ロジックの一例:クリック予測モデル
工夫した点
amplify:オンプレでやっている
subsampling
まとめ
Hivemallの利用は簡単
大規模データに対して機械学習が簡単に出来ます
Hive queryを使えば複雑な実装をしないでよい8
CTR推定:サブサンプリング重要
■LT:Hivemall-on-spark
自己紹介
hivemall-spark
https://github.com/maropu/hivemall-spark
Hivemallラッパー
クイックトライヤル
Spark?
・パフォーマンス
HadoopMRより100倍早い?
SQLデータフレーム
グラフ処理
機械学習
Spark-R
Scala、Python
例:ワードカウント
Spark Shell
すでに機械学習は入ってる
MLlib
インターフェースとしてSpark、
エッジのきいたのは違うライブラリ
Hive on spark
Hivemall in Hive Context
HiveQL
データフレーム→型と名前とか入ってる
Pandas/R
MLパイプライン
ステージ定義
ハイパーパラメーターのチューニング
クロスバリデーター
学習率のパラメータ
Spark Streaming
パフォーマンスオプティマイゼーション
netlib-java
spark パッケージ
■hivemallを使って4日間で性別推定した話
わたなべさん
自己紹介
DSPについて
1日のリクエスト:数十億/日
ユーザー数1億弱
ログに記録されている主な情報
広告枠のID
クッキーに記録されているユーザーのID
HTTPリクエストに含まれる一般的な情報
性別:85%くらい
年代:50%弱
同じような
http://www2007.org/papers/
利用データ
閲覧サイト(ドメイン)14万件
閲覧サイトのカテゴリ:146
広告可変3000から6000
15万X300万のすぱーすな行列→Hiveなら軽い
正解率
hivemallでのclassfication
85%くらい
実行時間train_multiclass_SCW
hivemallのメリット
学習コストが低い
引継ぎが楽
データ量の増加に対応しやすい
課題
正解データなしで
url+トピック抽出
年代推定50%弱→行動にそんなに差がない
Meetupに行ってきた
その内容(前半)をメモメモ
Hivemallの機能紹介
とれじゃーでーた油井さん
自己紹介
NAIST→AIST→とれじゃー
数字でみるトレジャーデータ
100社以上
15兆
1秒間50万レコード
Hivemallとは
Apache Hadoopエコシステム上に構築した
オープンソースの機械学習ライブラリ
https://github.com/myui/h
ivemall
MapReduce and DAGエンジン
特徴
SQLベースの宣言的かつ容易な記述
mahoutよりもかんたんに
提供している機能
クラス分類
回帰分析
K近傍方&レコメンデーション
特徴エンジニアリング
Hivemall on Apache Pig
Pig上でも使える
Sparkは敵ではなくてお友達
使い方
トレーニング
特徴ベクトル
→機械学習
変数
プレディクション
特徴ベクトル→学習したもの→予測値
データの準備
訓練データ
予測データ
Min-Max正規化による特徴量の正規化
ロジスティック回帰による学習(の例)
select
feature
avg(weight) as weight
From(
select logres・・・ →ここが変わる
as (feature,weight)
from news20b_train
) t
アンサンブル学習
union allでスタック
予測フェーズ
予測はテスト事例と予測モデルのLEFT OUTER JOINによって行う
予測モデル全体をメモリに載せる必要ない
データ分析の分類とツール
学習オンライン 予測オンライン
学習オフライン 予測オンライン ここ
学習オフライン 予測オンライン
学習オフライン 予測オフライン
HadoopやTrasureで学習→オフライン
学習結果をRDBへ:TD-export
リアルタイム予測
シグモイド
余談:アマゾン マシーン ラーニングのコスト
バッチ予測 1000件ごとに0.1ドル
リアルタイム予測も
最近対応したもの
Matrix Factrization
あなあき→近似
Matrix Factrizationの学習
交差検定の並列処理
bit.ly/hivemall-mf
sparkのマトリックスファクタライゼーションとの比較
AdaGrad:細かい設定なしにいい精度
機械学習におけるパラメタ交換
MixServerの利用
リクエスト
らんだむふぉれすとほしい
■ネット広告で機械学習Hivemallの活用例
フリークアウト
内容
自己紹介
フリークアウト
ぶんせきちーむ
機械学習
自己紹介
フリークアウト
ネット広告の会社
広告入札システムの提供
リアルタイムビッテョング
DSP(でまんどさいどぷらっとふぉーむ)
人に対して広告を出す
50ms or Die
フリークアウトのTechチームが掲げるミッション
50msでやっていること
広告主側のロジックで
必要な枠、必要な人、必要な瞬間だけを
リアルタイムに判定して入札
入札ロジックの洗練が利益に直結
分析チームの紹介
5名+3名(アルバイト)
MTBurnのプロダクトカイゼンも
実装もする
メンバーは実装できること必須
Python,perl,C++
集計にはHive
機械学習の論文を参考にモデル実装
検証(オンライン・オフライン)を繰り返す
必要に応じて集計ベースの仮説検証
機械学習 Hive mall
複数のアルゴリズムが実行検証
クリック予測Hivemall
ロジスティック回帰を活用
学習用のログは直近数日分のimpression log &クリックログ
ロジックの一例:クリック予測モデル
工夫した点
amplify:オンプレでやっている
subsampling
まとめ
Hivemallの利用は簡単
大規模データに対して機械学習が簡単に出来ます
Hive queryを使えば複雑な実装をしないでよい8
CTR推定:サブサンプリング重要
■LT:Hivemall-on-spark
自己紹介
hivemall-spark
https://github.com/maropu/hivemall-spark
Hivemallラッパー
クイックトライヤル
Spark?
・パフォーマンス
HadoopMRより100倍早い?
SQLデータフレーム
グラフ処理
機械学習
Spark-R
Scala、Python
例:ワードカウント
Spark Shell
すでに機械学習は入ってる
MLlib
インターフェースとしてSpark、
エッジのきいたのは違うライブラリ
Hive on spark
Hivemall in Hive Context
HiveQL
データフレーム→型と名前とか入ってる
Pandas/R
MLパイプライン
ステージ定義
ハイパーパラメーターのチューニング
クロスバリデーター
学習率のパラメータ
Spark Streaming
パフォーマンスオプティマイゼーション
netlib-java
spark パッケージ
■hivemallを使って4日間で性別推定した話
わたなべさん
自己紹介
DSPについて
1日のリクエスト:数十億/日
ユーザー数1億弱
ログに記録されている主な情報
広告枠のID
クッキーに記録されているユーザーのID
HTTPリクエストに含まれる一般的な情報
性別:85%くらい
年代:50%弱
同じような
http://www2007.org/papers/
利用データ
閲覧サイト(ドメイン)14万件
閲覧サイトのカテゴリ:146
広告可変3000から6000
15万X300万のすぱーすな行列→Hiveなら軽い
正解率
hivemallでのclassfication
85%くらい
実行時間train_multiclass_SCW
hivemallのメリット
学習コストが低い
引継ぎが楽
データ量の増加に対応しやすい
課題
正解データなしで
url+トピック抽出
年代推定50%弱→行動にそんなに差がない