質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.55%

機械学習・深層学習・人工知能(AI)に必要な高校数学とは?

解決済

回答 4

投稿

  • 評価
  • クリップ 7
  • VIEW 3,497
退会済みユーザー

退会済みユーザー

 掲題の通りです

私自身、数学IAしか自信を持って理解していませんが、
機械学習・深層学習に必要な前提知識及び基本知識はどの分野になりますか。
1年から2年かけ、高校数学からはじめ、機械学習と深層学習の基本を学ぶ予定です
ご教授いただける方、よろしくお願いします。

 数学I 数学II 数学III

イメージ説明

 数学A 数学B (数学Cが見当たりませんでした)

イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

+6

自分で実装したり、実行している内容を解析したりする場合、高校数学の範囲ならば全て必要となります。
むしろ、そこから先もわからないといけないと思うと、さくっと終わらせられるのかもしれません(気持ちの問題…)。

数学は概念が大事ですが、概念を身につけるために具体例をこなす必要があります。

全部勉強していたらたいへん時間がかかるので、どうやら何かについての理解が不足しているらしいということに気づいた時に勉強してもよいのですが、そんなときは何を理解すればよいのかが自分ではわからなかったりするのが難点ですね。


以下雑多な例。

一般的な初等関数(n次関数、三角関数、指数関数・対数関数など)はモデルの方でも、評価関数の方でも出てきます。
ニューラルネットワークの活性化関数に三角関数や指数関数が入っていますし、ロジスティック回帰は対数関数を用いた回帰法です。

微分・積分、極限、数列は互いに強い関連があるので理解しているに越したことはないです。
微分は極限で定義されて、積分は数列と極限で定義されます。
このあたりはイメージのほうが重要かもしれません。
具体的な関数の微分積分は公式集を見ればよいので。
一次微分とはつまるところ、元の関数の値を一番小さくする向きだとか、二次微分がゼロになる点で元の関数がたいらになるなど。
ただ、ある程度こなしていないと、ある関数を見て、これはあれを微分したものだなという直感が身につきません。
指数関数は微分しても指数関数など。

多くの機械学習の手法で反復法が用いられますが、収束・発散に極限の考え方が大事です。
学習率大きくしたらモデルが収束しないなど。

図形などの幾何学的な理解は直感的な解釈で重要です。
点と直線の距離がよくわかっていると最小二乗法(線形モデル)が自然と出てきます。
サポートベクターマシン・カーネルトリックはちょっと難しかったりします。

合成関数は少々難しいですが、ニューラルネットワークの畳み込みを数学的に理解するためにあります。
前処理に使う周波数空間でフーリエ変換などでも出てきます。

ニューラルネットワークはだいたい行列として考える事できます。
本当はそれを更に一般化したテンソルですが。(TensorflowのTensorです。)
線形代数というもう少し抽象化した話ともつながっています。
行列は連立一次方程式とも深い関わりがあり、線形モデルの解を求める時に出てきます。
この際に多次元変数(ベクトル)の微分が出てきます。

確率論は機械学習の手法が基礎となっていて、ガウス過程などがキーワードになっています。
事前確率・事後確率、ベイズ統計のあたりは集合などのベン図で考えたりします。(大学数学も一部含みます。)
モデルを評価する時に、平均・分散などをよく見かけると思います。
標準分布(ガウス分布)は指数関数で書かれます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/30 22:25

    mkgreiさん、ありがとうございます。n次関数、三角関数、指数関数・対数関数を初等関数とするあたり、私自身の力不足を感じますが、しっかり腰を据えて学んでいきます。18ヶ月でここに掲載してある基本的知識を理解できるように頑張ってみます。mkgreiさんのご回答、しっかり記録をしておきます!

    キャンセル

  • 2018/01/30 23:17

    https://ja.wikipedia.org/wiki/初等関数
    これは実は言葉の問題でして、英語だとelementary functionなので、要素となる関数のことです。
    初等関数を組み合わせた関数も初等関数になります。
    初等関数でない関数は簡単な形では書き下せないのです。
    あまり恐れずに…

    キャンセル

+3

直接的な回答は、他の回答者の方々で尽きていると感じましたので、
間接的な参考にでもなれば幸い、くらいにコメント失礼します。

質問者さんの勉強目的や、機械学習の適用対象まで書いてくださると、
より直接的な回答が得られると思います。

