Empty

2013年4月から社会人になりました。

行ってきた - 『MTL主催 学生向けHadoop勉強会(入門編)』

概要

MTL主催 学生向けHadoop勉強会(入門編)というイベントに参加してきたので、参加Logなり、感想なりを残しておく.

感想

丁寧な講義から、お寿司・ピザ・ビールなどご馳走になりました。リクルート様・参加者の皆さん、大変お世話になりました.

感想としては、単純にMTLに行ってみたかったので、行けてよかったのが一点。
講義、その後の質疑応答、懇親会から、知らなかった技術、流行っているソフトウェア、様々な応用事例など、効率よく情報収集できたのではと、イベント内容に大変満足している。
そして、なによりも参加していた学生の皆さんが濃い~方ばかりで、その方々から刺激をたくさんもらえたのが一番の収穫だったんじゃないかなと。

同じ穴のむじな

どうやら、濃い~学生はこの手のイベントに参加するのが好きみたいですね。 (ちなみに僕は、ただ濃ゆくなりたいだけの学生なので、残念ながら濃い学生のカテゴリーには分類されません。)

昨年参加した #mixi_scrap の時も Voyage Group のインターン Sunrise でも濃い人達が集まっていたのを思い出した。

今日も、見たことある顔がちらほらいたり、他のイベントで会った人、去年の夏にインターンで一緒になった友人と嬉しい再会があったりと、よくIT業界が狭いと言われるけど、社会人になってからのことではなく、既に学生の内から始まっているんだなと、ふと思ったり、

俺はそんな局所的な世界に身を置いて、何十年と生きていこうとしているのか? この局所的なIT業界に俺の幸せはあるのか?と少し疑問を覚えたが、
今日の結論としては、局所解に陥らないように、探索範囲(自分の世界)を広げていけばいい話で、

例えば、いつの日にか海外のイベントに参加した時に、参加者の一人から、

「この日本人前にもどこかで、見たことあるような・・・誰だったけ?」

みたいな風に思われたりした頃には、きっと、今より圧倒的に広い自分の世界を持ち、かつ狭く感じられいて、今とは違った世界観を持っていて、その時の最適解は今より素敵な世界が広がっているんだろうな。でも、探索範囲を広げるなら、探索アルゴリズムの改善、ハード等の性能を向上させないと、逆に探索しきれなくてオーバーワークになって辛いんだろうな。と、こんな意味わからない思考を巡らせていた。

大変、失礼しました. m(_ _)m

妄想はその辺にして

地に足をつけて、Hadoop クラスタを作るところから始めたいと思います。



講義スライド (追記 2012/03/04)

アップしていただいたので、張らせていただきました。


講義メモ

---------------------------------------
開会あいさつとMTLの紹介
---------------------------------------
MTL の紹介
11年目 鈴木さん

#今開発しているアプリ
Happy Balloon http://happyballoon.jp/


MTL: R&D 
http:/mtl.recruite.co.jp/

実証研究機関
 - C-TEAM
 - ニジボックス
 - CREYLE

とりあえず作ってみて、その後、ビジネスモデルが評価されればリリースされる.

---------------------------------------
メインイベント: Hadoop 勉強会 (入門編)
---------------------------------------
参考資料: http://www.slideshare.net/mobile/Nobuyuki_Ishikawa/hadoop-9440739
---------------------------------------
自己紹介

MIT で Hadoop をやられている石川さん
石川 信行
大学時代: 害虫制御学および生物統計学専攻

経歴: 2009新卒入社, Senchaを用いたスマホサイト開発
	- 現Hadoop 推進担当

土日はパソコンに触らないことにしている.

Sencha: http://www.sencha.com/
---------------------------------------
Professional Engineering Group: MIT のインフラ基盤チーム

全社に向けてITのソリューションを受け持つ.部署

---------------------------------------
<本日のアジェンダ>

ビッグデータとは?
Hadoop とは
リクルートにおけるHadoop 事情・開発ロードマップ
社外事例
社内事例
Hadoop 導入のすすめ
Hadoop 上で動いている分析アルゴリズム
まとめ
---------------------------------------
ビッグデータ革命が起こす奇跡
	- 犯罪検知
	- Google が開発したセンサーが付きまくったデータ
	- 将棋のAI
