純粋数学からビジネスの現場へ 〜データサイエンスに活きる数学的思考〜

こんにちは、4月にDSチームマネージャーになったヒメネス(Jiménez)です!私の名前のリンクをクリックしたことがある方が分かるかもしれませんが、数理博士です。研究分野は代数的位相幾何学(結び目理論)でした。そんな込み入った数学を勉強した人は、どのように数学を現場で活かしているのか?について話します。

目次

数学で何を勉強する?

数学が怖いと思う人が非常に多いです。もしかしたら、あなたもその内の一人です。その怖さはどこから生まれるかを考えると、数学は「難しい」からです。「難しい」の定義は人によって変わるかもしれませんが、その裏にある共通の理由は恐らく「論理的思考を最大限に活かす」であるのではないでしょうか?

その認識は誤っていません。何をしようにも、論理的に考える必要があります。その必要性は数学の根本的な目的から生まれます。では、数学の目的は一体何なのですか?事象の構造や法則性を探求し、関係性を明らかにすることです。数学の言葉に変換すると、A(仮定)があった時に、なぜB(結果)が成り立つかを様々なツール(命題・定理・公理など)を使って証明することです。

前提の背景が変わったり、ツールが変わったり、証明したい内容が変わったりしますが、共通点は論理です。そして、その論理を徐々に徐々に使います。例えば、「1の次は?」に対して、ほとんどの人が「2」と答えますが、「それは、なぜですか?」、「どういう仮定(文脈)の下でですか?」、「『1』といった表記は、そもそも何を表しますか?」などを疑い、そして是か否かを証明するのは数学者の仕事です。

社会で活かす、数学者としてのスキル

論理的思考

上記の例のように、背景や前提(仮定)を明確にして、定義された文脈内で問題を考えるのは数学者の特徴です。これは直接的にビジネスにも活かせます。素朴な例で恐縮ですが、以下を一緒に考えてみましょう。

:とある人が困っています。問題を聞くと、「ドアがちゃんと閉まらないから」と答えます。

ここで、問題をすぐに解決したい人がいたら、ドアの閉まらないところを見つけ、ちゃんと閉まるまで木材を削ります。これで問題を解決できていますか?客観的に答えると、「ドアがちゃんと閉まらない」問題が確かに解決されています。ただ、それで良いのかというと、もしかしたら一番賢い対応方法ではなかったかもしれません。以下考えられます:

  • ドアには価値があり、削るのは勿体無い。
  • ドアを入れ替える必要があった場合、他のドアも同じく削る必要がある。
  • 他のドアがあるところに同じ問題が発生し得るのか分からない。
  • など。

そこで、論理を活かし、「なぜ」を疑うことで原因を探索します。

問題 理由
1 ドアがちゃんと閉まらない ドアと釘がぶつかる
2 ドアと釘がぶつかる 釘が出っ張っている
3 釘が出っ張っている 正しい釘じゃない
4 正しい釘じゃない 正しい釘の余りはなかった

ここまでくるだけで、かなり考えられる原因の範囲を絞りました。さらに続くと、釘がなかった理由はもしかしたら作業者が無くしたからです。もしかするとそもそもドアを組み立てる際に釘の数は十分に付属されていませんでした。様々な理由が考えられますが、「なぜ?」を聞くことだけで原因が少しずつ分かり、対応策もそれに応じて変わってきます。(参考:この考え方はトヨタ自動車が代表する「なぜなぜ分析」とも言います)

抽象化・モデル化

数学では、「具体」を考えることはほとんどありません。1, 3, 5, 7, 9...は具体的な数列です。数列を見ると、次の数字を推定できますか?「あ!奇数だ!」と気付いて、「11」と答える人はほとんどだと思います。では、他の奇数を考えてください。13? 71? 1895? 奇数は"見つかりやすい"から思いつきベースで答えられると思います。ただ、これは数学者のアプローチではありません。数学者は具体を抽象化し、一般的なケースを考えることが多いです。私も1, 3, 5, 7, 9...を見ると「奇数」として認識しますが、頭の中には「$2n+1$」という表現が現れます。奇数にしてはやりすぎかもしれませんが、以下の例を考えてみてください。

:1, 3, 6, 10, 15, 21...という数列があった時に、次の数字を推定できますか?その次は?100番目の数字は?

規則が分かっていると思います。0からスタートして、徐々に+1、+2、+3...で計算していきます。では、21の次の数字は... 28でしょう?その次は... 36でしょう?100番目の数字は... 5050、と自信を持って答え切れますか?奇数の場合と違って、この数列に属する数字はそんなに見つかりやすくないので「思いつき」のアプローチは適用できません。一方で、数学的に規則を求めると、上記の数列は次のように表現できます:$\frac{n\cdot (n+1)}{2}$.

これが見せられたら、100番目の数字は$\frac{100\cdot 101}{2}=50\cdot101=5050$と簡単に答えられますね!数学者はこのように抽象化・モデル化を考える上で具体的な回答を導くことが多いです。


図1:数学的思考による抽象化とモデル化のイメージ。

問題解決に訓練されていない人は問題から直接解答を出そうとします。一方で、数学者(もしくは問題解決思考を訓練した人)は問題の抽象的な表現を考えた上で、論理的な一般化を構築し、最終的に問題に合った具体的な解答を求めます。

