Hadoop

Amazon Elastic MapReduceを使う:SSHでマスタノードにログインする。sftpでファイルを転送する。

Amazon Elastic MapReduceはEC2インスタンスで構成されている。ということは、SSHなどでログインが可能だし、クライアントから直接データやプログラムが配備できる。 AWSのサイトにも書いてあるし、(日付が古いが)「Amazon Elastic MapReduce ドキュメント…

Amazon Elastic MapReduceを使う:Rubyクライアント・ツールを使う。

Ruby製のクライアント・ツールのダウンロード、ジョブフローの作成(クラスタの作成)、ステップの追加、ジョブフローの停止を行う。 基本的に1年前の記事を追って行う。クライアントは、Mac Book Pro(OSX 10.9.3)。Rubyのバージョンは以下。 バージョン 2.…

Amazon Elastic MapReduceを使う:マネージメント・コンソールでクラスタのクローンを作成する。

前回の記事では、Amazon Elastic MapReduceでWord Countサンプルを実行後、クラスタを停止した。今回は、そのクローンを作成し、Word Countを再実行する。1回実行したジョブを再実行するのに便利な機能。Amazon Web Servicesにログインし、Elastic MapReduc…

Amazon Elastic MapReduceを使う:マネージメント・コンソールからサンプルを動かす。

前回の記事では、Amazon Web ServicesのEMR(Amazon Elastic MapReduce)で、マネージメント・コンソールからクラスタを作成した。 今回は、同じくマネージメント・コンソールから、サンプルプログラム(Word Count)を起動してみる。 Pythonで書かれたサン…

