普通のデータサイエンティストと世界トップクラスのデータサイエンティストの違い

”ノン”データサイエンティストでも取り入れられる、データサイエンティスト的モノの見方・考え方

「データサイエンティストと名乗るのは厚かましいというか、自分はむしろ外れ値です」そう切り出した小野寺和樹さんは現在、DeNAのAI本部データサイエンス第一グループに所属している。

確かにデータサイエンティストには数学や物理学の修士や博士といった理系のバックグラウンドを有する人が多い中、小野寺さんは経済学部出身で数学の知識も「二次関数の頂点がわかるくらい」だという。

そんな小野寺さんだがKaggle Grandmaster(カグル グランドマスター)という称号を持っている。世界では163人、日本では10人程度しかいない(2019年11月現在)。

【補足説明】Kaggle(カグル)とは、データサイエンティストや機械学習エンジニアが集まる世界最大のコミュニティ。大きな特徴は、誰でも参加可能なコンペティションがあることだ。世界中の企業や研究機関などが提供したビッグデータと課題に対し、モデルの精度を競い合う。各コンペには、数百から数千のチームや個人が参加する。Kaggle Grandmasterになるには、コンペでゴールドメダルを5回獲らなければならない(少なくとも1回はソロ参加)。(*ゴールドメダルは1位を意味するものではなく、10位以内というイメージ)

「周囲の人みたいに物理学などはやっていないし、高度な数学もわからない。それでも、データをちゃんと見る力さえあればなんとかなると実感している」と小野寺さん。

データを見るとはどういうことか? 例えば、何万とあるユーザーID同士を一件ずつ比較しているのだという。

誰も手を出さない泥臭い領域に重要なヒント

「何万件というデータを一つずつ確認する作業は、普通あまりしないと思う。でも、こういった泥臭い作業はアルゴリズムが進化した今の時代でも必要」と語る。なぜそこまでの作業が必要なのか? 後でも触れるが、数学の専門知識がない代わりの人海戦術というわけでもない。2622人中2位になったコンペの事例を交えながら語ってもらった。

 コンペ内容は、食料品をネット注文すると配達してくれるサービス「Instacart」の保有データをもとに、どのユーザーがどのアイテムをいつ購入するかを予測するためのモデルの精度を競い合うものだった。例えば、毎朝ヨーグルトを買っている人がいたとすると、次の日の朝もヨーグルト買うだろう、夜にはきっと買わないだろう、といった予測モデルを作らなければならない。

Kaggleのオフィシャルブログに掲載された小野寺さんのインタビュー記事には、具体的なある局面が示されている。ユーザーID54035の8回目までの購買データをもとに、9回目に何を買うのかの考察だ。

出典:http://blog.Kaggle.com/2017/09/21/instacart-market-basket-analysis-winners-interview-2nd-place-kazuki-onodera/

「この人の購買履歴を見ると、コーラをよく買っていることがわかる。でも、8回目の注文時にはコーラを買っていない。これがどういうことなのかが気になった。データをよく見てみると、フリッジパックコーラという12本セットのバルク品を購入していた。これを買っているのでコーラを買っていないと推察した。ためしに他のユーザーの購入動向を見てみたところ同じような傾向があった。フリッジパックコーラはコーラの代わりになっている、逆もまた然りと結論づけた」

この分析のすごさのポイント

この表を見れば、コーラを買う頻度が非常に高いことやコーラとフリッジパックコーラがカテゴリー的に似ていることがわかり、それをもとに何かしらの推察をすることは比較的容易ではないだろうか。なぜオフィシャルサイトに掲載されたのか? どういった点が注目されたのか?

取材に同席した小野寺さんの上司の原田慧さんは次のように語る。原田さんは数理学の博士号を持つKaggle Masterだ。「実はフリッジパックコーラはコーラの代わりだということをコンピュータが理解することはかなり難しい。文字列を読み込んで、二つの商品が似ていることまでは気づくかもしれないが、ここまでの断言はできない。関連に確信を持って気がつけたのは小野寺さんがデータを目で見たからに他ならない。

私自身、結構なKaggler(Kaggleに取り組む人)だが、そもそも個別のデータからこの表を作ること自体がすごい。普通ここまでやらない。

多分、彼は思いつくことを全部やって、それでもまだ気になることがあって、個別のユーザーIDを見はじめたのだと思う。そこで、『1』が続いた後の『0』を見つけた。この表を見せられたらみんなその点が気になるだろうが、そもそも個別のデータをユーザーの気持ちを理解するために見に行こうという発想ができる人はあまりいない」

理論的アプローチだけでは見落としてしまうもの

コンペで支給されるデータは、膨大な行数のCSVファイルだ。上の表はそのデータから小野寺さんが作ったものだ。このユーザーのIDは5万台の番号だが、小野寺さんは片っ端からユーザーの購買データを見たのだという。

この発見の知見を取り入れたモデルの改善によって、順位が3位から2位に上がった(*コンペ期間中、何度でもモデルを改善し再提出してよい)。さらに現在、Instacartのサービスの一部に小野寺さんが作ったアルゴリズムが実装されている。

ユーザーの個別的なパターンや商品の関連性などを考慮できていない従来的なモデルでは予測の精度が落ちる。

