六本木で働くデータサイエンティストのブログ

元祖「銀座で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木

機械学習

"Understanding Dropout" (Baldi, NIPS 2013) メモランダム

ちょっと今週は忙し過ぎて新しいことに取り組んでいる時間が1秒たりとも見つからないので、少し前にやった例の弊社分析チーム論文輪読会のネタをそのまま転載しておきますorz 元ネタはこちら。 Understanding Dropout ちなみに式を丸写しするのは面倒だった…

パッケージユーザーのための機械学習(11):番外編 - AdaBoost

このシリーズ記事、教師なし学習をあらかたやったので*1もういいかなと思ってたんですが、ひょんなことから取り上げ忘れてたものがあったなぁと思い出したのでサクッとやってみようと思います。 忘れていたのはAdaBoost。普段はほとんど使わないブースティン…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(3):MNISTデータの分類結果を他の分類器と比較する

さて、折角Deep Learningなんて使うんだったらもうちょっと面白いデータでやってみようよ!ということで、多次元データの代表たるMNIST手書き文字データ*1を使って試してみようかと思います。 で、MNISTデータなんですが真面目に取ってこようとするとえらく…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(2):学習データとパラメータを変えて試す

うっかりこのシリーズでJapan.Rで喋ることに決めてしまったせいで関係各方面からのプレッシャーを感じつつある今日この頃ですが。 Japan.R 2014 : ATND ともあれ一度乗ってしまった舟なので、このままだらだら{h2o}でDeep Learningというお題でちょっとシリ…

H2OのRパッケージ{h2o}でお手軽にDeep Learningを実践してみる(1):まずは決定境界を描く

我らが自称ゆるふわ*1ガチ勢代表@motivic_氏がこんな記事をupしてました。 Deep Learningの性能を見てみよう ~Iris編~ ということで、こんなに簡単にDeep LearningをR上で試せるんだったらついでに僕もやってみようと思ったのでした。ただし同じirisでやる…

Rで不均衡データをクラス分類する方法まとめ:SVM、ランダムフォレスト、ロジスティック回帰の場合

以前の記事でSVM(しかもsvm{e1071}に限って)で不均衡データをクラス分類する方法について取り上げましたが、色々調べた結果その他のRの分類器でもやれるということが分かったので、ついでにまとめておきます。といってもSVMに加えてランダムフォレスト、ロ…

不均衡データをSVMでクラス分類するにはどうすれば良いか

今年のKDD cupが絵に描いたような不均衡データ(正例と負例との数的比率が極端に偏っているデータ)で苦労させられたので、ちょっと調べたら色々と良い方法があるなぁと気が付きましたよということで備忘録的に紹介しておきます。 ちなみにググったら普通に@…

『手を動かしながら学ぶ ビジネスに活かすデータマイニング』(技術評論社)を書くに当たって気を付けたこと&補足など(追記あり)

追記(2015/03/14) 第7章の決定木のところで取り上げた{mvpart}パッケージのサポートが切れ、CRANから削除されてしまったためinstall.packages関数ではインストールできなくなっています。現在のインストール方法を最後に追記しました。 追記(2014/09/18) 実…

今月下旬に『手を動かしながら学ぶ ビジネスに活かすデータマイニング』(技術評論社)という本を出します

本日、出版元の技術評論社(gihyo)様の公式サイトでオープンになりました。 手を動かしながら学ぶ ビジネスに活かすデータマイニング:書籍案内|技術評論社 そして書影はまだ反映されていないようですが、Amazonでも予約受付が始まった模様です*1。 手を動か…

パッケージユーザーのための機械学習(10):Affinity Propagation

だいぶ前回から間が空いてしまいましたが、ついに10回目になったこのシリーズ記事。。。多分クラスタリングだとこれが最後になるんじゃないでしょうか。以前話題に出ていたAffinity Propagationをやってみようと思います。 なのですが。今回も文献資料は見つ…

施策の「レイヤー」とその規模に合わせて、データ分析の方向性を決める

これまで色々なデータ分析案件を自ら持ち(持たされ)、また色々な他所の現場のデータ分析の実態を聞いてきたわけですが、意外と未だに統一された共通認識が形成されてないのかなぁと思うのが「施策レイヤー&規模とデータ分析の方向性とのベストマッチ」。…

青空文庫のデータを使って、遅ればせながらword2vecと戯れてみた

もう既に山ほど解説記事が出回っていて、あまつさえそれを利用したwebサービスまで出てきてしまっているword2vecですが、うちの現場でも流行っているのでせっかくなので僕もやってみようと思い立ったのでした。 word2vecそのものについては昨年来大量にブロ…

