GINGI99 Blog

データ分析や日常に関するブログ

useR2018に参加&ポスター発表をしました

表題のとおり、useR2018@ブリスベンに参加&ポスター発表してきました。useR初参加です。

Rで分析を行っている自分たちのユースケースを発表しながら、世界のRユーザ・Rコミュニティの動向を肌で体感したいと思い参加しました。

概要

2018/7/10-13の4日間開催で、1日目と2日目の午前中まで、半日チュートリアル×3。その後、オープニングとキーノートがあったり、トークやLTが6パラレルで続く感じでした。ポスターは2日目の夜のレセプションと3日目のランチ時間に開かれていました。

会場はブリスベンの都市部のBrisbane convention & exhibition centerというところです。4Fのフロアをすべて貸し切ってるようでした。

キーノートをする会場はホール形式。

f:id:gingi99:20180711100117j:plain

参加者のバッチはRらしくヘキサゴン形でテンションが上がります。参加者の所属もざっと見ていると、オーストラリア系の大学や企業がやや多めで、他の国の大学系などアカデミアが多くて、インダストリも一部来ているかなーという印象でした。オーストラリアという場所に依存した参加傾向になったかもしれません(謎)

オーストラリアの形でパッケージのヘキサロゴを貼ってたりもしました。

f:id:gingi99:20180712074225j:plain

1日目

初日は午前と午後のチュートリアルが2本ありました。

Production-ready R: Getting started with R and docker

スライドはこちら:GitHub - SymbolixAU/useR_docker_tutorial: useR!2018 docker tutorial slides and notes drafts

Dockerを使ってRStudio等をデプロイする話に参加しました。Dockerも普段から使用するので、基本的なことは既知だったのですが、rockerのImageの依存関係は知らなかったので、どのImageをベースにDockerfileを作成するかは参考になりました。また、デプロイするときにどうしても、パスワードやAPIキーの管理をどうするかという話になるのですが、.Renvironで管理すればいいという話は試したことがなかった(たぶん基礎なのに…笑)ので、今後やってみたいと思いました。

fasteR: ways to speed up R code

スライドはこちら:GitHub - tslumley/useRfasteR: for a tutorial at useR2018

Rの高速化についてのチュートリアルに参加しました。チュートリアルというよりはプレゼンターの高速化のTipsまとめだった印象です。data.frameが遅いとか、vectorizeをしましょうといくつか知ってることもありましたが、if elseが遅いとかは知らなかったので、いくつかまたコードを見直すきっかけになりそうです。

また、コードを入念にRprofmicrobenchmarkを使ってデバッグしていくことはやはり必要なんだなと感じました。改めて、Rの高速化は基本的なテクニックを抑えながら、Profileして地道な作業と思いました。といいつつ、いまのところそこまでシビアに高速化する必要もなかったりで、、、

それとこのセッションを見て思ったのは、高速化をすると、コードの可読性も落ちてしまうケースもある気がするので、Rに習熟していない人と共有する場合に読みづらいコードになるのは避けたいなーという気持ちもあるので、バランスや高速化Tipsの方向性は揃えないといけないと感じました。

2日目

午前中は、useR2018の3つ目のチュートリアルに参加

Interactive data visualization on the web with R

スライドはこちら:Interactive dataviz on the web with R & plotly

最近plotlyをshinyで使っているのですが、知らない機能が知れてすごく有意義でした。とくにhighlight_keyで大量時系列の一部をハイライトする機能や生データとAggregationしたデータをひもづけた可視化など。複数系列から比較して見るのも容易になるので、最初からfilterしなくても対応できる場合がありそうで、これから試してみようと思いました。

午後からはOpening、KeynoteTalkが始まりました。

Talkで面白かったものを紹介します。

Automated unit test generation using genthat

GitHub - PRL-PRG/genthat: An R package for extracting unit tests from existing code

testスクリプトを自動生成するパッケージを開発している話でした。たしかにcoverage率あげるためにtesthatのスクリプトをがんばって書くこともあると思いますが、自動化できるならだれもがやりたいと思います。 論文としても発表しているみたいで、いろんなRのパッケージで実験して評価していました。興味深かったです。

Poster Session

Posterはロビーで47inchモニターを使った電子型ポスター発表です。

f:id:gingi99:20180711115501j:plain

自分たちはスライドを横長に作って、サイズをあわせて作ってきました。

f:id:gingi99:20180720220606j:plain

18.07.11_useR2018 Poster_Time Series Digger : Automatic time series a…

時系列データを分析する際のデータサイエンスプロセスと、EDAと特徴抽出とそれらに基づいて異常検知をパッケージ化して社内で使っている話をしました。 パッケージ公開の予定や具体的な手法や手法の使い分けなど議論できました。

他の参加者はShinyを使ったデモ形式で発表している人も多かったので、次回以降はそっちのほうが参加者と議論しやすくてわかりやすいかもと感じました。

3日目

この日のKeynoteでは、The Grammar of Animation(Thomas Lin Pedersen)に参加。主に、インタラクティブグラフやアニメーションの使い所についての話。

スライドはこちら:Keynote

gganimate 数年前に使ったときより、使いやすくなってそうだなと思いました。時間をアニメーションで動かして、散布図が動くやつ一度実データで描いてみたいです。

Talkでは、面白かったものを紹介します。

Statistical Inference: A Tidy Approach using R(Chester Ismay)

スライドはこちら:Statistical Inference: A Tidy Approach

tidyライクな統計的仮説検定を行えるinferの紹介。聞いててテンションがあがりました。まさか統計的仮説検定の各々もtidyベースで実行できるようになるとは…。これはこれから必須のパッケージになる予感です。

prioritizr: Systematic conservation prioritization in R(Jeffrey O. Hanson)

GitHub - prioritizr/prioritizr: Systematic conservation prioritization in R