小野寺さんは、「通常、9番目の情報を予測するために一番重要なのは直近の情報。明日その人は何を買うのか予想する時には1年前の情報よりも今日の情報が参考になりやすい。多くの人は直近の情報をめちゃくちゃ重要視するので、8番目のコーラを買わなかったというデータのインパクトが大きくなる。1、1、1、0と来ているので、『この人はもうコーラを買わないのかな』と考え、次に来るスコアは0〜0.5くらいだという判断になる。

しかし、自分のモデルでは『コーラの代わりにフリッジパックコーラを買っていて、コーラとフリッジパックコーラはほぼ同じ。また、フリッジパックコーラは新しい商品というわけではなく、連続で購入される傾向も低いこともわかっている。だから次はコーラを買う』という根拠で、1に近づけることができた」と説明する。

小野寺さんが取り組んだ手法は数学的な理論で代替できるのだろうか?

「数学的なアプローチは可能だろうが、よくわからないパターンがあるということがわかって終わりでしょう。コーラの代わりになる商品があることがあらかじめわかっていればモデルを作れるだろうが、そもそも代わりがあるんじゃないかという発想に至ることが重要だった。私みたいな数学屋だと、『まあ、一回だけたまたま買わない、なんてこともあるのかな。終わり』という思考になる」(原田さん)

データだけではわからないから使う人の気持ちになる

精度を向上させるために小野寺さんがしたことがもう一つあった。自身がInstacartのユーザーになることだった。コンペで支給されるデータはCSVファイルのみ。小野寺さんは「これだけではわからないことがある。例えば商品の売られ方や使い勝手はウェブサイトを実際に見てみないとわからない。サービスを使う人の気持ちになりたかった」と語る。ウェブサービスを触ってみたことで、品物の配置と売れ行きの関係性や、商品のピックアップのしやすさといったUX(顧客体験)との関連性にまで考えが及んだ。

膨大なデータを見る、ユーザーの行動を想像する、ユーザーとしてサービスを利用する、こういったことの積み重ねで予測精度は少しずつ改善する。

「データは納得するまで見る。コンペは期間中に自分の順位が世界で何番目なのかわかる。1位じゃないということは何か見落としていることがあるということ。そしてひたすら考える」(小野寺さん)

最後に、データサイエンティストとして仕事をするには、プログラミングのスキルはどの程度必要かと質問すると意外な答えが返ってきた。

「データサイエンスをやる上で、プログラミングの勉強は二の次、三の次で構わない。今回のコーラのような傾向を見つけてアルゴリズムをプログラムでどう書くかという部分では、確かにプログラミングのスキルによる差が出るかもしれないが、そもそもその特徴を見つけられるかが勝負の肝。if文のような初歩的な構文ができれば基本的には大丈夫だと思う」

取材後記~DeNAのユニークな制度~

DeNAにはデータサイエンスチームのメンバーに対して、業務時間を使ったKaggleへの参加を認める制度がある。小野寺さんは業務時間の30%をKaggleに充てている。データサイエンティストは、ビジネス上の問題をデータサイエンスとして解くべき問題に落とし込むことが重要だ。小野寺さんは、仕事で出てきた問題をKaggleに近い考え方で解くだけでなく、Kaggleでいうところの課題を作る、つまり解くべきに値する問題を作るところまでを担っている。Kaggleで得られた知見は、DeNAのゲームやヘルスケア、スポーツ事業等の各サービスの向上につながっている。(取材・平川透

小野寺和樹(おのでら・かずき)
AI本部AIシステム部データサイエンス第一グループ、データサイエンティスト。Kaggle Grandmaster。Kaggle世界最高ランク37位。大学卒業後、銀行系基幹システム開発に従事。金融コンサルとして金融機関の審査モデル構築に携わりつつ、2015年にACM/KDD 主催のデータマイニングコンテスト KDD Cup 2015 にて準優勝。2017年、KaggleのInstacart Market Basket Analysisにて準優勝。現在はDeNAにて各種サービスの機械学習活用に向けた開発を行っている。

原田 慧(はらだ・けい)
AI本部AIシステム部データサイエンス第一グループマネジャー。数理学博士、Kaggle Master。前職ではコンサルタントとして金融機関向けのデータ分析に従事する傍ら、数学力とデータ分析コンペティションで鍛えた技術力を活かし新規分野開拓、社内外の分析技術者育成に従事。2018年2月にデータサイエンスチームの立ち上げメンバーとして入社、現在はマネージャーとして多くのプロジェクトに関わりながら、個性的なメンバーを率いる。

ニュースイッチオリジナル

COMMENT

平川透
デジタルメディア局
記者・編集者

Kaggleを覗いてみると、開催中のコンペの情報を見れます。コンペに参加しなくても、様々な組織がどんなデータと課題を持っているのかがわかるので、データサイエンスとは具体的にどういうことなのか多少感じることができるでしょう。小野寺さんは「データを見る」とさらりと言っておられましたが、Kaggleから適当に落としたパブリックデータはものすごい量で、一個ずつ見るなんて生半可な気持ちではとても無理だと思いました。

関連する記事はこちら

特集