私の所感ですが、適用対象によって使う数理もいくらか変動します。
(データを学習する段階、というより学習するための前処理の段階です)
質問者さんのように高校数学から短い制限時間付きでやり直す場合、
勉強内容に優先順位を付け、関心内容と親和性の高い数学から着手しないと、
色々と間に合わなくなると思います。


私の知人Fさんの話ですが、文学部で言語学を修め、
修士から統計学(機械学習ほか)を交えた研究を始めようと、
大学院入試に臨んでいます。

Fさんは、数学IA範囲までの内容をかろうじて知っている様子です。
大学院では、言語学に統計学的なアプローチを取り込んだ、
コーパス言語学に取り組んでみたいそうです。
文章の単語配列やトピックなどをデータベース化した情報源ツールを、
「言語コーパス」と呼ぶらしいです。

人社系の大学院入試では、進学後に取り組みたい研究について、
内容の企画書(の概要)を願書に添えて提出するらしいです。
Fさんは自身の言語学的興味を、統計学によって明らかにしたい、
と漫然と野望を抱くだけで、申請内容に記述できるほどの統計の知識は、
ほぼ持たない様子でした。

私自身は言語学について門外漢だったので、
Fさんから関心内容について話を聴いてみて、コーパス言語学や、
自然言語処理の畑で耕されているらしい統計学をいくらか調べ、
Fさんにフィードバックしました。
Fさんは私からのコメントを咀嚼し、申請書に反映させ、
無事に?願書を提出したそうです。


・・・永くなりましたが、何を言いたいかと言いますと、
質問者さんの場合、1,2年という短い制限時間付きで勉強されるのなら、
teratailで得られる強力な回答を頼りに独学する根性も大事ですが、
直接アドバイスをくれる伝手を探すのが早道になることもあります。

勉強予算があるなら、プログラミングキャンプなどに参加し、
座学(理論)と実学(プログラミング)の両方を、
同時に学べるような戦術も積極的にとった方が良いと考えます。
キャンプやスクールは戦略的ハズレを引くリスクが伴いますけども汗
(プログラミングなら、無料の動画教材が出回ってます)

やはりオススメは、質問者さんの勉強目的までも直接汲み取って、
タダで効率的に教えてくれる知人を、恥を忍んででも探すことです笑

長文読了感謝です。
勉強、ガンバってくださいませ。。。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/30 22:28

    nobru_trtlさん、ありがとうございます。確かに師匠が必要ですよね。独学で時に遠回りするのも、あとあとよかったなあと思うこともあるのですが、一方で効率も求めないといけないですよね。知人にエンジニアはいても、「機械学習」の研究者(?)は今のところ見当たりませんが、そういう繋がりはあったほうがいいと思うので、探そうかなあと思います。研究部署がある会社を探すのも1つですもんね。

    キャンセル

checkベストアンサー

+2

素晴らしい心がけです!高校生の段階で専門性を見据えた勉強をすることは良いことです.

さて,高校数学が機械学習・深層学習・AIにどう影響してくるかですが,単刀直入に言うと「すべて必要」です.しかし,毎回すべてを駆使するわけではありません.以下,自分なりの回答です.

 機械学習

自分は,機械学習の根底にあるのは「推定」だと考えてます.
実際に「パターン認識と機械学習 ~ベイズ理論による統計的予測~」や「ベイズ推論による機械学習入門」といった本があります.ここで必要となるのは統計学が主です.そのため,統計学を学ぶための基礎が必要となります.それは

  • 数と数式(代数学の基礎)
  • 指数関数と対数関数(ネイピア数などが重要になったりします)
  • 微分積分(偏微分の考えや確率変数の積分へ応用)
  • 場合の数と確率/確率統計(統計学の基礎でしょうか?新教育課程前に卒業したので未知です...)

あくまでこれは重要な一部分です.三角関数を使う場面もあったりします.画像を使った機械学習であれば「三角関数」と「行列」も重要です.しかし,統計学(機械学習の基礎)の場合はまず「関数と微積分」を中心にやるといいのではないでしょうか.

 深層学習

一応補足ですが,深層学習とは機械学習の一手法です(そうじゃないと言う人もいますが...).
人間の脳細胞により近づけるために生み出されたニューラルネットワークを発展させたものです.
深層学習を学んでいくにあたって,行列演算,勾配,活性化関数の考えが出てきます.mkgreiさんの回答にもありますが,高校数学と結びつけるとすれば,

  • 行列演算 → 行列(今の高校数学だと"ベクトル"の章ですかね?昔は"行列"という項目があったのですが)
  • 勾配 → 微積分(勾配=変化の傾きだと思ってください.自ずと微分学に結び付くかと)
  • 活性化関数 → 指数関数と対数関数(ネイピア数eが出てきます)