整数計画問題を解くパッケージ。これまた簡単なインタフェースで直感的に制約条件などを設定できそうで便利なパッケージだなーと思いました。研究を進める上で開発したのかなと思いました。

Glue strings to data in R(James Hester)

GitHub - tidyverse/glue: Glue strings to data in R. Small, fast, dependency free interpreted string literals.

使いたいなーと思って使っていなかったglueパッケージ。pasteなどでがんばってprintしていたものを、変数なども分析するときに簡単にprintできたり、formatを揃えることができたりと、便利そうなパッケージ。使ってみて恩恵を感じたいと思います。

Data Preprocessing using Recipes(Max Kuhn)

GitHub - tidymodels/recipes: A preprocessing engine to generate design matrices

チュートリアルのスライドはこちら:user2018/Recipes_for_Data_Processing.pdf at master · topepo/user2018 · GitHub

caret開発者が現在開発している、データの特徴設計をtidyライクに書くことができるパッケージ。すごく簡単に特徴づくりできそうです。caretとの連携部分も開発中とのこと

Moving from Prototype to Production in R: A Look Inside the Machine Learning Infrastructure at Netflix

スライドはこちら:From Prototype to Production

Netflixで利用しているmetaflowの紹介。Rからデータを前処理してモデルを作って、デプロイしていくのを簡単にするパッケージの様子。ただ、まだ未公開なので、今後公開されることを祈る。この手のRでアドホックに分析したものをプロダクションに持っていくのをサポートするとこまでやっちゃうところはさすがNetflixだなーと思いました。ただ、やっぱりRでやる必要もないような…。

Estimating individual Customer Lifetime Values with R: The CLVTools Package(Bachmann Patrick)

解約予測の新たなパッケージ。分布の条件から、問題設定を4つに分けて、各種条件に応じてモデルを選択して予測できる。細かいアルゴリズムはわからなかったけど、パッケージももうすぐ公開予定みたい。

Large Scale Data Visualisation with Deck.gl and Shiny(Ian Hansel)

deck.gl

Uberで使ってる地理データのWebGL可視化ライブラリ。Rからのインタフェースもあるみたいでデモを見てたらきれいな絵がかけていた。大規模データでも耐えれるようにというモチベーションみたいだが、どれくらいのポイントでも動くか試してみたい。

Poster Sessin

この日はランチ時間帯にポスターセッションがありました。

日本から来ていたhoxo_mさんのmagic_forのユースケースが直接聞いて理解できたのと、自分たちが書いたコードでも思い当たる節があるので、これから使っていきたいと思います。コードがきれいになる予感がします。

GitHub - hoxo-m/magicfor: Magic Functions to Obtain Results from for Loops in R

4日目

Keynote : Teaching R to New Users: From tapply to Tidyverse (Roger Peng)

S言語からの話やRの歴史的発展、tidyverseの紹介なども最後まで飽きずに聞けました。

面白かったTalkをメモしておきます

Shinotate: an R-based shiny server for annotation and analysis of RNA-Seq transcriptome assemblies

GitHub - IdoBar/shiny-server: A shiny server to deliver apps to retrieve annotated transcriptome data stored in Trinotate db

Shinyでアノテーションツールを開発してる話です。期待してるものではなかったのですが、デザインの話やインタフェース設計は参考になりました。

DALEX will help you to understand this complex predictive model(Przemyslaw Biecek)

GitHub - pbiecek/DALEX: Descriptive mAchine Learning EXplanations

機械学習のモデルの解釈のためのパッケージです。breakDownやLIMEを包含したパッケージのようです。

