普通のデータサイエンティストと世界トップクラスのデータサイエンティストの違い
「データサイエンティストと名乗るのは厚かましいというか、自分はむしろ外れ値です」そう切り出した小野寺和樹さんは現在、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くらいだという判断になる。
<8828>8828>