パッケージユーザーのための機械学習(9):混合ディリクレ過程

前回の記事からだいぶ経ってしまいましたが、皆様パッケージの使い心地はいかがでしょうか(汗)。ということで、今回はいよいよクラスタリングシリーズの大詰め、混合ディリクレ過程を取り上げます。 今回は僕も完全に理解しているわけではないので、ぶっち…

パッケージユーザーのための機械学習(8):混合モデルとEMアルゴリズム

教師なし学習シリーズもいよいよ佳境に入ってきましたねー、と言いつつ前回記事から既に2ヶ月半ぐらい経ってますが。。。ここからは主に混合モデルを取り上げていく予定です。今回もはじパタpp.165-174をベースにやっていきます。 はじめてのパターン認識作…

2014年春版:初心者にお薦めする「本当にゼロから統計学と機械学習の基礎を学ぶ」ための6冊

前回リストの記事から半年ぐらい経ちましたよー、ということで初心者向けに関しても書籍リストをアップデートした最新版のリストをお送りします。あまり中身が変わってないかもしれませんが、かぶっている本は良い本だということで(笑)。 ところで、昨年秋…

2014年春版:ビジネスにおけるデータ分析のプロを目指すなら揃えておくべき12冊

さて、前回リストの記事から半年ぐらい経ちましたよーということで、それ以降に発刊された書籍などを吟味した上で更新したリストをお届けしたいと思います。といっても引き続き今回のリストにも入っているものが多いので変わり映えしないかもですが。。。 前…

アソシエーション分析+グラフ構造可視化 ({arules} + {arulesViz}) で教師あり学習の変数重要度を可視化する

