2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
提供:株式会社リクルートホールディングス
リンクをコピー
記事をブックマーク
Owen Zhang氏:今日の話でありますけれども、データサイエンスの先進の技術ということです。ランチの直後ですので、あまりテクニカルにならずに、少しエンターテインメントというような価値を提供したいと思っております。
今日のアジェンダです。イントロがありまして、私の観点から見たデータサイエンスとは何か。また、データサイエンスとプロジェクトとは何かという話。そして、我々はデータロボットで何をやってるか。
それから、データサイエンスのコンペがどのようなことをやっているのか。そしてそのあと、私の秘訣なんかも、いくつかみなさんと共有したいと思います。ただ、そこまで秘密の秘訣ではないので、期待値は下げておいてください。
そして実例の話をして、データサイエンスのコンペの制約・限界というお話をしたいと思います。いわゆる実世界のアプリケーションにどのようなチャレンジがあるかということで、最後まとめていきます。
これは私がもっと若かったときの写真です。そのほうがいいかなと思って、残しております。そして、Kaggle(カグル)のプロフィールであります。できるだけ透明にしております。
ここはちょっと泣いております。もう私は、一番のKagglerではないんです。ブラジルの、すごく優秀な人に、昨年の10月に負けてしまいました。でも、なかなかいい実績かなと。2年ぐらいは頑張ってやりました。
一番下のところでありますけれども、8回のコンペがうまくいきました。ここの(右下の)ところを見ていただきますと42。ここもよかったんですけれども。次のデータサイエンスプラットフォームに参画する前に、AIGという保険会社に勤めておりました。みなさんもご存知かと思います。東京にもオフィスがあります。
データサイエンスのテクニックについてお話しますけれども、データサイエンスとは何か。非常に大きな用語ですよね。数字にかかわっている限りは、データサイエンティストと自称できると思います。
でも、私の定義はもう少し狭いです。データサイエンスというのは何かというと、これはいわゆるプロジェクトで、いろいろな情報を活用して、成果をきちんと出すものであると考えています。
プロセスは、データサイエンティストが、ビジネスパートナーと共に、いろいろな機会を特定して何かを改善するということ。だいたいトップラインかボトムラインの改善だと思います。
あるいは病院であれば、その患者さんの来院数を上げるとか、それをデータ分析としてやると。この問題が特定できた時点で、どんなデータが必要なのかというのはわかりますので、必要なデータを集めるということになります。
そしてデータサイエンティストは、データをとにかくまとめる。そして、そこから有用な特徴を抽出することにかなり時間をかけます。そして次に、モデルを作って評価します。
そしてさらに、本番稼働に入れていって、将来のデータに活用していくということですけれども。その本番で稼働したら、モニタリングをしてどうであるか。モデルをしっかりと再評価していくということになります。
そしてまたさらに、オポチュニティを見つけていくということで、またサイクルを回すということになります。すごくラフに書いてありますけども、上のほうはドメインナレッジですね。いわゆるビジネスナレッジに駆動しています。そして下のほうはどちらかというとテクニカルな知識によって駆動されているという領域になります。
この大きな図の中で、データサイエンスのコンペティションは何をやっているのかということですけれども、いわゆるコンペは、ほとんどここのテクニカルな部分しかカバーしていないわけです。
モデル推定や評価やデータの組み立て、特徴の抽出など、そういったところだけです。ご存知の方もいると思いますが、Kaggleにいきますと、問題はすでに定義されているわけです。
このような問題があるということで掲示されているわけです。ですから、実際のところはまったくやる必要がないわけですね。その予測のところで終わるということになります。
データロボットにおきましては、私たちの仕事はKaggleやそのコミュニティからインスピレーションを受けて始まったわけですけれども、実装が非常に必須の部分なんですね。やはりデータサイエンスを実稼働させていくことが大事なわけです。
ですから私たちの今の仕事では、モデルの推定と評価、実装の部分をやっています。そしてさらに、このデータの組み立てや特徴の抽出もやっているということです。
私たちは若い会社・若い製品ですので、このようにカバレッジを広げていきたいと考えています。データの組み立て、フューチャーエンジニアリングも加えていきたいし、さらに包括的なモニタリング、そして解釈をやっていきたいと考えています。
みなさんは、データロボットの話だけを聞きに来ていらっしゃるわけではないと思います。ですので、ここからは「データサイエンスのコンペティションで何が起きるか」ということを話したいと思います。Kaggleをご存知の方はどのぐらいいらっしゃいますか?
(会場挙手)
ありがとうございます。データサイエンスのコンペなんですけれども、例えばデータの問題を企業から出すと、データサイエンティストが世界中からモデルを作って、そのコンペに参加するわけです。
もちろんそこで表彰を受けたり、お金を受けたりするんですけれども、リクルートはこのコンペをスポンサードしてくれた会社です。
例えば彼らはデータセットを持っていて、データセットというのは3つに分かれています。トレーニングデータと呼ばれるものはそのデータをコンペティターに渡してその上にモデルを作ります。
Public LBおよびPrivate LBがあります。
予測を作ったらプロジェクションの予測を提出します。モデルを出すわけではありません。予測だけを出します。そしてコンペのオーガナイザーが予測を比較して、誰が一番いいパフォーマンスなのかということを決めます。
そのコンペで、PRタイムのフィードバックを出してくれます。プロジェクションがどうだったのかというのを、パブリックリーダーボードに載せます。みなさんがコンペに参加すると、このリーダーボードで自分のモデルの成績を見るという、楽しいものになっています。
そのコンペの終わりに、実際のモデルのランキングが、このプライベートリーダーボードに出てきます。パブリックというのは非常にエキサイティングですね。2ヶ月ぐらいにおいて、それもリアルではないということになると、プライベートのリーダーボードに行って、見るわけであります。
このデータサイエンスのコンペのストラクチャーは非常に重要なことを思い出させてくれます。この予測というのは、答えがまだわからないわけです。もちろん、その答えがわかっているのであれば、予測しても意味がないわけで、答えがわからないものに予測すると。
我々のこの成功の秘訣ですけれども、スライドに関しては写メ撮っていただいてもけっこうですけれども、残念ながらこれらはまだ秘訣と言えるほどではないと思います。
成功するかどうかに関しては、運も大事だと思います。確かに10〜20のコンペに出ますけれども、その1つずつを見ると、やはり運が非常に重要な要素だと思います。
我々はノイズのデータセットとか、ノイズの結果に直面するわけですけれども、時間もないですし、幸運にも第三者の目から見て、たまたま新しい方向に向かっていたということもあると思います。
2つ目は、鍛錬と規律です。やっぱりモデルを厳しく評価しなくてはなりません。リアルなものでありますけれども、精神的にも規律というものが非常に大事になってくると思います。
3つ目は、やはり努力ですね。努力が大事です。私が最初にコンペに参加したのは4年前です。Kaggleは11年ぐらい前に始まったのでしょうか。
その直後に私は始めたわけでありますけれども、優秀なデータサイエンティストは問題を10問ぐらい見れば、「たぶんこれでわかるんじゃないか」と答えが出るんです。
そういった頭のいい人もいますけれども、私はそうではありません。なので、私はコンペにおいても、私の何百時間という時間をそれにかけるわけであります。時間をかければ、努力をすればアイデアも浮かんでくるということです。
Kaggleは趣味としてはいいんですけれども、キャリアとしてはあまりよくないです。本当にお金や報酬を求めるのであれば、それほどいいものじゃないと思います。
もう1つテクニカルなものがありますけれども、フィーチャーエンジニアリングというのは、非常に重要なデータサイエンスの一部でありますけれども、これまでのところ画期的なアプローチというのはありません。
これはドメインのナレッジドリブンのものが多いんですけれども、ドメインの知識、そして経験が重要であります。もちろん、モデルストラクチャーというのも、非常に大事になります。
最後の2つは、非常に効率性に関わるものであります。やっぱりいいアイデアを持つ、アイデアが浮かぶというのは大事なんですけれども、アイデアが浮かんだとしても、それはまだスタートでしかないわけです。
まずアイデアを持ちます。そしてそのいいアイデアを、正しくコード化しなくてはいけません。私の場合は、「非常にいいな」と、アイデアが浮かんでコーディングをするとうまくいかないとか。でも、非常にいいアイデアがたくさんあったとしたら、時間をかけてトライしなくてはいけません。
データは非常にたくさんのものがあるわけですから、それをトライしてみるということも、非常に大事だと思います。
哲学理論の話になりますけれども、我々データサイエンティストはモデルを作ります。そこで最大の障害になるのはオーバーフィットです。重要なこととして、オーバーフィットするためには、たくさんのやり方があります。
典型的な例としては、たくさんのバラメーターをモデルに入れてしまうこと。でも、このオーバーフィットの1つの方法としては、いろんなモデルをトライすること。例えば、いろんな50のモデルをやってみる。そうすると51番目が非常にうまくいったとしても、それは偶然そうなったということになりますね。
実験やランダムのシミュレーションは大事なんですけれども、例えばランダムに1,000ぐらいの数字を入れて、非常にいい予測結果が出たとしても、何の意味もありません。ただそうなったという偶然の結果であります。
毎回私はデータセットを持って、それを見てモデルを作ろうとします。そしてテストをする。「これはうまくいく、これは上手くいかない」とやったときに、統計的に言ってもそこで失うものも出てくるんです。なので、いろんなデータポイントがあって、それで終わりだとすると、データは非常に非生産的になります。
哲学として私が守っていきたいのは、もっと考えるだけ考えて、トライするのは少なくしようと。問題は深く考えて、そしてプロセスも考えていくと。そこでデータフィーチャーを作っていく。
そのプロセスを再現するようなプロセスを作って、考えていくと、ランダムにいろんなものをトライするよりも、まず先に十分に考えてやるほうが、効率がいいと思います。
事例に入る前に、いくつかの基本的な要素があります。 重要なこととして、データのコンペをするときには、やっぱり楽しまなければいけませんけれども、問題として、数学的な比較ができなくてはいけません。我々は勝者を決めなくてはいけないのです。トップモデルのパフォーマーが0.0001パーセントだとしても、その2番目とはそんなに差がないわけです。ということは、我々のモデルはどう評価するのか。
要はその答えを除かないで、どうやったらそれがわかるだろうかということになります。例えばデータを分けることができないのであれば、スタートしてはなりません。そうでないと、そのアプローチがうまくいくかどうかわからないからです。
2つ目といたしましては、ユーザーフォーラムがあって、今のコンペティターも前のコンペティターもアイデアをシェアする人がいますけれども。
でもフォーラムに入って、みなさんがすでにトライされているアイデアは、検証していただきたいと思います。そのうまくいかなかったアイデアというのは、事前に知っておく必要があると思います。
最後ちょっと飛ばしますけれども、これはそれほど安価なもの、携帯で簡単にできるわけではありません。ということで、メモリー上にデータを入れるだけでもそれなりの時間がかかるわけであります。しかし、十分投資に値するものであると考えております。ですからぜひ試してみてください。
ということでパブリックおよびプライベートのリーダーボードがあるということです。ということで、パフォーマンスのマトリックスのフィードバックはパブリックのリーダーボードだけでは出ません。
ロジスティックな問題を解いているときに、パブリックのリーダーボードは、実際にその分類の実際の合計が出るわけで、積み上げができるわけでありますけれども、モデルを作るために、初めてそれを提出するときにうまくいかないと、「これはコーディングの間違いかな?」というかたちで確認をします。ということで、Public LBは一種のチェッキング機能であるということになります。
それからもう1つは、自分のトレーディングデータと、それからパブリックのスコアが同じようなかたちで、並列して動くかどうかということになります。それが動くのであれば、それが理想であります。
これちょっとパブリックリーダーボードで映るということになりますけれども、アクセスに関しては、すべて同じアクセス権があるわけでありますけれども、時間、グループによって分けたときに、パブリックデータボードというものに作られます。
私としては、できればまったく新しいアルゴリズムを発明したい。それをコンペにかける、それで儲けるということになりますけれども、やはりなかなかそのようなまったく新しいものはないということで、使われたアルゴリズム、公開されたアルゴリズムを使うことがあります。ということで、そのようなアルゴリズムを熟知することは重要であります。
それらをいかに効率よく使うか。モデリングの予測でありますけれども、ここに書かれたものが不可欠であると思います。Gradient Boosting Machine、Neural Networks、それからRegulariized regression/SGD、そしてFactorization machine、SVM。
このアルゴリズムを作るということではなく、そのアルゴリズムをどうやって使うかということを理解する必要があると思います。
アンサンブルあるいはスタッキングをどうやってやるか。複数のモデルの予測とそれをいかにまとめることができるかどうかということであります。
株式会社リクルートホールディングス
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略