要点!データサイエンスのキンドル独学


データサイエンスのキンドル独学の学習内容

役に立てば技術は最先端でなくていい

データサイエンティストとよばれる仕事がでてきて、ある程度の年数が過ぎました。

機械学習・深層学習の最先端を常にキャッチアップしなければならない・・・そのように言われていた時期がありました。数理資本主義という言葉も生まれ、いかに数学や先端の機械学習に強い人材をかき集めるかが重要である、と考えられて時期もありました。

しかし実際には、数学だけに強い人材は学者崩れのようなものに過ぎず、 企業の稼ぐ力にあまり貢献できないということが分かってきました。 学術的な研究能力と商売で稼ぐ能力は違うのだとわかってきました。

熱狂的だった頃に比べてデータサイエンティストに対する期待感も薄まりました。アメリカでは、データサイエンティストの大規模の雇い止めなども行われるようになりました。 極めて先進的革新的なAIアルゴリズムが発表されるのとも、年にせいぜい数回というペースに落ち着きました。

いまでは、AI そのものに精通したエンジニア、データサイエンティストは以前ほど求められなくなってしまいました。

むしろ求められているのは、経営戦略の立案、ビジネス提案などができることです。すなわち、ビジネス寄りの立ち位置でデータ分析ができる人材です。

たとえば、コンサルタント、マーケター、ビジネスデータアナリストです。いずれもデータサイエンスあるいはコンピューターサイエンスそのものの高度な専門家でなくてよいのです。 ビジネス提案のためには、交渉力やプレゼン能力が重視されます。プログラミングやITの知識はさほど重要ではありません。 

こうした環境の変化は、非情報系の未経験者にとってチャンスでもあります。なぜなら、必ずしも機械学習について最先端の知識を持っていなくても、ビジネスに貢献することは十分できるからです。

雑多なデータから抜き出してきた重要な発見や知見を、どのような意思決定に昇華 できるか。 顧客にどのような提案ができるか。ビジネスでの力点は意思決定と提案にこそあります。

いわゆる情報系出身者は、分析手法そのものは詳しいですが、分析結果そのものを吟味するのが苦手です。ビジネスにおける着地点としての提案を上手につくる基礎・背景知識が不足しがちだからです。

情報系ではない分野に確たる自信がある人のはこの点で有利です。自身の知識・経験を起点として物事を考え、機械学習の結果を吟味・解釈できるはずだからです。

ビジネスでは、分析結果の吟味・解釈がまさに求められています。複雑な計算の結果がでてからが本題で、付加価値があるわけです。分析手法じたいが最先端の機械学習技術でないとしても、求められる付加価値を付けることは十分可能です。

データサイエンスをこれから学ぶ場合には 、ぜひキャリアの出口を強く意識してください。あまり技巧に走らないマインドを持つことが大切です。

華々しいのは5%、泥臭いのが95% 

何らかのデータを分析する場合、機械学習技術に目が行くことは多いです。

しかし、 最先端にせよ定番にせよ、華々しい機械学習の部分は、分析用のプログラムコードの 5%程度に過ぎません。 残りの95%は泥臭くデータを眺めたり、形式を揃えたり、単位を揃えたりするためのものです。華々しい5%が全体の95%を支配している、というわけでもありません。

やはり泥臭い95%が大部分を支配しています。泥臭い作業によって機械学習の結果が良くなる、ということはとても多いです。 ややこしい数学、機械学習の原理・導出の理解に注力しても、得られるメリットは大きくありません。

むしろ泥臭い部分に目を向けて、一つ一つの記録やデータを、みずから考案した厳格なルールのもと選別していくことにメリットがあります。

まさしく、細かいところまでやり抜くための根性や習慣にこそ価値があると言えます。

前処理が命

もちろん最後は機械学習に放り込んでいく のが、現代的データ分析です。雑多なデータを、機械学習に放り込めるデータ形式に上手に揃えなければいけません。

データ形式を上手に揃える作業を「前処理(プリプロセス、クレンジング)」と呼んでいます。

データサイエンティストにとっては 機械学習本体よりも前処理が命です。データサイエンスが声高に叫ばれた頃は機械学習本体の解説書ばかりでしたが、いまでは前処理だけを専門に扱った参考書も多数出ています。

どのような前処理が必要かという具体例を紹介しましょう。

  • データの欠損
  • 小数点の位取りの間違え
  • 単位系の入れ違い
  • 間違ったファイル名
  • 時刻タイムゾーンの違い

挙げたものはほんの一例です。実際の分析対象データにおいては、これらが組み合わさって出てきます。すべてのデータについて形式を完全に揃えないといけません。いかに優れた機械学習ソフトであろうとも、形式違いのデータが含まれるとエラーになったり、誤った結果になってしまいます。

エラーなく機械学習にかけられるようにするには、データ一つずつを手探りで検証していかなければなりません。前処理じたいはまだ機械学習で実現できません。だから前処理が上手にできるデータサイエンティストに価値があるのです。

一時期いわれた「データサイエンティストは一番セクシーな仕事である」というのは幻想です。データサイエンティストは、毎日毎日、巨大な Excel シートのような膨大で雑多なデータを睨む仕事です。ひたすらそのシートの「穴」を埋めていくようなものです。華々しいどころか、極めて地道な作業の連続です。

「こんな細かいところまでよく見たな・・・」 と思わせるくらいの、職人芸的な観察力がデータサイエンティストには求められます。 高度なプログラミングスキルや機械学習の知識よりも、丁寧さ、根性、観察力といった要素をいかに継続できるかが問われています。

数学は後から体でおぼえる 

機械学習の勉強が無駄というわけではありません。数学をイチから始めて、ややこしい機械学習の数理的導出を理解しようとするのはお勧めできない、というだけです。

数学は紙とペンだけでアタマで学ぼうとしてはいけません。もしも学生時代にできていたら、いまごろとっくに科学者や研究者になっていたはずです。 

リスキリングに収入やキャリアのため取り組みたいわけですから、学び方を間違えるのは時間や費用の点で損失です。最短コースを考えていくべきです。

数学の話に戻ります。たとえばかけ算九九を思い出してください。 「6x4は?」と聞かれたら、即座に「24」と答えますね。「えーと、6が4個あるから 6+6+6+6で・・・24か」とは考えないですね。

6x4が24になるのかという「計算上の詳細」はひとまず置いておいても、九九を暗記してあれば十分です。「6個が4組ある」ということがわかっていればよいのです。「6x4が24であることを使って、具体的に物の数が数えられる。簡単に数えられた!」という成功体験を積むべきです

 機械学習を学ぶ場合も同じような気持ちで取り組む必要があります。掛け算九九だと簡単すぎたのでもう少し難しい例で考えてみましょう。

高校の数学で三角関数を習いました。三角関数で重要なのは加法定理です。教室で数学の先生が 加法定理の証明を最初に黒板に書いたと思います。この証明を一発で理解できる高校生というのは、ほとんどいないのではないでしょうか。国立大学へ進学するような比較的優秀な層でも、 三角関数の加法定理の証明を一発で理解することは容易ではありません。

しかし、最終的には証明が理解できるように皆努力します。どうやって「理解にたどり着く」のでしょうか?

まず結果の加法定理の公式を覚えてしまいます。暗記ですね。そして具体的に公式を使って、いろいろと計算ができることを手で確かめてみるのです。

三角関数の値の数表が教科書の後ろに載っています。公式による計算結果と表の値とを比べてみれば、公式が妥当であると感じます。こうして公式が正しいということを実感するのです。

次に、加法定理の公式を暗記することで、更に別の公式を導くための道具とします。2倍角の公式だとか半角の公式だとか和を積に直す公式だとか・・・様々な公式を全て導くことができます。類似・派生の公式の導出はそれほど難しくないので、反復練習で確かな記憶とすることができます。派生公式の反復練習を通じて、加法定理がやはり重要ということ、そして「加法定理とはこういうものだ」と腹落ちさせるのです。

そして、様々な応用問題が加法定理で解けることも練習問題の中でわかっていきます。そうしてしばらくたってから改めて 板書ノートや 教科書の証明のページを見てみるわけです。

証明をじっくり1行ずつ追っていくと、 加法定理の証明の巧みさに気づきます。何を目指して式変形をしているのか分かります。「 加法定理の証明が理解できた」とはこのような体験をのはずです。

機械学習に関わる様々な数学的導出も、 同じように学ぶべきだと思います。

初めから導出をすべて追いかける必要はありません。結果や公式をまず認めて、それを使って具体的な計算をして腹落ちさせていくべきです 。三角関数の加法定理は手計算で確かめましたが、機械学習の計算は 既に公開されている様々なソフトウェアを使って確かめれば良いわけです。

ただプログラムを例題の通り走らせるだけでなく、結果をグラフに描画したり、表としてまとめたりします。そうして結果に対して納得感をもつことが大切です。

機械学習のプログラムをうごかすにしても、コードを必ずしも書かなくても良いです。ノーコードツールと呼ばれる分析ソフトを使えば、マウスのクリックで数字を打ち込んでいくだけで機械学習を使うことができます。

「こういうデータを入れた時に このアルゴリズムを使ったら、こういう結果が出てくるんだ!」 という実感をたくさん持つことが大事です。

しばらく機械学習をたくさん触りつづけると、自然と「どうしてこういう結果が出てくるんだろう?」という気持ちが少しずつ湧いてきます。その気持ちが湧いてから 数学に目を通すということで良いと思います。

数学を体で覚えるというのはまさしくこのようなことです。「マイナスにマイナスをかけるとプラスになる」 など、いちいち考えていては頭がおかしくなります。

「これはこういうものだ」と一旦認めて、先へ進んでいきましょう。後になってからじっくり考えることはできますし、よくわかります。

とにかく、まずは「一旦走り抜く」ことを考えて、データサイエンスの学習に取り組みましょう。

報告書・動くものの両方で示す 

分析によって知りたいことは、「意思決定に繋がるのに役立つ情報」です。情報にはどんな種類があるでしょうか。以下の三つです。

  • データ
  • インフォメーション
  • インテリジェンス

データはただの記録羅列です。インフォメーションはニュートラルに情報ですが、お知らせに近い意味合いがあります。インテリジェンスは発見とか知見というポジな意味合いを持っています。

言うまでもなく、ビジネスではインテリジェンスを発掘することが求められています。データサイエンティストの任務としては、雑多なデータの中から経営に役立つインテリジェンスを導くことが期待されています。

さまざまな苦労のもと、役立つと期待できるインテリジェンスが見つかったとしましょう 。インテリジェンスをどのようにビジネス提案に結びつければいいでしょうか?

一番簡単なものとは、調査レポート・報告書です。要約のプレゼンテーションもありますね。

しかし報告書もプレゼンも、ただの紙芝居にすぎません。もちろん、作りこんだ報告書やプレゼンは確かに圧巻です。けれども、例えば報告書を見ながら上司や依頼主に「ここの数字がもし倍だったら、どうなりますか」 というような質問がきたときどうでしょう?

なかなか即答できないですね。「持ち帰って検討します」と引き下がるしかありません。これではいけません。というのも、ビジネスで求められているのは早い意思決定です。ビジネスに精通した人から「この数字が2倍になったら?」 と聞かれているのは、問題の数字をとても重要と考えているからです。

ベストはデータサイエンティストの側も 同じ価値観をもっていて、 あらかじめ当該の数字が2倍3倍の場合についても分析をしておけることです。しかし、そのような事前の場合分けをしようとすると 無数のパターンが出てきてしまいます。報告書もプレゼンも膨大になり、肝心のインテリジェンスも埋没してしまいます。

突然の疑問に即答するには、「その場で動いて分析結果を出してくれるような動くソフト」 を用意しておくしかありません。インテリジェンスあるいは分析ノウハウを「動くもの」にまとめなければなりません。

データサイエンティストにも、簡単なソフトウェアをまるまる作る能力が要求されます。本職のソフトウェア開発者ほどの品質で作り込む必要性はありません。いわゆるプロトタイピング(試作品づくり)ができれば満足されます。プロトタイピングを短期間に簡単に行う 仕組みが今やたくさんあります。

データとの睨めっこ、機械学習についての 特許・論文を読むのももちろん重要です。しかし、出口はビジネス提案です。訴求力あるプロトタイプを作るための勉強や情報収集も普段から欠かせません。