---------------------------------------
今年のバズワードの一つ、ビッグデータとは?
ビッグデータ = 大量のデータ
	一般には数百GB~ 数PBをさすことが多い

	ビッグデータ = 大量のデータ
	非構造性 
	リアルタイム性 (GPS,ETC, 入管記録)
---------------------------------------
なぜビッグデータが注目されているのか?

WEBサービスに限らず、ソーシャルメディア、コンサル、医療
、などありとあらゆる分野で展開するサービス

...(メモできていない)
---------------------------------------
競合のビッグデータ活用には要注意!
従来:
	情報をサマライズした状態でビジネスへFBしていた。
ビッグデータ:
	ユーザの行動情報をマイニングする場合,個人情報が多く含まれている場合が多い.
	対外的に価値の高いビッグデータの事例は外に出てこない.

...(メモできていない)
---------------------------------------
Hadoopとは?
	-HDFS(分散ファイルシステム)
	-MapReduce(分散処理プログラミングフレームワーク)

master: 指令を出す. データは使わない.
slave: データを持って,データを処理する.

---------------------------------------
何がすごいの?
	(Scalability)
	- Master , Slave による並列計算
	- Slave の追加によって処理性能が容易にスケールする
	(対障害性)
	- レプリケーションによるJOB継続実行確保
	(データの一元管理)
	- 各サーバのディスクをまたがる形で大容量のデータ領域を確保
---------------------------------------
実装の流れの例
	バッチ処理とかに向いている.
	オンライン処理に使えない.
	リアルタイム処理には使えない.
---------------------------------------
Hadoop をより使いやすくなる MW を有効活用
	Sqoop: データ以降ツール.
		http://www.cloudera.com/downloads/sqoop/
	Mahout: 機械学習ライブラリ.
		http://mahout.apache.org/
	Hive: sqlライクに操作を実現.
		http://hive.apache.org/
	Azkaban, Kettle: job のスケジューリング.
		https://github.com/azkaban/azkaban
		http://wiki.pentaho.com/display/BAD/Configure+Pentaho+for+Cloudera+and+Other+Hadoop+Versions
---------------------------------------
Hadoop を選んだ理由 まとめ
	PEGが大規模計算処理システムとしてHadoop を選んだ理由は総括でいうとオープンソースであること.
	- scalable
	- costが低い
	- eco system , Active(コミュニティが活性している)
	- ある程度自由に他の製品と組み合わせが可能
---------------------------------------
我々が掲げるHadoop 利用ロードマップ

	- バッチに代表される処理時間の増大対策。

	時間がかかっていたので、それを短縮することで、運用コストを下げるとか、

	- データ管理の一元化。ログ監視。
	- 分析エンジン・レコメンドエンジンとして。

---------------------------------------
Hadoop 入れることによって何が変わったのか?

高速処理ができるので、ゆえに要件を変え何度も try and errorができるようになった.

サンプリングに頼らない、ロングテール部の解析.(解析できるデータの規模が増えた)

開発サイクルの短縮と豊富なエコシステムによる短期間で幅広い分野の知識習得.
---------------------------------------
従来
<データ集計phase>: データが多いほど時間がかかっていた.
データをためる・見つける
データを集める
データを整形する

<データ分析phase>:
サンプリング
属性ごとにグループ分け、各Gの傾向分析.
分析評価

そして、結果を施策に転換
---------------------------------------
集計時間小, 難易度易

<データ分析phase>: 全データに処理が回せるようになった。
サンプリングによる取り残し、ロングテール分の見逃し防止

...(メモできていない)
---------------------------------------
社外事例:
	国内:
		楽天、mixi, facebook, yahoo, NTT communications, DeNA, livedoor, 食べログ, andersen service ,Cyber Agent, にしてつストア
	国外:
		explorys, walt disney, cme group , visa, ebay, GE, 米陸軍
---------------------------------------
Cyber Agentの場合:
	ユーザの行動log
	ユーザの退会を防ぐために、サービスから退会しそうなユーザを見つけ出す.
	データソースが複数で膨大・個を追う分析コスト大

辞めそうなユーザを見つけて、ポイントやアイテムをあげるなどして、辞めないような施策が打てるようにしている.
<a href="http://ameblo.jp/principia-ca/entry-10635727790.html">Hadoop/Hiveを用いたログ解析基盤の構築</a>
---------------------------------------
楽天:
顧客ごとに表示する商品や○○やsite のパーソナライズ

