ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

機械学習のライブラリHivemallのMeetupに行ってきた!

2015-05-13 09:58:32 | AI・BigData
第一回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%弱→行動にそんなに差がない

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする