2分SHAREツイートシェアはてブLINEPocket今井こんにちは。今井(@ima_maru)です。大学(特に理系)において、線形代数の行列の計算、微積分のフーリエ変換、確率統計学のような数学知識はプログラミングで必要なのでしょうか?何に使うの?勉強して意味あるの?と思う方もいると思います。どんなシステムにどんな数学的知識が使われているのでしょうか。プログラミングで数学の知識は必要?まず結論から言います。プログラミングにおいて理系大学で学ぶような物理学の知識や高等な数学的知識は、作るものによって必要か必要でないかは異なります。いうのは、一般的なWebページやアプリケーションを作るのには、そのような物理学の知識や数学的知識は必要にはなりません。行列演算は、主に機械学習という人工知能(AI)の分野で必要になります。それぞれの違いをわかりやすく解説!行列演算がどのように使われているのかも気になるところですよね。そもそも線形代数って「たくさんの数式を簡潔にまとめる」役割があるんです。例として、行列って方程式の係数をとったものともいえますよね。それも、いらない情報を捨てて必要な情報だけを抜き取るというプログラミングにおいて非常に重要な考え方です。そのまとまったデータを一括で処理、演算するようなこともできるのできるのがこの分野です。機械学習は大量のデータ群を評価する必要があります。大量のデータを処理する際に線形代数学の行列の知識が大いに活躍するのです。参考サイト:線形代数の基礎,AI・機械学習には数学が必要って本当?プログラミング言語「Python」にはこの線形代数学における行列演算処理についてのライブラリ(追加機能みたいなもの)がたくさんあるため、人工知能の分野で活躍しされています。画像認識とはコンピュータビジョンとも呼ばれます。vision)はコンピュータがデジタルな画像、または動画をいかによく理解できるか、ということを扱う研究分野である。工学的には、人間の視覚システムが行うことができるタスクを自動化することを追求する分野である。wikipediaあれですよ。ビデオカメラの機能で顔に̻四角がついて「Smile70%」って出るやつとか、iPhoneの顔認証とか。四角い枠がついてるあれ。googleがオープンソース化した画像認識のAPIだそうです。「コンピュータが人をどう認識しているのか」って所がとても興味深いですね。様々な信号を数学的に加工するための学問・技術である。wikipedia信号処理は身近なところでいうと「画像圧縮」があります。本来の画像データよりも何倍も小さいバイト数で同じ画像(厳密には違う)を表現することができる技術ですね。このサイトの図解がすごくわかりやすかったです。53ページから見てみてください。微分積分学は物理学の範囲での基礎となっていたりもします。いうより、個人的には物理学の基礎は微積が大半を占めている気がしてなりません。意味は、実際のデータに近似したモデルを作成しそれに当てはめて物事を考えることにあります。ビジネスやマーケティングにおいて統計を取ることは非常に大事です。機械学習の既存にもなるのでデータサイエンティストやAIエンジニアを目指す人は絶対に学んでおくべき分野です。ゲームプログラミングで必要になってきます。いうのも、物理演算を必要としているゲームには必要不可欠ですからね。サッカーゲームのボールが飛ぶ軌道だって物理法則にしたがっているわけですし、なくてはならないですよね。数学的知識とは違い少し的を絞った分野になります。将来「モノを動かすプログラム」を作りたいと考える方が学ぶための分野だと思います。この記事の主旨からは離れますが、物理学は日常において便利に暮らすために必要だったりもします。コメントをキャンセルメールアドレスが公開されることはありません。週1でブログ書いてます。