fasster: Forecasting multiple seasonality with state switching(Mitchell O'Hara-Wild)

GitHub - tidyverts/fasster: Forecasting with Additive Switching of Seasonality, Trend and Exogenous Regressors

スライドはこちら:fasster::useR2018

時系列データのモデリングのためのパッケージで、季節成分を複数考慮したり等、拡張の幅が広そうなインタフェースで提供していました。最後にRMSE等でProphetよりも精度が高い結果も示していたので、要チェックなパッケージになりそうです。

seer: R package for feature-based forecast-model selection(Thiyanga Talagala)

GitHub - thiyangt/seer: Feature-based Forecast Model Selection (FFORMS)

時系列データの分類のための時系列データの特徴抽出をかなり作り込んでる印象でした。特徴抽出の手法の実装は参考になりそうです。

その他気になったパッケージ

Talk等はセッションがかぶっているため聞けなかったですが、気になったもの

教師あり学習のパッケージ。Self-Training以外は実装名からは検討がつきませんが、まとめている感じでしょうか。

GitHub - mabelc/SSC: The ssc R package

4日目のTalksであった時系列系のデータのtidy化をtidyvertsといったプロジェクトで行っているみたです。全然知らなかった。。

The 15th time series standard

forecast系のパッケージもfableでtidy化してるみたいです。便利すぎる。。

GitHub - tidyverts/fable: Forecasting with tidy objects

パッケージは関係ないですが、発表者のスライドをRmdやgganimateで気合入れて作ってる人が多くて、さすがのRのカンファレンスという印象でした。

発表までの流れ

次回以降useRで発表したい人のために、今回の発表までの流れを共有しておきます。

  • 2018/3/15 : アブストラクトを締切日に提出(1200文字)。単語数じゃないので注意。はやく提出した人からアクセプトされていくので、はやめに出したほうが良いみたいです。といっても、出そうかと話したのが3/14だったので、これ以上自分たちも早くはできなかった…。
  • 2018/3/23 : アクセプト通知がくる。最終日に提出してもいけたので問題なかったみたいです(むしろRejectはあったのか?)
  • 2018/6/16(くらい):ポスターの仕様が公開。47inchモニターに写して発表と知る。横長で作りなおした。
  • 2018/6/22(くらい):ポスター発表スケジュールが公開
  • 2018/7/11 : 発表

ブリスベンについて

ブリスベンへは、東京からカンタス航空で直通便がでており、8時間15分程度のフライトでした。オーストラリアの入国検査は無人で行えるスマートゲートですぐに入国できたのは感動的でした。いろんな国に導入してほしいな…。

到着後は、タクシーで約30分で会場近くのホテルに到着しました。景色や部屋も広くてとても快適でした。

オーストラリア自体が初めて訪れました。この時期は冬ということで、朝と夜は冷えますが、それでも10度程度ので、ユニクロのウルトラライトダウンで十分耐えれる感じです。昼でも日陰は冷たいですが、日なたは暑いくらいでカラッとした陽気はオーストラリアらしい天気でした。

f:id:gingi99:20180712113932j:plainf:id:gingi99:20180712114023j:plain

記念にカンガルステーキも食べることができました。

f:id:gingi99:20180712170714j:plain

ブリスベンはオーストラリア第3の都市と言われていますが、都市部はそれほど大きくなく、歩いて十分回ったりすることができました。シドニーメルボルンもいずれ行きたいと思いました。

さいごに

useRの発表はほぼすべて?ビデオで公開されているみたいですので気になったものは視聴することもできます。

R Consortium - YouTube

しかし、現地で生で聞いたほうが吸収率もあがる感じがするのは集中力の問題でしょうか…。 また、来年のuseR2019はフランスのトゥールーズで開催されるようです。別のネタでまた発表したいなと思いました。

www.user2019.fr

社会人博士課程を修了しました

2018年3月に博士(工学)の学位を頂きました。2013年3月に修士(工学)を卒業し、2015年4月に再び同大学で社会人博士課程で入学し、ちょうど3年で卒業しました。

私の研究は、簡単にいうとデータ分析の結果をさまざまな条件下で活用するための研究になります。社会人博士課程は大変と聞いていましたが、実際3年経って振り返ると自分の想像以上に大変でした。しかしながら、3年間取り組んで良かったと思います。実際に、博士の学位を取って後悔した人はほとんどいないと聞いていたとおり、私自身もそう感じています。なぜそう感じるかは、いろいろな面でのスキルアップやコミュニティ形成などがあったからなのでしょうが、私自身は博士論文を完成させるまでの過程で訓練される「本質とはなにかを考える力」が自分にとっては1番大きいものだと感じています。

この記事では、入学から卒業までの3年間の流れを振り返ります。これから社会人博士課程を目指す人になんらかの参考になればと思います。

入学の理由

  • 単純に博士という学位自体に興味があった。そして取り組みたい問題もあった
  • 学部時代に社会人博士課程に通っている先輩がいて、社会人をしながら研究・勉強を続けている姿に憧れを抱いた
  • 私も修士で就職すること(ソフトウェアエンジニア or データ分析者として)は決めていました。当時、社会で役立つものは何かを自分なりに考えてから、それを踏まえてもう一度研究をしたいと考えていたため

環境

入社してからデータ分析に関する研究開発部署に配属。今でも大きく環境は変化していません。 社会人2年目の後期に、当時の研究室の教授にアポイントをとり、直接相談して、社会人博士課程で入学することを快諾してくれました。

その後、会社では上司に相談。上司も快く快諾してくれた。私の所属が研究開発部署であったことがとても大きかったと思う。また、周りに社会人博士課程を卒業した先輩社員もいた。

入試

研究テーマに関して、入学する専攻の教授陣(10名〜20名)に対してプレゼンテーションを行いました。とくに3年間のストーリーを話すことができるかが議論の対象だと思います。

今思うと、このとき話した内容から大きくずれた研究もしているなと感じます…。

授業

自分の場合は修士と同じ大学であったため、取得する必要のある授業はなく、必修科目の研究指導関連のみ。これは社会人である自分にとってとても助かりました。

時間

平日は帰宅後、数時間。電車での移動中に論文読んだり、考えたり。残業もあまり無い環境であったので、環境にも恵まれたと思います。

あとは土日。ずっとっていうことは無く、妻と予定を立てて、ご飯を食べに行ったり、たまに日帰りで遊びにいったり、気分転換も割とやっていました。自分の場合は、研究はどこでもできる(脳内)と思っていたので、移動中に論文読んだり瞑想したりで少しでも研究脳を忘れないように意識はしました。また、幸いにも妻もいろいろと気を遣ってくれたことに本当に感謝。博士論文執筆中に、ちょうど子供も産まれましたが、多くのサポートをしてくれました。

費用

学費

国立大学の一般的な学費(入学金+授業料)がかかりました。

交通費

月1度、片道1万程度の新幹線がかかっていました。私の場合は、2年生前期〜3年前期からは仕事の都合で関西勤務となり、交通費を抑えることができたのは助かった。また、色んな経緯で貯めることができていたマイレージを使用して国内線特典予約をかなり利用できたので、金銭的に助かりました。

PC

大学からの支給品や自宅のMacbookで十分だった。

計算環境

これもリモートからログインして計算に利用できる十分なサーバが環境としてあったので問題なかった。これもかなり大きいのではと思います。

タスク管理

Trelloで管理した。とくにラベル付けなどをちゃんとして、見た目を充実させて自分のモチベーションを維持した。仕事ととの頭の切り替えが難しいときもあったので、すぐに研究で考えていたことを思い出せるように、Trello上にTO DOをダンプするようにした。

論文整理

Evernoteでまとめた。ダウンロードしたPDFファイルは、論文整理用のソフトは使わずに、Dropboxで[YEAR]_[AUTHOR]_[TITLE]でカテゴリごとにディレクトリを作って保存していた。しかし、最終的に効率の良さを考えて、Papers3 を導入した。学生なら49ドルで購入できるので、とても便利です。

英文校正

博士論文の質をあげるために、英文校正を行いました。基本的な英文法チェック等の一般的なものを使用した。 価格は最初の提示額から希望値段を言うと、半額以下に値下げることができたので、主張することは重要。

博論製本

私の大学では、PDFファイルを提出すれば、製本は不要でした。 そのため、落ち着いた3月に関係者に配るため、記念に製本しました。 研究室の製本機が不調だったので、インターネットで検索して専門業者に依頼しました。

博士過程の流れ

1年目(2015年)

  • 修士時代に行っていた研究を後輩が追加実験を行ってくれていて、それらを加えて、改修したものをジャーナル論文(1本目)として投稿した
  • もともと興味のあった分野の最近の動向や研究を調べて、予備実験を行っていた
  • 後半くらいから主張すべき点をまとめて、国内の全国大会向けに投稿した

2年目(2016年)

  • 春に全国大会発表、夏にも国内の学会で発表。学生賞を頂いた
  • 春に発表した内容をブラッシュアップして、国際学会で発表
  • 9月ごろに1本目の論文がアクセプト
  • 発表した国際学会の特集号を狙いに、12月頃にさらにブラッシュアップしたものを論文投稿(2本目)
  • ほぼ、同時に12月ごろに別の研究のアイデアがでてきて、実験したらうまくいったので、2月にそのまま国際学会に投稿

3年目(2017年)

  • 昨年発表したものがヤングリサーチャー賞を受賞。表彰される(とてもラッキーでした)
  • 特集号の2本目の論文がアクセプト
  • 国際学会発表
  • 国際学会発表後に、ブラッシュアップしたものを国内の学会誌に論文投稿(3本目)
  • 投稿後、それの拡張の実験をしていると同時に、博士論文執筆時期
  • 2月に国内の学会誌もアクセプト通知

博士論文のスケジュール

2017年春ごろ

  • 学位を取得した先輩から、論文のフォーマット(Tex)を頂く。ざっくり修了までの流れを雑談で聞く

2017年夏ごろ

  • とりあえず、頂いたTexがなぜかコンパイルできなかったので、ざっくり図とかの作りを見直す

2017年10月

  • とりあえず投稿したものをまず流しこんで体裁をざっくり整える

2017年11月 

  • 上旬:発表論文リストや謝辞もつくり、一旦完成させる。。この時期に、会社で行っていた研究のアクセプト通知。2月上旬にアメリカでの発表が確定したので、審査と重複しないか早めに確認
  • 中旬:主査の先生(担当教員)に提出
  • 下旬:副査の先生方にも提出。提出の際に、数十分程度軽く内容を説明する

2017年12月 

  • 上旬〜:担当教員から添削と修正点がはいる。かなり真っ赤になったことに反省。。
  • 上旬〜:添削頂いたところを修正
  • 中旬:公聴会で発表。副査の先生を中心にコメントをもらう
  • 下旬:学位申請書等の事務手続き資料を揃える。当時の後輩が論文の著者で連名になっているものがあったので、サインをもらったりが必要

2018年1月

  • 冬休みを利用して、論文を修正。 年越しの瞬間も論文修正してた。
  • 上旬:外部の英文校正会社に論文チェックをしてもらってさらに修正
  • 中旬:論文を印刷して、簡易製本を行い、学位申請書と共に事務に提出。これで一息つけた

2018年2月

  • 上旬:企業で行った研究について国際学会で発表@アメリカ
  • 中旬:最終諮問を実施。そのまま最終版を印刷して提出。終了

2018年3月

  • 上旬;最終審査を通過した連絡を頂く
  • 下旬:卒業式。学位記を受領

よかったこと

  • 博士論文を仕上げることで、技術はもちろんなのですが、問題に対して、議論の質をあげる力、執筆力、プレゼンテーション力など総合力が鍛えられたのかなと思います。目に見えるものではないですが、ときどき実感することはあります
  • 名刺に博士(工学)と書けること(わかりやすく嬉しい気がします)
  • なんとなく会社でも広まって、応援してくれたり、そういう目で見られてなんとなく評価ももらえたこと(直接的なものではないが、人間的によかった)
  • まだまだ企業人で博士の学位を取得している人は周りに多くいないので、自分自身のプレゼンス向上につながる(はず)

苦労したこと

  • 博士論文自体の執筆は、単なる投稿した論文の焼き直しではないことを実感。ストーリーから構成まで新たに執筆する部分が増えて大変でした。。研究の振り返りにもなると思うので、ストーリーはどこかのタイミングで定期的に考えないとなと思いました。
  • 執筆における英語の表現力が不足していることを痛感しながら、英語は最後まで苦労しました。。
  • 仕事の繁忙期と学会誌の締切が重なると普通に辛いですね。。

犠牲になったこと

少なくとも約3年間の平日と休日の余暇が犠牲になります。 例えば、友人と遊ぶ時間・飲み会の参加・他の勉強したいことができたときに優先度をうまくつけれるか等、多くの葛藤が生まれます。

私の場合は、例えば別の興味のある技術を勉強したい、会社でやっていた仕事で必要な技術を深めたい、などありました。今思えば、それらを並行になり遂げることもできたかもしれませんが、頭の中のパーセンテージを切り替えていくのも大変でした。このように、時折の自分自身のモチベーションが、優先度をつけてメリハリをつけて研究するための時間を捻出する精神力が必要になります。

そんな時もありましたが、妻がそばにいてくれたおかげで、良い息抜きもできました。逆にシングルは精神的に辛いことも増えるのかもしれません。

今後

一時期は、大学に戻ろうかなと考えていた時期もありましたが、周辺の大学の先生方の話を聞き、自分はデータがある企業でリサーチャー or データサイエンティストをしながら、現実の問題に向き合いながら、データを解析することに集中することにしました。仕事がら、大学とは何らかの関わりは今後とも継続するかと思いますが。

最後に私の恩師からありがたい言葉をいただきましたので、そのまま引用して終わりたいと思います。

10年後、20年後のことは、誰にも予測はできない時代になってしまいましたが、働きながら寸暇を惜しんで研究した経験は、きっと未来を照らす光になることは、私の経験上からも明らかです。

参考:博士課程に関するブログ

過去のブログ記事が出る度に読んで参考にしていました。こういう数少ない記事から、自分もがんばろうと思えていました。偉大なる先輩方に感謝です。

anond.hatelabo.jp

f-shin.net

社会人ドクターとして博士号を取得しました - K-ichi's tumblr

yumulog.hatenablog.com

d.hatena.ne.jp

statsbeginner.hatenablog.com

blog.goo.ne.jp

www.tamochan.com

社会人博士課程で情報学の学位をとる

next49.hatenadiary.jp

www.newsweekjapan.jp

ベストセラーコードを読んだ

ベストセラーコード 「売れる文章」を見きわめる驚異のアルゴリズム

ベストセラーコード 「売れる文章」を見きわめる驚異のアルゴリズム

ざっくり概要

機械が書籍のベストセラーを予測できるかという問いに対して、著者らが取り組んだ内容や分析について書かれています。 本の文書から、特徴を抽出して、機械学習によりベストセラーになる書籍を予測する問題に取り組んでいます。 予測した結果の精度は高い(80%)ことはもちろん、ベストセラーになる書籍の特徴を独自に分析。とくにフィフティ・シェイズ・オブ・グレイの例を用いて、本の中の感情の流れやベストセラーじゃない書籍との特徴を比較した分析が面白いです。

具体的なデータは、ニューヨーク・タイムズで紹介されたベストセラーリストをもとに500冊ほどのベストセラーの書籍とそれ以外の書籍数千冊の文書から、 形態素解析等のテキストマイニングにより2万以上の特徴を設計し、機械学習の分類モデル(SVMやk近傍法)を用いて、評価しています。

感想

問題設定が大きく、特徴抽出と機械学習の問題にして解くという好きなタイプの話でした(どこかに研究論文はあるのだろうか)。

また、モデルが出した答えは専門家から見れば当然なことも、機械がその答えを導き出せたことが、研究的にも大きな貢献。 専門家のカンみたいなのを定量的かつ言語化し、非専門家も納得できる客観情報にまで落とし込むのは、著者らの強い思いがあったのではないかと。 このプロジェクトはたしかどこかに4年かかったと書いていたと思いますが、問題の大きい研究をするというのは、こういうスケール感で達成されるものなのかな。

WSDM2018に参加しました

2018/2/5-9のロサンゼルスで開催されるWSDM2018に参加しました。この週はニューオリンズAAAI2018に参加・発表をしていたので、途中からこっちに向かうというスケジュールでした。

www.wsdm-conference.org

WSDMはWeb Search and Data Miningの名のとおり、Web検索とデータマイニングに関するトップカンファレンスです。514の投稿数のうち、84件がアクセプトされ採択率は16%のとても厳しい学会です。そのうち選ばれた数十件のみがシングルセッションで24分の口頭発表があり、残りはポスターセッションです。初めての参加でしたが、シングルセッションのためすべての発表を網羅的に聴講できたので、とても満足でした。また、コミュニティの温かさも感じることができ、大変有意義でした。

2/5

ニューオリンズを17時台に出発し、アメリカン航空で20時代に着きました。そこからタクシーで20分ほどのマリナ・デル・レイに向かいます。 マリナ・デル・レイはヨットの街で有名で、リゾート地として休暇を楽しむ人が訪れる街のようです。そのため、ロサンゼルスのダウンタウンからは離れた場所にあります。

f:id:gingi99:20180218153110p:plain

到着後、すでに先に到着していた同僚と近くのカフェ・レストランで食事をしました。

この日はVC・Industry Dayでのトークチュートリアルのセッションがあったようです。

2/6

From Search to Research: Direct answers, Perspectives and Dialog

WSDMの開始は、MicrosoftのHarry Shum氏からの講演でした。講演の内容はすぐにLinkedinの記事に上がっていました。

https://www.linkedin.com/pulse/from-search-research-harry-shum/

Microsoft検索エンジンBingについての講演でした。ユーザの検索意図を汲み取るための検索エンジンの進化を3つの例を用いて、説明していました。

f:id:gingi99:20180207024729j:plain

Direct Answersとは、検索ワードから意味を理解して答えを返す仕組み。Perspectivesとは、質問文の検索に対しての多様な答えを返す仕組み。Dialogとは、まさに対話型検索で、検索ワードから対話的に答えを返す仕組み。それぞれのケースを例を用いてBingの機能やアルゴリズムを説明していました。わかりやすい例も多くて、見てて面白かったです。

Search and Questions Answering

ここから本セッションが開始。興味深かった発表をいくつか紹介します。

Why People Search for Images using Web Search Engines

Tsinghua Universityの発表。ユーザのIntent別に画像検索の仕方がどう変わるかを分析した研究。最後にユーザの検索行動からIntentを予測できるかも最後評価していました。

Position Bias Estimation for Unbiased Learning to Rank in Personal Search

Googleの発表。去年のWSDM2017のベストペーパーから続いてのUnbiased Learning to Rankについての研究。ユーザがクリックするのは、ランキングによって決まる位置のバイアスがあるという点に焦点をあてているのがポイント。 つまり、クリックされるドキュメントは、ユーザがほしい情報と関連があるってことは想定できるが、逆はいつもTrueじゃない。なぜなら、Position Bias のせいで下のほうにあるドキュメントはいつもクリックされないかもしれないからである。よって、click dataはこのバイアスが入ってしまうので、そのようなバイアスを除くために、もっと単純な式にしてバイアスをノイズとして減らす定式化をする。

モデルパラメータの推定には、ランダマイゼーションで決める方法とEM使ってもうちょっとかしこくする方法を提案。Dataは述べていないが、GmailGoogle Driveで実験してるみたいでした。

Lunch

会期中はランチも提供してくれて、個人的にはこのランチがすごく美味しかった。さすが、リッツ・カールトンなのか。。

Conversations, Machine Learning and Privacy: LinkedIn's Path towards Transforming Interaction with its Members

LinkedinのChief Data OfficerのIgor Perisic氏からの講演。KDD2016のEmail Volume Optimization at LinkedInの話が中心で、Linkedinにおけるデータ分析の話。この話でこの論文知りました。Multi-Objective Optimization (MOO) problem とユーザの満足度を定義するUtility Functionの設定がポイントだと思う(細かいところがよくわからなかった)。

内容と関係ないが、Likedinのミッション「Create economic opportunity for every member of the global workforce」は個人的には好きです。

Poster セッション

いくつか興味のあるポスターの発表者と話した。全体的に、アルゴリズムが新しい話はDeep系のモデルで定式化してるのが特徴で、問題設定がユニークなのものはシンプルなアプローチなんだけど、実験しっかりしてるという印象を持ちました。

Learning to Rank Personal Photos for Public Sharing

GoogleのパーソナルフォトからSNS等で公開に適した写真を自動で選ぶ研究。手法は既存技術が中心で、シンプルに問題を解いてるところが好きでした。

この日は、そのままPosterセッションで出た軽食で満足して就寝。

2/7

Scalable Algorithms in the Age of Big Data and Network Sciences: Characterization, Primitives, and Techniques

この日最初のトークは、 USCのShang-Hua Teng先生のデータ探索の高速化の話。専門ではないので、途中から分からなくなってしまった…。

Crowdsourcing and Learning from Users

クラウドソーシングの研究はこれまであまり聴講したことなかったですが、全体的に面白くて興味を持ちました。

Ballpark Crowdsourcing: The Wisdom of Rough Group Comparisons

Bagとあいまいなラベルから学習させる。ECML PKDD 2016は2クラス分類問題のみだったが、それの回帰問題への拡張が今回の貢献部分。重みwとラベルyを同時に解く凸最適化問題に落とし込んで解く。 制約条件の上限と下限をクラウドソーシングで決める実験とか興味深い。議論としては、あいまいなラベルを制約条件のパラメータを今回みたいにある程度ノイズがあっても大丈夫なところ。本当に精度がそれで落ち着くのかが不思議だなーと感じました。

Orienteering Algorithms for Generating Travel Itineraries

Googleの研究で、旅程を自動で生成する方法。グラフで旅程を表現(ノードは訪問時間、エッジは移動時間)。Googleの発表は何ができるかをすごく丁寧に話してどうやっては論文見ろっていうのが多いんだなーと思った。評価はUtility関数とヒューマン評価で、自動生成したほうが満足度高かったという結果。

Matrix Factorization and Recommender Systems

Micro Behaviors: A New Perspective in E-commerce Recommender Systems

University of Minnesota & Data Science Lab, JD.comからの発表。ユーザのMicroな振る舞い(ユーザがモノを選ぶまでに見た行動履歴)の情報も使ってGRUでモデル化してる。この手の研究はデータの強さが一番だから、なんとも言えない…。

この日の夜はFantaSea One Yachtでのクルーズしながら、Conference Banquet。円卓で隣に座ったとある会社のエンジニアと話して年収の話や各国の教育の話で面白かったです。

f:id:gingi99:20180208140725j:plain

f:id:gingi99:20180208131636j:plain

2/8

Ads, Finance and More Matrix Factorization

Predicting Audio Advertisement Quality

Georgia Institute of Technologyからの発表。音広告の品質の予測で、Long Click Rateなどの特徴量からどれだけ予測できるかなどのUser Study。CNNがスコアは高いが計算時間が超高く、それを考えるとロジスステッィク回帰すげー優秀な成績だなと感じた。ストーリーがわかりやすくて、論文の構成が参考になりました。

Putting Data in the Driver’s Seat: Optimizing Earnings for On-Demand Ride-Hailing

Boston Universityからの発表。NYC Taxi Datasetを使って、タクシードライバーの収益を最大化しましょうっていう研究でした。

Business Lunch

この日だけLunch Boxを提供してくれてなぜかと思ったら、Business Lunchという名称で、学会の参加者数などの統計情報の発表や来年のWSDMに向けてオープンマイクで議論する時間が設けられた。

写真を撮り忘れたが、参加者数は500名ほどで、過去に比べてそこまで多いわけではなかった。また、発表されたトピックも概ね予想どおりでした。 f:id:gingi99:20180209061711j:plain

WSDM2019はメルボルンのようです。行ってみたい。

この日の午後から別件でサンフランシスコに向かったため、これでWSDMは終了しました。

おわりに

コミュニティがそこまで大きくなく全体的に温かい雰囲気のある学会でした。興味深い実データとそれに対する深いデータ解析を行う必要がありますが、何かしらの機会でもう一度行ければなーと感じました。

AAAI2018に参加・発表しました

2018/2/2-7でニューオリンズで開催されたAAAIに参加・発表したときの旅程も含めたメモです。 私自身は、2月5日の午前中に発表がありました。ロサンゼルスで開かれるWSDM2018に参加する予定もあったため、2/5の午後で抜けることになりました。

aaai.org

2/2

成田空港を17時代に出発しました。ヒューストン(IAH)経由で、ニューオリンズ(MSY)に17時に到着しました。空港から会場ホテル(ヒルトン)までは、タクシーで30ドルくらいの定額で、30分くらいだったと思います。 この時期はマルディグラのイベントがあったため、大きな道を渡ることすらちょっと難しい感じでした。

2/3

この日はEAAI、チュートリアル、ワークショップがありました。

私は発表準備で出席できなかったですが、別の参加者がFakeNewsのチュートリアルに出席しており、これまでのアプローチやデータセットなどのまとめ資料がとても良かったようです。

Computational Solutions against Fake News: AI vs. DB Approaches

夜はOpening Receptionがありました。すでにかなりの人数が参加していました。あまりがっつりご飯は食べずに近くの(といっても、徒歩20分くらい。。)スーパーに食材や水を調達しにいきました。マルディグラがあったため、道は少し遠回りになりました。。

2/4

AAAI / IAAI Welcome

開会の挨拶的なものから学会の統計情報等が発表されました。

参加者数は前回より、36%増加の2200名ほどだったみたいです。さすがのAIブームを感じました。 f:id:gingi99:20180204233630j:plain

投稿数は、47%増加の3800件と、参加者数以上に大幅に増えていました。 f:id:gingi99:20180204233647j:plain

国別のAccept数を見ると、アメリカについで、中国、続いて他の国が続くようです。 f:id:gingi99:20180204233724j:plain

論文の傾向ランキング、Machine Learning Method、Vision、NLPという順番です。個人的には、去年がどうだったかわからないですが、案外Application系の論文も多いなと感じました。 f:id:gingi99:20180204233744j:plain

発表の最後で、Baconという単語がある論文のAcceptance Rateが48%だったという報告で会場中の笑いを取っていました。逆にどんな論文にBaconが入っていたのだろうか…。

Challenges of Human-Aware AI Systems (AAAI-18 Invited Talk)

最初にアリゾナ州立大学のSubbarao Kambhampati先生から人間を意識したAIシステムに関するいくつかの問題点を紹介する話がありました。

人間がAIが定めたルールから意思決定をしていく場合に、AIが定めたルールを人間は選択しないことのほうが多い話が印象的でした。全体的に、AIを人間が適切に使うことがまだまだ難しいということがメッセージだったと思います。

IAAI-18: Focus on and Support of the Customer

Hi, how can I help you?: Automating enterprise IT support help desks

IBM Reseachの発表。QAシステムの話で、顧客が満足する回答を返す方法についての話。

CRM SALES PREDICTION USING CONTINUOUS TIME-EVOLVING CLASSIFICATION

CRMシステムの話で、時間の進化で顧客の嗜好も変わるからその分を考慮した(時刻を条件付きにして、特徴量を修正するような変換)アプローチの紹介。

VoC-DL: Revisiting Voice Of Customer Using Deep Learning

Adobe Researchの発表。顧客からの声が何のトピックか分類する問題。CNNとRNNを使って特徴をうまく作ってるような話。

IAAI-18: The Business of Time and Money

Secure and Automated Enterprise Revenue Forecasting

Microsoftの発表。収益予測が結構自動でうまく当てれる話。どの辺が効くのかの詳細を論文をあとで追う。

Investigating the Role of Ensemble Learning in High-Value Wine Identification

ワインの価格予測。アンサンブル学習(バギング、スタッキング)の方法を実験していた。

Poster

夜はポスターセッションがありました。軽食で出たハンバーガーが意外と美味しかったです。

Deep Learningの論文の図を解析し、自動でコード化する発表をしていたポスターが面白かったです。

2/5

IAAI-18: Analyzing Software and Network

Classification of Malware by using Structural Entropy on Convolutional Neural Networks

CNNを用いてマルウェアの分類精度をあげた話。

Mobile Network Failure Event Detection and Forecasting with Multiple User Activity Data Sets

ユーザ行動(ソーシャル上での行動、またはサービスに対するWebアクセスや検索)からサービス故障を検知・予測できるかという話を発表しました。予測はどうしてできるかのという点で質問をいただきました。

DarkEmbed: Exploit Prediction with Neural Language Models

Exploitをとらえるために、スパースなデータのEmbeddingをどうやるかについての研究。

ニューオリンズについて

アメリカ南部ははじめて行きました。会期中がたまたまマルディグラの時期で、1日中パレードがやっていたみたいです。なんとなく暗い道が多く、全体的に治安を心配するところもありました。

ミシシッピ川が会場ホテルのすぐそばで、RiverWalkがありました。あまりキレイな色ではなかったですが…笑。

f:id:gingi99:20180204135141j:plain

会場近くのGrand Isle Restaurantにいきました。ニューオリンズはアメリカの中で美食の街としても有名みたいで、海鮮が美味しいようです。ザリガニ料理などを食べました。たしかに美味しかったです。

f:id:gingi99:20180217231246p:plain

Amazon Echo が届いたので、生活を便利にできるか試してみた

Amazon Echo Dot がついに家に届きました。リクエストを発売日初日に出していたつもりでしたが、Amazon Echoの注文を見逃したからか、招待がキューの後ろに回されたように感じました。

Amazon Echo Dot (Newモデル)、ブラック

Amazon Echo Dot (Newモデル)、ブラック

EchoからIFTTTを使ってTO DOをTrelloに追加

私はTo Do リストとして、Trelloを利用しています。

食器の洗い物をしているときに「あれしなきゃな」と思ったことをTrelloに書き込みたい。だけど、手が使えないときに、To Doに忘れないうちに追加しておきたいと思うことがありました。

それを可能にするため、Amazon EchoからIFTTTを使って、Trelloに追加する設定を行いました。

IFにあたる部分は、Alexaの item added to your To Do List を選択します。

THENにあたる部分は、Trelloの create card を選択します。

これで設定完了すると、「Alexa 野菜ジュースを買ってくるってTODOリストに入れて」からTrelloのTO DOリストに追加が一言で済むのでとても便利です。

EchoからIFTTTを使って育児記録をLINEに通知

子供のおむつやトイレがいつしたかを妻が記録していますが、声だけでできないかなと思ってました。調べると、すでにDashボタンを利用して管理しているのを見つけました。

qiita.com

これを参考にとりあえず、IFTTTでできることを設定します。

IFにあたる部分は、Alexaの Say a specific phrase を選択して、ここでは「うんち」を入力。

THENにあたる部分は、事前に妻とLine Notifyのグループを作っておいて、そこに通知がくるように LINEの send message を選択。

これで設定完了すると、「Alexa うんちをトリガー」と言えば、LINEのグループに通知が来るようになりました。

少しハマったのは、「Alexa トリガー ◯◯」はダメで、「Alexa ◯◯ トリガー 」だと言うこと。 また、オムツだと反応してくれなかったりするのが、何が原因かわからなかったり。。

これだけだと、夜中でも声を出さなきゃだめな点がやはりネックなので全部の記録はできないですが、昼間はこれを利用しても良いかもと思いました。

ピカチュウトーク

最初にスキルをONにしたのがこれです。

息子がこれにどう反応するかがこれから楽しみです。

まとめてトピックを話してくれる

「Alexa 何かある?」でを話してくれるのは毎日使いたくなる感じがしますね。

英単語を流してくれる

キクタンのスキルをONにしました。英単語をリズミカルに流してくれるのは、口ずさみたくなる感じで良いですね。

まとめ

声で操作できるっていうのは、手で操作するよりやっぱり速いので、ワンフレーズで何かイベントを発生させるのは楽しいと思いました。

また、「Alexa ◯◯を教えて」はスマホで調べるより、まず最初にためそうかなと思います。

個人的にはTO DO 追加が一番便利になったかな…。

2017年導入してよかったこと

新年あけました。みなさんの2017年買ったよかったものなどを見てると、自分もまとめておこうかなと思いました。

習慣

Google Keep と Trelloと Evernoteのまとめ方が確立できた

Keepにメモを残す。その後、タスクはTrelloで管理する(To Do -> Doing -> Done -> アーカイブ)。作業内容・調べたこと・参考サイト・Tips・思ったこと等はEvernoteでまとめる。これでだいぶ落ち着きました。

ジムに通ったこと

日頃の運動不足を少しでも解消したいということで、2月から9月まで自転車でいけるジムに週1程度通いました。がっつり筋トレというより、日曜のオープンとともに、ランニングマシンでテレビをみながら5km走ったあと、その後ひととおり筋トレをして、お風呂入って帰るのみでした。時間にして、1時間〜1時間30分程度ですが、それだけで体調がなんとなくよかったのと、汗をかくことでリフレッシュできていることを実感しました。過去にも何度かジムに通ったことがありましたが、半年以上習慣かできたのははじめてです。10月からは子供が産まれたのと引越しして新しい場所に住み始めたので現在は停止中。

みてねをはじめた

mitene.us

子供が産まれたと同時に噂で聞いてたみてねを始めた。 どんなもんかなと思ってやってみたが、想像以上に圧倒的によかったです。

  • シンプルで見やすいレイアウト
  • お互いの親族が遠方にいるので、すごく喜んでくれている
  • 毎月フォトブックを自動的につくってくれて、簡単に注文できる。これでスマホが見れない親族にも送れる。

とくに、親族は毎日楽しみにしているらしく、妻は毎日写真をUPせねばとはりきるほどです。産まれたときの記録が時系列で残るってすごく良いですね。

論文を印刷して見ないようにした

重要な論文はもちろん印刷してリファーするのですが、全ての論文を印刷してるとかなりかさ張ります。PDF上でMacのプレビューでカラーラインをつけてポイントを押さえて見るようにするだけで十分な論文も多いので、そういう風に習慣化できたのは良かったです。

モノ

MTG 骨盤サポートチェア Body Make Seat Style

ついに導入。現在は意識的にこの上に座ってる。姿勢は昔は悪かったけど、これのおかげというより、姿勢をよくしようとという意識がついたのが大きかった。座りごこちも良いです。

BRUNO コンパクトホットプレート レッド

2,3人で使えるサイズのホットプレートを探していて、購入。見た目もよく、楽しくご飯が食べれます。長く使えるようにキレイにメンテナンスして使っています。

ビアカップ 能作 錫100%

誕生日プレゼントに頂きました(上記の夏限定バージョン)。冷蔵庫に一瞬で冷える(5分くらい)のと、ビールの泡がきめ細かくなる効果があります。お気に入りです。

Fire TV Stick

Fire TV Stick (New モデル)

Fire TV Stick (New モデル)

Amazonのセールのときに買いました。Prime Music と ビデオがテレビで見るために買いました。Prime会員は必須ではと思うほど、かなり便利です。

Bose SoundSport Free wireless headphones

仕事用(かつ運動用)に使っています。ワイヤレスイヤホンはじめて使いましたが、十分快適です。通勤の電車でPodcastやPrime ビデオをワイヤレスで見れて快適です。

パナソニック 10.0kg ドラム式洗濯乾燥機(NA-VX7700L-W)

新作が出て少ししてから、上記の1つ古いバージョンを購入しました。家電量販店に期待せずに行ったところ、たまたま最後の在庫を見つけて購入しました。そのときの価格ドットコム最安値よりも安く買えたので良かったです。洗濯物を干す作業が減り、大満足です。ただ、毎日ホコリを掃除するメンテナンスが必要なのは知りませんでしたが…。

ダイニングテーブル

もともとローテーブルしかなかったので、ついに購入。生活もさらに快適になりました。

【 極厚 20mm 】 やさしいジョイントマット 大判

子供の遊びスペースに買ったら、思いのほか横になるのも気持ちよく、ヨガマット代わりにも使えそうです。自由にレイアウトも決めれますし、不要になれば片付けるのも楽です。これは重宝しそうです。

2018年の導入予定

Amazon Echo でのスマートな生活

招待待ちなので、はやく試してみたいです。

iPad で論文読む

論文を大量に効率よく読む方法を模索中です。 色々見てると、まずはiPadでやってみようかなと思っています。

子供用の便利グッズ

子供のためのグッズ購入が増えそうな年になりそうです。

To Do ツール快適生活

新たな方法がないか思考錯誤は変わらずやっていきます。

何かで運動

ジム以外で家で運動する方法を模索中…