でしょうか.

 人工知能(AI)

近年バズワードになってますね(笑)
自分はAIという言葉は,日本人の心を躍らすための某国の策略?なんて考えてます.
AIは前に出てきた機械学習や深層学習の究極系だと思ってます.
今の機械学習というのは,「"A is B"という正解を用意しておき,未知のデータに対して用意したものと同じような結果を出せるモデルを生成」が主だと思ってます.Google Homeなどが流行ってますが,自然言語処理と呼ばれる分野の応用で,「文章を分解しこういうパターンが来たらこういう単語を選択して出力しよう」となってます.このようなAIはトップダウン型と呼ばれます.

一方で,真のAI(自分が理想とするAI)はボトムアップ型と呼ばれます.すなわち人間(もっと言えば動物)の脳です.経験と知識を外界から能動的に獲得する構造となってます.例えば,私たちは料理が前に置かれたとき「いただきます」と言います.これは赤ん坊の頃から,「自分でない誰かが作ってくれた料理 + 目の前にそれがあり今食べようとしている = いただきますと言う」の単純な流れを経験として身に着けています.こうした,AIを実現するには数学を基礎とした機械学習だけでなく,もっと上位の話になってきます.また,ボトムアップ型を実現するロボットを作りたいと考えるなら,機械工学の知識も必要です.そこには当然,高校数学のすべてが組み込まれています.

真のAIについては難しい話なので,質問者さんが高校数学を全て体得し,大学専門レベルに取り組んでいく中でやっていくといいでしょう(時間はかかりますが)

 最後に

高校数学や大学初年次数学は,機械学習にとって重要な基礎知識です.
まずは慌てず,十分に高校数学を網羅してみてください.
自分の回答では不足している部分がおおいので,Qiitaなどを参考にするといいでしょう.
...とは言ってもまだまだ高校生です.(よく見たら高校生とはどこにも書いてませんでしたねm(_ _;)m)
将来的に機械学習も含め研究したいと考えているのであれば,今はきちんと数学だけでない「基礎教養」を学んでおくと後々役に立ちますよ(現研究生からの戒め)

 補足

長々と述べましたが,まとめると以下のようになるでしょうか.
参考程度に.

高校数学         大学(並びは適当です)    専門

数と式
図形と計量        統計学
二次関数
                              機械学習
図形と方程式
指数関数と対数関数    画像処理
三角関数

極限           解析学              学習理論・アルゴリズム
微積分

場合の数と確率
整数の性質        文字列処理            自然言語処理
図形の性質

確率分布と統計学
確率           線形代数
ベクトル
                              画像処理
平面上の曲線
行列           多変数解析
統計

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/02/09 09:09 編集

    Akatsubakiさん、高校生ではなく誠に申し訳ありません!!(笑)
    とてもわかりやすかったです!確かにAIというこ言葉はちょっと違和感はあったので、
    私自身も機械学習か深層学習(どちらかというと機械学習)を体型敵意学んで行こうと思います!
    ベクトルが行列と言われていた時があったのですね!現在は数Cが廃止され、
    行列が高校課程から無くなったとは聞きましたが、ベクトルは数Bでおそらく存在するはずなので、
    また別の分野のことを指すのでしょうかね!いずれにせよ、頑張って学んでいきますね!
    わかりやすく、ありがとうございます!

    キャンセル

+2

初めまして、僕は現在[0からはじめるDeepLearning]の本しか試してない初心者ですが、それだけでも

「微分」が自己学習の進行方向決めとして使われている様です。
(具体的には微分を図に表せるノードなどを用いた計算グラフ)

「Σ」は知ってて当然という感じで出てくるのでシグマとはなんぞやくらい知っていたら良いかも知れません。

また、画像解析をするのに必要なのが「線形代数学」です。

パターン認識の方面では「統計学」が必要になってくる様ですが、僕はまだ知りません。

ですが、数学はツールなので(誰かから怒られそう)機械学習を本などで進めつつ必要に駆られたら勉強する感じで大丈夫だと思われます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/30 22:23

    Mr.tiinparaさん。画像解析とても興味があるのですが、やはり数学的に手強そうですね!まとまった時間で学習する必要がありますね。頑張りがい?はありそうです。「Σ」、高校で授業受けているはずですが、んー復習する必要がありますね。笑

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.55%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる