Devsumi 2018summer
- 3. © DeNA Co., Ltd.
⾃⼰紹介
n 原⽥ 慧(Kei Harada) , @Seed57_cash
⁃ 数理学博⼠ -> データ分析コンサル会社 -> DeNA(2018/02〜)
⁃ DeNAのデータサイエンスチーム(いわゆるkaggler枠)のリーダー
⁃ Kaggle Master
• Santa competition 2017/18 3位
• Santa competition 2016/17 10位
• Coupon Purchase Prediction 14位
• KDDCUP2015 2位(前職の会社でのチーム)
• Save the ⾖腐!コンペ 2位
⁃ 趣味のプロコン等
• Project Euler(state of the art)
• AtCoder(⻘)
• ⼈狼知能コンテスト
3
- 7. © DeNA Co., Ltd.
よくある批判
n Kaggleなんかやって何の役に⽴つの?
n じゃあ、あなたは何の役に⽴つのですか?
⁃ 精度の0.0001とか競って何になるの?
• ⾞に対するF1みたいなもの(前職の親会社の⼈の⾔葉)
• 競う中で「安全運転」もわかってくる
⁃ 勝つためのテクニックの移り変わりが早く、廃れるのが早い
• 事実としてはその通り、「新しいテクニックを⾝につける」というスキルがいまのご時世どれだけ重
要か考えてほしい
⁃ サイエンス特化ではなくて、バランス⼈材が⼤事ではないか
• なんでもできて、仕事をリードする⼈は素晴らしい。なんでも半⼈前にしかできない⼈は律速段階に
なり、⼀番役に⽴たない、まず何かで⼀⼈前になるべき
• ⼀⼈で何でも⼀流にできるスーパーマンは本当に稀で代替が効かない、⼀⼈のスキルに依存するのは
組織としてはダメなこと
• 仕事なのだからチーム全体としてなんとかなればいい
7
- 8. © DeNA Co., Ltd.
Kaggleで学べること ≒ Data Scientistに必要なスキル
n よく英語の資料で⾒かける必要スキル
⁃ 数学、数学的な思考
⁃ 統計
⁃ 機械学習の理論
⁃ コーディング(主にpythonの⼀部ライブラリ / R, SQL)
⁃ データの可視化
⁃ データハンドリング
⁃ データ収集
⁃ データを扱う「勘」
• 参考:8 Skills you need to be a Data Scientist (https://blog.udacity.com/2014/11/data-
science-job-skills.html)
n Hacker Mindset も、仕事上もKaggle上でも重要
8
真⾯⽬にやっていれば
習得不可避
上位を⽬指していると
必要に迫られる
学ぼうと思えば題材が
ある
- 11. © DeNA Co., Ltd.
なぜkagglerはKaggleをやるのか?
n 賞⾦
⁃ 優勝賞⾦は結構⾼額(数万〜数⼗万ドル)
⁃ 始めるきっかけには⼗分だが、継続する理由ではない
• 累積獲得賞⾦ / 累積kaggle時間 = 時給 は考えたくないほど低い
n ⾯⽩い、⾃⼰顕⽰
⁃ ネトゲで上位争いをする感覚に近い
n データ分析の勉強のため
⁃ 普段は触れられないデータや、新しいテーマに触れることができる
⁃ ヘタに論⽂を読むよりも、コンペに真⾯⽬に参加して、上位⼊賞者の解法を⾒た⽅がわか
りやすい
n ⾃⼰PRのため
⁃ 採⽤活動に利⽤するケースが⽇本でもここ数年増えてきた
⁃ Kaggle masterになると転職市場での価値が上がる
11
- 12. © DeNA Co., Ltd.
どんな⼈が強いkagglerになっているのか
n 数学・物理等の理論系出⾝
⁃ たまたまデータ分析が仕事になったことがきっかけ
⁃ 数学、統計、機械学習の理論への親和性が⾼いので、きっかけさえあればスキルは活かし
やすい
n 機械学習関連分野(画像処理、⾃然⾔語処理など)出⾝
⁃ 特定の分野に強くて、初めてみたら⾯⽩いからほかもやってみたら⾯⽩くなった、という
ケース
n プロコン勢
⁃ Kaggleも幅広に⾔えばプロコンの⼀種
⁃ 新しいことを始めるスキルが⾼い、すごく強い⼈はここに多い
n データ分析関連のエンジニア出⾝
⁃ 仕事の幅を広げてきたケース
⁃ まだ少数派の印象
12
- 13. © DeNA Co., Ltd.
Kagglerが得意なこと
n 精度の⾼いモデルを作る
n モデルの評価・検証の仕組みの設計
n ⾼速でモデル構築を終わらせる
⁃ 普段やってるので経験もコードの蓄積もある
n 幅広い引き出しから適切な分析⼿法を選ぶ
⁃ Kaggleで⾊々試しているので勘所がわかる
• 特にダメなケースは「最近勉強したこの⼿法をやってみたいから」
n データを⾒てあれこれ考える
⁃ 特徴量を作る作業の副作⽤
⁃ 裏にあるデータ処理のミスに気づく、とか
n 論⽂を読んで何となく理解する
⁃ 新しいことを学ぶ能⼒が鍛えられている
13
- 14. © DeNA Co., Ltd.
Kagglerが得意とは限らないこと(1)
n データ処理、蓄積の設計
⁃ Kaggleではすでに処理されたデータが与えられるので、Kaggleでは必要ではな
い
n 解決すべき問題の⼤枠の設計
⁃ Kaggleではすでに設計されている
⁃ 問題をそもそもひっくり返すちゃぶ台返しは、仕事では重要だがKaggleではや
っても仕⽅がない
n 可視化、わかりやすく説明する
⁃ 最後にモデルができさえすればいい
n 綺麗なコードを書く
⁃ これで実装してください.R の品質は個⼈差が⼤きい
n Kaggleを禁⽌されること
14
- 15. © DeNA Co., Ltd.
Kagglerが得意とは限らないこと(2)
n 多くの⼈とコミュニケーションする
⁃ 会議よりも⾃分の作業に集中したい、というタイプが多い
• けして⼈間嫌いなわけではない
⁃ 仕事の範囲が明確である⽅がいい
n 論⽂を書かされる
⁃ 論⽂が読めると書けるは全然違う。研究者のレベルでの最先端のキャッチアッ
プ(誰よりも先にarXivから論⽂を⾒つける、とか)はkaggleでは必要ではない
n 隙のない教養、体系的な学習
⁃ 「えっ〇〇本読んでないの?」というようなケース
⁃ Leaderboardで結果が出るものに興味がある
n 何年も⼀つの仕事をする
⁃ 新しいことへの好奇⼼が強い⼈が多い
15
- 17. © DeNA Co., Ltd.
Kagglerにとって何が幸せか
n 「不仕合せ」の最⼩化
⁃ 会社で仕事をするのは幸せばかりでない
• 働かずにノーリスクで同じ年収もらえるなら、働きたくない、よね?
⁃ 「幸せ」を積極的に与えるのは難しくて、不幸な巡り合わせを減らすことが会
社としてできること
• 多くの⼈とコミュニケーションする → 仕事の疎結合化
• 論⽂を書かされる、隙のない教養、体系的な学習 → 正しい理解
• 何年も⼀つの仕事をする → 適切なアサイン
• Kaggleを禁⽌される → 禁⽌しない
⁃ 得意でないことは得意な⼈と組んで⼀緒にやればいい
• データ処理、蓄積の設計
• 綺麗なコードを書く
• 可視化、わかりやすく説明する
• 解決すべき問題の⼤枠の設計 17
- 21. © DeNA Co., Ltd.
まとめ
n KaggleをやるとData Scientistになるのに必要なスキルが⾝につく
⁃ しかも楽しい!
n Kagglerにはいろんな⼈がいて、できることも様々
n Kagglerには得意なことと、そうでないことがある
⁃ 個⼈差もかなりある
⁃ 正しく理解して、強みに集中させる
⁃ できないことは他の⼈がフォローする
• データ処理、蓄積の設計
• 綺麗なコードを書く
• 可視化、わかりやすく説明する
• 解決すべき問題の⼤枠の設計
21