...(メモできていない)
---------------------------------------
アメリカ陸軍: 人と人の関連性をデータから算出

	- データソースが複数で膨大
	- 関連性を算出する機械学習の計算量が膨大

内部漏えいやクーデターを防ぐために、人の関係を見ている.
---------------------------------------
GE(General Electric) : 自然言語処理. 顧客の完成を解析し、商品改善を行う。システムを開発.

---------------------------------------
Andersen service: 原材料のコスト計算を最適化

原価計算をしている。

e.g.
東北の地震、タイの洪水,などの災害で、今までの仕入れルートが変わった時に、適切な価格設定をしないといけない。
そのシミュレーション何パターンも回すのに使っている.

---------------------------------------
神林さんという人がHadoop のフレームワークを作っているらしい。
機関係の処理に特化したフレームワーク.
...(メモできていない) 字が間違っている気がする.
---------------------------------------
DeNAにおけるHadoop 開発とは?

2300万人、1日20超越えのアクションログをHadoop にて管理
マイニングチームを20人ほど抱えている.

怪盗ロワイヤルのゲームの難易度設定に利用するなど.

...(メモできていない)
---------------------------------------
社内事例:
	- じゃらん、飲食、美容、ぽんぱれ、りくなびnext,住宅、ゼクシィ,自動車,キーマンズ, 進学,学び
	40を超える分析事例:

...(メモできていない)
---------------------------------------
Hotpepper グルメ・レコメンドメールのHive化

いままでの処理をHadoopを使って、システムの改善をした。

Before
約1週間
マイニングツールでレコメンドを計算.

1年半分のlogを対象に.
約8万人にレコメンドメールを配信
Association 分析。 20万人にレコメンドメールを配信

約CTR, CVR が1.6倍になった.
---------------------------------------
ゼクシィ 効果分析基盤構築

すぐに分析する基盤を作った。
データを一元管理したり、個人最適する方向性で動いている.
---------------------------------------
リクナビNEXT
	- データをためる
	- TOP ページの個人最適
	- 秘密

<データをためる>
	RDBから、Sqoop でHadoop にデータを移す (毎日)
	行動履歴ログ、レジェメ,マスタ, 成約データ系を一元管理

<TOP ページの個人最適>
パーソナライズしている。

企業選びの軸を抽出。
	業種・職種
	それが、めーかーなの?IT系なの?
	資格を生かせるのか?


クラスタリングする、
クラスター大きさから 職種なりを絞る?パーソナライズ

ユーザの行動を毎日分析して最適化している。

半年間で67GB, 退会者アンケートなども利用

...(メモできていない)
---------------------------------------
住宅のカスタマ情報を一元管理

1. ポップアップバナーでのレコメンド
2. 


とりあえず、Hadoop にデータを集めるところから始める.
今まで組み合して分析していなかったところから新たな知見が得られたりとか、

...(メモできていない)
---------------------------------------
カーセンサー: 
	マーケット・商材の特殊性
	
	中古車データは、価格を決定する因子がいっぱい。
		- 車種, 年式、走行距離,...
	
	今までのデータ分析からはなかなか精度が得られなかった.
	Access でやっていたらしい。

	それから Hadoop に変更した.
	try and error ができるようになった。

	価格の分析をしたい。
	
	クラスタリングしている
	どういう因子に注目すればいいのか?

	クラスターにまとめて、各クラスター の平均値から、価格を求めることができた。

	数か月で目的を達成できた.

...(メモできていない)
---------------------------------------
この分析の実現によりどんな事業メリットがあるか?
マーケットデータの多様な分析

AAデータ、小売データの差額を分析し、車種ごとの期待収益の算出.

平均値ではない「相場価格」、などを得られた.
---------------------------------------
Hadoop 導入のすすめ

	お勧め書籍
	- Hadoop 徹底入門
		http://www.amazon.co.jp/Hadoop徹底入門-太田-一樹/dp/4798122335/
	- Hadoop O'reilly
		http://www.amazon.co.jp/Hadoop-第2版-Tom-White/dp/4873115035/
	- Hadoop Hacks に記事の内容をちょっと書いているとのこと.