「データサイエンティストはビジネスに貢献すべし」という意識を強く持ちましょう。すなわち、相手にとって魅力ある提案をするための発表方法、交渉力、プレゼンに加え、動くプロトタイプも含めて全てをセットにして見せられるようにしましょう。

キンドル独学のアウトプットの場は?

数学や機械学習のソフトウェアに詳しくなるだけでは、データサイエンティストにはなれません。雑多なデータの中から役立つインテリジェンスを見つけたという、具体的な成果を作らなければなりません。

成果を証明していくためには実務やデータ分析コンテストに取り組む必要があります。

「鶏と卵」のようなもので、いきなり実務に取り組むのは難しいでしょう。エクセル だけで相関関係を導き出す地道な作業も、もちろんデータ分析に含まれます。エクセルだけならばいまの仕事の枠内でもできるかもしれません。

しかし、いわゆる本職のデータサイエンティストを目指すのであれば、今の仕事とは連続しないでしょう。

そこで、本格的なデータサイエンスを扱うようなデータ分析コンテストに ぜひ取り組みましょう。コンテストは多数開催されています。企業が上位入賞者に賞金を出してくれるものも珍しくありません。

未経験からいきなり賞金をもらえるような立場になることは、現実的にはかんがえがたいです。現実的に目指していくべきは、まず上位10%に入賞することです。

たとえば有名なコンペである カグル(Kaggle)では、上位には「メダル」がもらえます(と言っても物理的な金属の塊ではなく、ユーザーアカウントに「メダル」という実績がつきます)。 

まずは銀メダルや銅メダルを獲得することを目指します。カグルでは、銅メダル2個で「カグルエキスパート」という称号がつきます。 

カグルエキスパートの称号がつくことは、柔道や剣道の初段のようなものです。 転職やデータ分析の仕事の受託において、客観的に初段認定の看板があることは有利です。実務に飛び込むことも現実に可能になります。

実務に入ってしまえば コンペのことはどちらでも良く、実績は実務の中で作っていくほうがキャリアになります。そもそもコンペの上位は、本職の情報系研究者(機械学習の研究開発の原著論文を書けるレベルの人材)ばかりです。コンペの上位にこだわらっても、同じ土俵には上がれません。コンペはそこそこに、現場での実績を積み上げていく方が 、ビジネス系のデータサイエンティストを目指す点では有益です。

実務に入ったあと、依頼主から譲り受けた雑多なデータの分析に取り組みます。泥臭い前処理と、ちょっとの機械学習で粘り強く分析をつづけます。そしてインテリジェンスをできるだけ早く、たくさん見つけます。

完璧さを追求しするあまり、締め切りギリギリまで粘るというのはお勧めしません。むしろ、完成度が低くても週に一回でもいいので現状報告をしたほうがいいです。「難しいのか、順調なのか」ということを依頼主に積極的に伝えていくべきです。データが足りないならもっと貰えるように交渉も必要です。

もしも締め切りギリシャまでかけて「やっぱりできませんでした」となれば、信頼を得るのは難しいですよね。途中段階であっても、できたところまでで小さい成果を積み重ねていくほうが、ずっと信頼を得ることができます。

最終的には分析結果を報告書なりプレゼン資料なりに仕上げて提出・納品します。

納品のとき「動くプロトタイプ」も セットで提供できるようにしましょう。簡単な説明書をつけておいて「ここの数字をこう変えればいい」 と書いてあればいいです。 後から依頼主が自力で分析を進めることも やり直すこともできます。追加で 「より深い分析をお願いしたい」とか「分析のプロトタイプのソフトをもう少し作り込んでほしい」という継続仕事をもらえる可能性も高まります。

「報告書を出してハイおしまい」とするともったいないですね。 ビジネスに役立つということは、継続して付加価値を認めてもらうということです。 自分自身の業績の価値を継続的に認めてもらえるよう、 実務に入った後の 取り組み方には不断の 工夫が必要です。

そのためには、データサイエンスだけでなく、マーケティング、交渉術、ライティングのスキルも欠かせません。

本研究所では マーケティング、交渉術、ライティングも 大きなテーマとして扱っています。データサイエンスの学習を進める傍で、マーケティング、交渉術、ライティングのノウハウについての学習も取り組んでいくと、キャリアアップへの相乗効果が期待できます。


まとめ

ここに