機械学習に興味のある方なら線形代数という言葉を聞いたことがあると思います。
機械学習を勉強する上で避けて通ることができない、機械学習を読み解く上での言語という人がいるほど、基礎的な知識なのが線形代数です。
では線形代数とはいったいどういうものなのか、そしてどのように役に立つのでしょうか。
機械学習をやる上で役に立つのは間違いないでしょうが、どのように使うのかを知っているといないとだと、勉強するモチベーションが違います。
私が機械学習の勉強時に調査したことをまとめていきます。
専門的な用語は使わず説明します。(というか専門的な用語は知らないです。)
対象読者
・線形代数って何かを簡単な言葉で知りたい
・機械学習には線形代数が必要なのはわかったけど、どうしてかはわからない
具体的な使用方法、内容についての解説はしません。
なぜ、学んでおいたほうがいいのかという目的、概要をまとめたものです
線形代数の勉強を始める際は、初学者が自分にあったものを選ぶのは難しいので、書店で手に取って見たり、amazonのレビューをよく読んで選ばれることをオススメします。
最後の方で、私が勉強する前に調べた書籍やYoutubeの動画などを紹介するので、よければご参考ください。
現状の私の知識
- 数学・・・高校数学の単元は一通り学習済み。
- 統計・・・以下の書籍で統計学についての概要を知っている。未学習。
- 機械学習・・・知識は特になし
まとめると
「高校レベルの公式やら、解き方は何となくわかるが、数学はどのように役に立つかはいまいち理解できていない」というレベルです。
スポンサードサーチ
目次
線形代数とは何か
線形代数とは、「連立一次方程式」についての学問です。
どうやら連立一次方程式をいかに効率よく解くことができるのか、という研究が学問になったものらしいです。
どんな分野で使用されているのか
正直一番知りたかったのはこれです。これらの分野で線形代数は必須知識のようです。
- 量子力学における行列の使用
- 特殊相対論
- 統計学
- コンピュータのアルゴリズム
- モデルの定式化、シミュレーション
かなり広範囲で使用される知識のようです。
どういうものなのか、もう少し詳しく
上記のざっくり説明で「連立一次方程式が解ける」「広範囲で役に立つ」とうことはわかりました。
が、だからなに?連立一次方程式が解けると何かいいことがあるの?という感じです。
見る人が見れば、「何言ってんだこいつは(笑)」というくらい低レベルの疑問かもしれません。
いくら数学を避けてきたと言っても、数学が世の中のあらゆる分野で活躍しているということは知っています。
ただ知ってはいるが、どのように活躍しているのかがわからない。
なので、連立一次方程式が効率よく解けるということはどんなメリットがあるのかというところから明らかにして行こうと思います。
ステップを多くして見てみる
連立一次方程式を効率よく解くためのものと記載しましたが、線形代数とは行列、ベクトルを扱うものです。
方程式じゃないじゃん、違うじゃんと思いましたが、
そもそも行列自体が、連立一次方程式を簡単に書くために生み出されたという経緯があります。
つまり、わかってる人からしたら「線形代数→連立一次方程式」ですが、
私のようなよくわかっていない人はそれではよくわからないので、ステップを多くして書くと、
「線形代数→行列、ベクトル→連立一次方程式」
という風になっています。
このような流れから「線形代数は連立一次方程式を効率よく解くための学問」と言われています。
そして行列、ベクトルが重要だとわかりました。
ざっくり行列とベクトルについて
行列とは
- 長くて複雑な式を簡単に書くことができて、扱いやすくなる
- 多次元の計算に役に立つ
ベクトルとは
- 向き、大きさをもつ情報
- 空間を表すもの
多次元、空間という言葉から、行列・ベクトルが多くの情報を扱うことに長けていることが何となくわかります。
つまり、
「線形代数は多くの情報を扱うことができる行列、ベクトルを操作するために、効率的に連立一次方程式を解くためのもの」
のようです!
行列のイメージを知るにはこの動画が参考になると思います。
線形代数にはどんな知識が必要なのか
上記で行列、ベクトルを扱うといった通り、線形代数は行列、ベクトルについて必須です。
ここでは、それらの説明はしませんが、ベクトルは高校の範囲で、行列は大学の範囲らしいですね。
私は文系だったので高校生の時にやっていないのですが、現在の区分はそうなっているらしいです。
私が高校の範囲を勉強する時に使用した参考書では、ベクトル→行列の順番で学ぶことができます。
機械学習にどのように役に立つのか
機械学習を利用する目的は、大量のデータを分析し、予測結果を出すことです。
そのためには、大量のデータを効率的に扱う必要があります。
ここまでくると、どうして線形代数が必要なのかはもうわかると思います。
「線形代数は多くの情報を扱うことができる行列、ベクトルを操作するために、効率的に連立一次方程式を解くためのもの」
だからです。
やっとどうして必要なのか理由がわかりました。
こういった線形代数や自分が知らない分野の勉強をするときは、難しくて思うように進まない時が多々あります。
そういった時のために、必要だからやるのではなくて、どうして必要なのかを明言できるとモチベーションは違ってくると思います。
私が勉強に使用している、していた書籍
線形代数の勉強に使用している書籍
線形代数の勉強に使用している書籍です。
二冊選んだのは、理論を理解するためのものと、概念、イメージを理解するためのものが必要だと思ったからです。
こちらの「プログラミングのための線形代数」は評価が高く、勉強に使用している人も多いため、信頼できる書籍だと思います。
ただ、理論的な言い回しで、一から始めるには少しとっつきにくいと感じるところもあります。
なので、言い回しが柔らかい二冊目も購入しました。
こちらの書籍は書店で手に取って選びました。
言い回しも柔らかく、概念を可能な限り説明するというコンセプトでわかりやすく解説されていたので、この二冊で線形代数の勉強をしています。
私がこれまで数学の勉強に使用した書籍
今までの勉強で使用した参考書と面白かった書籍です。
いきなり統計学を勉強というのは敷居が高かったので、買ったのですが、面白かったです。
統計学は色々な分野で使用されている。また、アプローチも色々あって目的によって使い分けたり、スタンスが違かったりで、概要を知るにはいい書籍だと思いました。
参考書籍、サイト、動画
wikipedia 線形代数
https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%9E%8B%E4%BB%A3%E6%95%B0%E5%AD%A6
中学数学で学べる「仕事と生活に役立つ7つのテクニック」 | 大人のための中学数学勉強法 | ダイヤモンド・オンライン
https://diamond.jp/articles/-/34676?)
線形代数って何? | 大学1年生と再履生のための線形代数入門
https://oguemon.com/study/linear-algebra/hello-world/)
行列のイメージを知るにはこの動画が参考になると思います。