---------------------------------------
Hadoop の MapReduce を書く環境
	java, eclipse, cygwin
	karmasphere studio: 開発者がeclipse上でMap Reduce開発する時のお役立ちツールらしい。
		http://karmasphere.com/

---------------------------------------
Haddop 環境構築

お勧め
cloudera, CentOS(SL), VMware

Apache のhadoop じゃなくて、 cluderaだと、簡単に環境が作れる.
	http://www.cloudera.com/

Cloudera, sqoop, hive,
	MySQL, Posgres からデータの移行

疑似分散でも十分に学べる.

---------------------------------------
データをどうするのか?
	大容量のデータを得ないといけないので、
	記事データを良く使っているよ。New York Times とか、...

---------------------------------------
Hadoop 上で動いている分析アルゴリズム

<統計手法>: 誰でも同じ結果が出る.
基本統計量算出
回帰
重回帰
ヒストグラム
クラスター分析

<マイニング手法>
k-means
ロジスティック回帰
アソシエーション(apriori, fp-growth)
協調フィルタ
naive bayes
共起語抽出

asociation: レコメンデーションで良く利用している.
---------------------------------------
fp-growth: 
apriori, 

アソシエーション分析はマーケットバスケット分析とも呼ばれる.
---------------------------------------
行動履歴のデータがある
アソシエーション分析の結果をなんとか、

Solarにいれて、...

...(メモできていない)
---------------------------------------
アソシエーション分析の応用: + クラスタリング:
mahout, hadoop 

...(メモできていない)
---------------------------------------
NLPもやっているよ
textデータ -> Lucene -> mahout, haddop

テキストデータを Luceneを用いて単語分割、その後Hadoop, 

...(メモできていない)
---------------------------------------
ナイーブベイズの話

P(cat|doc) = P(doc|cat)P(cat)/P(doc)
---------------------------------------
Naive Bayesによる振り分け

口コミの振り分け。3をつけた人のはなし.
ポジティブワードネガティブワードを与え、口コミをベイズ解析。

評価点以外で特徴語抽出とポジネガ分類を可能にした。
(センチメント分析の応用)
---------------------------------------
データもあり、それを安価かつ高速に処理できるシステム
あとはこれらのデータをいかに、施策に落としこめるか

高速DWH/ Hadoop
ビッグデータ

...(メモできていない)
---------------------------------------
Try and Error を経験し、学ぶ。周りは失敗を許容する.
	=> とりあえずrun! try and error を繰り返す.

分析しっぱなしにしない。きちんと施策を見据えたうえで分析を行う
 => どういった施策が打てるのか?考察して、何に使えるのか?知見を活かすにはここが大事。

分析の手法、結果はわかりやすく、内容をブラックボックス化させない。
	=> 視覚化して、非エンジニアにも分かりやすく説明することを心がけよう。

---------------------------------------
MIT, MP/事業, Haddop開発者兼分析者

最初の目標・要件を決める
既存のデータの用い方・影響度を加味する
早く、分かりやすく
...

...(メモできていない)
---------------------------------------
新技術とか、やりたいこと
	分析・企画者・エンジニアが統計・マイニング用途がHadoopへアクセスできるように。

	Rを入れたい.

...(メモできていない)
---------------------------------------
次世代のHadoop ディストリビューション
	- 従来Hadoop より2倍程度の処理性能
	- NFSマウント可能
	- マスタの冗長性
	http://www.cloudera.com/blog/2009/09/cdh2-clouderas-distribution-for-hadoop-2/

	GreenPlum HD
	http://www.greenplum.com/products/greenplum-hd

...(メモできていない)
---------------------------------------
ほぼできたところ
Recommend
	協調フィルタリング
	アソシエーション分析

その他独自・各種レポート算出
	アトリビューション
	PV, CV集計
	クラスタリング

今取り組んでいること
会員ここに対するLPO, ユーザーターゲティング広告
NLP、sentiment analysis

...(メモできていない)
---------------------------------------
Hadoop の真価
	- 今までにない発想の柔軟化
	無意識に発想の壁を破ることができていることを実感している.
---------------------------------------
ビッグデータ元年
ビッグデータを制するものが世界を制す

リクルートの新サービスが世に出たらその後ろでHadoop が活躍しているかもしれません。
---------------------------------------