Hadoop、おしさしぶり(It's long time to see, Hadoop.)

先日、学会の発表を聞いていて、久しぶりにHadoop+MapReduceをやってみようという気になった。 気がついてみると、昨年の6月〜7月にHadoop+MapReduceの評価をやっていたので、1年ぶりとなる。1年も経てば、さぞかし変わってしまっているだろうと思っていた…

Amazon Elastic MapReduceを使う:マネージメント・コンソールからのクラスタの起動

Amazon Web ServicesのEMR(Amazon Elastic MapReduce)を、マネージメント・コンソールから一通り動かしてみる。 最初の画面(下)で「Create Cluster(青いボタン)」をクリックする。 すると、クラスタをコンンフィギュレーションする画面に切り替わるの…

30分でできる分散レコメンデーション:パラメータを変更して、応用できるようにする。

仕事が忙しくて、更新に間があいてしまった。前々回、前回のログでApache Mahout0.7で実装されている「Parallel ALS (Parallel Alternating Least Squares)アルゴリズム」をつかって、とても簡便にスケーラブルなリコメンデーションエンジンを構築してみた…

30分でできる分散レコメンデーション:パラメータを決定する。

先のログでは、Parallel ALS(Alternating Least Squares)による分散レコメンデーション環境を手っ取り早く用意して、チェコスロバキアの「Libimseti.czという出会い系サイト(http://www.libimseti.cz/)」の1700万件の評価データで、分散レコメンデーショ…

Amazon EMRでMahoutのレコメンデーションのワクワク感を体験する:30分でできる分散レコメンデーション

追記:2013/9/17 このログの続編の投稿が完了しましたので、記事の末にリンクを追加しました。これで、このログの方法を応用した分散レコメンデーションエンジンの構築もばっちり(のはず)です。 先のログでは、Parallel ALS(Alternating Least Squares)を…

Apache Mahoutの分散次元縮約(Parallel ALS)を解説しよう。

さて、前回のログでは、Mahout 0.7に付属する「factorize-movielens-1M.sh」というサンプルをつかって、Pararell ALSというアルゴリズムを動かしてみた。 少し誉めすぎた感が否めないので、原論文「Large-scale Parallel Collaborative Filtering for the Ne…

Amazon Elastic MapReduceで、Apache Mahoutの分散次元縮約(Parallel ALS)を動かす

さて、夏休みもそろそろ終わり。総力(自分のですが)を結集して、一仕事してみたいと思います。今回のログでは、MahoutのサンプルにあるParallel ALS(という次元縮約の分散計算アルゴリズム)を使ったジョブを動かしてみる。Mahoutに、Parallel ALS(Altern…

Amazon Elastic MapReduceで、Apache Mahout 0.8のクラスタリングを総ざらいする(まとめ)

先のログでは、Apache Mahout 0.8のサンプルにあるcluster-syntheticcontrol.shを用いて、「k-means法」によるクラスタリングについて詳しくみた。同shellでは、他にもいくつかのクラスタリング手法(アルゴリズム)を試すことができる。今回のログでは、残…

Amazon Elastic MapReduceで、Apache Mahout 0.8のk-meansクラスタリングを実行する。

先のログでは、MahoutをLocal環境(Mac OSX Mountain Lion)で実行した。今回は、Amazon Elastic MapReduce(EMR)+Hadoop MapReduceで、k-meansクラスタリングを動かしてみたい。 Mahoutのバージョンは、0.8で行った。EMRの構成は、m1.smallが2台の最小構…

まとめ:Hadoop Mapreduceで大きな相関行列(行列の積)を計算する。(Summery : Calculating Large Correlation Matrix with Hadoop MapReduce)

今回のログで、密な行列同士の乗算を一旦終わりにしたいと思う。 この話題については、物理の方に論文がありそうなので、そちらをチェックする予定。Fast Multipole Methodなどの論文を、「チラ見」すると、確かに天体物理や磁場を研究する人たちに、大きな…

読売新聞(2013/8/1)コンビニ新時代について

ビッグデータの記事がまた新聞に掲載された。 さて、「ポイントカード」ってなんなのだろう。 「コンビニ大手はポイントカードを使って、年間150億人の購買履歴のビッグデータをもとに、品揃えなどに反映させている。 … ファミマがTSUTAYAと提携する「Tポ…

Hadoop MapReduceで大きな相関行列を計算する(Calculate Large Correlation Coefficient Matrix with Hadoop MapReduce)

前回までのログで、観測値行列から相関行列を求めるための一通りの仕組みができた。この開発をスタートするときに、以下の目標を立てた。 実行時間の目標:以下のクラスターを用い、5000変量で、各変量につき5000サンプルあるとして1時間以内での計算を行う…

Hadoop MapReduceで相関行列を計算する:ステップ7・8:相関行列を計算する (step7&8: calculate correlation coefficient matrix)

前回のログで、共分散行列 まで計算ができた。今回はいよいよ相関行列を計算する。相関行列の計算式は以下である。 ただし、 である。この対角行列はステップ3・4で計算した。ステップ7・8にあたる「共分散行列の前後に、対角行列をかける」については、…

Hadoop MapReduceで相関行列を計算する:ステップ5:観測値の平均からの偏差を求める (step5: subtract means from samples in matrix form)

MapReduceで大きな(5000変量〜)相関行列を求めるプログラム作りも、ようやく折り返し地点。 今日は、行列 を算出するステップのコードを作成する。。 注記;標準偏差の算出に不偏分散を用いたので、スケールを合わせるため、サンプルサイズ(n)−1の平方…

Hadoop MapReduceで相関行列を計算する:ステップ3:対角化、ステップ4:逆行列の算出 (step3: making diagonal matrix from standard deviations, step4: inverse matr

前回までで、Hadoop MapReduceによって観測値の平均と標準偏差を算出した。今回のログでは、標準偏差を対角要素としてもつ行列とその逆行列を計算する。話を進めるにあたり、少しだけ式を書かなければならない。まず、対角行列とは、以下のフォーマットを満…

Hadoop MapReduceで相関行列を計算する:ステップ2:標準偏差の算出 (step2: calculating standard deviations)

今回は、前回に引き続き、第2ステップとして、変量ごとの標準偏差を計算するプログラムを実装する。以前のログでも、多変量の場合の標準偏差の計算を実装したが、以下のようにデータ形式を変更したので、過去に作成したプログラムを修正することとする。 行…

Hadoop MapReduceで相関行列を計算する:ステップ1:平均値の算出 (step1: calculating means of observation )

少し間が開いてしまったが、以前のログの続きで「相関行列」を求める一連の処理を実装する。なぜ、相関行列を求めることに固執しているか、といえば、統計学的には多変量解析の一番基本的な量であるし、また、機械学習のエリアでも登場する量であるから。今…

レコメンデーションとクラスタリングを例にして「密な行列」と「疎な行列」について説明する

ここまでのログでは、Hadoop MapReduceで「密な行列(Dense Matrix)」の行列積を計算することを考えてきた。多変量解析の多くは「密な行列」を仮定しておけば、理論的な演算に問題が生じることはない(これが、「密」にこだわってきた理由)。 ただ、機械学…

JR東日本がSuica情報を売り出したことと、Hadoop MapReduceの実力

話が脇道にそれてしまうが、2013/7/18の読売新聞の記事を見て驚いた。1面トップに「Suica履歴売り出す JR東日本」。 どんな情報を売り出したのだろうと読んでみたところ、 提供データは私鉄を含む首都圏約1800駅の利用者の性別、年齢、乗降日時。定期券とし…

Hadoop MapReduceで相関行列を計算する。Roadmap for Calculating Large Correlation Coefficient Matrix based on Dense Matrix Multiplication with Hadoop MapReduce

今回から、数回に分けて変量間の相関行列(Peason相関係数が並んだ行列) を求めていく。 注記;以前のログにも書いたが、Apache Mahoutの協調フィルタリングの実装には、Pearson相関係数によるSimilarity(類似度)計算が含まれている。このブログで示す結…

Hadoop MapReduceで行列積を計算する(ケース2)(Dense Matrix Multiplication with Hadoop MapReduce: Case2)

前回のログでは、Case1として行列積の演算プログラムを示した。 しかしながら、5000行5000列の行列同士の演算に6時間以上の時間がかかってしまい、これでは「ビッグデータ」の探索的な分析では使えないだろう。これまで、再三引用している「エコノミスト誌(…

Hadoop MapReduceで行列積を計算する(ケース1)(Dense Matrix Multiplication with Hadoop MapReduce: Case1)

前回のログで、MapReduceのパラダイムにおいて、行列積の演算がかならずしもMapReduceのパラダイムに適合したものでないことと、「行列積を求めるという行為」についてのインターネット上での評価を紹介した。今回から2回のログに分けて、2パターンの行列…

Hadoop MapReduceで行列積を計算する(Introduction to Dense Matrix Multiplication with Hadoop MapReduce)

前回までのログで、観測値(変量:m、サンプルサイズ:n)について、平均、分散、標準偏差を、mとnの両方についてスケーラブルなプログラムに落とし込むことができたように思う。今回から数回に分けて、Hadoop MapReduceのパラダイムで行列積(Dense Matrix …

Hadoop MapReduce: 平均、分散、標準偏差計算のスケーラビリティー評価(Amazon EMR)

今回のログでは、先の2回のログ(標本平均、分散・標準偏差)で作成したプログラムのスケーラビリティーを、Amazon Elastic MapReduceで評価してみたい。変量をm、サンプルサイズをnとすると、普通の統計の世界では、m 国勢調査などを考えると、家族構成や…

Hadoop MapReduceで分散と標準偏差をスケーラブルに計算する

先のログで、標本平均を求めたので、今回は(多変量の場合について)分散と標準偏差を計算するプログラムを作成し、Amazon Elastic MapReduce(EMR)で実行してみる。開発環境は、Mac OSX Mountain Lion。Hadoopのバージョンは1.1.2である。(Amazon EMRのバー…

Hadoop MapReduceで標本平均をスケーラブルに計算する

Hadoop2を使った新しい記事があります。 Amazon Elastic MapReduce : Hadoop2.4環境で標本平均を計算する(Ruby Client)。 Amazon Elastic MapReduce : Hadoop2.4環境で100万変量(10GB)の算術平均を計算する。 - 今回は、ありきたりではあるが、MapReduce…