- 1 : 2021/06/09(水) 06:00:44.97 ID:eiwi0kzb0
-
「ITエンジニアと数学」ーー みなさんはどんなイメージをお持ちでしょうか? ITエンジニアと一言でいっても,職種はさまざまですので,業務の内容によってイメージは異なるかもしれません。数学を駆使してさまざまなアルゴリズムを使いこなすプログラマー,あるいは,統計学と機械学習でデータを分析するデータサイエンティストといったあたりでしょうか。ITの基礎となるデジタル計算機(あえてこう呼びます!)やプログラミング言語が,数学に基づいた原理に支えられているのは間違いありません。しかしながら,IT業界の中でも,「�ワだまだ数学はよくわからない」「�アれからでも数学の勉強を始めたい」と考える方は少なくないようです。
数年前,機械学習ブームが広がり始めたころ,「�@械学習をマスターするのに数学は必要か?」という話題が私のまわりで盛り上がりました。世間の声に耳を傾けると,「�@械学習を使いたければライブラリをインポートすればいいだけ。数学なんか知らなくてもいい」という過激な意見もあれば,「�ヲ? 数学を勉強していないITエンジニアなんているの?」という,これまた反応に困ってしまうコメントをいただくこともありました。いずれにしても,「鶴Tエンジニアが数学をどう学ぶべきか」は,みなさんの関心を集めるテーマのようで,Software Design誌でも数学をテーマにした特集がなんどか組まれてきました。
(中略)
さて,それでは,ITと数学にはどのような関係があるのでしょうか? 冒頭で触れた機械学習に関して言うと,「��`代数が機械学習の基礎です!」といった説明を耳にすることがあります。ところが・・・数式混じりの機械学習の教科書を開いてみると,線形代数の教科書に出てくるような「固有値,固有ベクトル,行列式」と言った言葉はあまり出てきません。もしくは,プログラミングのアルゴリズムを解説した書籍を開いてみましょう。アルゴリズムの実行時間を求める数式などは登場しますが,アルゴリズムの手続きそのものは,数式でもなんでもありません。疑似コードか,普通の言葉で処理の手続きが書かれていることがほとんどです。やはり,ライブラリをインポートして使うだけなら,数学の深い知識は要らないのでしょうか? ー�[ いえいえ,そんなことはありません。
数学がもっとも得意とするのは,さまざまな例にあてはまる「共通の仕組み」を見つけ出すことです。図は,「�oftware Design別冊:ITと数学」からの引用ですが,線形代数と言うのは,線形空間と呼ばれる数学的な「構造物」の性質を解き明かす学問であり,その性質を表すのが「固有値,固有ベクトル,行列式」と言った考え方です。一方,機械学習に登場する「ニューラルネットワーク(人間の脳を模した数理モデル�j�vの中には,線形空間と同じ構造が隠されています。「��`空間の性質」をあらかじめ知っていれば,その知識を用いて,ニューラルネットワークの仕組みや性質が想像できるようになります。線形代数の知識をつかわずにニューラルネットワークの仕組みを学ぶよりは,圧倒的に理解のスピードが上がります。そして,同じ線形空間の構造は,図形変換,あるいは,Web検索のページランクなど,プログラミングの世界にも隠されています。つまり,数学の知識は,ITのさまざまな分野の理解をスピードアップする,「�ミと粒で二度も三度も美味しい」アクセラレーターなのです。
- 2 : 2021/06/09(水) 06:01:54.90 ID:fZS0ZpZTM
-
プログラム組むのには不要
ただしプログラムで何か作りたいなら必要
- 3 : 2021/06/09(水) 06:02:52.46 ID:WvhFGZs10
-
行列は知っておくと便利
- 4 : 2021/06/09(水) 06:04:09.16 ID:qUu7VBLz0
-
英語の方が必要
- 5 : 2021/06/09(水) 06:04:22.12 ID:r2CcNuiF0
-
確実に必要だろうね
数学を知らなきゃ行番号さえ振れないじゃないか - 9 : 2021/06/09(水) 06:05:49.05 ID:GhbfVF310
-
>>5
それ数学いらんじゃん - 6 : 2021/06/09(水) 06:04:33.98 ID:/hIFQdmy0
-
日本のプログラマーの95割は数学できないだろ
- 41 : 2021/06/09(水) 06:20:34.31 ID:a+f2JEPj0
-
>>6
確かに出来なさそう・・・・ - 7 : 2021/06/09(水) 06:04:54.76 ID:wIavYr2Z0
-
まずは書いてみよう
必要な数学はやりたい事が出来てから身につけてもいい - 8 : 2021/06/09(水) 06:05:39.59 ID:0NXIXboNa
-
3Dか機械学習で新しいことやるとか位か?
- 10 : 2021/06/09(水) 06:07:05.69 ID:M+3tcEEgM
-
算数レベルでも何とかなる
これまでに作ったアプリはいわゆる数学は使ってない
- 11 : 2021/06/09(水) 06:07:20.00 ID:EPamvMoV0
-
ド・モルガンの法則とか
if文で使うから必要 - 14 : 2021/06/09(水) 06:08:36.14 ID:M+3tcEEgM
-
>>11
国語の問題だろ - 12 : 2021/06/09(水) 06:07:21.48 ID:hk+nl+7C0
-
日本のプログラマーは中学生レベルの数学もできないのが大半だぞ
ソフトウェアの知識もないから逆アセンブリして解析して勉強することもできない - 13 : 2021/06/09(水) 06:08:11.32 ID:ydVq+kl60
-
大事なのは構造をイメージできることだろ、アルゴリズムとかは既存のコピペでいいんだ支那
- 15 : 2021/06/09(水) 06:09:22.67 ID:Vam0yamn0
-
数学抜きで何作る気だよ
数学要らないとか言ってる奴はレベルが低すぎるだけ - 16 : 2021/06/09(水) 06:10:08.35 ID:YfD9ilZr0
-
小学生の頃からゲーム作ってたけど
数学??
やる気だけだろ - 17 : 2021/06/09(水) 06:10:19.86 ID:Tz6SU9kWp
-
有能なプログラマーは全員数学得意だった
例外なく全員
やるやらないは別に適正として - 18 : 2021/06/09(水) 06:11:47.79 ID:FJWJANT+0
-
わざわざ改めて勉強するまでもなく高校までの数学ならちゃんと理解してるよね?
- 22 : 2021/06/09(水) 06:13:31.05 ID:GhbfVF310
-
>>18
中1レベルの数学しか覚えてないわ
それでもプログラム組むのは困らない
難しい物理演算とか化学式とかやらなきゃ使わんだろうな - 30 : 2021/06/09(水) 06:16:38.27 ID:FJWJANT+0
-
>>22
まあな
ゲーム作るのに高校数学が必要になるくらいだな - 19 : 2021/06/09(水) 06:12:59.40 ID:nHkcRfud0
-
数学の時間をすべて英語に回せば多少は日本人の能力も上がるんじゃね
- 20 : 2021/06/09(水) 06:13:16.59 ID:xi84NmAv0
-
勉強する気がないやつは何にもできない
- 21 : 2021/06/09(水) 06:13:20.81 ID:Paj8XMdT0
-
いらないよ
そのための計算機なんだから - 23 : 2021/06/09(水) 06:13:59.16 ID:5HF03AxRM
-
関数、集合、論理、数列
このあたりは必須だろ - 24 : 2021/06/09(水) 06:14:14.72 ID:01qmEdhL0
-
離散系の基礎は必須
- 25 : 2021/06/09(水) 06:14:18.31 ID:Paj8XMdT0
-
普通のプログラミングなら四則演算できればok
- 26 : 2021/06/09(水) 06:14:34.95 ID:kvBzrEL90
-
日本は数学わかんなくてもプログラマーになれるよ
- 35 : 2021/06/09(水) 06:18:35.35 ID:gg81TwcaM
-
>>26
どこだろうがなれる
そんなもん本当に必要だと思ってるの?
コードを書くなんて煮炊洗濯と同レベルだろ - 27 : 2021/06/09(水) 06:15:09.31 ID:zJ/7OA+m0
-
必要どころか必須を通り越し才能がいるよな
- 28 : 2021/06/09(水) 06:15:42.76 ID:5HF03AxRM
-
統計とかも知ってたほうがいいな
性能測定するときに使う
あと根本的に工学の基礎知識 - 29 : 2021/06/09(水) 06:16:28.30 ID:xWUrXd9m0
-
いつも指使って計算してるで
- 31 : 2021/06/09(水) 06:17:14.70 ID:gg81TwcaM
-
要らんだろ
ゴタゴタ生産性のない事を考えてるならさっさと作ったほうがいいと思う。 - 32 : 2021/06/09(水) 06:17:25.86 ID:X0BkH1ibr
-
コピペプログラマが増えてる今必要ないよ
- 33 : 2021/06/09(水) 06:17:59.63 ID:9rAFi4E20
-
必要
PID制御で泣いた - 34 : 2021/06/09(水) 06:18:13.05 ID:E1xdP45p0
-
if文で無理やり作れるけど数学知ってればスマート
- 36 : 2021/06/09(水) 06:19:28.71 ID:5HwtUJwhd
-
お前ら橋下と同じなんだなw
「自分は使ったことないから不要」
- 37 : 2021/06/09(水) 06:19:33.25 ID:FJWJANT+0
-
高度な数学っていうより小学校の算数とかで出た文章問題な
算数や数学に苦手意識持つ人はまずそこで挫折するらしいんだが
ああいうのをさらっと理解できるセンスは必要だと思う
物事をなんでも数値や数式に当てはめていくわけだからな - 38 : 2021/06/09(水) 06:19:33.55 ID:gg81TwcaM
-
そもそもおれは分数の割り算すらやり方を忘れるがwww
それでもミサイルの誘導はできるからなw - 39 : 2021/06/09(水) 06:19:48.37 ID:Zl/WLpEr0
-
不要だがあったほうがいいというレベル
良いコードは誰が見ても分かる簡単で簡潔な記述としている
エレガントで一見かっこいいコードは保守性最悪で書くやつは下手するとホリエモンの漫画のようにパワハラ食らって消える
競プロじゃねえんだからさぁ - 40 : 2021/06/09(水) 06:20:26.96 ID:ObGYHG+g0
-
ゲーム作るなら三角関数必要だったりしないかね
角度いくつでこの距離ぶん動かすためには1フレームごとに縦に何ドット、横に何ドット移動させるとか
計算で出してるんじゃないの
コメント