グローバルTokyoRで何話そうかなー、と思っていたんですがそう言えば主賓がvisualizationの人なんだったっけなぁということで、可視化の話にでもしようかなと。ということで、僕の大好きなネタでもやろうかと思います。 それは、「とにかく{arules} + {aruls…

社会人が統計学や機械学習を学ぶなら「落下傘方式」で

今日何気なく呟いたツイートが、見ていたら結構RT&favされていた模様で。 社会人が統計学とか機械学習を独習するには、いわゆる「落下傘方式」が良いと思う。必要な時にその項目だけ学んで実践する。その繰り返しで学問体系のマス目が埋まっていけば良し。あ…

前処理なしのトランザクションデータを{arules}パッケージで読み込む方法

実は僕は結構頻繁に{arules}パッケージを使うんですが*1、個人的には汎用性を考えて必ず素性ベクトルの形になるようにデータを前処理して読み込むようにしています。例えばこんな感じ。 ビール ソーセージ 牛肉 ... 1 0 1 ... 0 1 0 ... 1 1 1 ... ... ... .…

Conditional inference treesとそのランダムフォレストを{party}パッケージで試してみた

今まで気付かなかったんですが、@dichikaさんがこんな記事を書かれていたんですね。 ランダムフォレスト雑感 - BOD 実は僕はほとんどconditional inference treesのことを知らなかったのと、ここで紹介されている{party}パッケージが面白そうだったので、そ…

パッケージユーザーのための機械学習(7):K-meansクラスタリング

本シリーズ記事のカテゴリからPythonが消えて久しい今日この頃ですが、皆様いかがお過ごしでしょうか*1。とかいう前口上はどうでも良くて、とっとと今回のお題に入りましょう。今回はクラスタリングのド定番、K-means(k平均)クラスタリングです。 K-means…

パッケージユーザーのための機械学習(6):階層的クラスタリング

さて、教師あり学習の方はひと段落ついたので、今度は教師なし学習の話をやっていこうかと思います。と言っても僕が知っている範囲でなおかつ常用するような教師なし学習はRでの実装が割と貧弱なので、シリーズとしてはあまり面白くない感じになりそうです(…

NIPS2013参加レポート

ということで、タイトルの通りで先月の12月第1週~2週にかけて僕はこちらのカンファレンスに参加しておりました。 NIPS : Conferences : 2013 研究者だった時分に僕が根城にしていたのは実験系主体のSFNだったもので、ぶっちゃけアウェー感満載のカンファレ…

パッケージユーザーのための機械学習:教師あり学習同士で分離超平面・決定境界を比較してみる

このシリーズ記事では、Rで*1色々な機械学習のアルゴリズムについて、それらがどんなものなのかを簡単なデータに対して分離超平面・決定境界を描きながら見てきました。 パッケージユーザーのための機械学習(1):決定木 - 銀座で働くデータサイエンティスト…

パッケージユーザーのための機械学習(5):ランダムフォレスト

(※はてなフォトライフの不具合で正しくない順番で画像が表示されている可能性があります) さて、こんな記事をクリスマス・イヴのプレゼントにするのはアレなんですが(笑)、教師あり学習&分類器系では一旦これでシリーズを〆る予定です。 トリを飾るのは…

パッケージユーザーのための機械学習(4):ニューラルネットワーク

(※はてなフォトライフの不具合で正しくない順番で画像が表示されている可能性があります) 実は僕は普段全くニューラルネットワークを使ってない上に、すぐ隣に再帰ニューラルネットワークでバリバリNIPSに通していたことのある教授氏がいるので*1、こんな…

アルゴリズム実装=定量的ソリューション、アドホック分析=定性的ソリューション

これは先日うちの教授氏と話していて出てきた話題なんですが、 データ分析とは「データドリブンなソリューション」を提供すること アルゴリズム実装=定量的ソリューション アドホック分析=定性的ソリューション だよね、という。これは結構一般的なコンセ…

NIPS 2013に参加していました

12/4~12/9(現地時間)の日程で、当地米ネバダ州タホ湖で開催中のNIPS 2013に参加してました。内容的にはdeep learning, online learning, active learningまわりを軸に、朝一番のオーラルではビッグデータやビジネス展開の話も出るなど*1なかなか面白かっ…

パッケージユーザーのための機械学習(3):サポートベクターマシン(SVM)

(※はてなフォトライフの不具合で正しくない順番で画像が表示されている可能性があります) PythonでSMO-SVM書き下すという宿題がまだ終わってないくせにこれ書いていいのか物凄く迷うんですが(笑)、R Advent Calendar 2013の12月6日分第6回の担当に当たっ…

パッケージユーザーのための機械学習(2):ロジスティック回帰

(※はてなフォトライフの不具合で正しくない順番で画像が表示されている可能性があります) だらだらと機械学習をパッケージで回していく様子を眺めるこのシリーズ、今回はロジスティック回帰をやってみようと思います。ロジスティック回帰はどちらかという…

パッケージユーザーのための機械学習(1):決定木

(※はてなフォトライフの不具合で正しくない順番で画像が表示されている可能性があります) だいぶ前に「糞コードで頑張る機械学習シリーズ」と言うのを始めようとしたんですが、パーセプトロンをPythonで実装した次にMatlabで書いたSMO-SVMコードをPythonに…

データサイエンティストはこうやってデータ分析の仕事をしている(自分の経験と見聞談をもとに)

誰かの参考になるかもしれないと思って、僕の前職時代の取り組み方や他の現場で僕とよく似たアドホック分析系の仕事をされている方から聞き取った内容をもとに、適当にまとめてみました。 ということで、これは正確には「アドホック分析系データサイエンティ…

現職場の公式テックブログ始まりました

ちらっとTwitterでもコメントしましたが、現職場でも公式ブログ始まりました。テックブログ45選という記事には間に合わなかったのが残念ですが。。。 RCO アドテクLabブログ もうタイトル見たまんまです(笑)。基本的には社内エンジニアによるテックブログ…

データ分析を「させる(依頼する)」側に最低限知っていて欲しい4つの分析コンセプト

回帰・分類・推定・予測

2013年秋版:データ分析初心者にお薦めする「基礎を本当にゼロから学ぶ」ためのテキスト5冊

前回の書籍リストは、基本的には「そこそこ統計学のことは知っていて」「機械学習とはどんなものかというイメージがあって」「Pythonの初歩ぐらいはできて」「本を見ながらで良ければRを使える」人たちを対象にしたものでした。 なのですが、世の中そんな最…

2013年秋版:データサイエンティストを目指すなら揃えておくべき10冊

5ヶ月前に書いた記事がだいぶ陳腐化してきた*1気がするので、それ以降出版された書籍や、他にも学術的知識を得るだけでなく「データサイエンティストとして働く上で必要なスキル」について書かれた書籍などを加えて、「2013年秋版」の10冊をチョイスしてみま…

Hadoop + HiveからUDFでお手軽に機械学習を回せるライブラリ"hivemall"がリリースされたとのこと

TL上にものすごーく刺激的な情報が飛び込んできたので、思わずご紹介。 一部の方にはお伝えしておりますが、hive/hadoop上でスケーラブルに機械学習(今のとこクラス分類、回帰分析)を行うライブラリをオープンソース(LGPL)でリリースしました。mahout等よ…

ディスプレイ広告のクリック数改善のためのデザイン最適化に、ポアソン分布 / 負の二項分布によるGLMを使ってみる

これはディスプレイ広告に限った話ではないと思うんですが、あるPC / スマホ上の何かしらのクリエイティブに対するクリック数がそのデザインの良し悪しによって左右されるということは、web業界ではよく知られているかと思います。 そういう場合「どんなデザ…

Rで機械学習するならチューニングもグリッドサーチ関数orオプションでお手軽に

ちょっと調べてみたらタイトルの件について言及してる記事があまり多くなかったので、ざっくり書いてみます。なお、この記事はid:shakezoさんの 実務でRandomForestを使ったときに聞かれたこと へのオマージュです。というか、実は僕もこの記事を読んでから…

単純な集計とデータサイエンスによる分析とで結果が食い違うかもしれない3ケース

一般に、データ分析の大半はそれほど高度なテクニックの類を必要としないものです。僕も常日頃から口に出して言うことが多いんですが、「統計学だの機械学習だのの出番なんてそもそも少なくて当たり前」。工数もかかるし、できればやらない方が良いです。ぶ…

データサイエンティストは「アルゴリズム実装系」と「アドホック分析系」とに分けた方が良いかも

最近色々なデータ分析の現場の方々と意見交換したり一緒に飲んだりするようになり、ますます現場ごとの仕事のやり方の違いや雰囲気の違い、はたまた価値観の違いといったことについてそこそこ深く知るようになってきました。 おかげさまで、今の僕の立ち位置…

意外と見極めにくい「CVR向上に最も貢献する行動パターン」

割とどこの現場でもやっている分析として「CVR向上に最も貢献する行動パターン」の同定・抽出というのがあると思うんですが、これって簡単なようで意外と難しいポイントがゴロゴロしてるんですよね。 例えばユーザー行動ログDBからソシャゲのイベントA, B, C…

Webデータ分析&データサイエンスで役立つ統計学・機械学習系の分析手法10選

追記 2016年3月に以下の記事によってこの内容はupdateされています。今後はそちらをお読み下さい。 主に自分向けのまとめという意味合いが強いんですが(笑)、僕が実際に2013年6月現在webデータ分析&データサイエンスの実務でツール・ライブラリ・パッケー…

「データサイエンティスト」イコール「機械学習・データマイニング・統計学の専門家」とは必ずしも限らない

各種メディアを見ていると、いよいよ日本も「データサイエンティスト元年」が来ちゃったんじゃないかと思ってしまうほど、これでもかというくらいデータサイエンティストに関する記事が出まくってる感が半端ない昨今なんですが。

データサイエンティストを目指すに当たって、ぜひ揃えておきたいテキストたちを挙げてみる

追記2 2015年末の時点での最新リストはこちらです。 追記 この記事の5カ月後にもう少し更新した内容の「お薦め本リスト」記事を2つupしてますのでそちらもお読みください。 2013年秋版:データサイエンティストを目指すなら揃えておくべき10冊 - 六本木で働…

単純パーセプトロンをPythonで組んでみる

いきなり自分でハードル上げてみました(笑)。ちなみに何故単純パーセプトロンを最初に持ってきたのか?というと、id:echizen_tmさんのブログ記事でも触れておられる通り 機械学習には大きく分けて「識別関数」「識別モデル」「生成モデル」の3つの種類があ…

「機械学習とは何ぞや」をゆるーく説明してみる

追記(2017年7月12日)こちらの記事がGoogle検索結果でかなり上位に来ているようですが、投稿から既に4年以上が経過しており内容としては非常に古いものになっております。よろしければ「機械学習」カテゴリの比較的新しい記事もご参照ください。tjo.hatenab…

素性ベクトル+分類ラベルのテーブルを持ってくる⇒Rを使ってお手軽に機械学習で分類してみる

Hiveで生テーブルを取ってくる→素性ベクトル+分類ラベルのテーブルに直す 前回の記事では、Hadoopクラスタ(というかHDFS)に収納されている、いかにもありがちなユーザー行動テーブルを、機械学習で扱いやすい素性ベクトル+分類ラベルのテーブルに直す、…

データマイニングとはどんなもので、それで何ができるのか?(主にビジネス系の方々向け)

そもそもデータマイニングって何ですか データマイニング - Wikipedia Data mining - Wikipedia 実は僕もITデータサイエンス業界向けの就活始めるまで、「でーたまいにんぐ」という単語というか言葉自体を知りませんでした*1。笑 なので、正直言って未だに僕…

Hiveで生テーブルを取ってくる→素性ベクトル+分類ラベルのテーブルに直す

現場的によくある分析のやり方 今回はちょっと実際の現場のデータサイエンス(データマイニング)の話をしてみようと思います。現在の僕の仕事は、基本的には 「Webコンテンツプラットフォーム上を回遊しているユニークユーザー(UU)の行動データをHadoopクラ…