どの具体的な問題に対しても必ずその流れで検討を推進するとは言いませんが、このような整理ができるだけでより慎重で網羅的に課題の解決に挑むことができます。そして、具体的な要件が多少変動しても、一般化問題として既に解いた問題と一致するなら、さらに答えを導くのが速いです。

ソフトスキル

上記以外にも、数学の勉強に伴って様々なソフトスキルを伸ばします。

  • 好奇心:そもそも好奇心なしで数学を選ぶ人はいないと思います。好奇心は数学者の素になります。「なぜ?」、「知りたい!」が根本的な動機です。問題がある手前、解決せずにはいられない気持ちです。謎に対する疑問を解消するまで調べ続けること。この好奇心はそのまま社会問題に対しても展開できます。
  • 粘り強さ・忍耐力:上記にもつながりますが、問題が目の前にあった時に、解決するまで諦めないことが多いです。問題がどんなに難しくても「気になる」気持ちをスッキリさせるまで頑張ります。時間の問題ではありません。答えを得るのが最高のスッキリ感なので、それに向けてひたすら頑張ります。(答えが一般的に知られている場合でも、自力で見つけるまで答えを聞きたくない人もいます(例えば、本稿の著者))
  • 批判的思考・判断力:自分が持っている前提(仮定)とツール(定理)で結論が証明できるかを見極める力。これはとても大事です。証明できると思った時に、証明しようとします。証明に至らない場合、前提に問題があるか、結論に問題があるか、ツールが足りているかなど確認します。それでも証明ができない場合、証明できないことを証明します。これの繰り返しによって、少しずつ文脈を考慮した判断力が身につきます。
    • 補足1:「証明できない」ことを証明するのに、一つの反例を見つければ十分です。
    • 補足2:幸せなことに、数学には「意見」は存在しません。事実は事実です。主張を複数の方法で証明できますが、成り立つなら成り立つ、成り立たないなら成り立たない。

算数・計算

多くの人が、数学者は数字を常に扱っているので算数・計算が得意だと思われます。これは大きな間違いです。

まず、数学者は、数字(一般人が考える「数字」)をほぼほぼ使いません。代わりに、数値を表す式を使います。例えば、変数( $x$、$y$ )、係数( $e$、$\pi$ )、多項式( $5x$$^2-x+2 $ )、数式( $ P(x|x>y) $ )、など。数字そのもので計算することはほとんどありません。数学の中で唯一数字を見ることが多い分野は数論です。それでも、数論で数字の性質を勉強し、純粋に計算・算数をすることはほとんどありません。

そして、数学に必要な能力(論理力)と、算数に必要な能力(計算力)は同じではないため、人によって得意・不得意はまちまちです。例えば、私は数学者で、N次元の複素空間でのベクトルの回転や移動は簡単にできる一方、「127-38=?」と聞かれると答えが出てくるまで日が暮れちゃいます。逆に、算数が得意で数学できない人も山ほどいます。

数学+社会=DS

数学者が社会で技術を活かす最も自然な道はデータサイエンスです。プログラミングさえ習得すれば、論理的思考や抽象化力を活かして、ビジネス課題の問題解決にすぐ着手できます。

問題解決へのアプローチ

数学者は、曖昧な課題を明確な要件に分解し、論理的に解決策を導きます。データサイエンスでも、課題の分解・抽象化・モデル化が重要であり、数学的思考がそのまま役立ちます。また、数学で「証明できないことを証明する」ように、現場でもデータや状況を確認し、実現不可能な点や不足している要素を論理的に明らかにすることが重要です。

手法の理解と応用

DSに必要な統計や機械学習などの手法も、数学的な背景を持つことで理解しやすくなり、なぜその手法が有効なのかまで比較的深く把握しやすいです。DSを含め、すべての科学の根底には数学があるため、数学の構成を理解している人は、他分野の主張やテクニックの確からしさを見極めるのも得意です。新しい技術や手法も、理論から応用までスムーズに取り入れることができます。

実践への即応性

数学者は、プログラミングスキルがあれば、データ分析やモデル構築といった実践的な業務にも迅速に対応できます。たとえ既存のツールやアルゴリズムで解決できない課題があっても、自ら新しい手法を考案したり、既存の理論を応用して独自のソリューションを開発することに取り組むタイプです。また、課題に対して柔軟にアプローチを変えたり、仮説検証を繰り返しながら最適な解決策を模索する力も強みです。こうした即応性は、変化の激しいビジネス現場や新しい技術が次々と登場するデータサイエンス分野で特に重宝されます。

まとめ

数学を学んだからといって、誰もが最強のデータサイエンティストになれるわけではありません。しかし、数学的思考を身につけていることで、物事の本質を素早く捉えたり、論理的に検証する力が他の人よりも高い傾向があります。

とはいえ、ビジネスの現場では人と協力しながら成果を出すことが求められます。どれだけ論理力や抽象化力があっても、コミュニケーションやチームワークが欠けていては、良いデータサイエンティストとは言えません。

結局のところ、社会では多様な能力が必要とされます。自分の強みを活かしつつ、弱みは周囲と補い合うことで、個人も組織もより大きな成果を生み出せるのです。数学的思考もその一つの武器として、バランスよく活用していきたいと思います。

あっ、「89」だ!😅