初めに
僕は数学がもともと好きで、大学でも数学を専攻しているが、二回生夏頃から機械学習に興味を持ち始めた。
しかし、家庭的に、実力的にアカデミアで生き抜いていく自信がなかった。
お金を稼げる職業が欲しかった。そんな時に機械学習に出会った。機械学習の裏には様々な数学が広がっている。僕は好きな数学を応用できて、稼げるこの業界で生きることを決めた。
大学院で外部を受験することはもともとは先生に勧められた。自分も、環境を変えて、機械学習に対して、真摯に取り組んでいる人たちの中で自分も成長したいと思ったので、外部受験した。
以降のこの記事では、自分がこれまで活動してきた中で、「データ分析業界でいかにして生き残るか?」について考えていたことをまとめる。
この記事は、自分の学生としての今までのインターンなどの経験に基づいた僕の考えなので、間違えていたら、ご教示いただきたい。
始めに自己紹介をして、そのあと、キャリアについて話そうと思う。
※かなりポジショントークになっていると思うので不快にさせてしまったら、申し訳ない。
目次
- 君は一体誰だ?
- データサイエンスについて
- 数学について
- 大学院について
- 人脈について
- まとめ
君は一体誰だ?
数学を専攻していて、機械学習に興味を持って独学している学生。
これまでの活動
- 学部二回生夏
突如、遺伝統計学に関する研究に誘われる。学部二回生夏を研究のための勉強にすべて費やす。 - 学部二回生12月
東京にて、研究内容の発表。19歳なの自分だけで、懇親会のお酒、自分のせいで禁止になる。懇親会で、企業からインターンに誘われる。イベント登壇者として、日経新聞載った。 - 学部二回生1月
彼女できる(どうでもいい) - 学部二回生3月
インターン(アルバイト形態)始まる。出勤日数少ないながらも続ける - 学部三回生10月
大学院入試に向けて勉強開始(地獄だった) - 学部四回生5月
リモートでの分析のアルバイトを手に入れる。(業務委託) - 学部四回生8月
大学院合格
研究は先生と友達に誘われた。(その友達とはそれ以降一緒に勉強してきた。)
インターンでの研究業務などはあまり語れないが、一つは統計学に関する研究。もう一つはピープルアナリティクスという分野のデータ分析に関する研究。
今後の活動について
来年度から数学専攻から離れて、大学院で機械学習を研究することが決まっている。大学院では、研究や、数学、機械学習などの勉強はもちろんだが、課題解決能力を上げるように努めたい。
また、様々なイベント、勉強会に参加して、人脈を増やす活動も欠かさず行いたい。
できれば博士とりたい。そのあと企業で研究開発職に就きたい。
データサイエンスについて
キャリアを語るうえで、まずは「データサイエンスに必要な力とは?」について、学生の立場から考えた。
ビジネス力
データサイエンスは、データから価値を生み出すお仕事だと考えている。(自分は)
どういったことに価値があるのかは、人(クライアント)によって、当然違ってくる。
クライアントにとっての価値を理解し、問題定義をまずはしなければならない。そのためには、クライアントから与えられた課題を、「潜在的にどこが問題になっているのか?」ということを探っていく必要がある。
ただ、クライアントはデータサイエンスの経験者ではない。(もし、そうなら自分でやってる)
つまり、クライアントの解決したい課題をデータサイエンスで解決できる課題に落とし込む必要がある。ただし、その際、クライアントにとっての価値(ビジネスインパクト)を無視することはできない。
以上のように、クライアント側にとっての価値を理解し、与えられたビジネス課題を潜在的な課題に落とし込んだうえで、データ分析で解決できる課題に落とし込む力である「ビジネス力」がデータサイエンスに必要な力の一つと言える。
ITスキル
具体的に問題定義ができれば、データ分析業務が始まる。
ビッグデータと呼ばれる時代なだけ、扱うデータは大きいものが多い。必ずしも多いわけではないが、人が目で見て計算するとなると、完全に頭が逝かれる。
大量のデータを扱う際、プログラミング力は必要不可欠である。また、データベースの知識なども必要になるはず。少なくともPython,R,SQLは触れた方がよいと思っている。
また、Excelなどの知識も、たぶんあった方がいい。(これはたぶん)
解析能力
これは言わずもがなだと思う。
数学、中でも線形代数、微積分、統計学は欠かせないはず。しかし、よくデータ分析に必要な数学として、この三つがあげられるけど、まったくもって足りないと考えてる(個人的見解)。その話は、また後で。
世間ではAIというワードが盛んすぎる。どこでもかんでもディープラーニングが力を発揮しているわけではないと思う。従来の統計学に基づく分析で事足りることもある。
これは特に学生の方に伝えたいのだが、会社では工数をかなり意識する。つまり、作業時間。
自分がインターンをするまでは、「いくら時間をかけてもいいからよい分析を!」と思っていた。もし、同じことを考えている人がいれば、それは学生だけであることを伝えたい。(自分も学生だけど)
抱えている課題や納期によって、工数と分析結果の良しあしはトレードオフになることがある。その場合、適切に工数管理をする必要があり、簡単な分析手法でもいいから工数を減らした方がよい場面なんて腐るほどある、ハズ。
そういった理由も含め、流行りのディープラーニングばかり勉強するのではなく、地に足の着いた従来の分析手法も勉強するべきであると思っている。
数学について
さて、うえでは、データ分析をするために必要な数学として、線形代数、微積分、統計学がよく上げられるという話をした。
自分は、これだけでは全然足りていないと考えている。
確率論、関数解析、代数、多様体、(偏)微分方程式、離散数学、さまざまな数学が必要だと思っている。それは、分析手法の裏に隠れている「数学的な保証」を理解するためだと考えている。あとは単純に、様々な数学を知っていると分析の幅が広がるし、より厳密な議論ができるはず。
逆に、線形代数、微積分、統計学のみしか知らない分析者は、少なくとも解析能力を強みにして、業界で生き残ることはできないと思う。この三つのみで完結する分析手法だけで戦うのは、歩兵が飛車と戦うくらい差がありそう。(例え下手)
僕は、データサイエンスの業界で生き残るための、自分の強みとして、上にあげた三つのスキルのうち、どれか一つでも極めないとだめだと考えている。ただ、ビジネススキルは学生は最も身に着けにくいと思う。ITスキルは、情報学部の学生が強いはず。自分の場合は、数学専攻なので、解析能力を武器に戦いたいと思っている。(というより、そこしかない)
大学院について
大学院に行くべきか、について話そうと思う。
結論は、当然行くべき。
やはり、研究の経験は、課題解決や分析にとても活きると思う。これはph.D,masterを持っいる分析者と持っていない分析者を比べて、そう思った。(ph.Dとか持ってなくてもすごい人は当然いると思うし、自分も出会った。)
絶対にデータサイエンスにかかわる研究(データサイエンス研究科や、情報学研究科)である必要はないと思う。生物関係の研究室にいた人、神経科学の研究をしていた人、経営学部にいた人など、多種多様な分析者がいた。
学部だけでは、勉強で終わってしまう。課題解決能力は、master,ph.Dに比べて、明らかに劣る傾向がある気がする。データ"サイエンス"という名前なだけに、サイエンスができないと生き残れないと聞いた。その通りだなと思った。
人脈について
人脈は学生にとっては死ぬほど大事だと思う。学生のうちから、名刺を作り、様々なイベントに積極的に参加して、人脈を広げるべきだと思う。
自分もそうやって、インターンを獲得した。
そうやって知り合った人に、自分のスキルを保証してもらうのが一番キャリアに繋がると思っている。だれかわからん人を数回面接して合否を渡すより、以前から実力を知っていて、すでに評価が高い学生の方が企業も欲しいはず。
ただ、せっかく知り合えた人に自分のスキルをすぐ証明できないのはとても機会損失。homepage作成したり、githubにコードを上げたり、勉強した内容をpdfにまとめたりして、それがさっと見れるようにしておいた方がいい。
まとめ
以上のようなスキルなどを身に付けていくことが重要だと考えている。
ここまで読んでくれて感謝。